@font-face{font-family:Lato;src:url('assets/fonts/Lato-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('assets/fonts/Lato-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('assets/fonts/Lato-Black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}

:root{
  --navy:#05264d;
  --navy-deep:#031f3e;
  --orange:#ff5a00;
  --amber:#f79e1b;
  --red:#eb001b;
  --white:#fff;
  --paper:#f5f7f9;
  --mist:#dde4ea;
  --body:#536578;
  --max:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--white);color:var(--navy);font-family:Lato,Arial,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
body,button,a{font-family:Lato,Arial,sans-serif}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
address{font-style:normal}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{letter-spacing:-.035em;line-height:1.06}
h1{font-size:clamp(3.35rem,5.8vw,5.9rem);font-weight:900;margin-bottom:28px}
h2{font-size:clamp(2.35rem,4.2vw,4rem);font-weight:900;margin-bottom:28px}
h3{font-size:clamp(1.55rem,2.2vw,2.15rem);font-weight:900}
p{color:var(--body)}

.site-header{height:88px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--mist);position:sticky;top:0;z-index:100}
.nav-shell{height:100%;max-width:var(--max);margin:auto;padding:0 36px;display:flex;align-items:center;justify-content:space-between}
.brand img{width:190px;height:52px;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;align-items:center;gap:44px;font-size:15px;font-weight:700}
.desktop-nav>a:not(.button){position:relative;padding:30px 0 27px}
.desktop-nav>a:not(.button)::after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--orange);transition:right .2s ease}
.desktop-nav>a:not(.button):hover::after,.desktop-nav>a:not(.button):focus-visible::after{right:0}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{list-style:none;cursor:pointer;padding:10px;color:var(--navy)}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu nav{position:absolute;right:0;top:54px;width:220px;background:var(--white);border:1px solid var(--mist);display:grid;padding:10px 22px}
.mobile-menu nav a{padding:13px 0;border-bottom:1px solid var(--mist);font-weight:700}
.mobile-menu nav a:last-child{border-bottom:0;color:var(--orange)}

.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 28px;border-radius:999px;font-size:14px;font-weight:900;letter-spacing:.01em;transition:transform .2s ease,background-color .2s ease,color .2s ease;border:1px solid transparent;white-space:nowrap}
.button:hover,.button:focus-visible{transform:translateY(-2px)}
.button-small{min-height:44px;padding:0 23px;font-size:13px}
.button-navy{background:var(--navy);color:var(--white)}
.button-orange{background:var(--orange);color:var(--white)}
.button-white{background:var(--white);color:var(--navy)}
.actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:34px}
.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:15px;font-weight:900;border-bottom:1px solid var(--navy);padding-bottom:4px}

.hero{min-height:700px;display:grid;grid-template-columns:minmax(0,1fr) minmax(540px,1.05fr);background:var(--paper)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:92px max(36px,calc((100vw - var(--max))/2 + 36px)) 88px max(36px,calc((100vw - var(--max))/2 + 36px))}
.hero-copy h1{max-width:650px}
.hero-lead{font-size:21px;line-height:1.55;max-width:600px;margin-bottom:18px}
.hero-note{font-size:17px;max-width:580px;margin-bottom:0}
.hero-visual{position:relative;margin:0;min-height:700px;background:#ece7df;overflow:hidden}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:51% 48%}
.hero-visual figcaption,.founder-visual figcaption{position:absolute;left:0;right:0;bottom:0;background:rgba(5,38,77,.88);color:white;padding:18px 28px;font-size:14px;font-weight:700;letter-spacing:.02em}

.eyebrow{font-size:14px;line-height:1.4;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-bottom:25px}
.eyebrow span{display:inline-block;width:8px;height:8px;background:var(--red);border-radius:50%;margin-right:10px}
.eyebrow.no-dot{color:var(--orange)}
.eyebrow-light{color:#fff}
.eyebrow-light span{background:var(--orange)}

.trust-strip{max-width:var(--max);margin:auto;padding:50px 36px;display:grid;grid-template-columns:repeat(3,1fr)}
.trust-item{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:0 42px;border-right:1px solid var(--mist)}
.trust-item:first-child{padding-left:0}.trust-item:last-child{border-right:0;padding-right:0}
.trust-item h2{font-size:19px;letter-spacing:-.01em;margin:2px 0 8px}
.trust-item p{font-size:15px;line-height:1.55;margin:0}
.icon-ring{width:50px;height:50px;border:1px solid var(--mist);border-radius:50%;display:inline-grid;place-items:center;color:var(--navy);flex:0 0 auto}
.icon-ring.light{border-color:rgba(255,255,255,.28);color:var(--orange);background:white}

.section-pad{padding:112px 36px}
.section-shell,.section-grid{max-width:var(--max);margin:auto}
.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.about{background:var(--paper)}
.about-grid>div:first-child p:not(.eyebrow){font-size:19px;max-width:600px}
.standard{padding-left:76px;border-left:1px solid #cfd8df}
.standard h3{line-height:1.4;margin-bottom:28px}
.standard>p:not(.eyebrow){font-size:19px;max-width:520px}

.founder{background:var(--white)}
.founder-grid{grid-template-columns:minmax(360px,520px) 1fr;gap:100px}
.founder-visual{position:relative;margin:0;background:var(--paper);align-self:stretch;display:grid;place-items:center;overflow:hidden}
.founder-visual img{width:100%;height:auto;max-height:760px;object-fit:contain;object-position:center}
.founder-copy h2{margin-bottom:12px}
.founder-copy .role{color:var(--orange);font-size:19px;font-weight:900;margin-bottom:28px}
.founder-copy>p:not(.eyebrow):not(.role){font-size:18px;line-height:1.75;max-width:670px}

.process{background:var(--navy);color:var(--white)}
.process h2{color:var(--white);margin-bottom:14px}
.process .section-intro{font-size:19px;color:#bfccd8}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:68px}
.process-grid article{padding:0 58px;border-right:1px solid rgba(255,255,255,.2)}
.process-grid article:first-child{padding-left:0}.process-grid article:last-child{border:0;padding-right:0}
.process-top{display:flex;align-items:center;gap:20px;margin-bottom:28px}
.process-top b{font-size:14px;color:var(--amber);letter-spacing:.08em}
.process-grid h3{color:white;font-size:28px;margin-bottom:12px}
.process-grid p{color:#bfccd8;font-size:17px;max-width:310px}

.gallery{background:var(--white)}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}
.gallery-heading h2{margin-bottom:0}
.gallery-heading>p{font-size:16px;margin-bottom:8px}
.gallery-grid{height:680px;display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px}
.gallery-photo{display:block;overflow:hidden;background:var(--paper)}
.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-photo:hover img,.gallery-photo:focus-visible img{transform:scale(1.025)}
.photo-1{grid-row:1/3}.photo-2{grid-column:2}.photo-3{grid-column:3}.photo-4{grid-column:2}.photo-5{grid-column:3}.photo-6{display:none}
.photo-1 img{object-position:50% 47%}.photo-2 img{object-position:50% 46%}.photo-3 img{object-position:50% 44%}.photo-4 img{object-position:50% 43%}.photo-5 img{object-position:50% 43%}

.location-section{display:grid;grid-template-columns:1.08fr .92fr;min-height:690px}
.location-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.location-copy{background:var(--navy);padding:105px max(42px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center;color:white}
.location-copy h2,.visit-details h2{color:white}
.location-copy>p:not(.eyebrow){color:#c2cfda;font-size:19px;max-width:540px}
.address-line{display:flex;align-items:flex-start;gap:18px;margin-top:22px;color:white;max-width:570px}
.address-line address{padding-top:8px;font-size:15px;line-height:1.6}

.contact{display:grid;grid-template-columns:1.08fr .92fr}
.contact-details{padding-left:max(36px,calc((100vw - var(--max))/2 + 36px));padding-right:80px;background:var(--paper)}
.contact-details>p:not(.eyebrow){font-size:18px}
.contact-list{margin-top:40px;max-width:600px}
.contact-list>a{display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid #d4dde4}
.contact-list>a>span:last-child{display:grid;color:var(--navy);font-size:16px}
.contact-list b{color:var(--orange);font-size:11px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:3px}
.visit-details{background:var(--navy);color:white;padding-left:80px;padding-right:max(36px,calc((100vw - var(--max))/2 + 36px))}
.visit-details address{color:#c2cfda;font-size:18px;max-width:520px}
.hours{display:grid;gap:8px;margin-top:50px;padding:34px 0;border-top:1px solid rgba(255,255,255,.2);color:white}
.hours b{color:var(--amber);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.hours span{font-size:16px}

footer{background:var(--navy-deep);color:white;padding:76px max(36px,calc((100vw - var(--max))/2 + 36px)) 30px}
.footer-grid{display:grid;grid-template-columns:1.6fr .7fr 1fr;gap:70px;align-items:start}
.footer-brand img{width:330px;max-height:98px;object-fit:contain;object-position:left center}
.footer-brand p{color:var(--amber);font-size:15px;font-weight:700;margin:20px 0 0}
.footer-grid nav,.footer-contact{display:grid;gap:13px;font-size:14px}
.footer-grid nav a,.footer-contact a,.footer-contact span{color:#d2dce5}
.footer-grid nav a:hover,.footer-contact a:hover{color:white}
.copyright{border-top:1px solid rgba(255,255,255,.18);color:#aab8c6;font-size:12px;margin:50px 0 0;padding-top:24px}

.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:9px;background:#1fb75a;color:white;border-radius:999px;padding:13px 19px;font-size:14px;font-weight:900;border:2px solid white}

@media (max-width:1000px){
  .desktop-nav{display:none}.mobile-menu{display:block}.nav-shell{padding:0 22px}.brand img{width:160px}
  .hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:74px 36px 64px}.hero-visual{min-height:560px}
  .trust-strip{grid-template-columns:1fr;padding:18px 36px}.trust-item{border-right:0;border-bottom:1px solid var(--mist);padding:24px 0}.trust-item:last-child{border-bottom:0}
  .section-grid{grid-template-columns:1fr;gap:55px}.standard{padding-left:0;padding-top:42px;border-left:0;border-top:1px solid #cfd8df}
  .founder-grid{grid-template-columns:minmax(0,600px);justify-content:center}.founder-copy{max-width:700px}
  .process-grid{grid-template-columns:1fr}.process-grid article{padding:38px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.process-grid article:last-child{border-bottom:0}
  .gallery-grid{height:980px;grid-template-columns:1fr 1fr;grid-template-rows:1.2fr 1fr 1fr}.photo-1{grid-column:1/3;grid-row:1}.photo-2{grid-column:1;grid-row:2}.photo-3{grid-column:2;grid-row:2}.photo-4{grid-column:1;grid-row:3}.photo-5{grid-column:2;grid-row:3}
  .location-section,.contact{grid-template-columns:1fr}.location-photo{height:520px}.location-copy,.contact-details,.visit-details{padding:90px 36px}
}

@media (max-width:620px){
  body{font-size:16px;line-height:1.65}html{scroll-padding-top:76px}
  .site-header{height:76px}.brand img{width:138px;height:42px}
  h1{font-size:3.15rem}h2{font-size:2.35rem}.eyebrow{font-size:12px;margin-bottom:19px}
  .hero-copy{padding:58px 22px 52px}.hero-lead{font-size:18px}.hero-note{font-size:15px}.hero-visual{min-height:390px}.hero-visual figcaption{font-size:12px;padding:13px 20px}
  .actions{display:grid;grid-template-columns:1fr;gap:11px}.button{width:100%}
  .trust-strip{padding:14px 22px}.trust-item{grid-template-columns:50px 1fr;gap:14px}.trust-item h2{font-size:18px}
  .section-pad{padding:76px 22px}.section-grid{gap:42px}.about-grid>div:first-child p:not(.eyebrow),.standard>p:not(.eyebrow),.founder-copy>p:not(.eyebrow):not(.role){font-size:16px}
  .founder{padding-left:0;padding-right:0}.founder-copy{padding:0 22px}.founder-visual{width:100%}.founder-visual img{width:100%;max-height:none;height:auto;object-fit:contain}.founder-visual figcaption{padding:13px 22px;font-size:12px}
  .process-grid{margin-top:38px}.process-grid article{padding:30px 0}.process-grid h3{font-size:25px}
  .gallery-heading{display:block;margin-bottom:30px}.gallery-heading>p{font-size:14px;margin-top:15px}.gallery-grid{height:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:280px 210px 210px 250px}.photo-1{grid-column:1/3;grid-row:1}.photo-2{grid-column:1;grid-row:2}.photo-3{grid-column:2;grid-row:2}.photo-4{grid-column:1;grid-row:3}.photo-5{grid-column:2;grid-row:3}.photo-6{display:block;grid-column:1/3;grid-row:4}
  .location-photo{height:310px}.location-copy,.contact-details,.visit-details{padding:72px 22px}.location-copy>p:not(.eyebrow){font-size:17px}.address-line{gap:14px}.address-line address{font-size:14px}
  .contact-list>a{gap:14px}.contact-list .icon-ring{width:46px;height:46px}.contact-list>a>span:last-child{font-size:14px}
  footer{padding:55px 22px 25px}.footer-grid{grid-template-columns:1fr;gap:36px}.footer-brand img{width:270px}.copyright{margin-top:38px;line-height:1.6}
  .whatsapp-float{width:52px;height:52px;padding:0;justify-content:center;right:14px;bottom:14px}.whatsapp-float span{display:none}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-photo img,.button{transition:none}}
