:root{--paper:#fafafa;--ink:#080808;--blue:#a6c7cd;--space:clamp(64px,10vw,150px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.65}img,video{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #2079a5;outline-offset:5px}.skip{position:fixed;top:-100px;left:16px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}.header{padding:26px max(6vw,24px);background:var(--paper)}.header-inner{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #222;min-height:48px;padding-bottom:10px;gap:20px}.logo{width:177px;height:auto}.nav{display:flex;gap:12px}.nav a{padding:1px 15px;text-decoration:none;white-space:nowrap}.nav a[aria-current=page]{background:var(--blue);color:white}.menu-toggle{display:none}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.15;letter-spacing:-1px}h2{font-size:clamp(36px,4.3vw,56px);font-weight:600}h3{font-size:18px;font-weight:600}p{margin-bottom:24px}.wrap{width:min(1120px,88%);margin-inline:auto}.hero{position:relative;min-height:850px;height:80vw;max-height:1020px;display:grid;place-items:center;isolation:isolate}.hero video,.hero>.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.hero-card{width:min(600px,86%);background:#ffffffca;border-radius:16px;padding:68px 70px;text-align:center}.hero h1{font-size:clamp(42px,6.3vw,80px);line-height:1.34;margin-bottom:38px;font-weight:600}.hero p{margin:0}.video-toggle{position:absolute;right:24px;bottom:24px;background:#0009;color:white;border:1px solid #fff8;border-radius:50px;padding:8px 18px;font-size:14px}.mission{margin-block:var(--space);display:grid;grid-template-columns:40% 60%;min-height:600px}.mission-title{background:#000;color:white;display:grid;place-items:center;padding:60px}.mission-title h2{margin:0}.mission-body{padding:80px clamp(28px,6vw,84px);background:linear-gradient(#0002,#0003),url('/assets/mission.webp') center/cover;display:flex;flex-direction:column;justify-content:center;color:white}.values{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:35px;font-size:clamp(10px,1.2vw,16px)}.values span{padding:22px 12px;background:#ffffffb8;color:#111;border-radius:8px}.values span:nth-of-type(2){background:#0007;color:white}.values b{font-size:34px}.offer{padding-block:40px var(--space)}.offer h2{text-align:center;margin-bottom:70px}.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.offer-photo{height:340px;position:relative;margin-bottom:26px}.offer-photo>img{width:100%;height:100%;object-fit:cover}.offer-grid p{font-size:17px}.cert-overlay{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;align-content:center;align-items:center;gap:22px;padding:20px}.cert-overlay img{width:100%;max-height:80px;object-fit:contain}.clo-overlay{position:absolute;inset:0;display:grid;place-items:center}.clo-overlay img{width:65%}.overview{padding-block:50px var(--space);text-align:center}.overview h2{margin-bottom:15px}.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:80px;text-align:left}.overview-grid a{text-decoration:none}.overview-grid img{width:100%;height:400px;object-fit:cover;transition:filter .25s}.overview-grid a:hover img{filter:brightness(.88)}.overview-grid a:nth-child(2){margin-top:48px}.overview-grid h3{margin-top:12px}.contact{padding-block:50px var(--space)}.contact h2{margin-bottom:12px}.arrow{font-size:60px;line-height:1.2;margin-bottom:22px}.contact-scene{position:relative;min-height:590px;background:url('/assets/contact.webp') center/cover;display:flex;align-items:center;justify-content:flex-end;padding:50px}.contact-card{background:#ffffffd9;padding:34px 28px;border-top:1px solid;border-bottom:1px solid;overflow-wrap:anywhere}.contact-card p{margin:0}.business-title{text-align:center;background:var(--blue);color:white;padding:85px 24px}.business-title h1{font-size:50px;margin-bottom:12px}.business-title p{margin:0;font-weight:bold}.business-row{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:700px;scroll-margin-top:20px}.business-copy{padding:80px clamp(30px,5.7vw,90px);display:flex;flex-direction:column;justify-content:center}.business-copy h2{font-size:48px;margin-bottom:38px}.business-copy h2:after{content:'';display:block;width:65px;height:1px;background:#333;margin-top:22px}.business-copy p,.business-copy li{font-size:17px}.business-copy ul{padding-left:22px}.business-photo>img{width:100%;height:100%;object-fit:cover}.slideshow{position:relative;min-width:0;min-height:550px}.slideshow>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.slide-controls{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.slide-controls button{pointer-events:auto;border:0;background:#0003;color:white;font-size:42px;width:48px;height:70px}.dots{position:absolute;bottom:18px;left:0;right:0;display:flex;justify-content:center;gap:12px}.dots button{width:12px;height:12px;border:1px solid white;border-radius:50%;padding:0;background:transparent}.dots button[aria-pressed=true]{background:white}.benefits{background:#000;color:white;border-radius:0 0 50% 50% / 0 0 20% 20%;padding:100px 6% 150px;display:grid;grid-template-columns:repeat(3,1fr);gap:60px;text-align:center}.benefits svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:1.6;margin:20px auto}.benefits p{max-width:270px;margin-inline:auto;font-size:18px}.benefits h3{margin-bottom:24px}.spinning-row{margin-block:150px}.certificates{display:flex;align-items:center;gap:30px;margin-top:42px}.certificates img{max-width:45%;max-height:90px;object-fit:contain}.gallery{padding:110px 3% 130px;position:relative}.gallery-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:20px}.gallery-track button{flex:0 0 35%;padding:0;border:0;background:none;scroll-snap-align:start}.gallery-track img{width:100%;aspect-ratio:3/4;object-fit:cover}.gallery-next{position:absolute;right:4%;top:45%;width:65px;height:65px;background:#000b;color:white;border:0;font-size:32px}.showcase{background:black;padding:20px 0}.showcase video{width:100%;max-height:820px;object-fit:contain}.footer{padding:32px;text-align:center;font-size:13px;color:#666}.lightbox{border:0;padding:0;background:transparent;max-width:94vw;max-height:94vh}.lightbox::backdrop{background:#000d}.lightbox img{max-height:86vh;max-width:90vw;object-fit:contain}.lightbox button{position:absolute;right:10px;top:10px;background:black;color:white;border:1px solid white;border-radius:50%;width:42px;height:42px;font-size:24px}
@media(min-width:1500px){.hero{height:1020px}}
@media(max-width:900px){.offer-grid{grid-template-columns:repeat(2,1fr)}.mission{grid-template-columns:1fr}.mission-title{padding:60px}.mission-title br{display:none}.mission-body{min-height:430px}.business-copy{padding:50px 28px}.business-copy h2{font-size:38px}.benefits{gap:24px;padding-inline:5%}.business-row{min-height:580px}.overview-grid{gap:20px}.overview-grid img{height:330px}.hero{min-height:750px}.contact-scene{min-height:500px}}
@media(max-width:600px){body{font-size:16px}.header{padding:20px}.header-inner{position:relative}.logo{width:165px}.menu-toggle{display:block;border:0;background:transparent;font-size:25px}.nav{display:none;position:absolute;top:59px;right:0;background:var(--paper);padding:20px;z-index:10;box-shadow:0 12px 20px #0002}.nav.open{display:flex;flex-direction:column}.hero{min-height:670px;height:calc(100svh - 90px);max-height:850px}.hero-card{padding:45px 26px}.hero h1{font-size:45px;line-height:1.2;margin-bottom:30px}.hero p{font-size:16px}.mission{margin-top:65px}.mission-title h2{font-size:42px}.mission-body{padding:45px 24px}.values{gap:7px;font-size:9px}.values span{padding:20px 8px}.values b{font-size:24px}.wrap{width:88%}.offer-grid{grid-template-columns:1fr;gap:35px}.offer h2{margin-bottom:40px}.offer-photo{height:390px}.offer-grid p{font-size:16px}.overview-grid{grid-template-columns:1fr;margin-top:40px;gap:32px}.overview-grid a:nth-child(2){margin-top:0}.overview-grid img{height:430px}.contact-scene{padding:24px;align-items:flex-end;min-height:460px}.contact-card{width:100%;padding:24px 18px}.business-title{padding:65px 20px}.business-title h1{font-size:40px}.business-row{grid-template-columns:1fr;min-height:0}.business-copy{padding:60px 25px}.business-copy h2{font-size:38px}.business-photo{min-height:440px}.slideshow{min-height:440px}.benefits{grid-template-columns:1fr;border-radius:0 0 50% 50% / 0 0 5% 5%;padding:55px 25px 85px;gap:15px}.benefits p{max-width:310px}.spinning-row{margin-block:70px}.spinning-row .business-copy{order:-1}.gallery{padding:65px 6%}.gallery-track button{flex-basis:86%}.gallery-next{right:7%;width:50px;height:55px}.showcase video{min-height:220px}.footer{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Scroll entrances use a separate transform layer from the hover images. */
.offer-grid,.overview-grid{isolation:isolate;position:relative}
.offer-grid>article,.overview-grid>a{position:relative;min-width:0}
.scroll-motion .offer-grid>article,.scroll-motion .overview-grid>a{
 opacity:var(--card-opacity,1);
 transform:translate3d(var(--spread-x,0px),var(--rise,0px),0);
 will-change:transform,opacity;
}
.offer-photo,.overview-photo{overflow:hidden}
.offer-photo>img,.overview-photo>img{
 transition:transform .75s cubic-bezier(.2,.65,.25,1),filter .65s ease;
 transform:scale(1);
}
.offer-photo{transition:transform .65s cubic-bezier(.2,.65,.25,1)}
.cert-overlay,.clo-overlay{transition:transform .75s cubic-bezier(.2,.65,.25,1)}
.overview-grid a:hover img{filter:none}
.overview-photo{height:400px}
.overview-photo>img{height:100%}
@media(hover:hover) and (pointer:fine){
 .offer-grid>article:hover .offer-photo{transform:translateY(-8px)}
 .offer-grid>article:hover .offer-photo>img{transform:scale(1.065);filter:brightness(1.04)}
 .offer-grid>article:hover .cert-overlay,.offer-grid>article:hover .clo-overlay{transform:scale(1.035)}
 .overview-grid>a:hover .overview-photo>img{transform:scale(1.075)}
}
.overview-grid>a:focus-visible .overview-photo>img{transform:scale(1.075)}
.scroll-motion .overview-grid>a:focus-visible{opacity:1;transform:none}

/* Original asymmetrical contact composition: offset image, unboxed details. */
.contact{width:auto;margin-left:clamp(40px,24.2vw,465px);margin-right:0;padding-block:65px 0}
.contact h2{font-size:50px;margin-bottom:22px}
.contact .arrow{width:44px;height:44px;margin-bottom:28px;line-height:1}
.contact .arrow svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}
.contact-scene{height:707px;min-height:0;padding:0;display:block;background:none}
.contact-scene::before{content:'';position:absolute;inset:0 auto 0 0;width:min(1099px,100%);background:url('/assets/contact.webp') center/cover}
.contact-card{position:absolute;top:158px;right:clamp(28px,5vw,96px);width:364px;max-width:calc(100% - 48px);background:none;border-top:1px solid #111;border-bottom:1px solid #111;padding:44px 0 68px}
.contact-card h3{margin-bottom:20px}
.contact-card a{text-decoration:none}
.contact-card a:hover{text-decoration:underline;text-underline-offset:5px}

/* Edge-to-edge video: fill the viewport, crop rather than letterbox. */
.showcase{position:relative;width:100%;height:100svh;min-height:420px;padding:0;overflow:hidden;background:#000}
.showcase video{position:absolute;inset:0;width:100%;height:100%;max-height:none;min-height:0;object-fit:cover;object-position:center}
@media(max-width:900px){
 .overview-photo{height:330px}
 .contact{margin-left:10vw}
 .contact-card{right:28px;width:310px}
}
@media(max-width:600px){
 .scroll-motion .offer-grid>article,.scroll-motion .overview-grid>a{transform:translate3d(0,var(--rise,0px),0)}
 .overview-photo{height:430px}
 .contact{margin-left:6%;margin-right:6%;padding-top:40px}
 .contact h2{font-size:38px}
 .contact-scene{height:auto;padding-top:390px}
 .contact-scene::before{height:360px;width:100%;bottom:auto}
 .contact-card{position:relative;top:auto;right:auto;width:100%;max-width:none;padding:30px 0 40px}
 .showcase{height:100svh;min-height:420px}
}
@media(prefers-reduced-motion:reduce){
 .scroll-motion .offer-grid>article,.scroll-motion .overview-grid>a{opacity:1;transform:none;will-change:auto}
 .offer-photo,.offer-photo>img,.overview-photo>img,.cert-overlay,.clo-overlay{transition:none;transform:none!important}
}

/* Keep the shared navigation visible over either page without layout jumps. */
.header{position:sticky;top:0;z-index:50;transition:background-color .3s ease,box-shadow .3s ease}
.header.is-scrolled{background:rgba(250,250,250,.84);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 3px 18px #0000000b}
.header.is-scrolled .header-inner{border-bottom-color:#2223}
.skip{z-index:60}
.business-row,#main{scroll-margin-top:125px}
.back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:45;width:52px;height:52px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:50%;background:#153c47ed;color:white;box-shadow:0 4px 18px #0003;transition:background .2s ease,transform .2s ease}
.back-to-top[hidden]{display:none}
.back-to-top svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6}
.back-to-top:hover{background:#2279ac;transform:translateY(-3px)}

/* Give contact text its own column; it can never overlap the photograph. */
.contact{margin-right:6%}
.contact-scene{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,364px);gap:clamp(30px,4vw,70px);height:auto;min-height:0;padding:0;align-items:start}
.contact-scene::before{position:static;display:block;width:100%;height:clamp(440px,39vw,707px);background-position:center}
.contact-card{position:static;width:100%;max-width:none;margin-top:clamp(60px,9vw,158px);padding:40px 0 55px;background:var(--paper);color:var(--ink)}
@media(max-width:1100px){
 .contact{margin-left:10%;margin-right:10%}
 .contact-scene{grid-template-columns:1fr;gap:30px}
 .contact-scene::before{height:clamp(360px,55vw,600px)}
 .contact-card{margin-top:0;max-width:440px;padding:30px 0 40px}
}
@media(max-width:600px){
 .contact{margin-inline:6%}
 .contact-scene::before{height:360px}
 .contact-card{max-width:none}
 .back-to-top{width:46px;height:46px;right:18px;bottom:max(18px,env(safe-area-inset-bottom))}
 .business-row,#main{scroll-margin-top:110px}
}

.business-reveal{opacity:0;transform:translate3d(0,48px,0);transition:opacity .9s ease var(--reveal-delay,0ms),transform .9s cubic-bezier(.2,.65,.25,1) var(--reveal-delay,0ms)}
.business-row>.slideshow.business-reveal:not(.is-revealed),.business-photo.business-reveal:not(.is-revealed){transform:translate3d(0,55px,0) scale(.96)}
.showcase.business-reveal{transform:none}
.business-reveal.is-revealed{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
 .business-reveal,.business-row>.slideshow.business-reveal,.business-photo.business-reveal{opacity:1;transform:none;transition:none}
 .back-to-top:hover{transform:none}
}

