/* Shared details that should render consistently on iOS and desktop. */
.inside-summary{font-size:11px;line-height:1.9;color:var(--muted);max-width:300px}
.inside-summary p{margin:0}
.keep-together{white-space:nowrap}
dialog:focus{outline:none}
.dialog-close{display:grid;place-items:center;width:44px;height:44px;padding:10px;border-radius:50%}
.dialog-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.dialog-close:focus-visible{outline-offset:2px;border-radius:50%}

@media(max-width:800px){
  /* One mobile scale: 20px gutters, 64px section padding, 32px content gaps. */
  .wrap{width:calc(100% - 40px)}
  #main>.section{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding-block:64px;margin-block:0;border-top:1px solid var(--line)}
  #main .eyebrow{font-size:9px;line-height:1.6;letter-spacing:1px;margin-bottom:20px}
  #main h2{font-size:clamp(28px,7.45vw,32px);font-weight:400;line-height:1.22;letter-spacing:-1px;text-align:left;margin:0 0 24px;text-wrap:balance}
  #main h2 em{font-size:1em;letter-spacing:-1px;display:block;text-wrap:balance}
  #main h2 br,#main h3 br,#main p br{display:none}
  #main p{text-wrap:pretty}
  #main .page-weave{display:none}
  .section-node,.loose-thread,.join-doodle{display:none}
  .hero-copy,.intro>div,.knots-intro,.section-heading>div,.join-copy{min-width:0}
  .text-columns{grid-template-columns:1fr;gap:20px}
  .text-columns p,.hero .hero-description,.knots-intro>p:not(.eyebrow),.center-heading>p:last-child,.inside-summary,.freedom p:not(.eyebrow),.anna-copy>p:not(.eyebrow),.join-copy>p:not(.eyebrow){font-size:15px;line-height:1.75;max-width:none}
  .hero .hero-description{margin-bottom:24px}
  .hero-concept{margin-bottom:12px}
  .hero-actions{display:block}
  .hero .hero-actions .button{font-size:13px;min-height:54px}

  /* The field becomes a compact set of text choices, without circles or coordinates. */
  .field-map{width:100%;padding-top:0}
  .map-coordinate,.field-threads,.map-hint,.sense-orb small,.sense-orb b{display:none}
  .constellation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;aspect-ratio:auto;width:100%}
  .field-map .sense-orb{position:static;display:block;aspect-ratio:auto;width:100%;padding:14px 0;min-height:48px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);transform:none;box-shadow:none;text-align:left}
  .field-map .sense-orb:after{display:none}
  .field-map .sense-orb>span,.field-map .sense-orb em{font-family:var(--sans);font-size:15px;font-style:normal;line-height:1.5;letter-spacing:0}
  .sense-orb br{display:none}
  .field-map .sense-orb[aria-pressed=true]{color:var(--orange);border-color:var(--orange)}
  .field-note{padding:16px 0 0;border:0;min-height:84px;display:block}
  .field-note .note-index,#main .field-note h2{display:none}
  .field-note p{font-size:14px;line-height:1.7;max-width:none}

  /* Every result has a short, independent thread in its own row. */
  #main>.stories{gap:0}
  .stories-heading{display:block;margin:0}
  .stories-caption{font-size:15px;line-height:1.75;margin:0;max-width:none}
  .stories-caption span{font-size:12px;max-width:none;margin-top:8px}
  .stories-map{height:auto;min-width:0}
  .stories-map>.stories-caption{margin-bottom:24px}
  .stories-center{position:static;display:block;width:100%;aspect-ratio:auto;transform:none;border-radius:0;background:transparent;color:var(--ink)}
  .stories-center:before,.stories-center:after{display:none}
  #main .stories-center h2{padding:0;margin:0 0 24px}
  .story-paths{position:relative;inset:auto;display:grid;list-style:none;margin:0;padding:0}
  .story-paths li{position:relative;left:auto;top:auto;transform:none;width:100%}
  .story-paths .story-leaf{width:100%;min-height:84px;padding:20px 0 20px 64px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left;font-size:16px;line-height:1.55;letter-spacing:0;transform:none}
  .story-paths .story-leaf:before{display:none}
  .story-leaf[aria-pressed=true]{color:var(--orange)}
  .stories-branch path{opacity:.65;stroke-width:1}
  .stories-branch.is-active path{opacity:1;stroke-width:1.5}
  .stories-network{z-index:-1}

  .knots-intro>p:not(.eyebrow){margin:0}
  .knot-toggle{gap:14px;padding-block:22px}
  .knot-symbol{flex:0 0 44px;width:44px;height:52px}
  .knot-symbol svg{width:44px;height:48px}
  .knot-text{flex:1;min-width:0}
  .knot-text>span{font-size:14px;line-height:1.65}
  .knot-text small{font-size:9px}
  .knot-plus{flex:0 0 16px;font-size:20px}
  .knot-response{padding:0 0 22px 58px}
  .knot-response p{font-size:14px;line-height:1.75}
  .center-heading{text-align:left;max-width:none;width:100%;margin:0}
  .center-heading>p:last-child{margin:0}
  .meaning-field{display:grid;grid-template-columns:1fr;gap:16px;max-width:none;width:100%;margin:0;padding:0}
  .meaning-field:before,.meaning-thread{display:none}
  .meaning-orb{aspect-ratio:auto;border-radius:24px;padding:28px;width:100%;align-items:flex-start;justify-content:flex-start;text-align:left;margin:0;transform:none;box-shadow:none}
  .meaning-orb:before{display:none}
  .meaning-orb:hover,.meaning-orb:focus-within{transform:none;box-shadow:none}
  .meaning-orb small{font-size:9px;letter-spacing:1px;margin-bottom:20px}
  .meaning-orb h3{font-size:25px;line-height:1.25;letter-spacing:-.5px;margin-bottom:16px;font-weight:400}
  .meaning-orb h3 em{letter-spacing:-.5px}
  .meaning-orb p{font-size:14px;line-height:1.75;max-width:none;margin-bottom:20px}
  .meaning-orb a{width:44px;height:44px}

  .freedom{padding-block:64px;text-align:left}
  .freedom-orbit{opacity:.35}
  .freedom p:not(.eyebrow){margin:0}
  #main .freedom h2{margin-bottom:24px}
  .section-heading{display:grid;gap:0;margin:0}
  .inside-summary{max-width:none;width:100%;margin:0}
  .inside-summary p{margin:0 0 8px}
  .inside-summary p:last-child{margin:0}
  .contributions{grid-template-columns:1fr;gap:40px}

  /* The vertical line starts at the hub's center and passes through every marker. */
  .contribution-heading{position:relative;display:flex;align-items:flex-start;gap:20px;min-height:64px;margin:0 0 24px}
  .contribution-heading:after{content:'';position:absolute;left:32px;top:32px;bottom:-24px;border-left:1px solid var(--thread);z-index:0}
  .contribution-hub{flex:0 0 64px;width:64px;height:64px;margin:0;font-size:28px;z-index:1}
  .contribution-hub>span{display:none}
  .contribution-heading>div{padding-top:6px;min-width:0}
  #main .contribution-heading .eyebrow{font-size:9px;margin-bottom:8px}
  .contribution-heading h3{font-size:22px;font-weight:400;line-height:1.3;letter-spacing:-.5px}
  .contribution ul{padding:0 0 0 32px;margin:0}
  .contribution li{position:relative;display:block;padding:0 0 28px 28px}
  .contribution li:before{left:0;top:0;bottom:0;z-index:0}
  .contribution li:last-child{padding-bottom:0}
  .contribution li:last-child:before{bottom:auto;height:10px}
  .format-dot{position:absolute;left:0;top:10px;width:11px;height:11px;margin:0;transform:translate(-50%,-50%);z-index:1;transition:background .25s,border-color .25s}
  .contribution li:hover .format-dot{transform:translate(-50%,-50%) scale(1.2)}
  .contribution h4{font-size:16px;line-height:1.4;margin-bottom:8px}
  .contribution li p{font-size:14px;line-height:1.75;max-width:none}
  .contribution-note{margin:24px 0 0 60px;max-width:none;font-size:21px;line-height:1.6}
  .sos{display:grid;grid-template-columns:1fr;gap:24px;padding:32px 0 0;margin:0;border-top:1px solid var(--line);border-bottom:0}
  .sos-orb{width:112px;height:112px;margin:0;font-size:34px}
  .sos h3{font-size:25px;line-height:1.25;letter-spacing:-.5px;margin-bottom:20px}
  .sos p:not(.eyebrow){font-size:15px;line-height:1.75;margin-bottom:20px}
  .anna-field{max-width:360px;width:100%;margin:0 auto}
  .anna-copy>p:not(.eyebrow){margin-bottom:20px}
  .join-card{width:100%;max-width:390px;aspect-ratio:auto;min-height:440px;border-radius:180px;margin:0 auto}
  .join-inner{width:84%;padding-block:40px}
  #main .join-inner .eyebrow{font-size:9px;margin-bottom:16px}
  .price{font-size:50px;line-height:1.15}
  .price-note,.join-inner li{font-size:12px;line-height:1.7}
  .join-inner .button{font-size:13px;min-height:54px}
  .join-note{font-size:10px}
  .faq-list summary,.faq-list details p{font-size:14px;line-height:1.65}
  .footer{padding-block:32px}

  dialog{max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:20px}
  .dialog-inner{padding:64px 24px 28px}
  .dialog-close{right:12px;top:12px}
  .dialog-inner h2{font-size:26px;line-height:1.25;letter-spacing:-.7px;text-align:left;text-wrap:pretty}
  .dialog-inner>p:not(.eyebrow),.dialog-inner li p{font-size:14px;line-height:1.7}
  .dialog-inner strong{font-size:14px}
  .dialog-inner .button{white-space:normal;font-size:12px}
}
