:root{--mint:#8ed4cb;--mint-dark:#67bdb2;--ink:#292929;--muted:#778087;--pale:#f3f7f6;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{width:min(1240px,calc(100% - 48px));margin-inline:auto}.site-header{height:84px;background:#fff;position:relative;z-index:10}.nav-wrap{height:100%;width:min(960px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{width:64px;height:64px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:26px}.main-nav a{font-family:var(--serif);font-size:15px;white-space:nowrap;transition:color .2s}.main-nav a:hover,.main-nav a.active{color:var(--mint-dark)}.main-nav a.active{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:0 19px;border-radius:3px;font-size:13px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-solid{background:var(--mint);color:#fff;box-shadow:0 5px 14px #70bfb355}.button-solid:hover{background:var(--mint-dark)}.button-solid span{font-size:20px}.nav-cta{min-width:126px}.menu-toggle{display:none}.hero{height:min(630px,calc(100vh - 84px));min-height:510px;position:relative;overflow:hidden;color:white;background:#747474}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center 46%}.hero-shade{background:linear-gradient(90deg,rgba(30,32,33,.74),rgba(30,32,33,.47) 44%,rgba(30,32,33,.08) 100%)}.hero-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;padding-bottom:30px;z-index:1}.eyebrow{color:var(--mint-dark);font-family:var(--serif);font-size:16px;font-weight:700;margin:0 0 7px}.hero .eyebrow{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.02em}.hero h1{font-family:var(--serif);line-height:1.12;margin:10px 0 18px}.hero h1 span{display:block;font-size:30px}.hero h1 strong{display:block;font-size:clamp(42px,5vw,58px);color:var(--mint);font-weight:800}.hero-copy{font-size:14px;line-height:1.55;max-width:560px;margin:0 0 18px}.button-outline{border:1px solid var(--mint);color:#fff;background:#ffffff12;min-width:142px}.hero-wave{position:absolute;height:30px;bottom:-1px;left:-2%;width:104%;background:white;border-radius:50% 50% 0 0/65% 65% 0 0;z-index:2}.section{padding-block:90px}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;min-height:410px}.about-mark{display:grid;place-items:center}.about-mark img{width:min(290px,75%);aspect-ratio:1;object-fit:contain}.about-copy{max-width:520px}.about-copy h2,.who h2,.section-heading h2{font-family:var(--serif);font-size:clamp(34px,4vw,43px);line-height:1.2;margin:0 0 12px}.about-copy p:not(.eyebrow),.who-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.65;margin:10px 0}.about-copy .button{margin-top:16px}.services{padding-block:55px 84px}.section-heading{text-align:center;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:4px}.section-heading h2{margin:0}.service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:16px;row-gap:42px}.service-card{text-align:center}.service-card img{width:100%;height:165px;object-fit:cover}.service-card h3{font-family:var(--serif);font-size:20px;line-height:1.2;color:var(--mint-dark);margin:17px 0 10px}.service-card p{font-size:13px;color:#7b8083;line-height:1.55;margin:0 auto;max-width:260px}.posture{padding-block:45px 80px}.posture .section-heading{margin-bottom:18px}.compare{position:relative;width:min(1140px,100%);height:clamp(300px,42vw,500px);margin:0 auto;overflow:hidden;user-select:none;background:#c9dbe7}.compare>img,.compare-before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}.compare-before{position:absolute;inset:0 auto 0 0;width:var(--split);overflow:hidden;border-right:3px solid white}.compare-before img{width:min(1140px,calc(100vw - 48px));max-width:none}.compare-handle{position:absolute;left:var(--split);top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--mint-dark);font-size:20px;display:flex;align-items:center;justify-content:center;gap:3px;box-shadow:0 2px 8px #0002;pointer-events:none}.compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.approach{padding-block:20px 95px}.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.approach-card{height:300px;position:relative;border-radius:16px;overflow:hidden;background:#333}.approach-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.approach-card:hover img{transform:scale(1.04)}.approach-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#141616b8,#14161630 70%)}.approach-card>div{position:absolute;z-index:1;left:20px;right:18px;bottom:17px;color:white}.approach-card h3{font-family:var(--serif);font-size:18px;line-height:1.2;margin:0 0 9px}.approach-card p{font-size:12px;line-height:1.5;margin:0}.who{display:grid;grid-template-columns:1.35fr .85fr;gap:9%;align-items:center;padding-block:25px 110px}.who-copy{max-width:600px}.who h2{margin-bottom:12px}.who-image{width:100%;height:510px;object-fit:cover;border-radius:20px}.timeline{margin-top:26px;display:grid;gap:22px}.timeline article{display:grid;grid-template-columns:22px 1fr;gap:18px;position:relative}.timeline article:not(:last-child):before{content:"";position:absolute;left:10px;top:22px;bottom:-27px;width:1px;background:#b6e3de}.timeline article>span{width:22px;height:22px;border:6px solid var(--mint);background:white;border-radius:50%;z-index:1;margin-top:2px}.timeline h3{font-family:var(--serif);font-size:17px;line-height:1.25;margin:0 0 3px}.timeline p{color:var(--muted);font-size:13px;line-height:1.5;margin:0}.contact-cta{height:340px;position:relative;display:grid;place-items:center;overflow:hidden;text-align:center}.cta-art{position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(460px,90vw);height:235px;background:url('public/images/ellipse.png') center top/contain no-repeat;opacity:.92}.cta-content{position:relative;margin-top:-4px}.cta-content h2{font-family:var(--serif);font-size:38px;line-height:1.25;margin:0 0 5px}.cta-content h3{font-family:var(--serif);font-size:22px;margin:0 0 10px}.cta-content .button{background:#e7f8f7;color:var(--mint-dark);border:1px solid #b1dfda}.footer{background:#f1f1f1;padding:48px 0 22px}.footer-main{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-bottom:25px}.footer-brand{padding-left:15%}.footer-brand img{width:122px;height:122px;object-fit:contain}.socials{display:flex;gap:10px;margin-top:13px}.socials a{width:34px;height:34px;display:grid;place-items:center;background:#fff;border-radius:50%;color:var(--mint-dark);font-size:18px}.footer-contact{color:#7c8487;font-size:13px}.footer-contact h3{font:700 20px var(--serif);color:#333;margin:0 0 12px}.footer-contact a,.footer-contact p{display:flex;align-items:flex-start;gap:10px;margin:7px 0}.footer-contact span{color:var(--mint-dark);font-size:17px;min-width:17px}.copyright{border-top:1px solid #a6d9d2;text-align:center;padding-top:20px;color:#829094;font-size:11px}.floating-call,.back-top{position:fixed;right:25px;z-index:8;width:42px;height:42px;display:grid;place-items:center;color:white;background:var(--mint);border-radius:6px;box-shadow:0 3px 10px #0002}.floating-call{bottom:65px}.back-top{bottom:17px;font-size:20px}
@media(max-width:1000px){.nav-wrap{width:calc(100% - 36px);gap:16px}.main-nav{gap:15px}.main-nav a{font-size:13px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 18px}.approach-card{height:260px}.who{gap:6%}.who-image{height:460px}}
@media(max-width:850px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:36px}}
@media(max-width:720px){html{scroll-padding-top:70px}.container{width:min(100% - 36px,560px)}.site-header{height:70px}.nav-wrap{width:calc(100% - 32px)}.brand img{width:54px;height:54px}.menu-toggle{display:flex;margin-left:auto;width:42px;height:42px;padding:10px 8px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}.menu-toggle span{height:2px;width:25px;background:#333;border-radius:2px}.main-nav{display:none;position:absolute;left:0;right:0;top:70px;padding:18px 24px 22px;background:#fff;box-shadow:0 10px 14px #00000012;align-items:stretch;gap:0;flex-direction:column}.main-nav.open{display:flex}.main-nav a{font-size:16px;padding:10px 0;border-bottom:1px solid #edf0ef}.nav-cta{min-width:0;padding:0 13px;font-size:12px;min-height:40px}.hero{height:600px;min-height:0;max-height:calc(100svh - 70px)}.hero-image{object-position:35% center}.hero-shade{background:linear-gradient(90deg,rgba(24,29,30,.72),rgba(24,29,30,.36) 78%,rgba(24,29,30,.14))}.hero-content{padding-bottom:20px}.hero h1 span{font-size:25px}.hero h1 strong{font-size:clamp(36px,10vw,50px)}.hero-copy{font-size:13px;max-width:470px}.section{padding-block:60px}.about{grid-template-columns:1fr;gap:26px;text-align:center}.about-mark img{width:170px}.about-copy{margin:auto}.about-copy h2,.who h2,.section-heading h2{font-size:34px}.about-copy p:not(.eyebrow){font-size:13px}.services{padding-block:40px 60px}.section-heading{margin-bottom:24px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 14px}.service-card img{height:150px}.service-card h3{font-size:18px;margin:12px 0 6px}.service-card p{font-size:12px}.posture{padding-block:25px 55px}.compare{height:300px}.compare-before img{width:calc(100vw - 36px)}.approach{padding-block:12px 64px}.approach-grid{grid-template-columns:repeat(2,1fr);gap:12px}.approach-card{height:260px;border-radius:13px}.approach-card>div{left:14px;right:12px;bottom:14px}.approach-card h3{font-size:16px}.approach-card p{font-size:11px}.who{grid-template-columns:1fr;gap:30px;padding-block:15px 70px}.who-image{height:390px;max-width:420px;justify-self:center}.who-copy>p:not(.eyebrow){font-size:13px}.timeline{gap:20px}.contact-cta{height:300px}.cta-art{width:min(370px,90vw);height:210px}.cta-content h2{font-size:32px}.cta-content h3{font-size:20px}.footer{padding-top:36px}.footer-main{grid-template-columns:1fr 1fr;gap:18px}.footer-brand{padding-left:0}.footer-brand img{width:95px;height:95px}.footer-contact h3{font-size:18px}.footer-contact{font-size:11px}.footer-contact p{line-height:1.45}.floating-call,.back-top{right:13px}}
@media(max-width:420px){.container{width:calc(100% - 28px)}.nav-wrap{width:calc(100% - 24px);gap:7px}.nav-cta{font-size:11px;padding:0 10px}.hero{height:560px}.service-grid{gap:28px 10px}.service-card img{height:125px}.approach-card{height:235px}.compare{height:255px}.compare-before img{width:calc(100vw - 28px)}.footer-main{grid-template-columns:1fr;gap:25px}.footer-brand{display:flex;align-items:center;gap:20px}.socials{margin-top:0}.footer-brand img{width:82px;height:82px}.who-image{height:330px}}

/* Full-screen composition for the sections selected in the reference. */
@media (min-width:1001px){
  .hero{height:calc(92svh - 84px);min-height:0}
  .services{height:100svh;min-height:0;padding-block:24px;overflow:hidden}
  .services>.container{width:min(1600px,calc(100% - 56px));height:100%;display:flex;flex-direction:column;justify-content:center}
  .services .section-heading{flex:none;margin-bottom:18px}
  .service-grid{flex:1;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr));row-gap:14px;align-content:stretch}
  .service-card{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .service-card img{height:clamp(145px,21vh,205px);flex:none}
  .service-card h3{font-size:clamp(18px,1.55vw,25px);margin:10px 0 7px}
  .service-card p{font-size:clamp(12px,.92vw,15px);line-height:1.5}
  .posture{height:100svh;min-height:650px;padding-block:30px}
  .posture .section-heading{margin-bottom:14px}
  .compare{height:min(68svh,620px)}
  .contact-screen{height:100svh;min-height:100svh}
  .contact-cta{flex-basis:55%;min-height:0}
}
@media(max-width:720px){
  .hero{height:calc(92svh - 70px);max-height:none}
  .services{height:auto;min-height:100svh;padding-block:34px 42px}
  .service-grid{grid-template-columns:minmax(0,1fr);row-gap:30px}
  .service-card{min-height:0;justify-content:flex-start;padding-bottom:0;scroll-margin-top:18px}
  .service-card img{height:28svh;min-height:190px;max-height:260px}
  .service-card h3{font-size:22px;margin:13px 0 7px}
  .service-card p{font-size:14px;max-width:440px}
  .posture{height:auto;min-height:100svh;padding-block:32px}
  .compare{height:42svh;min-height:245px}
  .contact-screen{height:auto;min-height:100svh}
  .contact-cta{flex-basis:34%;min-height:220px}
  .footer{padding-block:24px 14px}
}
@media(min-width:1001px){
  .approach-grid{width:min(1600px,calc(100% - 56px));gap:20px}
  .approach-card{height:clamp(340px,43svh,400px)}
}
@media(max-width:720px){
  .approach-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .approach-card{height:min(70svh,620px);min-height:440px;border-radius:16px}
  .approach-card>div{left:20px;right:20px;bottom:20px}
  .approach-card h3{font-size:21px}
  .approach-card p{font-size:14px;line-height:1.55}
}
@media(min-width:721px){
  .who{height:100vh;height:100svh;min-height:100vh;min-height:100svh;padding-block:40px;align-content:center;scroll-snap-align:start}
  .who-image{height:min(66svh,600px)}
  .contact-screen{height:100vh;height:100svh;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;scroll-snap-align:start}
  .contact-cta{flex:0 0 55%;min-height:0}
  .contact-screen>.footer{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}
}
@media(max-width:720px){
  .who{height:auto;min-height:100svh;padding-block:52px 64px}
  .who-image{height:min(58svh,460px)}
}
.hero .button-outline{width:170px;min-width:0;align-self:flex-start;gap:14px}
.phone-icon{display:block;width:16px;height:16px;fill:currentColor;flex:none}
.hero .button-outline{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.hero .button-outline:hover,.hero .button-outline:focus-visible{background-color:var(--mint);border-color:var(--mint);color:#fff;box-shadow:0 5px 14px #70bfb355}
.hero-wave{height:52px;bottom:-1px;left:0;width:100%;border-radius:0;background:none;z-index:2;pointer-events:none}
.hero-wave path{fill:#fff}
.footer-contact .contact-icon{width:17px;height:17px;min-width:17px;flex:none;margin-top:1px;fill:var(--mint-dark)}
.footer-contact .contact-address{color:inherit;font-size:inherit;min-width:0}
.socials>span,.socials>a{width:38px;height:38px;display:grid;place-items:center;background:#fff;border-radius:50%;color:var(--mint-dark)}
.socials svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.socials svg .social-dot{fill:currentColor;stroke:none}
.about-more .more-icon{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s ease}
.about-more:hover .more-icon,.about-more:focus-visible .more-icon{stroke:var(--mint-dark)}
.about-more:hover,.about-more:focus-visible{background:#fff;color:var(--mint-dark);border:1px solid var(--mint-dark)}
.online-contact .online-icon{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s ease}
.online-contact:hover,.online-contact:focus-visible{background:#fff;color:var(--mint-dark);border:1px solid var(--mint-dark)}
.online-contact:hover .online-icon,.online-contact:focus-visible .online-icon{stroke:var(--mint-dark)}
.floating-call svg{width:17px;height:17px;fill:currentColor}
.back-top svg{width:15px;height:15px;fill:currentColor}
.footer-blog{display:block;width:max-content;margin:10px auto 0;color:#333;font-size:12px;line-height:1.5;text-align:center}
.footer-blog:hover,.footer-blog:focus-visible{color:var(--mint-dark)}
@media(min-width:721px){
  .contact-screen>.footer{justify-content:flex-end;padding-bottom:6px}
  .footer-blog{margin:4px auto 0}
}

@media (hover:hover) and (pointer:fine){
  .service-card img{position:relative;z-index:0;transition:transform .25s ease,box-shadow .25s ease}
  .service-card img:hover{z-index:1;transform:scale(1.035);box-shadow:0 8px 20px #0002}
}
