/* Mobile refinements shared by every page; desktop layout stays intact. */
@media(max-width:760px){
 html{scroll-padding-top:20px;-webkit-text-size-adjust:100%}
 body{font-size:16px;line-height:1.65}
 main{padding-inline:20px}
 main>*{min-width:0}
 .header-inner{padding:18px 20px;gap:12px}
 .brand{min-width:0;gap:10px}
 .brand .wordmark{width:105px}
 .brand .name{width:112px;padding-left:10px}
 .menu-toggle{min-width:44px;min-height:44px;justify-content:center;padding:10px;font-size:0;border-radius:12px}
 .menu-toggle .ui-icon{width:22px;height:22px}
 .js-menu nav.open{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;border-top:1px solid #333}
 nav a{padding:12px 14px;min-height:48px;font-size:15px;white-space:normal;background:#161616;border-radius:8px}
 .eyebrow{font-size:10px;letter-spacing:1.1px;line-height:1.6}
 .hero{padding:38px 0 44px;gap:32px}
 .hero-copy h1,.page-intro h1,.about-portrait-intro h1{font-size:clamp(36px,10vw,52px);letter-spacing:-1.8px;line-height:1.12}
 h2{font-size:clamp(29px,8vw,38px);letter-spacing:-1px}
 .lead{font-size:17px;line-height:1.7}
 .actions{gap:18px;margin-top:26px;align-items:stretch;flex-direction:column}
 .button{min-height:48px;max-width:100%;font-size:14px;line-height:1.45;justify-content:space-between}
 .actions .button,.cta .button,.examples-teaser .button,.business-promise .button{width:100%}
 .actions .text-link{align-self:flex-start;min-height:44px;display:inline-flex;align-items:center}
 .hero-art{max-width:360px}
 .process-art{min-height:0;padding:26px 15px 22px;border-radius:105px 105px 22px 22px}
 .art-title{font-size:27px}.art-kicker{font-size:8px;letter-spacing:.6px}
 .ribbon{flex-wrap:wrap;justify-content:center;gap:8px 14px;font-size:12px;text-align:center;padding:18px 0}
 .ribbon i{display:none}
 .section{padding:42px 0}
 .section-heading h2 br,.examples-teaser h2 br{display:none}
 .card{padding:24px}.card h3{max-width:none;font-size:24px}.card p{font-size:15px}
 .concept-graph{max-height:92px}
 .card-link{font-size:14px;margin-top:18px}
 .page-intro{padding:34px 0 38px}
 .page-intro h1{margin:22px 0 26px}
 .intro-constellation{right:-55px;width:180px}
 .service-detail{grid-template-columns:44px minmax(0,1fr);gap:16px;padding:34px 0}
 .service-detail h2{font-size:28px;margin-top:6px;overflow-wrap:break-word}
 .service-detail p,.bio-prose p{font-size:16px;line-height:1.75}
 .check-list li{font-size:15px;line-height:1.65}
 .timeline-step{grid-template-columns:42px minmax(0,1fr);gap:14px;padding:24px 0 36px}
 .timeline-step>span{width:40px;height:40px}
 .timeline-step:not(:last-child):before{left:19px;top:66px;bottom:-24px}
 .timeline-step h2{font-size:28px;margin-top:12px}.timeline-step p{font-size:16px}
 .note{font-size:14px;padding:14px}
 .faq summary{font-size:17px;min-height:44px}.faq details p{font-size:16px}
 .cta{padding:26px 22px;border-radius:18px;gap:20px;margin:38px 0}
 .cta h2{font-size:30px}.cta .button{margin-top:24px}
 .contact-grid{gap:26px;padding-bottom:40px}.contact-grid aside{padding-left:16px}
 .contact-panel{padding:25px 20px;border-radius:18px}
 .contact-panel h2{font-size:28px;padding-right:20px}
 .contact-form fieldset{min-inline-size:0;padding:0;border:0}
 .problem-options{display:grid;grid-template-columns:1fr;gap:9px}
 .problem-options label>span{min-height:46px;display:flex;align-items:center;justify-content:center;font-size:14px;padding:11px 13px;border-radius:12px}
 .contact-panel .message-guidance{font-size:14px;line-height:1.65}
 .contact-form input[type=email],.contact-form textarea{font-size:16px;padding:14px 12px}
 .contact-form textarea{min-height:180px}
 .contact-form button[type=submit]{width:100%;justify-content:space-between}
 .contact-status{padding:18px 16px}.contact-status strong{font-size:17px}.contact-status span{font-size:14px}
 .bio-role{font-size:12px;max-width:none}.expertise-item p{font-size:15px}.expertise-item h3{font-size:22px}
 .anna-portrait{width:min(100%,350px)}
 .example-tabs{display:grid;grid-template-columns:1fr;gap:9px}
 .example-tabs button{font-size:14px;min-height:46px;padding:12px 16px;text-align:left}
 .example-context,.example-flow,.example-takeaway{padding:22px 18px}
 .example-flows{grid-template-columns:1fr}.example-flow.after{border-left:0;border-top:1px solid #d8d0bc}
 .example-flow li{font-size:14px}.example-context p{font-size:15px}
 .example-takeaway .text-link{white-space:normal;min-height:44px;display:inline-flex;align-items:center}
 .footer-top{flex-direction:column;gap:28px}.footer-links{width:100%;gap:8px 20px}
 .footer-links a{min-height:44px;display:flex;align-items:center;gap:8px;font-size:14px}
 .footer-bottom{flex-wrap:wrap;font-size:12px;gap:8px}
}
@media(max-width:580px){
 .untangle-heading{padding:24px 20px}.untangle-heading>p{font-size:15px;line-height:1.65}
 .untangle-toolbar{padding:16px 20px}.map-caption{font-size:9px;line-height:1.6;letter-spacing:.3px}
 .untangle-reset{font-size:13px;min-height:44px;padding:10px 0;margin-top:6px}
 .untangle-map{height:560px;margin-inline:12px}
 .friction{width:min(230px,90%);min-height:64px;padding:12px 14px}
 .friction-duplicate{left:50%;top:12%}.friction-decision{left:50%;top:28%}.friction-loop{left:50%;top:83.333%;width:min(230px,90%)}
 .friction strong{font-size:13px}.friction small{font-size:11px}.friction>.ui-icon{width:23px;height:23px}
 .map-core{width:76px}.map-core strong{font-size:11px}.map-core>span{font-size:10px;max-width:74px}
 .map-edge-label{font-size:8px}.map-clear-label{font-size:11px;white-space:normal;width:90%;justify-content:center;text-align:center}
 .untangle-feedback{padding:22px 20px 16px;min-height:180px}.feedback-kicker{font-size:10px}.feedback-copy{font-size:14px;line-height:1.75}
 .resolved-insights{padding:0 20px 24px}.resolved-insights>span{font-size:11px;padding:8px 10px}
 .untangle-finish{padding:24px 20px}.untangle-finish .button{width:100%}
}
@media(max-width:350px){
 main{padding-inline:16px}.header-inner{padding-inline:16px}.brand .wordmark{width:92px}.brand .name{width:96px}
 .hero-copy h1,.page-intro h1,.about-portrait-intro h1{font-size:35px;letter-spacing:-1.4px}
 .business-promise h2{font-size:29px}.business-promise .button{font-size:13px;padding-inline:17px}
 .service-detail{grid-template-columns:1fr}.service-emblem{width:100%;height:42px;flex-direction:row;align-items:center;padding:8px 12px}
 .service-emblem>.ui-icon{align-self:center}.contact-panel{padding-inline:16px}
}
@media(hover:none),(pointer:coarse){
 .button:hover,.card:hover,.expertise-item:hover,.question-stack>div:hover{transform:none}
 .button:hover{box-shadow:none}
}
@media(max-width:760px){
 .menu-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;gap:0;line-height:0}
 .menu-toggle>span{display:grid;place-items:center;width:24px;height:24px;line-height:0}
 .menu-toggle .ui-icon{display:block;width:24px;height:24px;vertical-align:initial;margin:0}
}
@media(max-width:580px){
 .untangle-map{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:0;gap:14px;margin:0;padding:25px 20px;background-size:22px 22px}
 .map-wires,.map-edge-label{display:none}
 .map-core,.untangle-map.is-clear .core-owner{position:relative;inset:auto;transform:none;width:100%;min-height:70px;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:0;padding:10px 14px;border:1px solid #514733;border-radius:12px;background:#1e1c17}
 .map-core>.ui-icon{grid-column:1;grid-row:1/3;box-shadow:none;width:42px;height:42px;padding:10px}
 .map-core strong{grid-column:2;font-size:15px;align-self:end;line-height:1.5}
 .map-core>span{grid-column:2;max-width:none;text-align:left;font-size:12px;line-height:1.6;align-self:start}
 .map-core:not(.core-result):after{content:'';position:absolute;left:34px;top:100%;height:15px;width:1px;background:#b49747}
 .core-result{margin-bottom:12px}
 .friction,.friction-duplicate,.friction-decision,.friction-loop{position:relative;inset:auto;transform:none;width:100%;max-width:none;min-height:70px;box-shadow:none;padding:14px;gap:12px}
 .friction strong{font-size:14px}.friction small{font-size:12px}
 .friction-cross{display:block;flex-shrink:0}
 .map-clear-label{position:relative;inset:auto;transform:none;width:100%;padding:18px 14px;border:1px solid #7d6b35;border-radius:12px;background:#fac6260b;white-space:normal;font-size:14px;line-height:1.6;text-align:left;justify-content:flex-start}
 .map-clear-label>.ui-icon{flex-shrink:0;width:21px;height:21px}
}

/* Inline mobile complications collapse into resolved connections. */
.friction-slot,.friction-collapse,.friction-collapse>div{display:contents}.mobile-resolution{display:none}
@media(max-width:580px){
 .untangle-map{gap:0;padding:24px 18px}
 .core-start{order:1}.slot-loop{order:2}.slot-duplicate{order:3}.core-owner{order:4}.slot-decision{order:5}.core-result{order:6}.map-clear-label{order:7}
 .map-core,.untangle-map.is-clear .core-owner{min-height:68px;z-index:1}
 .map-core:not(.core-result):after{display:none}.core-result{margin-bottom:0}
 .friction-slot{display:block;position:relative;padding:12px 0 12px 25px;margin-left:34px;border-left:2px dashed #807044;transition:border-color .45s,padding .45s}
 .friction-slot:before{content:'';position:absolute;left:0;top:45px;width:24px;border-top:1px dashed #807044}
 .friction-collapse{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .5s ease,opacity .35s ease}
 .friction-collapse>div{display:block;min-height:0;overflow:hidden;padding:1px 2px}
 .friction{width:100%;min-height:66px;border-radius:11px;padding:12px;animation:none}
 .friction strong{font-size:13px}.friction small{font-size:11px}
 .friction-slot.resolved{border-left-style:solid;border-left-color:#fac626;padding-top:6px;padding-bottom:6px}
 .friction-slot.resolved:before{display:none}
 .friction-slot.resolved .friction-collapse{grid-template-rows:0fr;opacity:0;pointer-events:none}
 .mobile-resolution{display:flex;align-items:center;gap:8px;color:#e6ca7a;font-size:12px;line-height:1.5;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s,opacity .5s}
 .resolved .mobile-resolution{max-height:60px;opacity:1;padding:7px 0}
 .mobile-resolution .ui-icon{width:17px;height:17px;flex-shrink:0}
 .map-clear-label{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){.friction-slot,.friction-collapse,.mobile-resolution{transition:none}}

@media(max-width:760px){
 .menu-toggle{position:relative;display:block;appearance:none;-webkit-appearance:none;box-sizing:border-box;height:44px;width:44px;min-width:44px;padding:0;line-height:0}
 .menu-toggle>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:24px;height:24px;margin:0;padding:0;line-height:0}
 .menu-toggle .ui-icon{display:block;width:24px;height:24px;margin:0;padding:0;transform:none}
}
