/* A review: readable type, content-led heights and unobstructed controls. */
.concept-a{
  --a-gutter:clamp(20px,4vw,64px);
  --a-body:clamp(1rem,.88rem + .22vw,1.125rem);
  --muted:#626d61;
  font-size:var(--a-body);
}
.concept-a .wrap{width:calc(100% - var(--a-gutter)*2);max-width:1400px}
.concept-a .site-header{width:100%;max-width:none;margin-inline:0;padding-inline:max(var(--a-gutter),calc((100% - 1400px)/2));gap:24px}
.concept-a .desktop-nav{font-size:15px;gap:28px}
.concept-a .header-contact{font-size:15px;min-height:46px;padding:10px 17px;gap:20px;border:1px solid var(--line);flex-shrink:0}
.concept-a .wordmark{font-size:34px}
.concept-a .wordmark span{font-size:10px}
.concept-a .eyebrow{font-size:12px;letter-spacing:1.8px;line-height:1.7}
.concept-a .small-label{font-size:12px;letter-spacing:1.3px}
.concept-a h2{font-size:clamp(34px,3.4vw,50px);line-height:1.45;letter-spacing:-1.5px}
.concept-a :is(.a-intro,.a-value,.a-spaces,.care-grid,.a-standard,.contact-inner)>*{min-width:0}
.concept-a :is(.section-copy,.intro-aside p,.section-heading>p,.a-value>div>p,.care-panel>p,.care-panel ul,.minimal-process p,.faq-list details>p){font-size:var(--a-body);line-height:1.85;color:var(--muted)}
.concept-a :is(.text-link,.care-tabs button,.solid-button,.mobile-nav a,.faq-list summary){font-size:16px}
.concept-a :is(.subtle-caption,.fine-print,.dialog-note,.demo-result){font-size:14px;line-height:1.8}
.concept-a .text-link{gap:20px;padding-bottom:10px;line-height:1.7}
.concept-a .solid-button{min-height:52px;padding:14px 23px;gap:30px}

.concept-a .a-opening{min-height:min(calc(100svh - var(--a-header,86px)),1040px)}
.concept-a .a-intro{gap:40px;padding-top:clamp(30px,4svh,50px);padding-bottom:clamp(28px,4svh,48px)}
.concept-a .a-intro h1{font-size:clamp(44px,4.6vw,72px);line-height:1.4;letter-spacing:-1.8px}
.concept-a .intro-aside{padding-right:0;min-width:240px}
.concept-a .intro-aside p{margin-bottom:22px}
.concept-a .a-hero{min-height:280px;max-height:min(660px,65vw)}
.concept-a .a-hero figcaption{font-size:14px;line-height:1.5}
.concept-a .a-hero figcaption span:nth-child(2){font-size:11px;letter-spacing:1.4px}
.concept-a .a-hero figcaption span:last-child{font-size:12px}
.concept-a .image-note{font-size:11px;letter-spacing:1px}
.concept-a .a-view-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding-block:10px}
.concept-a .a-scroll-cue{min-height:44px;gap:24px;font-size:14px;flex:1}
.concept-a .a-scroll-cue>span:first-child{font-size:11px;letter-spacing:1.5px}
.concept-a .a-scroll-mode{position:static;flex-shrink:0;font-size:14px;min-height:44px;padding:10px 15px;margin:0;box-shadow:none;gap:8px}

/* Leave the fixed consultation dock its own space beside the opening controls. */
@media(min-width:701px){
  .concept-a.a-has-consult-dock .a-view-controls{padding-right:280px}
  .concept-a.a-has-consult-dock .a-scroll-cue{min-width:0;flex-wrap:wrap;column-gap:16px;row-gap:4px}
}

.concept-a .a-value{grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) 60px;gap:clamp(30px,4vw,65px);padding-block:48px}
.concept-a .a-value>p{font-size:clamp(26px,2.35vw,34px);line-height:1.65}
.concept-a .a-spaces{grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:clamp(28px,4vw,56px)}
.concept-a .section-heading{gap:36px;align-items:flex-end}
.concept-a .section-heading>p{max-width:28em}
.concept-a .photo-crop{height:auto;aspect-ratio:4/3}
.concept-a .kitchen-crop{height:auto;aspect-ratio:4/3}
.concept-a .card-caption{gap:12px}
.concept-a .card-caption h3{font-size:20px;line-height:1.65}
.concept-a .card-caption>span{font-size:13px;flex-shrink:0}
.concept-a .a-spaces .small{padding-top:65px}
.concept-a .care-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,6vw,90px)}
.concept-a .care-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.concept-a .care-tabs button{min-height:52px;padding:12px 6px;white-space:normal;word-break:keep-all}
.concept-a .care-panel h3{font-size:clamp(23px,2vw,28px);line-height:1.65}
.concept-a .care-panel ul{gap:12px 22px;grid-template-columns:repeat(2,minmax(0,1fr))}
.concept-a .care-panel li{overflow-wrap:anywhere}
.concept-a .care-number{font-size:96px;opacity:.65}
.concept-a .a-standard{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,80px)}
.concept-a .standard-photo{height:auto;aspect-ratio:4/5;max-height:660px;min-height:0}
.concept-a .standard-photo img{position:absolute;inset:0}
.concept-a .minimal-process li{gap:22px;padding:22px 0}
.concept-a .minimal-process li>span{font-size:13px}
.concept-a .minimal-process h3{font-size:19px;line-height:1.6}
.concept-a .minimal-process p{font-size:16px}
.concept-a .contact-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:60px}
.concept-a .contact-inner>div:last-child{min-width:0}
.concept-a .contact-inner>div:last-child p{font-size:var(--a-body);line-height:1.85;color:#e0e6d9}
.concept-a .faq-section h2{font-size:clamp(28px,2.6vw,38px);line-height:1.6}
.concept-a .faq-list{max-width:960px}
.concept-a .faq-list summary{font-size:var(--a-body);align-items:center;line-height:1.8;gap:20px;padding-block:24px;word-break:keep-all}
.concept-a .faq-list summary>span{flex-shrink:0;font-size:22px}
.concept-a .faq-list details>p{padding-right:30px}
.concept-a .site-footer{padding-bottom:40px}
.concept-a .footer-top{flex-wrap:wrap}
.concept-a .footer-top p{font-size:16px}
.concept-a .back-top{font-size:12px;min-height:44px;display:flex;align-items:center}
.concept-a .footer-bottom,.concept-a .footer-bottom span:nth-child(2){font-size:13px;line-height:1.85}
.concept-a .quote-dialog{max-width:590px;max-height:calc(100dvh - 32px);padding:44px 36px}
.concept-a .quote-dialog h2{font-size:28px;line-height:1.5}
.concept-a .demo-form label{font-size:15px}
.concept-a .demo-form input,.concept-a .demo-form select{font-size:16px;min-height:48px}
.concept-a .dialog-close{width:44px;height:44px;font-size:30px;top:4px;right:8px}
.concept-a .a-chapter-nav a{height:36px}

/* Tablet: change the composition before enlarged text becomes cramped. */
@media(max-width:980px){
  .concept-a .desktop-nav{display:none}
  .concept-a .header-contact{margin-left:auto}
  .concept-a .menu-toggle{display:block;min-width:44px;height:44px;margin-right:-10px}
  .concept-a .mobile-nav{position:fixed;top:var(--a-header,86px);left:0;right:0;z-index:29;padding:18px var(--a-gutter);max-height:calc(100dvh - var(--a-header,86px));overflow:auto;box-shadow:0 12px 20px #23341d14}
  .concept-a .mobile-nav a{padding-block:13px}
  .concept-a .a-intro{display:block}
  .concept-a .intro-aside{min-width:0;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:0;margin-top:24px}
  .concept-a .intro-aside p{margin:0}
  .concept-a .a-value{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
  .concept-a .a-value .circle-link{grid-column:2;justify-self:end}
  .concept-a .section-heading{display:block}
  .concept-a .section-heading>p{margin-top:22px;max-width:none}
  .concept-a .care-grid,.concept-a .a-standard{grid-template-columns:minmax(0,1fr);gap:36px}
  .concept-a .a-care,.concept-a .a-standard{min-height:0;padding-block:64px}
  .concept-a .care-grid .section-copy br{display:none}
  .concept-a .standard-photo{width:100%;aspect-ratio:3/2;max-height:540px}
  .concept-a .contact-inner{grid-template-columns:minmax(0,1fr);gap:24px}
  .concept-a .contact-inner>div:last-child{padding-top:0}
  .concept-a .contact-inner .solid-button{width:auto;min-width:240px}
  .concept-a .a-chapter-nav{display:none}
}

/* A short, wide viewport has more horizontal than vertical reading room. */
@media(min-width:1100px) and (max-height:800px), (min-width:1100px) and (min-aspect-ratio:2/1){
  .concept-a .a-opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:clamp(36px,4vw,64px);align-content:center;align-items:center;max-width:calc(1400px + var(--a-gutter)*2);margin-inline:auto;padding:32px var(--a-gutter) 0}
  .concept-a .a-opening .a-intro{width:100%;margin:0;padding:0;display:block;grid-column:1;grid-row:1}
  .concept-a .a-opening .a-intro h1{font-size:clamp(42px,4vw,62px)}
  .concept-a .a-opening .intro-aside{min-width:0;display:block;margin-top:28px;padding:0}
  .concept-a .a-opening .intro-aside p{margin-bottom:20px}
  .concept-a .a-opening .a-hero{width:100%;margin:0;grid-column:2;grid-row:1;min-height:0;height:auto;aspect-ratio:4/3;max-height:620px}
  .concept-a .a-hero figcaption{left:20px;right:20px;bottom:20px}
  .concept-a .a-hero figcaption span:nth-child(2){display:none}
  .concept-a .a-view-controls{grid-column:1/-1;width:100%;margin-top:24px}
}

@media(max-width:700px){
  .concept-a .site-header{gap:12px}
  .concept-a .wordmark{font-size:30px;gap:12px}
  .concept-a .header-contact{font-size:14px;padding:9px 12px;gap:10px;min-height:44px}
  .concept-a .a-opening{min-height:0}
  .concept-a .a-opening .a-intro{padding-top:30px;padding-bottom:30px}
  .concept-a .a-opening .a-intro h1{font-size:clamp(34px,9.8vw,46px);letter-spacing:-1.2px}
  .concept-a .a-intro .eyebrow{font-size:11px;letter-spacing:1.2px;margin-bottom:20px}
  .concept-a .intro-aside{display:block;margin-top:22px}
  .concept-a .intro-aside p{font-size:16px;line-height:1.75}
  .concept-a .intro-aside .text-link{font-size:15px;margin-top:20px;gap:18px}
  .concept-a .a-opening .a-hero{width:100%;min-height:0;max-height:none;height:auto;aspect-ratio:4/3;flex:none}
  .concept-a .a-hero figcaption{font-size:13px;left:20px;right:20px;bottom:18px}
  .concept-a .a-view-controls{gap:12px;min-height:68px}
  .concept-a .a-scroll-cue{font-size:14px;gap:0;line-height:1.7}
  .concept-a .a-scroll-cue>span:first-child{display:none}
  .concept-a .a-scroll-mode{font-size:13px;padding:9px 12px}
  .concept-a h2{font-size:32px;letter-spacing:-1px}
  .concept-a .a-value{grid-template-columns:minmax(0,1fr) auto;gap:24px;padding-block:40px}
  .concept-a .a-value>p{font-size:27px}
  .concept-a .a-value>div{grid-row:2;grid-column:1/-1}
  .concept-a .a-value>div>p{font-size:16px}
  .concept-a .a-value .circle-link{grid-column:2;grid-row:1}
  .concept-a .a-story>.section{padding-block:56px}
  .concept-a .a-spaces{grid-template-columns:minmax(0,1fr);gap:38px}
  .concept-a .a-spaces .small{padding-top:0;width:100%;margin:0}
  .concept-a .section-heading>p{font-size:16px}
  .concept-a .card-caption h3{font-size:19px}
  .concept-a .standard-photo{aspect-ratio:4/3}
  .concept-a .a-closing .faq-section{padding-block:56px}
  .concept-a .faq-section h2{font-size:28px}
  .concept-a .footer-top{gap:20px}
  .concept-a .footer-top p{font-size:16px}
  .concept-a .site-footer{padding-bottom:32px}
  .concept-a .quote-dialog{padding:40px 24px 28px}
  .concept-a .quote-dialog h2{font-size:25px}
}
@media(max-width:480px){
  .concept-a .site-header .wordmark span{display:none}
  .concept-a .care-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .concept-a .care-panel ul{grid-template-columns:minmax(0,1fr)}
  .concept-a .care-panel>p br,.concept-a .standard-copy .section-copy br{display:none}
}
@media(max-height:560px){
  html.a-scroll-root{--a-header:64px}
  .concept-a .a-opening,.concept-a .a-care,.concept-a .a-standard{min-height:0}
  .concept-a .mobile-nav{top:64px}
  .concept-a .a-intro{padding-block:28px}
}
