@import url('https://fonts.googleapis.com/css2?family=Anton&family=Bodoni+Moda:opsz,wght@6..96,400;6..96,700;6..96,900&family=Inter:wght@300;400;500&display=swap');

/* RESET & BASE */
*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0b1c2d;--bg2:#081620;--white:#fff;--dim:rgba(255,255,255,.45);--line:rgba(255,255,255,.06);--accent:#006476;--navy:#0b1c2d}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:'Anton',sans-serif;background:var(--bg);color:var(--white);overflow-x:hidden;overflow-x:clip;width:100%;max-width:100vw;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}


/* PRELOADER */
.pl{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 60%,#0f2337,#0b1c2d 50%,#060e18)}
.pl__c{position:relative}.pl__h{width:160px;height:160px;transform:translateY(100vh);animation:hR 1.2s cubic-bezier(.16,1,.3,1) .2s forwards}
.pl__h img{width:100%;height:100%;object-fit:contain}
.pl__d{position:absolute;right:-16px;top:42%;width:8px;height:8px;border-radius:50%;background:#fff;opacity:0;transform:scale(0);animation:dI .5s cubic-bezier(.16,1,.3,1) 1.2s forwards,dP 2s ease-in-out 1.7s infinite}
.pl__l{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:.35em;text-transform:uppercase;color:var(--dim);opacity:0;animation:fU .8s ease 1.6s forwards}
.pl__bar{position:absolute;bottom:72px;left:50%;transform:translateX(-50%);width:120px;height:1px;background:rgba(255,255,255,.08);overflow:hidden;opacity:0;animation:fU .8s ease 1.6s forwards}
.pl__fill{height:100%;width:0;background:rgba(255,255,255,.5);transition:width .4s cubic-bezier(.16,1,.3,1)}
.pl--x .pl__h{animation:hO .7s cubic-bezier(.6,0,.7,0) forwards}.pl--x .pl__d{animation:dO .4s ease forwards}.pl--x .pl__l{animation:fO .3s ease forwards}.pl--x .pl__bar{animation:fO .3s ease forwards}.pl--x{animation:wO .5s cubic-bezier(.6,0,.7,0) .5s forwards}

/* NAV */
.nv{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:24px 36px;padding-top:calc(24px + env(safe-area-inset-top));padding-left:calc(36px + env(safe-area-inset-left));padding-right:calc(36px + env(safe-area-inset-right));opacity:0;transition:opacity .8s,transform .4s;will-change:transform,opacity}
.nv--v{opacity:1}.nv--hide{transform:translateY(-100%);opacity:0}
.nv__lg{display:flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer}.nv__lg img{width:32px;height:32px;object-fit:contain;transition:filter .5s}
.nv__lg .nv__logo-full{width:auto;height:28px;max-width:180px;object-fit:contain}
.nv__lt{font-size:15px;letter-spacing:.08em;text-transform:uppercase;transition:color .5s}
.nv__r{display:flex;align-items:center;gap:30px}
.nv__co{font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.3);font-variant-numeric:tabular-nums;transition:color .5s}
.nv__mn{font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border:1px solid rgba(255,255,255,.15);transition:all .5s;z-index:210}
.nv__mn:hover{border-color:rgba(255,255,255,.5)}

/* NAV DARK MODE — cream section */
.nv--dark .nv__lt{color:var(--navy)}
.nv--dark .nv__co{color:rgba(11,28,45,.25)}
.nv--dark .nv__mn{color:var(--navy);border-color:rgba(11,28,45,.2)}
.nv--dark .nv__mn:hover{border-color:rgba(11,28,45,.5)}
.nv--dark .nv__lg img{filter:brightness(0) saturate(100%)}

/* MENU */
.menu{position:fixed;inset:0;z-index:190;background:var(--bg2);display:flex;pointer-events:none;opacity:0;transition:opacity .5s;will-change:transform,opacity;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available}
.menu--open{opacity:1;pointer-events:all}
.menu__left{flex:1;position:relative;display:flex;align-items:flex-end;padding:36px}
.menu__left-line{position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--line)}
.menu__info{font-family:'Inter',sans-serif;font-size:12px;color:var(--dim);line-height:2}
.menu__right{flex:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;padding:36px}
.menu__item{font-size:clamp(60px,10vw,140px);text-transform:uppercase;line-height:.95;letter-spacing:-.03em;color:rgba(255,255,255,.15);transition:color .4s,transform .4s;transform:translateX(40px);opacity:0}
.menu--open .menu__item{transform:translateX(0);opacity:1}
.menu__item:nth-child(1){transition-delay:.1s}.menu__item:nth-child(2){transition-delay:.15s}.menu__item:nth-child(3){transition-delay:.2s}.menu__item:nth-child(4){transition-delay:.25s}.menu__item:nth-child(5){transition-delay:.3s}
.menu__item:hover,.menu__item--active{color:var(--accent)}
.menu__cross{position:absolute;top:0;left:50%;bottom:0;width:1px;background:var(--line)}
.menu__cross2{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}

/* NAV TRANSITION — iris wipe */
.nav-tr{position:fixed;inset:0;z-index:195;background:var(--bg2);pointer-events:none;clip-path:circle(0% at 50% 50%);will-change:clip-path}
.nav-tr__label{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:196;font-size:clamp(40px,8vw,100px);text-transform:uppercase;letter-spacing:-.03em;color:var(--accent);opacity:0;pointer-events:none;white-space:nowrap}

/* REVEAL ON SCROLL */
.rv{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.rv.vis{opacity:1;transform:translateY(0)}

/* KEYFRAME ANIMATIONS */
@keyframes hR{0%{transform:translateY(100vh);opacity:0}15%{opacity:1}100%{transform:translateY(0)}}
@keyframes dI{0%{opacity:0;transform:scale(0)}100%{opacity:1;transform:scale(1)}}
@keyframes dP{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.3)}}
@keyframes fU{0%{opacity:0;transform:translateX(-50%) translateY(10px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes fO{to{opacity:0}}
@keyframes hO{to{transform:translateY(-50vh) scale(.95);opacity:0}}
@keyframes dO{to{opacity:0;transform:scale(0)}}
@keyframes wO{to{clip-path:inset(0 0 100% 0)}}

/* FOOTER */
.ft{position:relative;background:var(--bg2);border-top:1px solid var(--line);padding:clamp(60px,10vh,120px) 36px 0;padding-left:calc(36px + env(safe-area-inset-left));padding-right:calc(36px + env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom)}
.ft__email{font-size:clamp(20px,4.5vw,72px);text-transform:uppercase;line-height:.9;letter-spacing:-.03em;color:var(--white);text-decoration:none;transition:color .4s;cursor:pointer}
.ft__email:hover{color:var(--accent)}
.ft__tagline{font-family:'Inter',sans-serif;font-size:clamp(11px,.75vw,14px);letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:clamp(40px,8vh,80px)}
.ft__cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(30px,4.5vw,70px);padding:clamp(40px,6vh,72px) 0;border-top:1px solid var(--line);max-width:1400px;margin:0 auto}@media(max-width:480px){.ft__cols{grid-template-columns:1fr;gap:16px;padding:16px 0}}
.ft__col-label{font-family:'Inter',sans-serif;font-size:clamp(9px,.55vw,10px);letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.12);margin-bottom:20px}
.ft__col-text{font-family:'Inter',sans-serif;font-size:clamp(11px,.7vw,13px);font-weight:300;color:var(--dim);line-height:1.9}
.ft__col-link{font-family:'Inter',sans-serif;font-size:clamp(11px,.7vw,13px);font-weight:400;color:rgba(255,255,255,.5);line-height:2.2;text-decoration:none;transition:color .3s;display:block}
.ft__col-link:hover{color:var(--accent)}
.ft__social-row{display:flex;gap:14px;margin-top:6px}
.ft__social-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;opacity:.5;transition:opacity .3s}
.ft__social-icon:hover{opacity:1}
.ft__social-icon svg{width:20px;height:20px;fill:#fff}
.ft__bar{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;align-items:center}
.ft__copy{font-family:'Inter',sans-serif;font-size:9px;letter-spacing:.15em;color:rgba(255,255,255,.1);text-transform:uppercase}

/* TABLET — shared elements */
@media(max-width:1024px){
.nv__co{display:none}
.nv__lg .nv__logo-full{height:24px;max-width:150px}
.ft__cols{gap:clamp(16px,2.5vw,35px);padding:clamp(32px,5vh,60px) 0}
}

/* MOBILE — shared elements only */
@media(max-width:768px){
/* Nav — safe-area aware padding, logo not cut off */
.nv{padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top));padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}
.nv__lg{min-width:0;flex-shrink:1;overflow:hidden}
.nv__lg .nv__logo-full{height:20px;max-width:120px;flex-shrink:1}
.nv__r{gap:16px;flex-shrink:0}
/* Touch-friendly 44px min targets */
.nv__mn{font-size:11px;letter-spacing:.08em;padding:6px 10px;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
.nv__lg{min-height:44px}
/* Menu — full coverage including notch, no overflow */
.menu{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.menu__left{display:none}
.menu__right{flex:1;padding:80px 20px 36px;padding-top:calc(80px + env(safe-area-inset-top));padding-bottom:calc(36px + env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.menu__item{font-size:42px;overflow-wrap:break-word;word-break:break-word;min-height:44px;display:flex;align-items:center}
/* Footer */
.ft{padding:40px 16px 0;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom)}
.ft__email{font-size:clamp(24px,7vw,40px);min-height:44px;display:inline-flex;align-items:center}
.ft__tagline{font-size:clamp(10px,.7vw,12px);margin-bottom:clamp(24px,5vh,48px)}
.ft__cols{grid-template-columns:1fr 1fr;gap:20px;padding:24px 0}
.ft__col-link{min-height:44px;display:flex;align-items:center}
.ft__social-icon{width:44px;height:44px}
.ft__bar{flex-direction:column;gap:6px;align-items:flex-start;padding:16px 0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
}

/* SMALL MOBILE — 480px */
@media(max-width:480px){
.nv{padding:12px 12px;padding-top:calc(12px + env(safe-area-inset-top));padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}
.nv__lg .nv__logo-full{height:18px;max-width:100px}
.nv__mn{font-size:10px;padding:5px 8px;letter-spacing:.06em;min-height:44px;min-width:44px}
.menu__item{font-size:32px}
.menu__right{padding:70px 16px 28px;padding-top:calc(70px + env(safe-area-inset-top))}
/* Footer — 1 column at 480px */
.ft__cols{grid-template-columns:1fr;gap:24px;padding:20px 0}
.ft__email{font-size:clamp(18px,5vw,28px)}
.ft__col-label{font-size:clamp(8px,2vw,9px);margin-bottom:12px}
.ft__col-text{font-size:clamp(10px,2.5vw,12px)}
.ft__col-link{font-size:clamp(10px,2.5vw,12px)}
}

/* EXTRA SMALL MOBILE — 390-414px */
@media(max-width:414px){
.nv{padding:12px 14px;padding-top:calc(12px + env(safe-area-inset-top));padding-left:calc(14px + env(safe-area-inset-left));padding-right:calc(14px + env(safe-area-inset-right))}
.nv__lg .nv__logo-full{height:20px;max-width:110px}
.nv__r{gap:14px}
.nv__mn{font-size:10px;padding:6px 10px;min-height:44px;min-width:44px}
.ft{padding:36px 14px 0;padding-left:calc(14px + env(safe-area-inset-left));padding-right:calc(14px + env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom)}
.ft__email{font-size:clamp(18px,4.5vw,26px)}
.ft__tagline{font-size:clamp(9px,.7vw,11px)}
.ft__col-label{font-size:clamp(8px,2vw,9px)}
.ft__col-text{font-size:clamp(10px,2.5vw,12px)}
.ft__col-link{font-size:clamp(10px,2.5vw,12px)}
.ft__social-row{gap:10px}
.ft__social-icon{width:44px;height:44px}
.menu__item{font-size:28px;line-height:.9}
.menu__left{padding:2rem 1.5rem}
.menu__right{padding:70px 1.5rem 2rem;padding-top:calc(70px + env(safe-area-inset-top))}
}

/* TINY MOBILE — 320px (iPhone SE, Galaxy Fold) */
@media(max-width:320px){
.nv{padding:10px 10px;padding-top:calc(10px + env(safe-area-inset-top));padding-left:calc(10px + env(safe-area-inset-left));padding-right:calc(10px + env(safe-area-inset-right))}
.nv__lg{gap:6px}
.nv__lg img{width:24px;height:24px}
.nv__lg .nv__logo-full{height:16px;max-width:80px}
.nv__r{gap:10px}
.nv__mn{font-size:9px;padding:4px 6px;letter-spacing:.04em;min-height:44px;min-width:44px}
.menu__right{padding:60px 12px 20px;padding-top:calc(60px + env(safe-area-inset-top));gap:4px}
.menu__item{font-size:22px;line-height:1;min-height:44px}
.ft{padding:28px 10px 0;padding-left:calc(10px + env(safe-area-inset-left));padding-right:calc(10px + env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom)}
.ft__email{font-size:clamp(16px,5vw,22px)}
.ft__tagline{font-size:9px;letter-spacing:.1em;margin-bottom:20px}
.ft__cols{grid-template-columns:1fr;gap:20px;padding:16px 0}
.ft__col-label{font-size:8px;margin-bottom:8px}
.ft__col-text{font-size:10px}
.ft__col-link{font-size:10px;min-height:44px}
.ft__social-icon{width:44px;height:44px}
.ft__bar{padding:12px 0;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
.ft__copy{font-size:8px}
.pl__h{width:100px;height:100px}
.nav-tr__label{font-size:clamp(28px,8vw,40px)}
}

/* ULTRAWIDE — 1920px+ */
@media(min-width:1920px){
.nv{padding:24px calc((100% - 1600px)/2)}
.ft{padding:clamp(60px,10vh,120px) calc((100% - 1600px)/2) 0}
.ft__cols{max-width:1600px;margin:0 auto}
.ft__email{font-size:clamp(20px,4.5vw,64px)}
.menu__item{font-size:clamp(60px,10vw,120px)}
}

/* SUPER ULTRAWIDE — 2560px+ */
@media(min-width:2560px){
.nv{padding:28px calc((100% - 2000px)/2)}
.ft{padding:clamp(80px,10vh,140px) calc((100% - 2000px)/2) 0}
.ft__cols{max-width:2000px}
.ft__email{font-size:clamp(40px,3.5vw,80px)}
.menu__item{font-size:clamp(80px,8vw,160px)}
.menu__right{padding:48px}
.ft__col-text{font-size:clamp(13px,.6vw,16px)}
.ft__col-link{font-size:clamp(13px,.6vw,16px)}
.ft__col-label{font-size:clamp(10px,.5vw,12px)}
.ft__tagline{font-size:clamp(13px,.6vw,16px)}
}

/* ===== FOOTER TOP (email + call form side by side) ===== */
.ft__top{display:flex;align-items:flex-start;justify-content:space-between;gap:clamp(40px,6vw,80px);margin-bottom:clamp(16px,2vh,28px)}
.ft__top-left{flex:1;min-width:0}
/* ===== FOOTER CALL FORM (inline beside email) ===== */
.ft__call{flex:0 1 420px;text-align:left}
.ft__call-label{font-family:'Inter',sans-serif;font-size:clamp(10px,.7vw,13px);letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:clamp(14px,2vh,24px)}
.ft__call-form{display:flex;flex-direction:column;gap:clamp(8px,1vw,12px)}
.ft__call-input{font-family:'Inter',sans-serif;font-size:clamp(12px,.75vw,14px);color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);padding:14px 18px;transition:border-color .3s;outline:none;box-sizing:border-box}
.ft__call-input::placeholder{color:rgba(255,255,255,.35)}
.ft__call-input:focus{border-color:var(--accent)}
.ft__call-btn{font-family:'Inter',sans-serif;font-size:clamp(9px,.6vw,11px);letter-spacing:.25em;text-transform:uppercase;color:var(--bg2);background:var(--accent);border:none;padding:14px 24px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .4s cubic-bezier(.16,1,.3,1);white-space:nowrap;width:100%}
.ft__call-btn:hover{background:var(--white);transform:scale(1.02)}
.ft__call-btn svg{width:16px;height:10px}
@media(max-width:768px){
.ft__top{flex-direction:column;gap:clamp(28px,5vh,48px)}
.ft__call{flex:none;width:100%;max-width:500px}
.ft__call-input{min-height:44px}
.ft__call-btn{min-height:44px}
}
@media(max-width:480px){
.ft__call-label{font-size:clamp(9px,2.5vw,11px);letter-spacing:.2em}
.ft__call-input{font-size:clamp(11px,3vw,13px);padding:12px 14px}
.ft__call-btn{padding:12px 18px;font-size:clamp(8px,2.2vw,10px)}
}

/* TOUCH DEVICE — coarse pointer (phones/tablets) */
@media(pointer:coarse){
.nv__mn{min-height:44px;min-width:44px}
.menu__item{min-height:44px}
.ft__col-link{min-height:44px}
.ft__social-icon{width:44px;height:44px}
.ft__email{min-height:44px}
}

/* BUTTON RESET — semantic button elements */
button.nv__mn,button.menu__item{background:none;font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;text-align:inherit}

/* SCREEN-READER ONLY */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* FOCUS-VISIBLE — keyboard navigation */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
:focus:not(:focus-visible){outline:none}

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.rv{opacity:1;transform:none}
.pl{display:none!important}
}
