/* Visual refinements: grounded portrait, distinct method panel and stronger actions. */
.icon{display:inline-block;width:18px;height:18px;flex:none;stroke:currentColor;vertical-align:middle}
.header-cta .icon{width:15px;height:15px;margin-left:11px}
.process-item .icon{width:14px;height:14px}
.chapter-bottom .icon{width:14px;height:14px;margin-left:5px}

/* The portrait ends at the chapter boundary on desktop and mobile. */
.hero-chapter-intro .chapter-copy{position:relative;z-index:4}
.chapter-art-person{position:absolute;right:0;bottom:0;width:min(51vw,790px);height:calc(100svh - var(--header-h));margin:0;align-self:auto;overflow:visible}
.chapter-art-person .chapter-person{position:absolute;inset:auto 0 -6%;width:100%;height:108%;transform:none!important;object-position:bottom center}
.chapter-art-person .chapter-halo{inset:10% 3% 0 6%;border-radius:50% 50% 0 0}
.chapter-art-person:after{inset:6% 1% 0 8%;border-radius:50% 50% 0 0}
.hero-chapter-intro .chapter-bottom span:last-child{position:absolute;left:0;bottom:22px}

/* A light sage chapter creates a clear transition between the dark panels. */
.hero-chapter-method{background:#e8eee2;color:var(--ink)}
.hero-chapter-method:before{color:rgba(41,73,46,.055)}
.hero-chapter-method .chapter-copy .eyebrow{color:#506c52}
.hero-chapter-method .chapter-copy h2 em{color:#4e784d}
.hero-chapter-method .chapter-copy>p{color:#475849}
.hero-chapter-method .chapter-steps span{color:#2f4934;background:#f4f7ee;border-color:#b9cbb3}
.hero-chapter-method .text-link{color:#203927;border-color:#59775c}
.hero-chapter-method .chapter-bottom{color:#466147}
.hero-chapter-method .chapter-bottom:before{background:#557c3f}
.hero-chapter-method .chapter-ring{border-color:#6d9a60}
.hero-chapter-method .tag-method{background:#183222;color:#f4f8ee}
.hero-chapter-method .tag-method span{color:#c0d7b1}

/* CTA links now have a clear clickable area and a distinct icon disc. */
.button,.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;text-decoration:none}
.button{min-height:60px;padding:7px 7px 7px 24px;border:1px solid transparent;box-shadow:0 10px 25px rgba(0,0,0,.15);font-weight:800;letter-spacing:.005em}
.button .link-icon,.text-link .link-icon{display:grid;place-items:center;flex:none;border-radius:50%;transition:transform .25s ease,background .25s ease,color .25s ease}
.button .link-icon{width:43px;height:43px;background:#16251b;color:var(--lime)}
.button-dark .link-icon,.cta-section .button .link-icon{background:var(--lime);color:var(--ink)}
.button:hover .link-icon,.text-link:hover .link-icon{transform:rotate(45deg)}
.text-link{min-height:54px;padding:6px 6px 6px 19px;border:1px solid #607360;border-radius:999px;font-size:13px;font-weight:800;box-shadow:none}
.text-link .link-icon{width:38px;height:38px;border:1px solid currentColor}
.text-link:hover{gap:22px;background:var(--lime);border-color:var(--lime);color:var(--ink)}
.hero-story .text-link{color:#f2f8ed;border-color:#91a996;background:rgba(255,255,255,.05)}
.hero-story .text-link:hover{color:var(--ink);background:var(--lime);border-color:var(--lime)}
.hero-chapter-method .text-link{color:#203927;border-color:#59775c;background:rgba(255,255,255,.45)}
.hero-chapter-method .text-link:hover{background:var(--lime);border-color:var(--lime)}
.hero-actions{gap:13px}
.chapter-copy .hero-actions{gap:13px}

/* Testimonials use the supplied portraits. */
.quote-person{display:flex;flex-direction:row;align-items:center;gap:12px}
.quote-person>div{display:flex;flex-direction:column;gap:3px}
.quote-avatar{width:48px;height:48px;flex:none;border-radius:50%;object-fit:cover;border:2px solid var(--lime)}

/* Square result frames preserve the complete before/after comparison. */
.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:700}
.results-toolbar>div{display:flex;gap:8px}
.results-toolbar button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #afc4aa;border-radius:50%;background:#f6f9f0;color:#263c29;cursor:pointer;transition:background .25s,transform .25s}
.results-toolbar button:hover{background:var(--lime);transform:translateY(-2px)}
.results-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;padding:4px 4px 15px;scrollbar-width:thin;overscroll-behavior-inline:contain}
.result-card{flex:0 0 clamp(220px,31vh,330px);width:clamp(220px,31vh,330px);scroll-snap-align:start}
.result-card img{display:block;width:100%;height:clamp(220px,31vh,330px);aspect-ratio:1/1;object-fit:contain;background:#eef1e9}
.result-card figcaption{padding:11px 15px}
.results-note{margin-top:8px}

/* The closing invitation is deliberately shorter and centered. */
.cta-section{height:auto;min-height:clamp(410px,62svh,600px);padding:85px 0 80px;display:grid;place-items:center;text-align:center}
.cta-section:after{content:none;display:none}
.cta-inner{max-height:none;display:flex;flex-direction:column;align-items:center;max-width:800px}
.cta-inner .eyebrow{justify-content:center;margin-bottom:18px}
.cta-inner h2{max-width:760px;margin-bottom:18px}
.cta-inner p{max-width:530px;margin:0 auto 24px}
.cta-inner .button{margin:0;background:#15291c;color:white;box-shadow:0 18px 42px rgba(17,37,20,.24)}
.cta-inner .button:hover{background:#263f2b}

@media(max-width:900px){
  .chapter-art-person{width:54vw;height:calc(100svh - var(--header-h))}
}
@media(max-width:650px){
  .hero-chapter-intro .chapter-layout{justify-content:flex-start;padding-top:calc(var(--header-h) + 5vh)}
  .hero-chapter-intro .chapter-copy{width:100%}
  .chapter-art-person{position:absolute;right:-10px;bottom:0;width:calc(100% + 20px);height:55svh;margin:0;align-self:auto}
  .chapter-art-person .chapter-halo{inset:2% 11% 0;border-radius:50% 50% 0 0}
  .chapter-art-person:after{inset:3% 11% 0 15%;border-radius:50% 50% 0 0}
  .chapter-art-person .chapter-person{bottom:-8%;height:100%}
  .chapter-art-person .tag-person{right:5%;bottom:17%}
  .hero-chapter-intro .chapter-bottom{z-index:5}
  .hero-chapter-intro .chapter-bottom span:first-child{padding:5px 7px;background:rgba(17,26,21,.72);border-radius:3px}
  .hero-chapter-intro .chapter-bottom span:last-child{display:none}
  .hero-story .text-link{min-height:44px;padding:4px 4px 4px 13px}
  .hero-story .text-link .link-icon{width:31px;height:31px}
  .button{min-height:52px;padding:5px 5px 5px 17px}
  .button .link-icon{width:40px;height:40px}
  .results-toolbar{font-size:10px}
  .results-toolbar button{width:33px;height:33px}
  .result-card{flex-basis:min(78vw,320px);width:min(78vw,320px)}
  .result-card img{height:min(78vw,320px);aspect-ratio:1/1}
  .quote-card{height:clamp(320px,50vh,420px)}
  .quote-avatar{width:43px;height:43px}
  .cta-section{min-height:440px;padding:76px 20px 60px}
  .cta-inner h2{font-size:clamp(2rem,8vw,2.75rem)}
}
@media(max-height:710px) and (max-width:650px){
  .chapter-art-person{height:48svh}
  .hero-chapter-intro .chapter-layout{padding-top:calc(var(--header-h) + 3vh)}
  .result-card img{height:min(78vw,320px);aspect-ratio:1/1}
}
@media(prefers-reduced-motion:reduce){
  .button .link-icon,.text-link .link-icon,.results-toolbar button{transition:none}
}

/* Content may grow past one viewport when the device is short or text wraps. */
.section,.statement-section,.subhero,.ebook-hero{height:auto;min-height:100svh}
.section,.statement-section{overflow:visible}
.section>.container,.statement-section>.container{max-height:none}
.subhero,.ebook-hero{overflow:hidden}
.subhero-grid,.ebook-hero-grid{height:auto;min-height:100svh}

/* The footer follows its content instead of behaving like another chapter. */
.footer{display:block;height:auto;min-height:0;overflow:visible;padding:72px 0 26px}
.footer-main{padding-bottom:54px}
.menu-toggle span{transition:transform .2s ease}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-5px) rotate(-45deg)}

/* Carousels should never acquire a vertical scrollbar from reveal or tilt motion. */
.testimonial-grid,.feature-grid,.services-grid,.appointment-grid,.results-grid{scrollbar-width:none}
.testimonial-grid::-webkit-scrollbar,.feature-grid::-webkit-scrollbar,.services-grid::-webkit-scrollbar,.appointment-grid::-webkit-scrollbar,.results-grid::-webkit-scrollbar{display:none}

@media(max-width:900px){
  .testimonial-grid{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:4px 0 12px}
  .testimonial-grid .quote-card:last-child{grid-column:auto}
  .quote-card{flex:0 0 min(43vw,360px);height:auto;min-height:370px;scroll-snap-align:start}
  .quote-card p{font-size:14px;line-height:1.55}
}

@media(min-width:651px) and (max-width:900px) and (min-height:850px){
  .hero-chapter-intro .chapter-copy{align-self:start;margin-top:9svh}
  .chapter-art-person{width:64vw}
  .chapter-art-person .chapter-halo{inset:35% 3% 0 6%}
  .chapter-art-person:after{inset:32% 1% 0 8%}
}

@media(max-width:650px){
  .hero-chapter{height:auto;min-height:100svh;position:relative}
  .chapter-layout{height:auto;min-height:100svh}
  .hero-chapter-method .chapter-layout,.hero-chapter-result .chapter-layout{gap:12px;padding-bottom:68px}
  .section,.statement-section{padding:calc(var(--header-h) + 28px) 0 58px}
  .section>.container,.statement-section>.container{width:calc(100% - 40px)}
  .intro-grid,.story-grid,.about-grid,.result-intro,.location-grid,.contact-grid,.ebook-about-grid,.offer-grid{height:auto;gap:24px}
  .section-head{margin-bottom:25px}
  .section-head p,.intro-sticky p,.story-copy p,.about-text p,.result-intro p,.location-grid p,.contact-grid p,.ebook-about-grid p,.ebook-offer p{font-size:14px;line-height:1.6}
  .intro-sticky h2{margin-bottom:16px}
  .intro-sticky .text-link{margin-top:15px}
  .process-item{padding:15px 0;grid-template-columns:24px 1fr 16px;gap:9px}
  .process-item h3{font-size:17px;line-height:1.25;margin-bottom:5px}
  .process-item p{font-size:13px;line-height:1.48}
  .story-media,.story-media img{height:clamp(230px,38svh,340px)}
  .story-copy .button{margin-top:15px}
  .testimonial-grid,.feature-grid,.services-grid,.appointment-grid,.results-grid{overflow-x:auto;overflow-y:hidden}
  .testimonial-grid{margin-right:-20px;padding-right:20px;padding-bottom:4px}
  .quote-card{flex-basis:min(76vw,330px);min-height:470px;padding:26px}
  .quote-card p{font-size:14px;line-height:1.58}
  .quote-mark{font-size:76px;margin-bottom:12px}
  .feature-card{height:auto;min-height:310px}
  .feature-card p,.service-card p,.appointment-card p{font-size:14px;line-height:1.55}
  .service-card img{height:210px}
  .appointment-card{height:auto;min-height:420px}
  .results-note{font-size:12px;line-height:1.45}
  .subhero-grid{height:auto;min-height:100svh;gap:22px;padding-top:calc(var(--header-h) + 28px);padding-bottom:48px}
  .subhero-copy p{font-size:14px;line-height:1.55}
  .subhero-media{height:clamp(220px,33svh,330px)}
  .ebook-hero-grid{height:auto;min-height:100svh;gap:20px;padding-top:calc(var(--header-h) + 28px);padding-bottom:42px}
  .ebook-hero p{font-size:14px;line-height:1.55}
  .ebook-cover{height:clamp(260px,35svh,320px)}
  .ebook-cover img{height:auto;width:auto;max-width:90%;max-height:clamp(260px,35svh,320px);transform:none!important}
  .ebook-offer li{font-size:14px;line-height:1.4}
  .footer{padding:58px 0 24px}
  .footer-main{gap:28px 16px;padding-bottom:28px}
  .footer-brand p,.footer-main p{font-size:13px;line-height:1.55;margin-top:12px}
  .footer h3{font-size:14px;margin-bottom:14px}
  .footer nav{gap:9px}
  .footer a{font-size:13px}
  .footer .socials{gap:10px;margin-top:18px}
  .footer-bottom{font-size:11px;line-height:1.45;padding-top:18px}
}

@media(max-width:650px) and (max-height:710px){
  .chapter-art-person{height:40svh}
  .chapter-art-person .chapter-person{bottom:-13%;height:100%}
  .chapter-art-person .chapter-halo{inset:13% 11% 0}
  .chapter-art-person:after{inset:14% 11% 0 15%}
}

@media(max-width:360px) and (max-height:650px){
  .hero-chapter-intro,.hero-chapter-intro .chapter-layout{min-height:760px}
  .chapter-art-person{height:330px;width:100%;right:0}
  .chapter-art-person .chapter-halo{inset:3% 11% 0}
  .chapter-art-person:after{inset:4% 11% 0 15%}
  .chapter-art-person .chapter-person{bottom:-8%;height:100%}
  .chapter-art-person .tag-person{bottom:14%}
}

/* The chapter numbers were competing with the content. */
.hero-chapter:before{content:none;display:none}

/* Image-free page heroes use a small dimensional composition tied to each topic. */
.subhero-graphic{position:relative;isolation:isolate;display:grid;place-items:center;height:min(66svh,590px);min-height:380px;perspective:1100px;transform-style:preserve-3d}
.graphic-orbit{position:absolute;width:88%;aspect-ratio:1;border:1px solid rgba(181,239,67,.24);border-radius:50%;transform:rotateX(67deg) rotateZ(-24deg);box-shadow:0 0 0 44px rgba(181,239,67,.025)}
.graphic-glow{position:absolute;z-index:-1;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(181,239,67,.2),transparent 68%);filter:blur(18px)}
.graphic-slab{position:absolute;width:min(77%,420px);height:min(70%,390px);border-radius:24px;border:1px solid rgba(208,245,181,.23);box-shadow:0 28px 70px rgba(0,0,0,.2)}
.graphic-slab-back{background:#395c3c;transform:translate(34px,-23px) rotate(12deg)}
.graphic-slab-mid{background:#284733;transform:translate(-22px,13px) rotate(-8deg)}
.graphic-slab-front{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,3vw,36px);background:linear-gradient(145deg,#f2f6e9,#dce9d2);color:var(--ink);transform:rotateY(-11deg) rotateX(7deg);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.subhero-graphic:hover .graphic-slab-front{transform:rotateY(-3deg) rotateX(2deg) translateY(-9px);box-shadow:0 45px 85px rgba(0,0,0,.28)}
.graphic-mark{display:grid;place-items:center;width:72px;height:72px;margin-bottom:auto;border-radius:20px;background:#d0f591;color:#25432d;box-shadow:inset 0 0 0 1px #a6d878}
.graphic-mark .icon{width:35px;height:35px;stroke-width:1.8}
.graphic-slab-front>span{font-size:10px;font-weight:800;letter-spacing:.15em;color:#5e7b61}
.graphic-slab-front strong{display:block;max-width:310px;margin:9px 0 22px;font:800 clamp(1.6rem,2.3vw,2.25rem)/1.13 Manrope,sans-serif;letter-spacing:-.055em}
.graphic-chips{display:flex;flex-wrap:wrap;gap:7px}
.graphic-chips small{padding:8px 10px;border:1px solid #b8cdb2;border-radius:50px;font-size:10px;font-weight:700;color:#3d6043}
.subhero-graphic-results .graphic-slab-back{background:#548548}
.subhero-graphic-booking .graphic-slab-back{background:#729858}
.subhero-graphic-about .graphic-slab-mid{background:#385b4e}

/* Thales' portrait now belongs to the second section of the About page. */
.about-grid-with-photo{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:7%;align-items:center}
.about-portrait{height:min(66svh,570px);overflow:hidden;border-radius:24px;clip-path:polygon(0 0,100% 0,100% 93%,93% 100%,0 100%);background:#dce6d7}
.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .6s}
.about-portrait:hover img{transform:scale(1.025)}
.about-story-content h2{font-size:clamp(2rem,3vw,3.45rem);margin-bottom:20px}
.about-story-content .about-text p{font-size:clamp(.93rem,1.08vw,1.04rem);line-height:1.6;margin-bottom:12px}

/* Lucide icons give each service card a useful visual anchor. */
.feature-card{height:auto;min-height:310px}
.feature-top{display:flex;align-items:flex-start;justify-content:space-between;width:100%;margin-bottom:auto}
.feature-top>span{margin:0}
.feature-icon{display:grid;place-items:center;width:62px;height:62px;flex:none;border-radius:17px;background:#e8f4d8;color:#466d40}
.feature-icon .icon{width:29px;height:29px;stroke-width:1.8}
.feature-card h3{margin:34px 0 10px}
.feature-card p{font-size:clamp(.86rem,1vw,.97rem)}

/* Exactly three square result cards are visible per desktop row. */
.results-grid{gap:18px;scroll-padding-inline:2px;padding:4px 2px 8px}
.result-card{flex:0 0 calc((100% - 36px)/3);width:calc((100% - 36px)/3);min-width:0}
.result-card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}

.whatsapp-float{position:fixed;z-index:95;right:25px;bottom:24px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 20px;border-radius:999px;background:#25d366;color:#103c27;box-shadow:0 16px 40px rgba(0,0,0,.26);font-size:14px;font-weight:800;letter-spacing:.01em;transition:transform .25s,box-shadow .25s,background .25s}
.whatsapp-float .icon{width:24px;height:24px;stroke-width:2.1}
.whatsapp-float:hover{transform:translateY(-5px);background:#48e37e;box-shadow:0 22px 46px rgba(0,0,0,.32)}
.whatsapp-float:focus-visible{outline:3px solid #fff;outline-offset:4px}
.whatsapp-float.near-footer{opacity:0;pointer-events:none;transform:translateY(14px)}

@media(max-width:900px){
  .result-card{flex-basis:calc((100% - 18px)/2);width:calc((100% - 18px)/2)}
  .whatsapp-float{display:none}
}
@media(max-width:650px){
  .subhero-graphic{width:100%;height:clamp(220px,33svh,300px);min-height:0;flex:none}
  .graphic-orbit{width:min(78vw,310px)}
  .graphic-slab{width:min(69vw,280px);height:88%;border-radius:17px}
  .graphic-slab-back{transform:translate(17px,-7px) rotate(9deg)}
  .graphic-slab-mid{transform:translate(-12px,7px) rotate(-7deg)}
  .graphic-slab-front{padding:18px;transform:rotateY(-7deg) rotateX(4deg)}
  .graphic-mark{width:48px;height:48px;border-radius:13px}
  .graphic-mark .icon{width:25px;height:25px}
  .graphic-slab-front>span{font-size:8px}
  .graphic-slab-front strong{font-size:clamp(1.15rem,5.6vw,1.5rem);margin:5px 0 12px}
  .graphic-chips small{font-size:8px;padding:5px 7px}
  .about-grid-with-photo{display:flex;flex-direction:column;align-items:stretch;gap:25px}
  .about-portrait{height:clamp(240px,38svh,360px);width:100%}
  .about-story-content h2{font-size:clamp(2rem,8vw,2.7rem)}
  .about-story-content .about-text p{font-size:14px;line-height:1.6}
  .feature-card{min-height:310px}
  .feature-icon{width:54px;height:54px}
  .feature-icon .icon{width:27px;height:27px}
  .result-card{flex-basis:min(86vw,330px);width:min(86vw,330px)}
  .result-card img{height:auto;aspect-ratio:1/1}
  .button,.text-link{width:100%;max-width:none;white-space:normal;text-align:left}
  .link-label{min-width:0}
  .hero-actions{width:100%;flex-direction:column;align-items:stretch}
  .hero-actions>.button,.hero-actions>.text-link{width:100%}
  .cta-inner{width:100%}
  .footer .socials{justify-content:center}
  .footer-bottom{align-items:center;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .graphic-slab-front,.whatsapp-float{transition:none}
}

/* Compact feature cards keep the icons connected to their copy. */
.feature-card{min-height:0;height:auto;display:flex;flex-direction:column;justify-content:flex-start;padding:26px}
.feature-top{margin-bottom:20px}
.feature-card h3{margin:0 0 9px}
.feature-card p{margin:0}

/* The official WhatsApp mark sits in a persistent circular action. */
.whatsapp-float{width:62px;height:62px;min-height:62px;padding:0;border-radius:50%;background:#25d366;box-shadow:0 12px 32px rgba(0,0,0,.26),0 0 0 3px #fff}
.whatsapp-float img{display:block;width:32px;height:32px}
.whatsapp-float.near-footer{opacity:1;pointer-events:auto;transform:none}

@media(max-width:900px){
  .whatsapp-float{display:flex;right:17px;bottom:17px;width:56px;height:56px;min-height:56px}
  .whatsapp-float img{width:29px;height:29px}
}

@media(max-width:650px){
  .feature-card{min-height:0;padding:23px}
  .feature-top{margin-bottom:18px}
  .feature-card h3{margin:0 0 8px}

  .hero-chapter-intro .chapter-layout{display:flex;flex-direction:column;justify-content:flex-start;gap:18px;height:auto;min-height:100svh;padding-top:calc(var(--header-h) + 16px);padding-bottom:68px}
  .hero-chapter-intro .chapter-art-person{position:relative;inset:auto;order:-1;align-self:center;flex:none;width:100%;height:clamp(310px,49svh,470px);margin:0;overflow:hidden}
  .hero-chapter-intro .chapter-art-person .chapter-halo{inset:4% 3% 0;border-radius:47% 47% 0 0}
  .hero-chapter-intro .chapter-art-person:after{inset:5% 5% 0 10%;border-radius:47% 47% 0 0}
  .hero-chapter-intro .chapter-art-person .chapter-person{inset:auto 0 -3%;width:100%;height:103%;object-fit:contain;object-position:bottom center}
  .hero-chapter-intro .chapter-art-person .tag-person{display:none}
  .hero-chapter-intro .chapter-copy{order:1;width:100%;margin-top:0;align-self:stretch}
  .hero-chapter-intro .chapter-copy .eyebrow{margin-bottom:12px}
  .hero-chapter-intro .chapter-copy h1{font-size:clamp(2.1rem,8.1vw,3.1rem)}
}

@media(max-width:360px) and (max-height:650px){
  .hero-chapter-intro,.hero-chapter-intro .chapter-layout{min-height:0}
  .hero-chapter-intro .chapter-art-person{height:290px}
}

@media(max-width:900px){
  .whatsapp-float{display:none}
}

@media(max-width:650px){
  .hero-chapter-intro .chapter-layout{gap:0}
  .hero-chapter-intro .chapter-copy{margin-top:-105px;isolation:isolate}
  .hero-chapter-intro .chapter-copy::before{content:"";position:absolute;z-index:-1;top:-150px;left:-20px;right:-20px;height:275px;background:linear-gradient(to bottom,rgba(17,26,21,0) 0%,rgba(17,26,21,.45) 36%,rgba(17,26,21,.92) 70%,#111a15 100%);pointer-events:none}
  .hero-chapter-intro .chapter-copy .eyebrow{display:none}
  .hero-chapter-intro .chapter-copy h1{position:relative;z-index:1}
}

/* One consistent pill action across all three story chapters. */
.hero-chapter .chapter-copy .button{display:inline-flex;align-items:center;justify-content:space-between;min-height:66px;padding:7px 7px 7px 24px;border-radius:999px;background:var(--lime);color:var(--ink);font-size:14px;line-height:1.2}
.hero-chapter .chapter-copy .button .link-icon{display:grid;place-items:center;width:50px;height:50px;flex:none;line-height:0}
.hero-chapter .chapter-copy .button .link-icon .icon{display:block;width:21px;height:21px;margin:0}
.hero-chapter .chapter-copy .button:hover{background:#d0ff70}

@media(max-width:650px){
  .hero-chapter .chapter-copy .button{width:100%;min-height:60px;padding:5px 5px 5px 19px;font-size:13px}
  .hero-chapter .chapter-copy .button .link-icon{width:48px;height:48px}
  .hero-chapter .chapter-steps,.hero-chapter .chapter-focus{display:none}
  .hero-chapter-method .chapter-copy>.button,.hero-chapter-result .chapter-copy>.button{margin-top:24px}
}

/* Brand marks make the footer's social links recognizable at a glance. */
.socials a{display:inline-flex;align-items:center;gap:8px}
.socials a::before{content:"";display:block;width:18px;height:18px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain}
.socials a[href*="instagram.com"]::before{background-image:url('/assets/icons/instagram-brand.svg')}
.socials a[href*="tiktok.com"]::before{background-image:url('/assets/icons/tiktok-brand.svg')}
.socials a[href*="youtube.com"]::before{background-image:url('/assets/icons/youtube-brand.svg')}

@media(max-width:650px){
  .feature-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;overflow:visible;padding:0;scroll-snap-type:none}
  .feature-grid>.feature-card{width:100%;max-width:none;flex:none;scroll-snap-align:none}
}

/* A taller frame shows the full source portrait with headroom on every screen. */
.about-portrait{position:relative;width:100%;height:auto;aspect-ratio:4/5;background:#d0d0d0}
.about-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom}
@media(max-width:650px){
  .about-portrait{height:auto;aspect-ratio:4/5}
}

/* Testimonial cards end shortly after the attribution instead of filling a fixed height. */
.testimonial-grid{align-items:start}
.testimonial-grid .quote-card{height:auto;min-height:0;align-self:start}
.quote-card p{margin-bottom:0}
.quote-card .quote-person{margin-top:22px}

@media(max-width:650px){
  .services-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;overflow:visible;padding:0;scroll-snap-type:none}
  .services-grid>.service-card{width:100%;max-width:none;flex:none;scroll-snap-align:none}
}

/* The social labels stay in the links for assistive technology; only marks are shown. */
.socials a{display:grid;place-items:center;width:40px;height:40px;gap:0;font-size:0;line-height:0;text-decoration:none}
.socials a::before{width:23px;height:23px}
.socials a:hover{color:var(--lime)}

/* Match testimonial heights while keeping each attribution next to its quote. */
.testimonial-grid{align-items:stretch}
.testimonial-grid .quote-card{align-self:stretch}

/* Social marks change color on hover without shifting position. */
.footer .socials a,.landing-footer .socials a{display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease}
.socials a::before{background-image:none;background-color:currentColor;mask-position:center;mask-size:contain;mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}
.socials a[href*="instagram.com"]::before{background-image:none;mask-image:url('/assets/icons/instagram-brand.svg');-webkit-mask-image:url('/assets/icons/instagram-brand.svg')}
.socials a[href*="tiktok.com"]::before{background-image:none;mask-image:url('/assets/icons/tiktok-brand.svg');-webkit-mask-image:url('/assets/icons/tiktok-brand.svg')}
.socials a[href*="youtube.com"]::before{background-image:none;mask-image:url('/assets/icons/youtube-brand.svg');-webkit-mask-image:url('/assets/icons/youtube-brand.svg')}
.footer .socials a:hover,.landing-footer .socials a:hover{color:var(--lime)}
.footer .socials a:focus-visible,.landing-footer .socials a:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .footer .socials a,.landing-footer .socials a{transition:none}
}
