:root{--ink:#171717;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}.backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#fff}.orb{position:absolute;border-radius:50%;border:1px solid rgba(23,23,23,.085);pointer-events:none}.orb-one{width:68vw;height:68vw;min-width:650px;min-height:650px;left:50%;top:46%;transform:translate(-50%,-50%);box-shadow:0 0 0 95px rgba(23,23,23,.016),0 0 0 190px rgba(23,23,23,.012);animation:float 12s ease-in-out infinite}.orb-two{width:35vw;height:35vw;min-width:320px;min-height:320px;left:50%;top:46%;transform:translate(-50%,-50%);border-color:rgba(23,23,23,.07)}.lines{position:absolute;inset:0;background:linear-gradient(90deg,transparent 24.9%,rgba(23,23,23,.035) 25%,transparent 25.1%,transparent 74.9%,rgba(23,23,23,.035) 75%,transparent 75.1%)}.header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:25px 6.5%;background:rgba(255,255,255,.25);border-bottom:1px solid rgba(23,23,23,.09);backdrop-filter:blur(10px);transition:padding .35s,background .35s,box-shadow .35s;animation:slideDown .8s ease both}.header.scrolled{padding-top:13px;padding-bottom:13px;background:rgba(255,255,255,.9);box-shadow:0 10px 35px #0000000c}.logo{display:flex;align-items:center;gap:12px}.logo-mark{font:800 37px 'Manrope',sans-serif;letter-spacing:-5px;color:var(--ink)}.logo-dot{color:var(--ink)}.logo-type{font:600 13px 'Manrope',sans-serif;letter-spacing:2.6px}.logo-type strong{display:block;color:var(--ink);font-size:10px;letter-spacing:3.9px;margin-top:2px}.header nav{display:flex;gap:40px;font-size:13px}.header nav a{transition:opacity .2s}.header nav a:hover{opacity:.55}.header-label{font-size:10px;letter-spacing:2.2px;color:var(--ink)}.star{padding-left:10px}.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:145px 20px 85px}.eyebrow{display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:4px;color:var(--ink);font-weight:700;animation:rise .9s .15s both}.eyebrow-line{width:30px;height:1px;background:var(--ink)}h1{font:500 clamp(48px,7vw,102px)/1.13 'Manrope',sans-serif;letter-spacing:-5px;margin:25px 0 20px;animation:rise .9s .3s both}h1 em{font-style:normal;color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px}.subtitle{color:rgba(23,23,23,.65);font-size:clamp(14px,1.4vw,18px);margin:0 0 54px;animation:rise .9s .45s both}.search-shell{width:min(100%,640px);text-align:left;animation:rise .9s .6s both}.search-caption{font-size:10px;letter-spacing:2.5px;color:var(--ink);margin-bottom:13px;font-weight:700}.search-row{height:78px;border:1px solid rgba(23,23,23,.28);background:rgba(255,255,255,.8);backdrop-filter:blur(20px);display:flex;align-items:center;padding:8px 9px 8px 23px;gap:16px;border-radius:10px;box-shadow:0 25px 60px #00000012;transition:border-color .25s,box-shadow .25s}.search-row:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(23,23,23,.08)}.search-icon{color:var(--ink);display:flex}select{flex:1;min-width:0;background:transparent;color:var(--ink);border:0;outline:0;font:500 16px 'DM Sans',sans-serif;cursor:pointer;appearance:none}select option{color:var(--ink);background:#fff}button{height:58px;border:0;border-radius:7px;padding:0 26px;background:var(--ink);color:var(--paper);font:700 14px 'DM Sans',sans-serif;cursor:pointer;transition:transform .2s,opacity .2s}button:hover{transform:translateY(-2px);opacity:.85}button span{margin-left:12px;font-size:19px}.hint{text-align:center;color:rgba(23,23,23,.6);font-size:12px;margin:16px 0}.bottom-note{position:absolute;bottom:32px;font-size:10px;letter-spacing:3px;color:var(--ink);display:flex;align-items:center;gap:12px}.scroll-mark{font-size:22px;animation:bob 2s infinite}.whatsapp{position:fixed;bottom:29px;right:31px;z-index:20;width:60px;height:60px;border-radius:19px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 35px #00000026;transition:transform .25s,border-radius .25s}.whatsapp:hover{transform:translateY(-5px);border-radius:50%}.whatsapp-tip{position:absolute;right:72px;white-space:nowrap;background:var(--ink);color:var(--paper);padding:9px 13px;border-radius:7px;font-size:12px;font-weight:700;opacity:0;transform:translateX(8px);pointer-events:none;transition:.25s}.whatsapp:hover .whatsapp-tip{opacity:1;transform:none}@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translate(-50%,-47%)}}@keyframes bob{50%{transform:translateY(6px)}}@media(max-width:700px){.header{padding:18px 6%}.header nav{gap:18px}.header-label{display:none}.logo-type{font-size:11px;letter-spacing:1.6px}.hero{padding-top:130px}h1{letter-spacing:-2.5px}.subtitle{max-width:300px;line-height:1.7;margin-bottom:40px}.search-row{height:70px;padding-left:15px;gap:10px}.search-icon svg{width:19px}select{font-size:14px}button{height:52px;padding:0 17px;font-size:12px}button span{margin-left:5px}.bottom-note{bottom:22px;font-size:9px}.whatsapp{width:53px;height:53px;right:18px;bottom:18px;border-radius:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* SooK-inspired minimal floating navigation */
.header{border-bottom:0;background:transparent;padding:22px 5%;backdrop-filter:none}.header.scrolled{background:rgba(255,255,255,.88);backdrop-filter:blur(18px);box-shadow:0 5px 28px #0000000a}.header-label{position:absolute;left:50%;transform:translateX(-50%)}.menu-toggle{position:relative;z-index:40;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:52px;height:52px;border-radius:50%;border:1px solid #171717;background:transparent;color:#171717;padding:0;transition:background .25s,color .25s}.menu-toggle span{display:block;width:22px;height:1.5px;background:currentColor;transition:transform .3s}.menu-toggle:hover{background:#171717;color:#fff;transform:none;opacity:1}.menu-toggle.active span:first-child{transform:translateY(4.25px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.full-menu{position:fixed;inset:0;z-index:9;background:#fff;display:flex;flex-direction:column;justify-content:center;padding:110px clamp(24px,10vw,170px) 45px;opacity:0;visibility:hidden;transform:translateY(-18px);transition:opacity .4s,visibility .4s,transform .4s}.full-menu.open{opacity:1;visibility:visible;transform:none}.full-menu nav{display:flex;flex-direction:column;max-width:850px}.full-menu nav a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #17171730;padding:17px 0;font:500 clamp(36px,6.5vw,78px)/1.15 'Manrope',sans-serif;letter-spacing:-2px;transition:padding .25s}.full-menu nav a:hover{padding-left:14px}.full-menu nav a span{font:500 12px 'DM Sans',sans-serif;letter-spacing:0}.menu-foot{margin-top:auto;font-size:10px;letter-spacing:2px}.menu-open{overflow:hidden}.menu-open .header{background:transparent;box-shadow:none}.menu-open .whatsapp{visibility:hidden}@media(max-width:700px){.header{padding:16px 6%}.menu-toggle{width:46px;height:46px}.full-menu{padding:100px 25px 32px}.full-menu nav a{font-size:clamp(33px,9vw,52px);letter-spacing:-1.5px}}

/* SooK-inspired split-screen hero for Porta */
:root{--ink:#09244a;--paper:#fff}body{color:var(--ink)}.backdrop{display:none}.header{background:#fff}.logo-mark,.logo-type,.logo-type strong{color:var(--ink)}.menu-toggle{border-color:var(--ink);color:var(--ink)}.menu-toggle:hover{background:var(--ink)}.sook-hero{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,75px);align-items:center;text-align:left;padding:145px 6% 75px;max-width:1600px;margin:auto}.hero-copy{width:100%;max-width:610px}.sook-hero .eyebrow{justify-content:flex-start;color:#bb9252;letter-spacing:2px}.sook-hero .eyebrow-line{background:#bb9252}.sook-hero h1{font-size:clamp(43px,5vw,82px);letter-spacing:-3px;line-height:1.15;margin:27px 0 20px}.sook-hero h1 em{color:#b88b49;text-decoration:none}.sook-hero .subtitle{line-height:1.8;margin:0 0 35px;max-width:460px;color:#627084}.sook-hero .search-shell{max-width:530px}.sook-hero .search-row{border-color:#dce2e9;box-shadow:0 12px 35px #09244a0c}.sook-hero .search-caption{color:#52667c}.sook-hero button{background:#09244a}.sook-hero .hint{text-align:left}.hero-visual{height:min(69vh,650px);min-height:430px;width:100%;overflow:hidden;border-radius:140px 18px 18px 140px;box-shadow:0 20px 50px #09244a10}.hero-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%}.whatsapp{background:#09244a}.header-label{color:#b88b49}@media(max-width:800px){.sook-hero{grid-template-columns:1fr;padding:115px 6% 45px;gap:32px}.sook-hero h1{font-size:clamp(40px,9vw,64px);letter-spacing:-2px}.sook-hero .subtitle{max-width:100%;margin-bottom:25px}.hero-visual{height:430px;min-height:0;border-radius:90px 14px 14px 90px}.sook-hero .search-shell{max-width:100%}}@media(max-width:480px){.sook-hero{padding-top:105px;gap:22px}.sook-hero h1{font-size:42px}.hero-visual{height:340px;border-radius:70px 12px 12px 70px}.sook-hero .search-row{gap:8px;padding-left:12px}.sook-hero .search-icon{font-size:24px}}

/* Updated Porta Visas brand identity */
.logo{display:inline-flex;align-items:center;flex-shrink:0}.brand-logo{display:block;width:230px;max-width:48vw;height:auto;object-fit:contain}.header{min-height:94px}.header.scrolled{min-height:76px}@media(max-width:700px){.brand-logo{width:176px;max-width:53vw}.header{min-height:78px}.header.scrolled{min-height:70px}}
