/* Shared chapter guides; composition varies with the subject. */
#app31 .header{transition:height .2s,box-shadow .2s,border-color .2s}
#app31 .header :is(.brand-copy,a,.menu-toggle){transition:opacity .2s,box-shadow .2s}
#app31 .header .header-cta{transition:box-shadow .2s!important}
#app31 #main-nav>a:not([data-request]){display:inline-flex;align-items:center;min-height:44px}
#app31 #next{grid-template-columns:1fr 1fr;gap:36px 7vw}
#app31 #next .intro-services{padding-top:34px;display:block}
#app31 #next .intro-services>p:first-child{font-weight:350;margin-bottom:24px}
#app31 .clarity-detail{font-size:16px;line-height:1.65;max-width:510px}
#app31 .clarity-audiences{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;position:relative;padding-top:28px;margin-top:18px}
#app31 .clarity-audiences:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:#81907780;transform:scaleX(var(--band-line,1));transform-origin:left}
#app31 .clarity-audiences>div{border-left:1px solid #81907750;padding-left:22px}
#app31 .clarity-audiences>div:first-child{padding-left:0;border-left:0}
#app31 .clarity-audiences h3{font:450 clamp(23px,2vw,32px)/1.25 RoadSourceSans3;letter-spacing:-.025em;margin:0 0 14px}
#app31 .clarity-audiences p{font:400 15px/1.6 RoadSourceSans3;color:#576a50;max-width:340px}
#app31 #journey .section-heading h2,#app31 #cars h2{font:350 clamp(40px,4vw,72px)/1.12 RoadExo2;letter-spacing:-.045em}
#app31 #journey .journey-step h3{font:350 clamp(28px,2.8vw,45px)/1.15 RoadExo2;letter-spacing:-.035em}
#app31 #journey .journey-step>p{font:400 17px/1.65 RoadSourceSans3}
#app31 #journey .step-prepare{font:400 14px/1.6 RoadSourceSans3}
#app31 #journey .journey-context{font-family:RoadSourceSans3}
#app31 .journey-mobile-scene{display:none}
#app31 #cars .car-editorial-copy{margin-left:0;margin-right:0}
#app31 #terms .terms-sequence-heading{max-width:none}
#app31 #terms .terms-sequence-heading h2{max-width:none;font-size:clamp(36px,3.3vw,62px)}
#app31 :is(#cars,#contact) :is(.yellow-link,.dark-link){background:#f0ecdd!important;color:#1a3023!important}
#app31 :is(#cars,#contact) :is(.yellow-link,.dark-link):hover{background:#ead276!important;color:#172c20!important}
#app31 :is(.hero-car-link,.header-cta,.yellow-link,.dark-link,.copy-button,.path-cta):active{background:#162d20!important;color:#fff!important;box-shadow:inset 0 0 0 2px #0003!important}
#app31 :is(#cars,#contact) :is(.yellow-link,.dark-link):active{background:#d5be67!important;color:#172c20!important}
#app31 :is(#cars,#contact) :is(a,button):focus-visible{outline-color:#d2dfb3}
#app31 #support .support-portrait{border-radius:9px;overflow:hidden}
#app31 #support .support-portrait img{object-position:center 52%}
#app31 #support .topic-inner{padding-top:14px}
#app31 #owners .owner-heading{grid-template-columns:1.05fr .75fr 1fr;align-items:center;gap:clamp(24px,3vw,54px)}
#app31 #owners:before{display:none}
#app31 #owners .owner-heading h2{grid-column:1/3;font:350 clamp(38px,3.5vw,65px)/1.14 RoadExo2;letter-spacing:-.045em;margin:0}
#app31 #owners .owner-heading>p{grid-column:3;font:400 17px/1.6 RoadSourceSans3;padding:0}
#app31 #owners .owner-layout{display:grid;grid-template-columns:1.05fr .75fr 1fr;gap:clamp(24px,3vw,54px);margin-top:48px;align-items:start}
#app31 #owners :is(.owner-response,.owner-response-scene){display:contents}
#app31 #owners .owner-choices{grid-column:1;grid-row:1}
#app31 #owners .owner-choices button,#app31 #owners .owner-choices button[aria-pressed=true]{padding:20px 0;min-height:76px;gap:16px;font:400 clamp(18px,1.55vw,26px)/1.3 RoadSourceSans3;letter-spacing:-.02em}
#app31 #owners .owner-choices button>b{display:none}
#app31 #owners .owner-choices button>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;font:400 10px/1 RoadSourceSans3;color:#6b6130}
#app31 #owners .owner-choices button[aria-pressed=true]>span{background:#cfb237;color:#223527}
#app31 #owners .owner-choices button[aria-pressed=true]{font-weight:500;color:#1d3423}
#app31 #owners .owner-choices button:hover{color:#3d5731}
#app31 #owners .owner-copy{display:block;grid-column:3;grid-row:1;padding-top:4px;min-width:0}
#app31 #owners .owner-selection-title{font:350 clamp(25px,2.2vw,36px)/1.2 RoadExo2;letter-spacing:-.035em}
#app31 #owners .owner-selection-inner>p{font:400 16px/1.65 RoadSourceSans3;margin-top:20px}
#app31 #owners .owner-copy>.dark-link{margin-top:25px}
#app31 #owners .key-scene{grid-column:2;grid-row:1;width:100%;height:350px;margin:0;min-width:0}
#app31 #owners .key-scene>canvas:focus:not(:focus-visible){outline:none}
#app31 #owners .key-scene>canvas:focus-visible{outline:2px solid #34462a;outline-offset:4px}
#app31 #owners .key-hint{font:400 10px/1.4 RoadSourceSans3}
#app31 #owners .partners{margin-top:34px;padding-top:26px}
#app31 #owners .partners>summary{font:450 14px/1.4 RoadSourceSans3}
#app31 #owners .partners>summary>span{font:300 22px/1 RoadSourceSans3}
#app31 #owners .partner-content{display:grid;grid-template-columns:1fr 1fr;gap:7vw;max-width:none;padding:28px 0 0}
#app31 #owners .partner-intro h3{font:350 32px/1.2 RoadExo2;letter-spacing:-.035em}
#app31 #owners .partner-intro p{font:400 16px/1.65 RoadSourceSans3;max-width:520px}
#app31 #owners .partner-options{margin-top:0}
#app31 #owners .partner-options button{font:450 13px/1.4 RoadSourceSans3;transition:background-color .2s,color .2s}
#app31 #owners .partner-options button>span{display:none}
#app31 #owners .partner-discuss>.support-action{min-height:48px;padding:12px 22px;border-color:#71652d;background:#ffffff18;font-size:14px;line-height:1.4;transition:background-color .2s,color .2s,box-shadow .2s}
#app31 #owners .partner-discuss>.support-action:hover{background:#fff8d050;color:#203126}
#app31 #owners .partner-discuss>.support-action:active{background:#c7ae39;box-shadow:inset 0 0 0 1px #3c4b2b44}
#app31 #faq .faq-heading{margin-bottom:32px}
#app31 #faq #faq-list{margin-top:0}
#app31 #faq .faq-item{position:relative;border-bottom:0}
#app31 #faq .faq-item:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#82907560;transform:scaleX(var(--answer-rule,1));transform-origin:left}
#app31 #faq .faq-item>summary{min-height:68px}
#app31 #contact{grid-template-columns:1fr 1.2fr 1fr;grid-template-rows:auto auto;gap:26px 5vw;padding-top:64px;padding-bottom:64px}
#app31 #contact .contact-kicker{grid-column:1/-1;grid-row:1;margin:0}
#app31 #contact .contact-opening{grid-column:1;grid-row:2}
#app31 #contact .footer-art{grid-column:2;grid-row:2;width:100%;max-width:500px;height:400px;min-height:0;aspect-ratio:auto;align-self:center}
#app31 #contact .footer-art>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain}
#app31 #contact .contact-details{grid-column:3;grid-row:2}
#app31 #contact .office address{font:400 16px/1.6 RoadSourceSans3}
#app31 #contact :is(.office small,.contact-phone small){font:400 12px/1.5 RoadSourceSans3;color:#aab8a2}
@media(min-width:761px){
 #app31 #faq #faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,5vw,96px);align-items:start}
 #app31 #faq .faq-item>summary{display:flex;align-items:center;justify-content:flex-start;gap:16px;min-height:80px;padding:22px 0;font-size:18px;line-height:1.4}
 #app31 #faq .faq-item>summary:before{flex:0 0 22px}
 #app31 #faq .faq-item>summary>span{display:grid;place-items:center;flex:0 0 20px;width:20px;margin-left:0}
 #app31 #faq .faq-answer__inner{padding-left:38px;padding-right:34px}
}
@media(max-width:1100px) and (min-width:761px){
 #app31 #cars .car-image-label{bottom:96px}
 #app31 #cars .car-editorial-tail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));left:calc(25% + var(--edge));right:var(--edge);bottom:30px;gap:16px;margin:0;padding:16px 0 0;width:auto;max-width:none}
 #app31 #journey #step-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;align-items:stretch;margin-top:18px}
 #app31 #journey #step-nav .step-progress{display:flex;align-items:baseline;gap:8px;min-width:0;min-height:48px;padding:12px 0;text-align:left;white-space:normal;font-size:12px;line-height:1.4}
 #app31 #journey #step-nav .step-progress>span{display:block;flex:0 0 18px;margin:0;font-size:10px}
 #app31 .hero{grid-column:1/-1;max-width:none}
 #app31 .hero h1{font-size:clamp(42px,5.2vw,52px)}
 #app31 .hero h1>span{white-space:normal}
 #app31 .stage .back-word{font-size:clamp(74px,10.8vw,118px)}
 #app31 #terms{display:block}
 #app31 #terms .terms-sequence{margin-top:35px}
 #app31 #owners .owner-layout{grid-template-columns:1.1fr 1fr}
 #app31 #owners .owner-heading{grid-template-columns:1.1fr 1fr}
 #app31 #owners .owner-heading h2{grid-column:1}
 #app31 #owners .owner-heading>p{grid-column:2}
 #app31 #owners .owner-copy{grid-column:1/-1;grid-row:2;max-width:640px}
 #app31 #owners .key-scene{grid-column:2;grid-row:1}
 #app31 #contact{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app31 #contact .contact-details{grid-column:1/-1;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px 5vw;width:100%;max-width:none;min-width:0;justify-self:stretch;margin:0}
 #app31 #contact :is(.contact-phone,.office){min-width:0;max-width:none;margin:0;padding:20px 0 0;border-top:1px solid #89917a38}
 #app31 #contact .office small{max-width:none}
}
@media(max-width:760px){
 #app31 .path{min-height:44px}
 #app31 .support-action{min-height:44px;padding-top:11px;padding-bottom:11px}
 #app31 #faq .faq-answer a{display:inline-flex;align-items:center;min-height:44px}
 #app31 #next{display:block}
 #app31 #next .intro-services{padding-top:0;margin-top:30px}
 #app31 .clarity-detail{font-size:15px}
 #app31 .clarity-audiences{grid-template-columns:1fr;gap:24px;padding-top:25px;margin-top:34px}
 #app31 .clarity-audiences>div{border-left:0;padding-left:0}
 #app31 .clarity-audiences h3{font-size:23px;margin-bottom:9px}
 #app31 .clarity-audiences p{font-size:14px;max-width:none}
 #app31 #journey .section-heading h2,#app31 #cars h2{font-size:36px;line-height:1.15}
 #app31 #journey .journey-step h3{font-size:29px}
 #app31 #journey .journey-step>p{font-size:15px}
 #app31 #journey .step-prepare{font-size:13px}
 #app31 #journey .journey-visual{position:relative;top:auto;z-index:auto;background:none;padding:0;border:0}
 #app31 #journey .journey-count,#app31 #journey .journey-scene{display:none}
 #app31 #journey #step-nav{grid-template-columns:1fr 1fr;gap:0 22px;margin:0}
 #app31 #journey #step-nav .step-progress{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 0;font-size:12px}
 #app31 #journey #step-nav .step-progress>span{display:block;flex:0 0 18px;font-size:10px;margin:0}
 #app31 #journey .journey-steps{padding-top:14px}
 #app31 #journey .journey-step{min-height:0;padding:28px 0 34px;scroll-margin-top:110px}
 #app31 #journey .journey-step h3{margin:16px 0 8px}
 #app31 #journey .journey-step :is(h3,p,.step-prepare){transform:none!important;clip-path:none!important;opacity:1!important;visibility:visible!important}
 #app31 #journey .journey-mobile-scene{display:block;width:100%;height:190px;max-height:24svh;margin:4px 0 18px;pointer-events:none}
 #app31 #journey .step-prepare{margin-top:20px}
 #app31 #terms .terms-sequence-heading h2{font-size:clamp(30px,9.4vw,36px)}
 #app31 #owners .owner-heading{display:block;margin-top:24px}
 #app31 #owners .owner-heading h2{font-size:36px}
 #app31 #owners .owner-heading>p{font-size:15px;margin-top:22px}
 #app31 #owners .owner-layout{display:block;margin-top:28px}
 #app31 #owners .owner-choices button,#app31 #owners .owner-choices button[aria-pressed=true]{min-height:64px;font-size:20px;padding:16px 0}
 #app31 #owners .owner-response{display:block;padding:0;margin-top:28px}
 #app31 #owners .owner-response-scene{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
 #app31 #owners .owner-copy{display:contents}
 #app31 #owners .owner-selection{grid-column:1;grid-row:1;align-self:center}
 #app31 #owners .owner-selection-title{font-size:23px}
 #app31 #owners .owner-selection-inner>p{font-size:14px;margin-top:15px}
 #app31 #owners .owner-copy>.dark-link{grid-column:1;grid-row:3;margin:0;justify-self:start}
 #app31 #owners .key-scene{grid-column:1;grid-row:2;width:100%;max-width:300px;height:260px;justify-self:center;align-self:center}
 #app31 #owners .partners{margin-top:30px;padding-top:22px}
 #app31 #owners .partner-content{display:block;padding-top:24px}
 #app31 #owners .partner-intro h3{font-size:26px}
 #app31 #owners .partner-intro p{font-size:14px}
 #app31 #owners .partner-discuss{margin-top:25px}
 #app31 #faq .faq-item>summary{min-height:64px}
 #app31 #contact{display:block;padding-top:54px;padding-bottom:54px}
 #app31 #contact .contact-kicker{margin-bottom:25px}
 #app31 #contact .footer-art{width:100%;max-width:360px;height:340px;margin:22px auto}
 #app31 #contact .contact-details{display:grid;grid-template-columns:1fr;gap:25px}
 #app31 #contact .office address{font-size:15px}
}
@media(max-width:360px){
 #app31 #owners .owner-selection-title{font-size:21px}
 #app31 #owners .owner-selection-inner>p{font-size:13px;line-height:1.6}
 #app31 #owners .owner-response-scene{grid-template-columns:minmax(0,1fr);gap:18px}
 #app31 #owners .key-scene{height:250px}
}


/* One main statement; the three audiences form a quiet connected side column. */
@media(min-width:761px){
 #app31 #next{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
 #app31 #next .setup-heading{grid-column:1/8;grid-row:1}
 #app31 #next .setup-heading h2{font-size:clamp(36px,3.8vw,66px);max-width:900px}
 #app31 #next #choice-description{max-width:540px;font-size:16px}
 #app31 #next .intro-services{grid-column:1/7;grid-row:2;padding-top:0;margin:0}
 #app31 #next .intro-services>p:first-child{font:500 20px/1.35 RoadSourceSans3;letter-spacing:-.02em;margin:0 0 14px}
 #app31 #next .clarity-detail{font-size:15px;max-width:500px}
 #app31 #next .intro-services>.dark-link{margin-top:24px}
 #app31 .clarity-audiences{grid-column:9/-1;grid-row:1/3;display:flex;flex-direction:column;gap:0;padding:0;margin:0}
 #app31 .clarity-audiences:before{left:0;right:auto;top:8px;bottom:8px;width:1px;height:auto;transform:scaleY(var(--band-line,1));transform-origin:top}
 #app31 .clarity-audiences>div,#app31 .clarity-audiences>div:first-child{padding:22px 0 22px 24px;border-left:0;border-bottom:1px solid #81907740}
 #app31 .clarity-audiences>div:first-child{padding-top:4px}
 #app31 .clarity-audiences>div:last-child{border-bottom:0}
 #app31 .clarity-audiences h3{font-size:clamp(22px,2vw,31px);margin-bottom:10px}
 #app31 .clarity-audiences p{font-size:14px;line-height:1.6;margin:0}
}

@media(min-width:761px) and (max-width:1100px){
 #app31 .hero h1{font-size:clamp(48px,6.3vw,68px)}
 #app31 .hero-bottom p{max-width:300px}
 #app31 #hero-art-slot{grid-column:6/-1}
}

/* Cooperation shares the Owners action-column guide, including its revealed body. */
@media(min-width:1101px){
 #app31 #owners .partners>summary{margin-left:calc(64.285714% + clamp(24px,3vw,54px)*.714286);min-height:48px;border-radius:999px}
 #app31 #owners .partner-content{grid-template-columns:1.05fr .75fr 1fr;gap:clamp(24px,3vw,54px)}
 #app31 #owners .partner-intro{grid-column:1/3}
 #app31 #owners .partner-discuss{grid-column:3;margin-top:0}
}
@media(min-width:761px) and (max-width:1100px){
 #app31 #owners .partners>summary{margin-left:0;min-height:48px;border-radius:999px}
 #app31 #owners .partner-content{grid-template-columns:1.1fr 1fr;gap:clamp(24px,3vw,54px)}
 #app31 #owners .partner-intro{grid-column:1}
 #app31 #owners .partner-discuss{grid-column:2;margin-top:0}
}

@media(min-width:761px) and (max-width:1100px){
 #app31 .hero{align-self:start;padding-top:clamp(60px,10svh,100px)}
 #app31 .hero h1{font-size:clamp(60px,8.5vw,84px)}
 #app31 .stage .back-word{font-size:clamp(90px,12vw,130px)}
 #app31 .scene-footer{display:flex;opacity:calc(1 - var(--choice-progress,0));pointer-events:none}
}

@media(min-width:761px){
 #app31 #owners .partners{margin-top:var(--partner-join-offset,24px);padding-top:0}
 #app31 #owners .partner-content{padding-top:var(--partner-body-gap,28px)}
}

@media(max-width:760px){
 #app31 #next .intro-services{padding-top:0;margin-top:26px}
 #app31 #next .intro-services>p:first-child{font:500 20px/1.35 RoadSourceSans3;letter-spacing:-.02em;margin-bottom:14px}
 #app31 #next .clarity-detail{font-size:15px;line-height:1.65}
 #app31 #next .intro-services>.dark-link{margin-top:22px}
}

/* Clarity is one common module, with three equal semantic cells rather than distant text columns. */
#app31 #next{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:30px 24px;align-items:start}
#app31 #next .setup-heading{grid-column:1/8;grid-row:1}
#app31 #next .setup-heading h2{font-size:clamp(36px,3.7vw,64px);max-width:none;margin-bottom:0}
#app31 #next .intro-services{grid-column:8/-1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;padding-top:36px;margin:0}
#app31 #next .intro-services>.clarity-detail{font:400 17px/1.6 RoadSourceSans3;letter-spacing:0;max-width:460px;margin:0}
#app31 #next .intro-services>.dark-link{margin-top:24px}
#app31 #next .clarity-audiences{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:28px 0 0;margin:18px 0 0}
#app31 #next .clarity-audiences:before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px;transform:scaleX(var(--band-line,1));transform-origin:left;background:#81907780}
#app31 #next .clarity-audiences>div,#app31 #next .clarity-audiences>div:first-child{padding:20px 28px 12px;border-bottom:0;border-left:1px solid #81907750}
#app31 #next .clarity-audiences>div:first-child{padding-left:0;border-left:0}
#app31 #next .clarity-audiences>div:last-child{padding-right:0}
#app31 #next .clarity-cell-head{display:flex;align-items:center;gap:18px;min-height:48px}
#app31 #next .clarity-mark{display:block;width:46px;height:46px;flex:0 0 46px;color:#335536}
#app31 #next .clarity-audiences h3{font:500 clamp(21px,2vw,30px)/1.2 RoadSourceSans3;letter-spacing:-.025em;margin:0}
#app31 #next .clarity-audiences p{font:400 15px/1.6 RoadSourceSans3;margin:22px 0 0;max-width:350px}
@media(min-width:761px) and (max-width:1100px){
 #app31 #next .clarity-cell-head{gap:12px;align-items:flex-start;flex-direction:column}
 #app31 #next .intro-services>.clarity-detail{font-size:15px}
 #app31 #next .clarity-audiences>div{padding-left:20px;padding-right:20px}
}
@media(max-width:760px){
 #app31 #next{display:block}
 #app31 #next .setup-heading h2{font-size:34px}
 #app31 #next .intro-services{display:flex;padding-top:0;margin-top:24px}
 #app31 #next .intro-services>.clarity-detail{font-size:15px}
 #app31 #next .intro-services>.dark-link{margin-top:20px}
 #app31 #next .clarity-audiences{display:block;margin-top:32px;padding-top:0}
 #app31 #next .clarity-audiences:before{display:none}
 #app31 #next .clarity-audiences>div,#app31 #next .clarity-audiences>div:first-child,#app31 #next .clarity-audiences>div:last-child{padding:22px 0;border-left:0;border-top:1px solid #81907760}
 #app31 #next .clarity-cell-head{gap:14px;min-height:38px}
 #app31 #next .clarity-mark{width:38px;height:38px;flex-basis:38px}
 #app31 #next .clarity-audiences h3{font-size:23px}
 #app31 #next .clarity-audiences p{margin:10px 0 0 52px;font-size:14px;line-height:1.55}
}

#app31 #next .intro-services{gap:0}
#app31 #next .intro-services>p.clarity-detail:first-child{font:400 17px/1.6 RoadSourceSans3;letter-spacing:0;margin:0;max-width:460px}
@media(max-width:760px){#app31 #next .intro-services>p.clarity-detail:first-child{font-size:15px}}

/* A question receives an answer; the actual FAQ remains compact accessible HTML. */
#app31 #faq .faq-heading{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:16px 7vw;align-items:start}
#app31 #faq .faq-heading>.eyebrow{grid-column:1;grid-row:1;margin:0}
#app31 #faq .faq-heading h2{grid-column:1;grid-row:2;margin:0}
#app31 #faq .faq-intro{grid-column:1;grid-row:3;align-self:start;margin:0;max-width:480px}
#app31 #faq .faq-dialogue-scene{grid-column:2;grid-row:1/4;align-self:center;justify-self:end;width:100%;height:220px;pointer-events:none}
#app31 #faq .faq-dialogue-scene canvas{display:block;width:100%;height:100%}
@media(max-width:760px){
 #app31 #faq .faq-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,45%);gap:16px}
 #app31 #faq .faq-heading>.eyebrow{grid-column:1/-1}
 #app31 #faq .faq-heading h2{grid-column:1/-1;grid-row:2;margin:4px 0 0}
 #app31 #faq .faq-intro{grid-column:1;grid-row:3;font-size:14px;line-height:1.6}
 #app31 #faq .faq-dialogue-scene{grid-column:2;grid-row:3;height:145px;align-self:start}
}

/* Phone: readable introduction and a legible compact Q→A object, not a tiny icon. */
@media(max-width:420px){
 #app31 #faq .faq-intro{grid-column:1/-1;grid-row:3;max-width:none}
 #app31 #faq .faq-dialogue-scene{grid-column:1/-1;grid-row:4;width:200px;height:150px;justify-self:end}
}

/* S11: explicit numeral/mark/statement choreography in the existing clause layout. */
#app31 #terms .term-index{display:flex;overflow:hidden;gap:.03em;min-height:24px;font-size:18px;line-height:1.25;font-weight:500;color:#425b34;letter-spacing:0}
#app31 #terms .term-digit{display:inline-block}
#app31 #terms .terms-sequence li{border-top-color:#81907738}
#app31 #terms>.dark-link{min-height:56px!important;padding-inline:30px!important;font-size:16px!important;max-width:100%;overflow:hidden}
#app31 #terms>.dark-link .button-label{display:block}
/* S16: independent measured columns, native 01…07 DOM and focus order unchanged. */
#app31 #faq #faq-list{--faq-column-gap:clamp(40px,5vw,96px)}
#app31 #faq #faq-list[data-independent=true]{position:relative;display:block}
#app31 #faq #faq-list[data-independent=true]>.faq-item{position:absolute;left:0;width:calc((100% - var(--faq-column-gap))/2)}
#app31 #faq #faq-list[data-independent=true]>.faq-item:nth-child(even){left:auto;right:0}
#app31 #owners .partners>summary{min-height:52px}

#app31 #faq .faq-item>summary:before{content:attr(data-index);counter-increment:none}
/* S17–19: page-only scrollbar removal; the native scroll surface remains intact. */
html{scrollbar-width:none}
html::-webkit-scrollbar{width:0;height:0;display:none}
#app31 .header .page-progress{position:absolute;inset:auto var(--edge) 0;height:2px;pointer-events:none;overflow:hidden;background:color-mix(in srgb,var(--header-ink) 10%,transparent)}
#app31 .header .page-progress>span{display:block;width:100%;height:100%;transform-origin:left;transform:scaleX(var(--page-progress,0));background:#e5cd6c}
#app31 .header:is([data-tone=light],[data-tone=yellow]) .page-progress>span{background:#4e6940}

/* S15: let six native rows occupy the same existing grid row as the uncropped portrait. */
@media(min-width:761px){
 #app31 #support #service-fan{align-self:stretch;display:grid;grid-template-rows:repeat(6,minmax(77px,auto))}
 #app31 #support .support-topic>summary{height:auto;min-height:77px;box-sizing:border-box}
}
/* T01–02: a stable native shell around a bounded, softly lit floating frame. */
html.application-scroll-locked,html.application-scroll-locked body{overflow:hidden!important;overscroll-behavior:none}
#app31 #application{width:min(940px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 40px);padding:0;overflow:visible;border:0;border-radius:20px;background:transparent;color:#243c2c;box-shadow:none;scrollbar-gutter:auto}
#app31 #application[open]{display:block}
#app31 #application::backdrop{background:#0c1d15a6;backdrop-filter:blur(7px)}
#app31 #application .application-frame{display:flex;flex-direction:column;max-height:calc(100dvh - 40px);overflow:hidden;border:1px solid #fff9;border-radius:20px;background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,35%),#fffdf5b0,transparent 70%),linear-gradient(135deg,#f6f2e8,#e9e6d9);box-shadow:0 28px 85px #07170e66;transform-origin:50% 45%}
#app31 #application .dialog-top{flex:0 0 auto;height:54px;min-height:54px;padding:4px 12px 4px 28px;border-bottom:1px solid #6b7a5a26;background:#f1eddf80;color:#58664d;font:500 11px/1.4 RoadSourceSans3;letter-spacing:.1em}
#app31 #application .dialog-top>span{padding-left:12px;border-left:3px solid #d7bc54}
#app31 #application-close{flex:0 0 44px;width:44px;height:44px;border:1px solid #65785124;background:#e7e2d280;color:#344d31;border-radius:50%;font-size:27px}
#app31 #application-close:hover{background:#d9dfcc;border-color:#788c67;transform:none}
#app31 #application .application-body{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#879375 #e5e1d3;scroll-padding-block:20px;padding:24px 28px 28px}
#app31 #application h2{font-family:RoadExo2!important;font-size:35px;line-height:1.12;letter-spacing:-.035em;font-weight:450!important;margin:0 0 9px;color:#243c2c;text-wrap:balance}
#app31 #application .dialog-description{font:400 14px/1.45 RoadSourceSans3;color:#667158;max-width:none;margin:0}
#app31 #application-form{margin-top:18px;gap:12px 28px;align-items:start}
#app31 #application-form label{min-width:0;gap:4px;margin:0;color:#5f6d54;font:400 14px/1.35 RoadSourceSans3}
#app31 #application-form label>span{font-size:12px;color:#7d866e;display:inline}
#app31 #application-form label:has(select:is([name=path],[name=help],[name=owner_goal],[name=partner_goal],[name=car_goal])){grid-column:auto}
#app31 #application-form :is(input,select,textarea){max-width:100%;min-height:44px;height:44px;border:0;border-bottom:1px solid #9aa58a;border-radius:0;background:transparent;color:#263e2d;padding:8px 0;font:400 17px/1.5 RoadSourceSans3;transition:border-color .2s,background .2s}
#app31 #application-form textarea{min-height:64px;height:64px;resize:vertical;max-height:200px}
#app31 #application-form :is(input,select,textarea)::placeholder{color:#8a927e}
#app31 #application-form :is(input,select,textarea):focus-visible{outline:2px solid #6c8556;outline-offset:3px;background:#ffffff35}
#app31 #application-form select option{background:#f2eee2;color:#263e2d}
#app31 #application-form .form-note{grid-column:1;font:400 13px/1.45 RoadSourceSans3;color:#6e785f;margin:0;align-self:center;max-width:360px}
#app31 #application-form .copy-button{grid-column:2;min-height:48px!important;width:100%;font-size:16px!important;margin:0}
#app31 #application-status{color:#3f622f;font-size:14px;margin:0}
#app31 #application-status:empty{display:none}
@media(max-width:760px){
 #app31 #application{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:16px}
 #app31 #application .application-frame{max-height:calc(100dvh - 20px);border-radius:16px;transform:none!important}
 #app31 #application .dialog-top{height:54px;min-height:54px;padding:4px 8px 4px 20px}
 #app31 #application .application-body{padding:20px}
 #app31 #application h2{font-size:30px;text-wrap:pretty}
 #app31 #application-form{margin-top:18px;gap:16px}
 #app31 #application-form :is(input,select,textarea){font-size:16px}
 #app31 #application-form :is(.copy-button,.form-note){grid-column:1/-1;max-width:none}
}

/* T07: four equal units; the number, semantic drawing and copy remain one thought. */
#app31 #terms{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.62fr);grid-template-rows:min-content 1fr;gap:0 clamp(40px,6vw,110px);padding-top:80px;padding-bottom:80px}
#app31 #terms .terms-sequence{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 34px;margin:0;align-items:start}
#app31 #terms .terms-sequence li{grid-column:auto;grid-template-columns:44px minmax(0,1fr);grid-template-rows:44px auto 1fr;gap:0 14px;padding:24px 0 0;min-height:216px;border-top:0}
#app31 #terms .terms-sequence li:before{display:block;height:1px;background:linear-gradient(90deg,#718b4f 0 44px,#81907755 44px);top:0}
#app31 #terms .term-node{width:6px;height:3px;top:-1px;left:0;border:0;border-radius:0;background:#4e6938}
#app31 #terms .term-icon{width:44px;height:44px;grid-column:1;grid-row:1;align-self:start;stroke-width:1.4}
#app31 #terms .term-index{grid-column:2;grid-row:1;align-self:center;justify-self:end;font:500 12px/18px RoadSourceSans3;letter-spacing:.1em}
#app31 #terms .terms-sequence li>h3{grid-column:1/-1;grid-row:2;font:450 clamp(22px,1.9vw,29px)/1.15 RoadExo2;margin:16px 0 14px;padding:0;letter-spacing:-.025em}
#app31 #terms .terms-sequence li>h3 br{display:initial}
#app31 #terms .terms-sequence li>p{grid-column:1/-1;grid-row:3;padding:0;margin:0;max-width:36ch;font:400 16px/1.55 RoadSourceSans3;align-self:start}
#app31 #terms .terms-sequence-heading h2{font-size:clamp(38px,3.5vw,64px);line-height:1.08}
#app31 #terms>.dark-link{margin-top:24px}

/* T06: editorial introduction beside independent, native-order question flows. */
#app31 #faq{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.75fr);gap:clamp(40px,6vw,110px);align-items:start;padding-top:80px;padding-bottom:80px;min-height:0}
#app31 #faq .faq-heading{display:block;margin:0;position:static}
/* FAQ masks become inline on mobile. Contain lifted title ink in the heading
   itself so it cannot cross the paragraph during entry or interrupted reversal. */
#app31 #faq .faq-heading h2{font:400 clamp(40px,4vw,65px)/1.08 RoadExo2;letter-spacing:-.04em;margin:22px 0;clip-path:inset(0 -.08em)}
#app31 #faq .faq-heading h2 .title-line>span{color:#647d46}
#app31 #faq .faq-intro{font:400 16px/1.6 RoadSourceSans3;max-width:28ch;margin:0;color:#5c6b52}
#app31 #faq #faq-list{--faq-column-gap:34px;margin:0;column-gap:var(--faq-column-gap);min-width:0}
#app31 #faq #faq-list .faq-item{border:0}
#app31 #faq .faq-item:after{background:linear-gradient(90deg,#718b4f 0 24px,#81907755 24px);height:1px}
#app31 #faq .faq-item>summary{display:grid;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:10px;min-height:96px;padding:22px 0;font:450 clamp(22px,1.65vw,26px)/1.25 RoadSourceSans3;letter-spacing:-.01em}
#app31 #faq .faq-item>summary:before{font:500 11px/1 RoadSourceSans3;align-self:center;color:#6c8055}
#app31 #faq .faq-item>summary>span{width:20px;height:20px;display:grid;place-items:center;margin:0;font-size:22px;color:#637b48}
#app31 #faq .faq-answer__inner{padding:0 8px 24px 30px}
#app31 #faq .faq-answer p{font:400 16px/1.55 RoadSourceSans3;margin:0 0 14px;max-width:none}
#app31 #faq .faq-answer a{display:inline-flex;align-items:center;min-height:44px;font:500 14px/1.35 RoadSourceSans3;text-underline-offset:5px}

/* T03: the original sculpture is the centre of a compact 30/40/30 composition. */
#app31 #contact{grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,3fr);grid-template-rows:auto auto;gap:24px 32px;padding-top:54px;padding-bottom:54px;min-height:0}
#app31 #contact .contact-opening h2{font-size:clamp(38px,3.4vw,60px);line-height:1.08;margin-top:0}
#app31 #contact .contact-opening>p{font-size:16px;line-height:1.55;margin-top:22px}
#app31 #contact .footer-art{grid-column:2;grid-row:2;height:380px;max-width:none;margin:0;overflow:visible;align-self:center}
#app31 #contact .contact-details{grid-column:3;grid-row:2;display:grid;grid-template-columns:1fr;gap:26px;align-self:center;margin:0;width:auto}
#app31 #contact .contact-phone p{font-size:clamp(19px,1.8vw,27px);white-space:nowrap;margin:12px 0 4px;letter-spacing:-.025em}
#app31 #contact .office{border-top:1px solid #81907750;padding-top:24px}
#app31 #contact .office address{font-size:16px;line-height:1.5;margin-top:10px}
#app31 #contact .office small{display:block;margin-top:12px;max-width:30ch}
#app31 .chapter-divider{position:absolute;top:0;left:var(--edge);right:var(--edge);height:3px;display:flex;align-items:center;gap:6px;pointer-events:none;transform-origin:left;transform:scaleX(var(--chapter-rule,1));opacity:.75}
#app31 .chapter-divider:before{content:'';width:28px;height:3px;background:#718649;flex:none}
#app31 .chapter-divider:after{content:'';height:1px;background:#81907760;flex:1}
#app31 [data-tone=dark]>.chapter-divider:before{background:#d6bd66}
#app31 [data-tone=dark]>.chapter-divider:after{background:#c5cdb536}
#app31 [data-tone=yellow]>.chapter-divider:before{background:#526733}
#app31 [data-tone=yellow]>.chapter-divider:after{background:#716c3940}
@media(max-width:1100px) and (min-width:761px){
 #app31 :is(#terms,#faq){grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:32px}
 /* T12: fit the narrow Terms column; original sizing resumes as space grows. */
 #app31 #terms .terms-sequence-heading h2{font-size:min(clamp(38px,3.5vw,64px),4.5vw)}
 #app31 #terms .terms-sequence{gap:24px}
 #app31 #terms .terms-sequence li{grid-template-columns:38px minmax(0,1fr);gap:0 10px;min-height:240px}
 #app31 #terms .term-icon{width:38px;height:38px}
 #app31 #terms .terms-sequence li>h3{font-size:22px}
 #app31 #faq #faq-list{--faq-column-gap:24px}
 #app31 #faq .faq-item>summary{font-size:23px;gap:10px}
 #app31 #contact{gap:24px}
 #app31 #contact .footer-art{height:300px}
 #app31 #contact .contact-details{grid-column:3;grid-row:2}
 #app31 #contact .contact-phone{padding:0;border:0}
 #app31 #contact .contact-phone p{font-size:18px}
 #app31 #contact .office address{font-size:14px}
 #app31 #contact .contact-opening h2{font-size:36px}
}
@media(max-width:760px){
 #app31 #terms,#app31 #faq{display:block;padding-top:56px;padding-bottom:56px}
 #app31 #terms .terms-sequence{display:grid;grid-template-columns:1fr;gap:24px;margin-top:30px}
 #app31 #terms .terms-sequence li{min-height:0;grid-template-columns:42px minmax(0,1fr);gap:0 14px;padding-top:22px}
 #app31 #terms .term-icon{width:42px;height:42px}
 #app31 #terms .terms-sequence li>h3{font-size:26px;margin-bottom:14px}
 #app31 #terms .terms-sequence li>p{max-width:40ch;font-size:16px}
 #app31 #terms .terms-sequence-heading h2{font-size:38px}
 #app31 #terms>.dark-link{margin-top:30px}
 #app31 #faq .faq-heading h2{font-size:40px;margin:20px 0}
 #app31 #faq .faq-heading h2 .title-mask{display:inline}
 #app31 #faq .faq-heading h2 .title-mask+.title-mask:before{content:' '}
 #app31 #faq .faq-intro{max-width:36ch}
 #app31 #faq #faq-list{margin-top:28px}
 #app31 #faq .faq-item>summary{min-height:78px;font-size:22px}
 #app31 #faq .faq-item>summary:focus-visible{outline-offset:0}
 #app31 #faq .faq-answer__inner{padding-bottom:20px}
 #app31 #contact{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding-top:48px;padding-bottom:48px}
 #app31 #contact .contact-kicker{grid-column:1;grid-row:1}
 #app31 #contact .contact-opening{grid-column:1;grid-row:2}
 #app31 #contact .footer-art{grid-column:1;grid-row:3;height:300px;width:min(100%,360px);justify-self:center;margin:0}
 #app31 #contact .contact-details{grid-column:1;grid-row:4;gap:22px}
 #app31 #contact .contact-opening h2{font-size:42px}
 #app31 #contact .contact-phone p{font-size:26px}
 #app31 .chapter-divider{height:2px}
}

#app31 #application-form .field-caption{font:400 14px/1.35 RoadSourceSans3;color:#5f6d54}
#app31 #application-form .field-caption small{font:400 12px/1.35 RoadSourceSans3;color:#7d866e;margin-left:6px;white-space:nowrap}
@media(min-width:761px){
 #app31 #application-form[data-path=owner]:not(:has([data-region-extra]:not([hidden]))) label:has([name=region]){grid-column:1/-1}
 #app31 #application-form[data-path=own] label:has(textarea){grid-column:auto}
}

#app31 #faq #faq-list[data-independent=true]{--faq-column-gap:34px}
#app31 #faq #faq-list[data-independent=false]{display:block;height:auto}
#app31 #faq #faq-list[data-independent=false] .faq-item{position:relative;left:auto;right:auto;width:100%;top:auto}
#app31 .chapter-divider{transform:none;opacity:1}
#app31 .chapter-divider:before{width:26px;background:linear-gradient(90deg,#c5aa4b 0 10px,transparent 10px 14px,#c5aa4b 14px 24px,transparent 24px);transform:translateY(calc((1 - var(--chapter-rule,1))*5px));opacity:var(--chapter-rule,1)}
#app31 .chapter-divider:after{transform-origin:left;transform:scaleX(var(--chapter-rule,1))}
#app31 [data-tone=dark]>.chapter-divider:before{background:linear-gradient(90deg,#e1c56d 0 10px,transparent 10px 14px,#e1c56d 14px 24px,transparent 24px)}
#app31 [data-tone=yellow]>.chapter-divider:before{background:linear-gradient(90deg,#536434 0 10px,transparent 10px 14px,#536434 14px 24px,transparent 24px)}

/* Pointer dragging has no frame; native keyboard focus remains visible. */
#app31 #owners .key-scene>canvas[data-pointer-focus="true"]{outline:none}

/* T09 phone reset: 44px hit target, unchanged 26px visual centre. */
@media(max-width:760px){
 #app31 #owners .key-reset:not([hidden]){box-sizing:border-box;width:44px;height:44px;right:-9px;bottom:-16px;padding:0;border:0;display:grid;place-items:center;line-height:1}
 #app31 #owners .key-reset::before{content:'';position:absolute;inset:9px;box-sizing:border-box;border:1px solid #7e6c354d;border-radius:50%;pointer-events:none}
 #app31 #owners .key-reset:focus-visible{outline-offset:-4px}
}
