section{padding:clamp(2.8rem,5.5vw,4.5rem) 0}
.light{background:var(--ivory);color:var(--ink)}
.light .sec-lede,.light p{color:rgba(10,21,36,.72)}
.sec-head{max-width:46em;margin-bottom:clamp(1.8rem,4vw,2.8rem)}
.sec-lede{font-size:clamp(1rem,1.3vw,1.12rem);max-width:36em}
.io{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.6,.2,1)}
.io.in{opacity:1;transform:none}
.about-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.big-year{font-family:var(--serif);font-weight:600;font-size:clamp(6rem,17vw,15rem);line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--gold-deep);letter-spacing:-.02em;position:sticky;top:8rem}
.about-copy p{margin-bottom:1.1rem;max-width:36em}
.stats{display:flex;gap:clamp(1.5rem,4vw,3.5rem);margin-top:2.6rem;padding-top:2rem;border-top:1px solid var(--hairline-l);flex-wrap:wrap}
.stats dt{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.8rem);color:var(--ink);line-height:1}
.stats dd{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(10,21,36,.55);margin-top:.5rem}
.services{border-top:1px solid var(--hairline-l)}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.1rem}
.svc-grid article{position:relative;background:var(--paper);border:1px solid var(--hairline-l);padding:2rem 1.8rem 1.9rem;transition:transform .45s cubic-bezier(.2,.6,.2,1),border-color .45s,box-shadow .45s;overflow:hidden}
.svc-grid article::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.6,.2,1)}
.svc-grid article:hover{transform:translateY(-5px);border-color:rgba(166,134,74,.45);box-shadow:0 18px 40px -18px rgba(10,21,36,.22)}
.svc-grid article:hover::before{transform:scaleX(1)}
.svc-grid article span{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.15rem;color:var(--gold-deep)}
.svc-grid article h3{font-family:var(--serif);font-weight:600;font-size:1.42rem;line-height:1.18;margin:.8rem 0 .7rem;color:var(--ink)}
.svc-grid article p{font-size:.93rem;line-height:1.65;color:rgba(10,21,36,.66)}
.svc-grid article:nth-child(3n+2){transition-delay:.08s}
.svc-grid article:nth-child(3n){transition-delay:.16s}
.vista{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;padding:6rem var(--pad);background:linear-gradient(rgba(8,16,29,.38),rgba(8,16,29,.52)),url('../assets/vista.jpg?v=28') center/cover no-repeat fixed}
.vista-line{font-family:var(--serif);font-weight:600;font-size:clamp(2.1rem,5vw,3.8rem);color:var(--ivory);text-align:center}
.vista-line em{font-style:italic;font-weight:500;color:var(--gold)}
.ports{border-top:1px solid var(--hairline-l)}
.ports-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem 2rem;margin-top:2.4rem;max-width:58rem}
.ports-list li{font-family:var(--serif);font-weight:600;font-size:clamp(1.05rem,2vw,1.7rem);color:var(--ink)}
.ports-list li::before{content:"\2726";color:var(--gold-deep);font-size:.52em;margin-right:.85rem;vertical-align:.32em}
.duo{padding-top:0}
.duo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.duo figure{margin:0;position:relative;overflow:hidden;border:1px solid var(--hairline-l)}
.duo img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transform:scale(1.18);transition:transform 1.35s cubic-bezier(.2,.6,.2,1)}
.reveal-img .slats{position:absolute;inset:0;z-index:2;display:flex;pointer-events:none}
.reveal-img .slats i{flex:1;background:linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 100%);transform:scaleY(1);transform-origin:top;transition:transform .8s cubic-bezier(.7,0,.25,1)}
.reveal-img.in .slats i{transform:scaleY(0)}
.reveal-img.in img{transform:scale(1)}
.reveal-img .slats i:nth-child(2){transition-delay:.09s}
.reveal-img .slats i:nth-child(3){transition-delay:.18s}
.reveal-img .slats i:nth-child(4){transition-delay:.27s}
.reveal-img .slats i:nth-child(5){transition-delay:.36s}
.duo figure:nth-child(2) .slats i{transition-delay:.28s}
.duo figure:nth-child(2) .slats i:nth-child(2){transition-delay:.37s}
.duo figure:nth-child(2) .slats i:nth-child(3){transition-delay:.46s}
.duo figure:nth-child(2) .slats i:nth-child(4){transition-delay:.55s}
.duo figure:nth-child(2) .slats i:nth-child(5){transition-delay:.64s}
.duo figure:nth-child(2) img{transition-delay:.28s}
.duo figure.in:hover img{transform:scale(1.06);transition-delay:0s}
.flag{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 100%)}
.flag .sec-lede{color:var(--mist)}
.flag-list{margin-top:clamp(2.2rem,5vw,3.8rem);max-width:52rem}
.flag .row{display:grid;grid-template-columns:4.5rem 1fr;gap:1.2rem;align-items:start;padding:1.9rem 0;border-top:1px solid var(--hairline-d)}
.flag .row:last-child{border-bottom:1px solid var(--hairline-d)}
.flag .row span{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.6rem;color:var(--gold);line-height:1.1}
.flag .row h3{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,2.6vw,2rem);color:var(--ivory);margin-bottom:.45rem}
.flag .row p{color:var(--mist);max-width:38em}
.flag .row:nth-child(2){transition-delay:.07s}
.flag .row:nth-child(3){transition-delay:.14s}
.flag .row:nth-child(4){transition-delay:.21s}
.contact{background:linear-gradient(180deg,var(--ink-2) 0%,var(--ink) 100%);min-height:100svh;display:flex;align-items:center}
.contact .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}
.contact .sec-lede{color:var(--mist)}
.contact-fig{width:min(820px,94vw);margin-bottom:clamp(1.8rem,4vw,2.6rem);overflow:hidden;border:1px solid var(--hairline-d);box-shadow:0 30px 60px -22px rgba(0,0,0,.55)}
.contact-fig img{display:block;width:100%;height:auto;animation:flagZoom 16s ease-in-out infinite alternate}
.mail{display:inline-block;margin-top:1.6rem;font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,4.2vw,3rem);color:var(--ivory);position:relative;padding-bottom:.35rem}
.mail::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--gold);transform:scaleX(.18);transform-origin:left;transition:transform .55s cubic-bezier(.2,.6,.2,1)}
.mail:hover::after{transform:scaleX(1)}
@keyframes flagZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
footer{background:var(--ink);border-top:1px solid var(--hairline-d);padding:2.8rem 0}
.foot{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.foot p{font-size:.8rem;letter-spacing:.08em;color:var(--mist)}
.foot p:last-child{margin-left:auto}
@media (max-width:900px){
  .about-grid{grid-template-columns:1fr}
  .big-year{position:static}
  .hero-inner{padding-block:7.5rem 9rem}
  .vista{background-attachment:scroll}
}
@media (max-width:640px){
  html{scroll-padding-top:3.1rem}
  .hero{min-height:calc(100svh - 2.5rem);min-height:calc(100dvh - 2.5rem)}
  .hero-inner{padding-block:4.8rem 5.2rem}
  .hero h1{font-size:2.45rem}
  .lede{margin-top:1.2rem;font-size:.98rem}
  .cta-row{margin-top:1.7rem}
  .scroll-cue{bottom:1.4rem}
  .nav{gap:1.1rem}
  .nav nav{gap:1rem}
  .nav nav a{font-size:.68rem;letter-spacing:.12em}
  .nav .est{display:none}
  .brand-name{font-size:1.1rem}
  .brand-stars{font-size:.4rem}
  .cta-row{flex-direction:column;align-items:stretch}
  .btn{text-align:center}
  .stats{gap:1.4rem}
  .ports-list{grid-template-columns:repeat(2,1fr);gap:.85rem 1rem}
  .ports-list li::before{margin-right:.45rem}
  .duo-grid{grid-template-columns:1fr}
  .flag .row{grid-template-columns:2.6rem 1fr;gap:.9rem}
  .foot{gap:.6rem;flex-direction:column;align-items:flex-start}
  .foot p:last-child{margin-left:0}
}
@media (max-width:400px){
  .nav nav a{font-size:.62rem;letter-spacing:.08em}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition:none!important}
  .line,.reveal,.io{opacity:1!important;transform:none!important}
  .reveal-img .slats i{transform:scaleY(0)!important}
  .duo img{transform:none!important}
  html{scroll-behavior:auto}
}
