.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-carousel{padding-top:20px;padding-bottom:30px}
.carousel-slides{display:grid}
.hero-slide{grid-area:1/1;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;min-width:0;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .45s ease;touch-action:pan-y}
.hero-slide.is-active{visibility:visible;opacity:1;pointer-events:auto}
.hero-slide .hero-copy{padding-block:35px;max-width:none;min-width:0}
.hero-title{font-size:clamp(46px,4.9vw,73px);font-weight:700;line-height:1.1;letter-spacing:-3.4px}
.hero-title span{color:var(--accent)}
.hero-carousel .hero-description{font-size:18px;line-height:1.7;margin-top:28px;max-width:600px}
.hero-carousel .hero-actions{margin-top:30px;gap:12px}
.hero-carousel .hero-actions .button{min-height:55px;padding:14px 20px;font-size:14px}
.hero-media{width:100%;height:clamp(490px,43vw,640px);border:1px solid #244032;border-radius:24px;background:var(--stage);overflow:hidden;position:relative;align-self:center}
.hero-carousel .preview-back{top:7%;left:6%;width:88%}
.hero-carousel .preview-front{bottom:0;right:4%;width:87%}
.portrait-stage{width:87%;justify-self:center;padding:24px 24px 15px;display:flex;flex-direction:column}
.portrait-stage img{width:100%;height:0;flex:1;min-height:0;object-fit:cover;object-position:center top;border-radius:12px}
.portrait-stage figcaption{font-size:12px;margin-top:13px}
.care-stage{padding:45px;display:flex;flex-direction:column;justify-content:center}
.care-statement{font:600 clamp(32px,3.2vw,49px)/1.14 var(--heading);letter-spacing:-1.9px}
.care-statement>span{color:var(--accent)}
.care-list{margin-top:30px}
.care-list li{display:grid;grid-template-columns:32px 1fr;gap:17px;padding:22px 0;border-top:1px solid #49604f}
.care-list li:last-child{padding-bottom:0}
.care-list li>span{color:var(--accent);font-size:12px;padding-top:6px}
.care-list h3{font-size:23px;line-height:1.3;font-weight:600;letter-spacing:-.6px}
.care-list p{font-size:14px;line-height:1.6;color:#b1bdb5;margin-top:7px}
.carousel-controls{display:flex;align-items:stretch;border-top:1px solid var(--line);margin-top:30px;gap:32px}
.carousel-selectors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1;min-width:0}
.slide-selector{position:relative;text-align:left;background:none;border:0;color:var(--muted);padding:22px 24px;font:600 16px/1.4 var(--body)}
.slide-selector:first-child{padding-left:0}
.slide-selector::before{content:"";position:absolute;height:3px;left:0;right:0;top:-2px;background:transparent;transition:background .2s}
.slide-selector:not(:first-child)::after{content:"";position:absolute;width:1px;height:40px;left:0;top:24px;background:var(--line)}
.slide-selector>span{display:block;margin-bottom:4px;font-size:12px;font-weight:400}
.slide-selector[aria-current=true]{color:var(--text)}
.slide-selector[aria-current=true]::before{background:var(--accent)}
.slide-selector[aria-current=true]>span{color:var(--accent)}
.slide-selector:hover{color:var(--accent)}
.hero-carousel + .benefits{border-top:0}
@media(min-width:851px) and (max-width:1150px){
  .hero-slide{gap:30px}
  .hero-title{font-size:clamp(39px,4.8vw,55px);letter-spacing:-2.5px}
  .hero-carousel .hero-description{font-size:16px;line-height:1.65;margin-top:24px}
  .hero-carousel .hero-actions .button{font-size:12px;padding:13px 15px;gap:8px;min-height:48px}
  .hero-media{height:490px}
  .care-stage{padding:30px}
  .care-list h3{font-size:21px}
  .care-list p{font-size:13px}
  .carousel-controls{gap:18px}
  .slide-selector{font-size:14px;padding-inline:17px}
}
@media(max-width:850px){
  .hero-carousel{padding-top:22px;padding-bottom:24px}
  .hero-slide{grid-template-columns:1fr;grid-template-rows:1fr auto;gap:30px}
  .hero-slide .hero-copy{padding-block:0;align-self:start;max-width:690px}
  .hero-title{font-size:clamp(45px,8vw,66px);letter-spacing:-2.8px}
  .hero-carousel .hero-description{font-size:17px;max-width:620px}
  .hero-carousel .hero-actions{margin-top:25px}
  .hero-media{height:480px;max-width:620px;justify-self:center}
  .portrait-stage{width:100%;padding:22px;max-width:420px}
  .portrait-stage img{object-position:center top}
  .care-stage{padding:35px}
  .care-statement{font-size:42px}
  .care-list{margin-top:24px}
  .carousel-controls{flex-wrap:wrap;gap:8px;margin-top:27px}
  .carousel-selectors{flex-basis:100%}
  .slide-selector{padding:18px;font-size:14px}
  .slide-selector:not(:first-child)::after{top:20px}
}
@media(max-width:600px){
  .hero-carousel{padding-top:22px}
  .hero-slide{gap:28px}
  .hero-title{font-size:clamp(34px,9.8vw,57px);letter-spacing:-1.8px;line-height:1.12}
  .hero-carousel .hero-description{font-size:15px;line-height:1.7;margin-top:23px}
  .hero-carousel .hero-actions{gap:10px}
  .hero-carousel .hero-actions .button{min-height:49px;font-size:12px;padding:13px 14px;gap:8px}
  .hero-media{height:340px;border-radius:16px;aspect-ratio:auto}
  .hero-carousel .project-stage{height:340px}
  .hero-carousel .preview-back{top:7%;left:5%;width:90%}
  .hero-carousel .preview-front{bottom:4%;right:4%;width:90%}
  .portrait-stage{max-width:290px;padding:15px 15px 12px}
  .portrait-stage img{border-radius:8px}
  .portrait-stage figcaption{font-size:10px;margin-top:10px}
  .care-stage{padding:26px;height:auto;min-height:340px}
  .care-statement{font-size:33px;letter-spacing:-1.3px}
  .care-list{margin-top:16px}
  .care-list li{grid-template-columns:23px 1fr;gap:11px;padding:12px 0}
  .care-list li>span{font-size:10px;padding-top:3px}
  .care-list h3{font-size:18px}
  .care-list p{font-size:12px;margin-top:4px}
  .carousel-selectors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .slide-selector,.slide-selector:first-child{padding:15px 14px;font-size:13px;border-bottom:1px solid var(--line)}
  .slide-selector>span{display:inline;margin-right:9px;font-size:11px}
  .slide-selector::before{left:0;right:0;top:auto;bottom:-1px;height:2px}
  .slide-selector:not(:first-child)::after{display:none}
  .slide-selector:nth-child(even){border-left:1px solid var(--line)}
}
