:root{--blue:#0677d8;--blue-dark:#045ca9;--ink:#13212d;--muted:#5d6b77;--paper:#fff;--mist:#f2f6f9;--line:#dce5eb;--shadow:0 24px 60px rgba(8,31,49,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;color:var(--ink);font-family:"Open Sans",sans-serif;line-height:1.65;background:var(--paper)}body,button,input,textarea{font:inherit}h1,h2,h3,h4,h5,h6{font-family:"Poppins",sans-serif}img{display:block;max-width:100%}a{color:inherit}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.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}.section{padding:110px 0}.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.74rem}.eyebrow.blue{color:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h2{font-size:clamp(2.25rem,4vw,4.2rem);letter-spacing:-.045em}.section-title{max-width:760px;margin-bottom:50px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 25px;border:1px solid transparent;border-radius:2px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800;cursor:pointer;transition:.2s}.button-outline{border-color:#fff;color:#fff;background:transparent}.button-outline:hover,.button-light{background:#fff;color:var(--ink)}.button-blue{background:var(--blue);color:#fff}.button-blue:hover{background:var(--blue-dark)}.button:disabled{opacity:.55;cursor:wait}
.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:88px;padding:0 max(28px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;transition:.3s}.site-header.scrolled{height:70px;background:rgba(12,27,38,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(255,255,255,.12)}.brand img{width:145px}.navigation{display:flex;gap:28px;align-items:center}.navigation a{color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700}.navigation a:hover{color:#7fc5ff}.nav-toggle{display:none;background:transparent;border:0;padding:8px}.nav-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:#fff;margin:5px}
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;color:#fff;background:url("../img/top.c53e632735a5.jpg") center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,19,29,.42),rgba(5,19,29,.68))}.hero-content{position:relative;z-index:1;padding:100px 20px 160px}.hero-logo{width:min(390px,76vw);margin:0 auto 24px}.hero h1{font-size:clamp(1.1rem,2.3vw,1.65rem);font-weight:400;letter-spacing:.06em;margin-bottom:32px}.hero-calendar{position:absolute;z-index:2;left:50%;bottom:28px;transform:translateX(-50%)}.scroll-cue{position:absolute;z-index:2;right:36px;bottom:32px;color:#fff;text-decoration:none;font-size:2.2rem;animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(8px)}}
.availability-card{display:grid;width:150px;height:92px;grid-template-columns:1fr 1fr;grid-template-rows:27px 1fr;background:#fff;color:var(--ink);text-decoration:none;text-align:center;box-shadow:var(--shadow);border-radius:4px;overflow:hidden}.availability-card strong{grid-column:1/-1;background:var(--blue);color:#fff;font-size:.72rem;letter-spacing:.1em;padding:4px}.availability-card span{font-size:2.35rem;font-weight:800;line-height:1.25}.availability-card em{font-style:normal;text-transform:uppercase;align-self:center;font-size:.7rem;letter-spacing:.08em}.availability-card.large{width:245px;height:205px;grid-template-rows:42px 1fr 35px}.availability-card.large strong{font-size:.95rem;padding:8px}.availability-card.large span{font-size:5rem}.availability-card.large em{font-size:.9rem}.availability-card.large small{grid-column:1/-1;color:var(--muted)}
.split{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px;align-items:center}.portrait{position:relative}.portrait:before{content:"";position:absolute;z-index:-1;inset:24px -24px -24px 24px;background:var(--blue)}.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover}.lead{font-size:1.18rem;color:var(--muted);margin-bottom:38px}.value{display:grid;grid-template-columns:45px 1fr;gap:18px;margin:26px 0}.value>span{font-size:.76rem;font-weight:800;color:var(--blue);padding-top:5px}.value h3{font-size:1.08rem;margin-bottom:7px}.value p{color:var(--muted);margin-bottom:0}
.services{background:var(--mist)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{position:relative;padding:42px;background:#fff;border-top:4px solid var(--blue);box-shadow:0 12px 35px rgba(22,47,66,.06)}.service-card h3{font-size:1.65rem}.service-card p{color:var(--muted);margin:0}.service-number{position:absolute;right:30px;top:20px;color:#e2eaf0;font-size:3rem;font-weight:900}.service-note{text-align:center;margin:36px 0 0;color:var(--muted)}
.cta{padding:84px 0;color:#fff;background:linear-gradient(90deg,rgba(3,58,102,.9),rgba(3,112,202,.76)),url("../img/mid.8272da010f20.jpg") center/cover fixed}.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}.cta h2{font-size:clamp(2rem,3.5vw,3.4rem);max-width:800px;margin-bottom:0}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-item{position:relative;border:0;padding:0;background:#000;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in}.gallery-wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s}.gallery-item span{position:absolute;left:18px;bottom:14px;color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;opacity:0;transition:.3s}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.65));opacity:0;transition:.3s}.gallery-item:hover img{transform:scale(1.04);opacity:.82}.gallery-item:hover:after,.gallery-item:hover span{opacity:1}.gallery-item span{z-index:1}.lightbox{border:0;padding:0;background:transparent;max-width:min(1200px,94vw);max-height:92vh}.lightbox::backdrop{background:rgba(3,12,18,.92)}.lightbox img{max-height:88vh}.lightbox button{position:fixed;top:18px;right:26px;color:#fff;border:0;background:transparent;font-size:3rem;cursor:pointer}
.availability-section{background:var(--mist)}.availability-layout{display:flex;align-items:center;justify-content:space-between;gap:70px}.availability-layout>div:first-child{max-width:720px}.availability-layout p:last-child{color:var(--muted)}
.contact-section{background:#0c1b26;color:#fff}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.contact-copy h2{font-size:clamp(2.4rem,4vw,4rem)}.contact-copy>p:not(.eyebrow){color:#b5c1ca}.contact-copy address{font-style:normal;margin:32px 0;color:#d9e1e6}.contact-copy>a{display:block;color:#7fc5ff;margin:7px 0}.contact-panel{background:#fff;color:var(--ink);padding:38px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid-three{grid-template-columns:repeat(3,1fr)}label{display:block;font-size:.75rem;font-weight:750;letter-spacing:.04em;margin-bottom:18px}input,textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:2px;padding:12px 13px;background:#fafdff;color:var(--ink)}input:focus,textarea:focus{outline:2px solid rgba(6,119,216,.25);border-color:var(--blue)}textarea{resize:vertical}.honeypot{position:absolute;left:-10000px}.form-action{display:flex;align-items:center;gap:18px}.form-status{margin:0;font-size:.83rem;color:var(--muted)}.form-status.success{color:#167142}.form-status.error{color:#b32121}.form-disabled{color:var(--muted)}
footer{padding:34px 0;background:#07131c;color:#aebbc4}.footer-inner{display:flex;align-items:center;gap:28px}.footer-inner img{width:120px}.footer-inner p{margin:0 auto 0 0}.footer-inner a{color:#fff}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
.privacy-page{background:var(--mist)}.privacy-header{padding:20px max(20px,calc((100vw - 1160px)/2));background:#0c1b26}.privacy-header img{width:155px}.legal{padding-top:80px;padding-bottom:100px;max-width:850px}.legal h1{font-size:clamp(2.6rem,6vw,5rem);letter-spacing:-.05em}.legal section{padding:26px 0;border-top:1px solid var(--line)}.legal h2{font-size:1.45rem;letter-spacing:-.02em}.legal p{color:var(--muted)}.back-link{display:inline-block;margin-bottom:55px;color:var(--blue)}
@media(max-width:860px){.navigation{position:absolute;top:70px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:#0c1b26;box-shadow:var(--shadow)}.navigation.open{display:flex}.navigation a{padding:13px}.nav-toggle{display:block}.split,.contact-layout{grid-template-columns:1fr;gap:55px}.portrait{max-width:520px}.service-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.cta-inner,.availability-layout{align-items:flex-start;flex-direction:column}.contact-layout{gap:35px}}
@media(max-width:600px){.container{width:min(100% - 28px,1160px)}.section{padding:78px 0}.site-header{height:70px;padding-inline:18px}.brand img{width:125px}.hero-content{padding-bottom:170px}.hero-calendar{bottom:35px}.scroll-cue{display:none}.split{gap:45px}.portrait:before{inset:14px -10px -14px 10px}.service-card,.contact-panel{padding:25px}.gallery{grid-template-columns:1fr}.gallery-wide{grid-column:auto}.form-grid,.form-grid-three{grid-template-columns:1fr;gap:0}.form-action{align-items:stretch;flex-direction:column}.cta{background-attachment:scroll}.footer-inner{flex-wrap:wrap}.footer-inner p{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-cue{animation:none}.gallery-item img{transition:none}}
