@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root{
  --navy:#0b2140;
  --navy-deep:#071629;
  --navy-line:rgba(255,255,255,.10);
  --cream:#f5f0e7;
  --cream-2:#ece4d6;
  --white:#ffffff;
  --gold:#c9a15b;
  --gold-dark:#b58c45;
  --ink:#0f2341;
  --body:#3c4a5e;
  --muted:#6b778a;
  --sky:#9db8d9;
  --line:#e2dccf;
  --radius:4px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--body);background:var(--cream);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:inherit;color:var(--ink);line-height:1.15;margin:0 0 .5em;font-weight:500;letter-spacing:-.02em;}
p{margin:0 0 1em;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.narrow{max-width:860px;}
section{padding:96px 0;}
.eyebrow{display:block;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#5a7aa3;margin-bottom:14px;}
.on-dark .eyebrow,.eyebrow.gold{color:var(--gold);}
.display{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:600;}
.display span{display:block;font-weight:300;}
.lede{font-size:1.05rem;color:var(--muted);max-width:52ch;}
.center{text-align:center;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:600;font-size:.92rem;border:1.5px solid transparent;cursor:pointer;transition:.2s;font-family:inherit;}
.btn-gold{background:var(--gold);color:var(--navy-deep);}
.btn-gold:hover{background:var(--gold-dark);}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.1);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy-deep);}
.btn-line{border-color:var(--navy);color:var(--navy);}
.btn-line:hover{background:var(--navy);color:#fff;}
.link{color:var(--navy);font-weight:600;font-size:.88rem;border-bottom:1.5px solid var(--gold);padding-bottom:2px;}

/* top bar + header */
.topbar{background:var(--navy-deep);color:var(--sky);font-size:.8rem;}
.topbar .wrap{display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px;}
.topbar a{color:#fff;font-weight:600;}
.topbar .sep{opacity:.4;margin:0 8px;}
.site-header{background:var(--navy);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--navy-line);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:12px;padding-bottom:12px;}
.brand img{height:58px;width:auto;}
.nav{display:flex;align-items:center;gap:30px;}
.nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;}
.nav ul a{color:#dbe5f2;font-size:.92rem;font-weight:500;padding:6px 0;border-bottom:1.5px solid transparent;}
.nav ul a:hover,.nav ul a.active{color:#fff;border-bottom-color:var(--gold);}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer;}
@media(max-width:980px){
  .nav-toggle{display:block;}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);flex-direction:column;align-items:flex-start;padding:10px 28px 24px;gap:16px;border-bottom:1px solid var(--navy-line);}
  .nav.open{display:flex;}
  .nav ul{flex-direction:column;gap:6px;}
  .site-header .wrap{position:relative;}
}

/* hero */
.hero{position:relative;color:#fff;background:var(--navy-deep) none center right/cover no-repeat;}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,22,41,.92) 0%,rgba(7,22,41,.78) 38%,rgba(7,22,41,.25) 70%,rgba(7,22,41,.05) 100%);}
.hero .wrap{position:relative;padding-top:130px;padding-bottom:130px;}
.hero h1{color:#fff;font-size:clamp(2.4rem,5.4vw,4.2rem);font-weight:300;max-width:13ch;margin-bottom:22px;}
.hero h1 strong{font-weight:600;display:block;}
.hero p{color:#c8d7ea;font-size:1.08rem;max-width:50ch;}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;margin-top:30px;}
.hero-call{color:#fff;line-height:1.25;margin-left:6px;}
.hero-call small{display:block;color:var(--sky);font-size:.75rem;}
.hero-call strong{font-size:1.05rem;}
@media(max-width:700px){.hero{background-position:72% center;}.hero:before{background:rgba(7,22,41,.72);}.hero .wrap{padding-top:90px;padding-bottom:90px;}}

/* trust strip */
.trust{background:var(--navy-deep);color:#fff;}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);}
.trust div{padding:30px 24px;border-left:1px solid var(--navy-line);}
.trust div:first-child{border-left:0;padding-left:0;}
.trust h4{color:#fff;font-size:.98rem;font-weight:600;margin:0 0 4px;letter-spacing:0;}
.trust p{color:var(--sky);font-size:.84rem;margin:0;}
@media(max-width:860px){.trust .wrap{grid-template-columns:1fr 1fr;}.trust div{padding:22px 18px;border-left:0;border-top:1px solid var(--navy-line);}.trust div:nth-child(-n+2){border-top:0;}.trust div:first-child{padding-left:18px;}}

/* section heads */
.section-head{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end;margin-bottom:48px;}
.section-head .lede{margin:0;}
@media(max-width:820px){.section-head{grid-template-columns:1fr;gap:16px;}}

/* treatment cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.card{background:#fff;display:flex;flex-direction:column;}
.card img{aspect-ratio:3/2;object-fit:cover;width:100%;}
.card .body{padding:24px 24px 28px;display:flex;flex-direction:column;flex:1;}
.card .num{color:var(--gold);font-size:.8rem;letter-spacing:.12em;margin-bottom:10px;}
.card h3{font-size:1.15rem;font-weight:600;margin-bottom:8px;letter-spacing:-.01em;}
.card p{font-size:.92rem;color:var(--muted);flex:1;}
.card .link{align-self:flex-start;}
@media(max-width:900px){.cards{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.cards{grid-template-columns:1fr;}}

/* surgeon */
.on-dark{background:var(--navy);color:#c8d7ea;}
.on-dark h1,.on-dark h2,.on-dark h3{color:#fff;}
.surgeon{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;}
.photo-frame{position:relative;max-width:440px;}
.photo-frame:after{content:"";position:absolute;left:16px;top:16px;right:-16px;bottom:-16px;border:1.5px solid var(--gold);z-index:0;}
.photo-frame img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;}
.surgeon h2{font-size:clamp(2rem,3.6vw,2.7rem);font-weight:500;}
.ticks{list-style:none;padding:0;margin:22px 0 30px;}
.ticks li{position:relative;padding-left:28px;margin:10px 0;color:#e4ecf6;font-size:.93rem;}
.ticks li:before{content:"";position:absolute;left:0;top:.75em;width:14px;height:2px;background:var(--gold);}
@media(max-width:860px){.surgeon{grid-template-columns:1fr;gap:48px;}.photo-frame{max-width:360px;}}

/* why */
.why{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.why-list{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--line);}
.why-list li{display:grid;grid-template-columns:56px 1fr;padding:20px 0;border-bottom:1px solid var(--line);}
.why-list .n{color:var(--gold);font-size:1.5rem;font-weight:300;}
.why-list h4{font-size:1.08rem;font-weight:600;margin:2px 0 4px;letter-spacing:-.01em;}
.why-list p{font-size:.9rem;color:var(--muted);margin:0;}
.why img{width:100%;aspect-ratio:4/5;object-fit:cover;}
@media(max-width:860px){.why{grid-template-columns:1fr;gap:40px;}}

/* certifications */
.certs{background:#f3f3f3;padding:22px 0;}
.certs img{max-width:900px;width:100%;margin:0 auto;}

/* blog cards */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.post-card{background:#fff;display:flex;flex-direction:column;}
.post-card .thumb{aspect-ratio:16/10;overflow:hidden;background:var(--cream-2);}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;object-position:left center;transition:transform .4s;}
.post-card:hover .thumb img{transform:scale(1.03);}
.post-card .body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1;}
.post-card .meta{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.post-card h3{font-size:1.08rem;font-weight:600;letter-spacing:-.01em;}
.post-card p{font-size:.9rem;color:var(--muted);flex:1;}
.post-card .link{align-self:flex-start;}
@media(max-width:900px){.posts{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.posts{grid-template-columns:1fr;}}

/* booking */
.booking{position:relative;color:#c8d7ea;background:var(--navy-deep) none center/cover no-repeat;}
.booking:before{content:"";position:absolute;inset:0;background:rgba(7,22,41,.86);}
.booking .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.booking h2{color:#fff;font-size:clamp(2.1rem,4vw,3rem);font-weight:500;}
@media(max-width:900px){.booking .wrap{grid-template-columns:1fr;}}
.info{display:grid;grid-template-columns:110px 1fr;gap:14px 18px;margin-top:30px;font-size:.92rem;}
.info dt{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding-top:3px;}
.info dd{margin:0;color:#fff;}
.info dd span{display:block;color:var(--sky);}
.info a{color:var(--sky);}
.info a:hover{color:#fff;}

/* forms */
.form-card{min-width:0;background:var(--cream);color:var(--body);padding:32px;border-radius:var(--radius);box-shadow:0 18px 50px rgba(0,0,0,.25);}
.form-card h3{font-size:1.3rem;font-weight:600;margin-bottom:4px;}
.form-card .sub{font-size:.85rem;color:var(--muted);margin-bottom:22px;}
.clinic-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.clinic-form .full{grid-column:1/-1;}
@media(max-width:560px){.clinic-form .row{grid-template-columns:1fr;}}
.clinic-form label{display:block;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#4d6a91;margin-bottom:6px;}
.clinic-form input,.clinic-form select,.clinic-form textarea{width:100%;padding:12px 14px;border:1px solid #d9d2c3;background:#fff;border-radius:3px;font:inherit;font-size:.93rem;color:var(--ink);}
.clinic-form input:focus,.clinic-form select:focus,.clinic-form textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold);}
.clinic-form .radio-row{display:flex;gap:22px;padding-top:6px;}
.clinic-form .radio-row label{display:flex;align-items:center;gap:8px;font-size:.92rem;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:400;}
.clinic-form .radio-row input{width:auto;}
.clinic-form .btn{width:100%;margin-top:6px;}
.form-note{font-size:.8rem;color:var(--muted);margin:14px 0 0;text-align:center;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-status{margin-top:16px;padding:14px 18px;border-radius:3px;font-size:.92rem;font-weight:600;}
.form-status.ok{background:#e9f6e5;border:1px solid #9fd18c;color:#2f6b1f;}
.form-status.err{background:#fdecec;border:1px solid #f0b4b4;color:#9b2c2c;}
.clinic-form button[disabled]{opacity:.7;cursor:wait;}

/* footer */
.site-footer{background:var(--navy-deep);color:var(--sky);font-size:.88rem;padding:64px 0 0;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:44px;}
.site-footer img{height:78px;width:auto;margin-bottom:16px;}
.site-footer h5{color:#fff;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin:6px 0 16px;font-weight:600;}
.site-footer ul{list-style:none;margin:0;padding:0;}
.site-footer li{margin:0 0 9px;}
.site-footer a:hover{color:#fff;}
.foot-bottom{border-top:1px solid var(--navy-line);padding:20px 0;font-size:.78rem;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr;}}

/* inner page banner */
.page-hero{position:relative;color:#fff;background:var(--navy-deep) none center 60%/cover no-repeat;}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,22,41,.94),rgba(7,22,41,.7) 60%,rgba(7,22,41,.45));}
.page-hero .wrap{position:relative;padding-top:84px;padding-bottom:84px;}
.page-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3.2rem);font-weight:500;max-width:22ch;margin:0;}
.page-hero p{color:#c8d7ea;max-width:60ch;margin:14px 0 0;font-size:1.02rem;}
.crumbs{font-size:.8rem;color:var(--sky);margin-bottom:16px;}
.crumbs a{color:#fff;}
.bg-white{background:#fff;}
.bg-cream2{background:var(--cream-2);}

/* about */
.prose{color:var(--body);font-size:1.02rem;line-height:1.8;}
.prose h2{font-size:1.7rem;font-weight:600;margin:1.6em 0 .6em;}
.prose h3{font-size:1.25rem;font-weight:600;margin:1.4em 0 .5em;}
.prose a{color:#1f5aa6;text-decoration:underline;}
.prose ul{padding-left:1.3em;}
.prose li{margin:.35em 0;}
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:start;}
.split-appt{grid-template-columns:1.3fr .9fr;}
.split-even{grid-template-columns:1fr 1fr;}
@media(max-width:900px){.split,.split-appt,.split-even{grid-template-columns:1fr;gap:40px;}}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px;}
.fact{background:#fff;padding:24px;border-top:3px solid var(--gold);}
.fact h4{font-size:1rem;font-weight:600;margin-bottom:6px;letter-spacing:0;}
.fact p{font-size:.9rem;color:var(--muted);margin:0;}
@media(max-width:820px){.facts{grid-template-columns:1fr;}}
.timeline{list-style:none;padding:0;margin:0;border-left:2px solid var(--line);}
.timeline li{position:relative;padding:0 0 26px 28px;}
.timeline li:before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--gold);}
.timeline h4{font-size:1.02rem;font-weight:600;margin:0 0 4px;letter-spacing:0;}
.timeline p{font-size:.92rem;color:var(--muted);margin:0;}
.pubs{list-style:none;padding:0;margin:0;}
.pubs li{background:#fff;padding:18px 22px;margin-bottom:10px;font-size:.92rem;border-left:3px solid var(--gold);}
.pubs .yr{color:var(--gold);font-weight:600;margin-right:6px;}
.quote{font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:300;color:var(--ink);line-height:1.5;max-width:40ch;margin:0 auto;}

/* treatments page */
.conditions{columns:3 240px;column-gap:40px;list-style:none;padding:0;margin:0;}
.conditions li{break-inside:avoid;padding:10px 0 10px 22px;position:relative;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--ink);}
.conditions li:before{content:"";position:absolute;left:0;top:1.15em;width:10px;height:2px;background:var(--gold);}
.conditions a{color:#1f5aa6;text-decoration:underline;}
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.feature-row img{width:100%;border-radius:var(--radius);}
@media(max-width:860px){.feature-row{grid-template-columns:1fr;gap:32px;}}

/* contact page */
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.contact-cards .fact a{color:#1f5aa6;}
@media(max-width:820px){.contact-cards{grid-template-columns:1fr;}}
.map-frame{display:block;width:100%;height:330px;border:0;margin-bottom:18px;background:var(--cream-2);}
.map-label{font-size:.8rem;font-weight:600;color:var(--ink);margin:0 0 8px;}

/* articles */
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start;}
@media(max-width:960px){.post-layout{grid-template-columns:1fr;}}
.post-hero img{width:100%;aspect-ratio:16/8;object-fit:cover;}
.post-main{background:#fff;padding:40px 44px;}
@media(max-width:600px){.post-main{padding:26px 20px;}}
.post-main .meta{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.post-main h1{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:600;}
.post-body{color:var(--body);font-size:1.02rem;line-height:1.8;}
.post-body h2{font-size:1.55rem;font-weight:600;margin:1.6em 0 .5em;}
.post-body h3{font-size:1.25rem;font-weight:600;margin:1.4em 0 .5em;}
.post-body h3.accent-red{color:#b24a24;}
.post-body h4{font-size:1.08rem;font-weight:600;margin:1.2em 0 .4em;}
.post-body ul{padding-left:1.3em;}
.post-body a{color:#1f5aa6;text-decoration:underline;}
.clinic-box{background:#eef3f9;border:1px solid #c9d6e6;border-radius:6px;padding:8px 22px;margin:26px 0;}
.clinic-box h2,.clinic-box h3{margin-top:.8em;color:var(--navy);}
.clinic-box.box-sage{background:#eef4f1;border-color:#c5d6cd;}
.clinic-box.box-sage h3{color:#2f5e57;}
.clinic-box.box-rose{background:#f8eeee;border-color:#e0c3c3;}
.clinic-box.box-rose h2,.clinic-box.box-rose h3{color:#9b2c33;}
.faq{border:1px solid var(--line);margin-top:12px;background:#fff;}
.faq details{border-bottom:1px solid var(--line);}
.faq details:last-child{border-bottom:0;}
.faq summary{list-style:none;cursor:pointer;padding:15px 18px;color:var(--ink);font-weight:500;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:before{content:"+";display:inline-block;width:22px;color:var(--gold);font-weight:700;}
.faq details[open] summary{background:#f7f3ec;}
.faq details[open] summary:before{content:"\2013";}
.faq details p{padding:4px 18px 16px 40px;margin:0;}
.side{position:sticky;top:110px;}
.side-card{background:var(--navy);color:#c8d7ea;padding:26px;margin-bottom:22px;}
.side-card img{width:110px;aspect-ratio:1;object-fit:cover;object-position:top;border-radius:50%;margin-bottom:14px;border:3px solid var(--gold);}
.side-card h4{color:#fff;font-size:1.05rem;font-weight:600;margin-bottom:6px;letter-spacing:0;}
.side-card p{font-size:.88rem;}
.side-card .lines{font-size:.88rem;margin:14px 0 18px;}
.side-card .lines a{color:#fff;font-weight:600;}
.side-card .btn{width:100%;}
.side-links{background:#fff;padding:22px 24px;}
.side-links h5{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;}
.side-links ul{list-style:none;padding:0;margin:0;}
.side-links li{padding:8px 0;border-bottom:1px solid var(--line);font-size:.9rem;}
.side-links li:last-child{border-bottom:0;}
.side-links a{color:var(--ink);}
.side-links a:hover{color:#1f5aa6;}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px;}
.post-nav a{background:#fff;padding:18px 20px;color:var(--ink);font-size:.92rem;}
.post-nav a.next{text-align:right;}
.post-nav small{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}

/* legal */
.legal-date{color:var(--muted);font-style:italic;}
.legal .clinic-box{background:#eef3f9;}
.split>*,.booking .wrap>*{min-width:0;}
.clinic-form input,.clinic-form select{min-width:0;}
@media(max-width:560px){.form-card{padding:24px 18px;}.on-dark[style]{padding:26px 20px !important;}}
.post-card .thumb{display:block;}
.prose a.btn{text-decoration:none;color:#fff;}

/* ---- v3: clean skyline photo on the right, solid navy on the left (no blur) ---- */
.hero,.page-hero,.booking{position:relative;overflow:hidden;background:var(--navy-deep);}
.hero:before,.page-hero:before,.booking:before{display:none;}
.bg-media{position:absolute;top:0;bottom:0;right:0;width:60%;background:url('assets/hero-right.jpg') center 58%/cover no-repeat;}
.bg-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071629 0%,rgba(7,22,41,.6) 28%,rgba(7,22,41,.08) 62%,rgba(7,22,41,0) 100%);}
.page-hero .bg-media{width:52%;background-position:center 62%;}
.booking .bg-media{left:0;right:auto;width:52%;}
.booking .bg-media:after{background:linear-gradient(270deg,#071629 0%,rgba(7,22,41,.72) 45%,rgba(7,22,41,.72) 100%);}
.hero .wrap,.page-hero .wrap,.booking .wrap{position:relative;z-index:1;}
.hero .wrap{padding-top:120px;padding-bottom:120px;}
.hero h1{max-width:14ch;}
.hero p{max-width:46ch;}
@media(max-width:860px){.bg-media,.page-hero .bg-media,.booking .bg-media{width:100%;left:0;right:0;}.bg-media:after,.booking .bg-media:after{background:rgba(7,22,41,.8);}}
.hero .sub{font-size:1.15rem;color:#fff;font-weight:600;margin-bottom:12px;}
.icon-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:820px){.icon-row{grid-template-columns:1fr;}}
.form-wide{max-width:900px;margin:0 auto;}

/* service pages */
.svc-list{columns:2 220px;margin-top:10px;}
.svc-list li{font-size:.97rem;}
.svc-warn{background:var(--navy);color:#c8d7ea;padding:36px;border-radius:4px;}
.svc-warn h3{color:#fff;font-size:1.35rem;font-weight:600;}
.foot-grid{grid-template-columns:1.3fr 1fr 1fr 1.1fr 1fr;}
@media(max-width:1000px){.foot-grid{grid-template-columns:1fr 1fr;}}
.card h3 a:hover{color:#1f5aa6;}

/* ---- v3.1: show the skyline photo at natural scale (not zoomed), like the sample ---- */
.hero{background:linear-gradient(90deg,#071629 0%,#0a1c36 60%,#0b2140 100%);}
.hero .bg-media{width:auto;left:auto;aspect-ratio:1280/1439;max-width:100%;background-size:cover;background-position:center;}
.hero .bg-media:after{background:linear-gradient(90deg,#0a1c36 0%,rgba(10,28,54,.55) 22%,rgba(10,28,54,.08) 50%,rgba(10,28,54,0) 100%);}
.booking .bg-media{width:auto;aspect-ratio:1280/1439;max-width:100%;}
.page-hero .bg-media{width:44%;}
.hero h1{font-size:clamp(2.3rem,4.6vw,3.7rem);}
@media(max-width:860px){.hero .bg-media,.booking .bg-media{width:100%;aspect-ratio:auto;left:0;right:0;}.hero .bg-media:after{background:rgba(7,22,41,.8);}}

/* ---- v3.2: full-width skyline like the sample (sharp on the right, soft and dark behind the text) ---- */

.hero .bg-media{display:none;}
.hero:before{display:block;content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,22,41,.9) 0%,rgba(7,22,41,.78) 35%,rgba(7,22,41,.35) 58%,rgba(7,22,41,.05) 75%,rgba(7,22,41,0) 100%);}
@media(max-width:860px){.hero{background-position:80% center;}.hero:before{background:rgba(7,22,41,.78);}}
.hero .wrap{padding-top:96px;padding-bottom:96px;}
.hero h1{font-size:clamp(2.2rem,4.2vw,3.4rem);margin-bottom:18px;}
.hero .sub{font-size:1.05rem;}
.hero p{font-size:1rem;}
section.hero,section.page-hero{padding:0;}
.hero .wrap{padding-top:110px;padding-bottom:110px;}
.page-hero .wrap{padding-top:72px;padding-bottom:72px;}
.form-note a{color:#1f5aa6;text-decoration:underline;}

/* ===== v4: sharp hero (no blur) + polish ===== */
.hero{background:radial-gradient(1100px 620px at 18% 35%,#143461 0%,#0b1f3d 48%,#071629 100%);}
.hero:before{display:none;}
.hero .bg-media{display:block;left:auto;right:0;width:auto;aspect-ratio:1280/1439;max-width:62%;background:url('assets/hero-right.jpg') center/cover no-repeat;}
.hero .bg-media:after{background:linear-gradient(90deg,#08182f 0%,rgba(8,24,47,.55) 22%,rgba(8,24,47,.1) 48%,rgba(8,24,47,0) 70%);}
.hero-mark{position:absolute;left:-2%;bottom:-6%;width:min(980px,62vw);opacity:.055;pointer-events:none;user-select:none;}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);opacity:.7;}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero .wrap>*{animation:fadeUp .8s ease both;}
.hero .wrap>*:nth-child(2){animation-delay:.08s}.hero .wrap>*:nth-child(3){animation-delay:.16s}.hero .wrap>*:nth-child(4){animation-delay:.24s}.hero .wrap>*:nth-child(5){animation-delay:.32s}
.page-hero{background:radial-gradient(900px 400px at 15% 40%,#143461 0%,#0b1f3d 50%,#071629 100%);}
.page-hero .bg-media{width:auto;left:auto;aspect-ratio:1280/1439;max-width:55%;background-position:center 60%;}
.page-hero .hero-mark{width:min(620px,50vw);bottom:-30%;opacity:.05;}
@media(max-width:860px){.hero .bg-media,.page-hero .bg-media{max-width:100%;width:100%;aspect-ratio:auto;left:0;}.hero .bg-media:after{background:rgba(7,22,41,.8);}.hero-mark{display:none;}}
@media(prefers-reduced-motion:reduce){.hero .wrap>*{animation:none;}}

/* scroll reveal (only when JS runs) */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.js .reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none;}}

/* cards */
.card,.post-card{transition:transform .3s ease,box-shadow .3s ease;}
.card:hover,.post-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(11,33,64,.13);}
.card>a{display:block;overflow:hidden;}
.card img{transition:transform .6s ease;}
.card:hover img{transform:scale(1.05);}
.card .num{font-weight:600;}
.card h3 a,.post-card h3 a{color:inherit;}
.btn{box-shadow:0 0 0 rgba(0,0,0,0);}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(201,161,91,.35);}
.site-header{transition:box-shadow .3s;}
.site-header.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.35);}

/* your-visit steps */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s;}
.steps li{background:#fff;padding:34px 30px;position:relative;border-top:3px solid var(--gold);}
.steps .icon{width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.steps .icon svg{width:24px;height:24px;}
.steps h4{font-size:1.12rem;font-weight:600;margin-bottom:8px;letter-spacing:-.01em;}
.steps p{font-size:.93rem;color:var(--muted);margin:0;}
.steps .k{position:absolute;right:24px;top:20px;font-size:2.4rem;font-weight:300;color:var(--cream-2);}
@media(max-width:860px){.steps{grid-template-columns:1fr;}}
.cta-band{background:var(--gold);color:var(--navy-deep);padding:34px 0;}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.cta-band h3{color:var(--navy-deep);margin:0;font-size:1.45rem;font-weight:600;}
.cta-band p{margin:4px 0 0;color:#3b2d12;}
.cta-band .btn-navy{box-shadow:0 10px 24px rgba(7,22,41,.25);}
.hero .bg-media,.page-hero .bg-media{-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 22%,#000 48%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 22%,#000 48%);}
.hero .bg-media:after,.page-hero .bg-media:after{background:linear-gradient(90deg,rgba(7,22,41,.25),rgba(7,22,41,0) 60%);}
.hero-mark{opacity:.045;}
@media(max-width:860px){.hero .bg-media,.page-hero .bg-media{-webkit-mask-image:none;mask-image:none;}.hero .bg-media:after,.page-hero .bg-media:after{background:rgba(7,22,41,.8);}}
.hero .bg-media,.page-hero .bg-media{-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 10%,rgba(0,0,0,.35) 28%,rgba(0,0,0,.75) 48%,#000 66%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 10%,rgba(0,0,0,.35) 28%,rgba(0,0,0,.75) 48%,#000 66%);}
.hero .bg-media:after,.page-hero .bg-media:after{background:none;}
@media(max-width:860px){.hero .bg-media,.page-hero .bg-media{-webkit-mask-image:none;mask-image:none;}.hero .bg-media:after,.page-hero .bg-media:after{background:rgba(7,22,41,.8);}
 .topbar .wrap>div:first-child{display:none;}.topbar .wrap{justify-content:center;text-align:center;font-size:.78rem;}}
.tb{white-space:nowrap;}@media(max-width:560px){.tb-mail{display:none;}}
/* certifications with captions */
.certs{padding:30px 0;}
.cert-row{display:flex;justify-content:center;align-items:flex-start;gap:64px;flex-wrap:wrap;}
.cert{margin:0;max-width:400px;text-align:center;}
.cert img{height:96px;width:auto;margin:0 auto 12px;max-width:100%;}
.cert figcaption{font-size:.84rem;line-height:1.45;color:var(--ink);font-weight:500;}
@media(max-width:600px){.cert-row{gap:30px;}.cert img{height:78px;}}
