/* Current one-page composition. Guide symbols and locked comic panels remain unchanged. */
:root{--site-width:1180px;--chapter-gap:clamp(90px,9vw,144px)}
main>.chapter{height:auto!important;min-height:0!important;max-height:none!important;display:block!important;overflow:visible!important;padding:var(--chapter-gap) 0!important}
main>.chapter>.wrap{width:min(var(--site-width),calc(100% - 56px));margin-inline:auto}
main>.hero{min-height:calc(100svh - var(--bar-height,83px))!important;display:flex!important;align-items:center;padding:clamp(64px,7vh,96px) 0!important}
main>.hero>.wrap{width:min(1180px,calc(100% - 56px))}
main>.chapter h2{font-size:clamp(48px,5vw,74px);line-height:1.04;letter-spacing:-.055em}
main>.chapter .lead{font-size:clamp(20px,1.65vw,26px);line-height:1.38}
main>.chapter .kicker,.support .kicker{font-size:clamp(20px,1.3vw,24px);margin-bottom:18px}
#journeys,#work,#value,#pricing,#about,#contact{background:#fff}
#work,#value,#pricing,#about,#contact{border-top:1px solid #e6ebee}
#story,#result{background:#111216;color:#fff}
#voice{background:#f5f5f7}
#voice .lead{margin-left:0}

/* The map is one large scene, not a miniature workshop or a set of cards. */
.journey .lead{max-width:800px;margin:20px 0 0}
.map-choice{display:flex;align-items:center;gap:20px;margin:35px 0 24px}
.map-choice label{font-size:19px;font-weight:700}
.map-choice select{font-size:19px;padding:12px 44px 12px 16px;min-width:280px;max-width:100%;border:1px solid #cfd9dd;border-radius:14px;background:#f5f5f7;color:var(--ink)}
.map-visual{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.5fr) minmax(0,1fr);align-items:center;gap:10px;min-height:360px;padding:25px 0;background:radial-gradient(ellipse at 50% 75%,#e8f6f9 0,transparent 56%)}
.map-perspective{text-align:center;min-width:0}
.map-perspective .object{width:clamp(160px,17vw,230px);height:clamp(160px,17vw,230px);margin:0 auto 8px}
.map-perspective span{display:block;color:var(--blue);font-size:19px;font-weight:750;margin-bottom:9px}
.map-perspective strong{display:block;max-width:420px;margin:auto;font-size:clamp(23px,2.5vw,35px);line-height:1.18;letter-spacing:-.025em}
.map-connection{position:relative;align-self:center;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:#a74229}
.map-connection:before{content:'';position:absolute;top:30px;left:-23%;right:-23%;border-top:3px dashed #9bcbd6;z-index:0}
.map-question-mark{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff0ea;color:#a74229;font-size:46px;font-weight:650;line-height:1}
.map-connection strong{position:relative;z-index:1;max-width:170px;font-size:19px;line-height:1.25;padding:5px 8px}
.map-conclusion{display:flex;align-items:center;justify-content:space-between;gap:55px;padding:25px 0;border-top:1px solid #d9e5e9;border-bottom:1px solid #d9e5e9}
.map-conclusion>p{font-size:clamp(27px,2.7vw,39px);font-weight:700;line-height:1.14;letter-spacing:-.035em;color:var(--blue);max-width:570px;margin:0}
.map-repair{display:flex;align-items:center;gap:17px;max-width:480px}
.map-repair .object{width:82px;height:82px;flex:none}
.map-repair span{display:block;color:var(--blue);font-size:17px;font-weight:700;margin-bottom:5px}
.map-repair strong{font-size:21px;line-height:1.26}
.journey-foot{font-size:18px;line-height:1.45;color:var(--muted);max-width:900px;margin:24px 0 0}
.journey-foot strong{color:var(--blue)}

/* Illustrations are scaled like the hero; extra explanation stays secondary. */
.process .workbench{margin-top:55px}
.process .workbench .object{width:clamp(160px,16vw,215px);height:clamp(160px,16vw,215px)}
.trial{background:#111216!important}
.trial .kicker{color:#7bd5e6}
.trial .lead{color:#c4d2d8}
.trial .trialstrip{margin:50px 0 26px;gap:45px;font-size:clamp(24px,2.25vw,31px)}
.trialstrip .object{width:clamp(170px,17vw,235px);height:clamp(170px,17vw,235px);margin:0 auto 15px}

/* A two-input demo: read the calculation before any explanation. */
.value-demo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1.8fr);align-items:end;gap:30px;margin:74px 0 28px}
.value-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;min-width:0}
.value-input label{grid-column:1/-1;font-size:19px;line-height:1.25;font-weight:700;min-height:48px}
.value-input input{width:100%;min-width:0;padding:13px 15px;border:1px solid #cdd9de;border-radius:14px;background:#f5f5f7;color:var(--ink);font-family:inherit;font-size:clamp(29px,3vw,44px);font-weight:700;line-height:1.15}
.value-input span{font-size:39px;font-weight:600;color:var(--blue);line-height:1.3}
.value-result{display:flex;flex-direction:column;justify-content:flex-end;min-height:120px}
.value-result strong{font-size:clamp(58px,6vw,90px);line-height:1;letter-spacing:-.06em;color:var(--blue);white-space:nowrap}
.value-result span{font-size:21px;font-weight:650;margin-top:10px}
.value .value-meaning{border-top:0;padding:0;margin:0;font-size:18px}

/* Pricing is a calm comparison, with one sentence per choice. */
.pricing-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:65px 0 36px;align-items:stretch}
.pricing .home-price-card,.pricing .home-price-card.featured{display:flex;flex-direction:column;min-height:0;max-height:none;border:0;border-left:1px solid #dbe4e8;border-radius:0;box-shadow:none;background:transparent;color:var(--ink);padding:0 36px}
.pricing .home-price-card:first-child{border-left:0;padding-left:0}
.pricing .home-price-card:last-child{padding-right:0}
.pricing .price-art{height:110px;display:flex;justify-content:flex-start;align-items:center;overflow:visible}
.pricing .price-art .object{width:105px;height:105px}
.pricing .price-stage,.pricing .featured .price-stage{font-size:18px;color:var(--blue)}
.pricing .home-price-card h3{font-size:clamp(29px,2.45vw,37px);line-height:1.12;letter-spacing:-.035em;margin:14px 0 18px}
.pricing .home-price{font-size:clamp(39px,3.4vw,52px);line-height:1;margin:0;color:var(--ink);white-space:nowrap}
.pricing .home-price small{font-size:18px;letter-spacing:0;font-weight:650;color:var(--blue);white-space:normal}
.pricing .standard{min-height:28px;font-size:19px;color:var(--muted);margin:9px 0 0;text-decoration:none}
.pricing .price-blurb,.pricing .featured .price-blurb{font-size:21px;line-height:1.36;color:#535960;margin:25px 0 35px;max-width:300px}
.pricing .price-cta,.pricing .featured .price-cta{align-self:flex-start;margin-top:auto;background:transparent;border:0;padding:0;border-radius:0;color:var(--blue);font-size:19px;font-weight:750}
.pricing .price-cta:hover{text-decoration:underline}
.pricing .price-art .object{transition:transform .35s cubic-bezier(.25,1,.5,1)}
.pricing .home-price-card:hover .price-art .object{transform:translateY(-4px)}
.pricing .pricing-note{font-size:17px;line-height:1.42;color:var(--muted);max-width:1080px;margin:0}

/* Personal and contact areas retain the established content, with one reading width. */
.about-photos{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;align-items:end}
.about-photos figure{margin:0;min-width:0}
.about-photos img{display:block;width:100%;max-width:none;height:300px;border-radius:22px;object-fit:cover}
.about-office img{object-position:center 34%}.about-outside img{object-position:center 68%}
.about-photos figcaption{font-size:18px;font-weight:650;color:var(--blue);margin-top:12px}
.voice>.wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);align-items:center;gap:clamp(35px,5vw,90px)}
.voice-art{position:relative;justify-self:center;width:min(100%,470px);height:400px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 78%,#d9eff4 0,transparent 68%)}
.voice-art .voice-person{width:290px;height:290px;filter:drop-shadow(0 26px 20px #17475b20)}
.voice-art .voice-chat{position:absolute;width:150px;height:150px;right:0;top:10px;transform:rotate(8deg)}
.contact{text-align:center}
.contact .lead{max-width:920px}
.contact-actions,.question-preview,.other-ways{width:min(960px,100%);margin-left:auto;margin-right:auto}
.contact-actions{display:flex;justify-content:center;gap:14px;margin-top:36px;margin-bottom:32px}
.contact-actions .button{font-size:20px;padding:17px 24px}
.contact details{border-top:1px solid #d8dce0;padding:22px 0;margin-top:0;text-align:left}
.contact details:last-child{border-bottom:1px solid #d8dce0}
.contact details summary{font-size:21px;font-weight:700;color:var(--blue)}

@media(max-width:900px){
 main>.chapter{padding:76px 0!important}
 main>.chapter>.wrap{width:calc(100% - 42px)}
 .map-visual{grid-template-columns:minmax(0,1fr) 115px minmax(0,1fr);min-height:300px}
 .map-perspective .object{width:150px;height:150px}
 .map-connection:before{left:-8%;right:-8%}
 .pricing .home-price-card,.pricing .home-price-card.featured{padding:0 19px}
 .pricing .home-price{font-size:40px;white-space:normal}
 .pricing .home-price small{display:block;margin-top:5px}
 .pricing .price-blurb{font-size:19px}
 .value-demo{gap:16px}.value-input label{font-size:17px}.value-result strong{font-size:56px}
}
@media(max-width:750px){
 main>.chapter{padding:64px 0!important}
 main>.hero{min-height:0!important;display:block!important}
 main>.chapter>.wrap{width:calc(100% - 38px)}
 .map-choice{display:block;margin:26px 0 0}.map-choice label{display:block;margin-bottom:10px}
 .map-choice select{width:100%}
 .map-visual{grid-template-columns:1fr;gap:6px;padding:24px 0}
 .map-perspective .object{width:150px;height:150px}
 .map-perspective strong{font-size:27px}
 .map-connection{min-height:90px;justify-content:center}
 .map-connection:before{top:-12px;bottom:-12px;left:50%;right:auto;width:0;height:auto;border-top:0;border-left:3px dashed #9bcbd6}
 .map-question-mark{width:52px;height:52px;font-size:37px}
 .map-connection strong{font-size:17px;max-width:none}
 .map-conclusion{display:block;padding:25px 0}
 .map-conclusion>p{font-size:31px}
 .map-repair{margin-top:22px}
 .map-repair .object{width:65px;height:65px}
 .pricing-cards{grid-template-columns:1fr;margin:38px 0 30px}
 .pricing .home-price-card,.pricing .home-price-card.featured,.pricing .home-price-card:first-child,.pricing .home-price-card:last-child{padding:26px 0;border-left:0;border-top:1px solid #dbe4e8}
 .pricing .price-art{height:80px}.pricing .price-art .object{width:75px;height:75px}
 .pricing .home-price{font-size:46px}
 .pricing .home-price small{display:inline;font-size:17px}
 .pricing .price-blurb{margin:15px 0 20px;max-width:none}
 .pricing .price-cta{margin-top:0}
 .trial .trialstrip .object{width:clamp(90px,23vw,160px);height:clamp(90px,23vw,160px)}
 .voice>.wrap{display:block}.voice-art{margin-top:38px}.voice-art img{height:390px}
 .contact-actions{flex-direction:column}.contact-actions .button{width:100%}
 .about-photos img{height:clamp(220px,55vw,300px)}
 .value-demo{grid-template-columns:1fr 1fr;gap:22px;margin:42px 0 25px}.value-result{grid-column:1/-1;min-height:0}.value-input label{min-height:0}.value-input input{font-size:30px}.value-result strong{font-size:64px}
}
@media(max-width:500px){
 .trial .trialstrip{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:32px 0}
 .trial .trialstrip>div{display:flex;align-items:center;gap:18px;text-align:left}
 .trial .trialstrip .object{width:82px;height:82px;flex:none;margin:0}
 .trial .trialstrip span{font-size:21px}
 .value-layout{grid-template-columns:minmax(0,1fr);gap:20px}
 .value-layout>div{min-width:0}
 .bigvalue{font-size:clamp(58px,14vw,75px)}
 .value-demo{grid-template-columns:1fr}.value-input{grid-template-columns:minmax(0,1fr) auto}.value-input label{font-size:18px}.value-input span{font-size:30px}.value-result{grid-column:auto}.value-result strong{font-size:clamp(55px,14vw,76px)}
 .voice-art{height:280px}.voice-art .voice-person{width:230px;height:230px}.voice-art .voice-chat{width:110px;height:110px;right:7%}
}
@media(prefers-reduced-motion:reduce){.pricing .price-art .object{transition:none}.pricing .home-price-card:hover .price-art .object{transform:none}}
