/* Intensive Desires / Connected Journey — original KGE presentation.
   CSS keeps authored HTML readable without JS. No fonts, tracking or services added. */
:root{--journey-gold:#e2c48b;--journey-muted:#cdbbcc;--journey-rule:rgba(231,197,143,.28)}
.site-journey-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:clamp(.55rem,1.8vw,1.45rem)}
.site-journey-nav a{font:.68rem/1.35 "Avenir Next",Optima,Arial,sans-serif;letter-spacing:.075em;text-transform:uppercase;text-decoration:none;color:#d2c2d0;white-space:nowrap;border-bottom:1px solid transparent;padding:.5rem .1rem;transition:color .2s,border-color .2s}
.site-journey-nav a:hover,.site-journey-nav a:focus-visible,.site-journey-nav a[aria-current="page"]{color:#f4e1bc;border-bottom-color:var(--journey-gold)}
.site-journey-nav a:focus-visible,.atlas-index a:focus-visible,.desire-choice:focus-visible,.journey-bridge a:focus-visible,.connected-next-step a:focus-visible{outline:2px solid #f1d39d;outline-offset:4px}
.site-journey-nav .nav-last{color:#e2c48b}
.site-journey-nav--atelier{margin-left:auto;gap:clamp(.45rem,1.4vw,1.1rem)}
.site-journey-nav--atelier a{font-size:.62rem}
.desire-question .desire-possibilities li[data-journey-choice]{padding:0}
.desire-choice{display:flex;align-items:center;gap:clamp(.85rem,2vw,1.6rem);width:100%;min-height:76px;padding:clamp(.95rem,2vw,1.45rem);text-decoration:none;color:inherit;text-align:left;transition:background .28s ease,color .28s ease}
.desire-choice .desire-ordinal{flex:0 0 auto}
.desire-choice .desire-choice-label{flex:1}
.desire-choice .desire-choice-arrow{font:400 1.1rem/1 Georgia,serif;color:var(--journey-gold);opacity:.62;transition:transform .2s,opacity .2s}
.desire-choice:hover,.desire-choice:focus-visible{background:rgba(229,182,129,.09);color:#fff6e9}
.desire-choice:hover .desire-choice-arrow,.desire-choice:focus-visible .desire-choice-arrow{opacity:1;transform:translateX(5px)}
.desire-choice-note{text-align:center;max-width:54ch;margin:1.2rem auto 0;font:.72rem/1.6 "Avenir Next",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#d8bc91}
.atlas-world{position:relative;isolation:isolate;padding-top:clamp(3rem,7vw,7.5rem);padding-bottom:clamp(4rem,7vw,7.5rem)}
.atlas-world::before{content:"";pointer-events:none;position:absolute;inset:5% 0 5%;z-index:-1;background:radial-gradient(ellipse at 60% 23%,rgba(118,58,105,.22),transparent 47%)}
.atlas-intro{text-align:center;max-width:780px;margin:0 auto clamp(2rem,5vw,4rem)}
.atlas-intro .eyebrow{color:var(--journey-gold)}
.atlas-intro h2{font:400 clamp(2.65rem,6vw,5.6rem)/1.05 Georgia,"Iowan Old Style",serif;letter-spacing:-.035em;margin:.55rem 0 1.3rem;color:#fff3e5}
.atlas-intro h2 em{font-weight:400;color:#e2c48b}
.atlas-intro p:not(.eyebrow){font-size:clamp(.97rem,1.55vw,1.15rem);line-height:1.8;color:#ddccdc;max-width:62ch;margin:0 auto}
.atlas-index{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(.4rem,1vw,1.2rem);list-style:none;margin:0 auto clamp(3rem,7vw,7rem);padding:1.4rem 0 0;max-width:1180px;position:relative}
.atlas-index::before{content:"";position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(224,183,111,.48),transparent);top:clamp(1.65rem,2.5vw,2.1rem);left:6%;right:6%;pointer-events:none}
.atlas-index li{min-width:0;position:relative}
.atlas-index a{display:flex;align-items:center;flex-direction:column;gap:.8rem;text-align:center;text-decoration:none;color:#d4c3d2;font:.67rem/1.4 "Avenir Next",Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;transition:color .2s}
.atlas-index .atlas-node{width:clamp(1.25rem,3vw,1.9rem);aspect-ratio:1;border-radius:100%;display:block;border:1px solid rgba(226,196,139,.64);background:radial-gradient(circle at 37% 27%,#e7c88e 0 7%,#875b6c 24%,#2b1b32 69%,#100d19);box-shadow:0 0 0 7px rgba(48,27,50,.94),0 0 23px rgba(230,172,130,.13);transition:transform .25s,box-shadow .25s}
.atlas-index a:hover,.atlas-index a[aria-current="location"]{color:#ffe9c0}
.atlas-index a:hover .atlas-node,.atlas-index a[aria-current="location"] .atlas-node{transform:scale(1.14);box-shadow:0 0 0 7px rgba(48,27,50,.94),0 0 25px rgba(241,202,141,.48)}
.atlas-chapters{max-width:1150px;margin:auto}
.atlas-panel{position:relative;display:grid;grid-template-columns:minmax(175px,.48fr) minmax(0,1fr);gap:clamp(1.7rem,6vw,7rem);align-items:center;min-height:330px;padding:clamp(3rem,6vw,6rem) clamp(1.1rem,4vw,4rem);border-top:1px solid var(--journey-rule);scroll-margin-top:6rem}
.atlas-panel:last-child{border-bottom:1px solid var(--journey-rule)}
.atlas-panel:nth-child(even) .atlas-panel-symbol{order:2}
.atlas-panel:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(175px,.48fr)}
.atlas-panel-body{max-width:660px}
.atlas-panel .atlas-count{font:.69rem/1.4 "Avenir Next",Arial,sans-serif;letter-spacing:.2em;color:#e5c894;text-transform:uppercase}
.atlas-panel h3{font:400 clamp(2.8rem,5vw,4.6rem)/1.1 Georgia,"Iowan Old Style",serif;letter-spacing:-.025em;margin:.6rem 0 1rem;color:#fff4e4}
.atlas-panel .atlas-summary{font:italic 400 clamp(1.2rem,2vw,1.62rem)/1.6 Georgia,serif;color:#f0d8be;margin:0 0 1.25rem}
.atlas-panel .atlas-description{font:.98rem/1.85 "Avenir Next",Optima,Arial,sans-serif;color:#decfdf;max-width:62ch;margin:0 0 1.55rem}
.atlas-panel-links{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.55rem}
.atlas-panel-links a,.journey-bridge a{color:#f4d39c;text-decoration:none;border-bottom:1px solid rgba(232,197,139,.6);padding:.35rem 0;font:.75rem/1.65 "Avenir Next",Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}
.atlas-panel-links a:hover,.journey-bridge a:hover{color:#fff3df;border-bottom-color:#fff3df}
.atlas-panel-symbol{width:clamp(160px,24vw,265px);aspect-ratio:1;display:grid;place-items:center;margin:auto;border-radius:50%;position:relative;border:1px solid rgba(229,191,130,.27);background:radial-gradient(circle at 41% 32%,rgba(243,199,128,.13),transparent 32%),radial-gradient(circle at 50% 50%,var(--atlas-core,#5b364f),#1d1427 61%,#110e19 72%);box-shadow:0 0 0 13px rgba(216,171,114,.035),0 0 0 35px rgba(216,171,114,.02),0 30px 80px rgba(4,3,9,.23)}
.atlas-panel-symbol::before,.atlas-panel-symbol::after{content:"";position:absolute;inset:11%;border-radius:50%;border:1px solid rgba(229,190,119,.36);transform:rotate(35deg) scaleX(.63)}
.atlas-panel-symbol::after{inset:21%;transform:rotate(-45deg) scaleX(.54);border-color:rgba(239,212,159,.22)}
.atlas-panel-symbol span{z-index:1;font:italic 400 clamp(3.8rem,7vw,6.5rem)/1 Georgia,serif;color:rgba(249,220,164,.87);text-shadow:0 0 35px rgba(237,185,111,.28)}
.atlas-panel:target .atlas-panel-symbol{box-shadow:0 0 0 13px rgba(216,171,114,.06),0 0 0 35px rgba(216,171,114,.025),0 0 65px rgba(237,180,111,.24)}
.atlas-panel:target .atlas-count{color:#ffebb9}
.atlas-outro{text-align:center;max-width:680px;margin:4rem auto 0;padding:2rem 1rem}
.atlas-outro h3{font:400 clamp(2rem,3.8vw,3.3rem)/1.14 Georgia,serif;color:#f2e4d8;margin:.4rem 0 1.2rem}
.atlas-outro p{font-size:.93rem;line-height:1.8;color:#d5c4d7}
.atlas-outro a{display:inline-block;color:#f4d39c;font-size:.9rem;margin-top:1rem}
.journey-bridge{padding-top:clamp(2rem,5vw,4.8rem);padding-bottom:clamp(2rem,5vw,4.8rem);border-top:1px solid rgba(234,194,129,.18)}
.journey-bridge-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.6fr);align-items:center;gap:clamp(1.5rem,5vw,4.5rem)}
.journey-bridge h2{font:400 clamp(2rem,4vw,3.65rem)/1.13 Georgia,serif;color:#f8e5d6;margin:.4rem 0 1rem}
.journey-bridge p:not(.eyebrow){font-size:.98rem;line-height:1.7;color:#d8c9d9;max-width:56ch}
.journey-bridge-links{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.connected-next-step{border-top:1px solid rgba(228,191,138,.32);border-bottom:1px solid rgba(228,191,138,.18);margin:clamp(2.5rem,5vw,4rem) 0;padding:clamp(1.5rem,3vw,3rem) 0}
.connected-next-step .eyebrow{font-size:.65rem;letter-spacing:.22em;color:#e2c48b}
.connected-next-step h2{font:400 clamp(1.9rem,3.8vw,3rem)/1.15 Georgia,serif;color:#f3e4dc;margin:.6rem 0 .8rem}
.connected-next-step p:not(.eyebrow){font-size:.95rem;line-height:1.8;color:#d8cad9;max-width:64ch}
.connected-next-step a{display:inline-block;color:#f4d39c;margin:1rem 1rem 0 0;font-size:.82rem;text-decoration:none;border-bottom:1px solid rgba(230,197,142,.54);padding-bottom:.3rem}
.connected-next-step a:hover{color:#fff4df;border-color:#fff4df}
@media(max-width:900px){
 .site-journey-nav--atelier{width:100%;justify-content:center;margin:1rem 0 0}
 .atlas-index{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:1.55rem}
 .atlas-index::before{display:none}
 .atlas-panel{gap:2rem;padding-left:0;padding-right:0}
}
@media(max-width:680px){
 .site-journey-nav{gap:.45rem 1rem}
 .site-journey-nav a{font-size:.61rem}
 .atlas-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem .8rem}
 .atlas-index a{font-size:.64rem}
 .atlas-panel,.atlas-panel:nth-child(even){display:flex;flex-direction:column;align-items:flex-start;gap:1.8rem;min-height:0;padding:3rem 0 3.6rem}
 .atlas-panel .atlas-panel-symbol,.atlas-panel:nth-child(even) .atlas-panel-symbol{order:0;align-self:center;width:min(54vw,205px)}
 .atlas-panel-body{order:1}
 .atlas-panel h3{font-size:clamp(2.7rem,10vw,4rem)}
 .journey-bridge-inner{grid-template-columns:1fr}
 .desire-choice{min-height:68px;padding:1rem .75rem}
}
@media(prefers-reduced-motion:reduce){.site-journey-nav a,.atlas-index .atlas-node,.atlas-index a,.desire-choice,.desire-choice-arrow{transition:none}.desire-choice:hover .desire-choice-arrow{transform:none}}

/* The optional two-dimension lens stays hidden until its authored JS is ready. */
.atlas-lens{max-width:920px;margin:clamp(3rem,6vw,6rem) auto 0;padding:clamp(1.6rem,4vw,3.5rem);background:linear-gradient(145deg,rgba(66,37,68,.72),rgba(23,14,31,.85));border:1px solid rgba(230,190,124,.3);position:relative}
.atlas-lens::before{content:"";position:absolute;inset:9px;pointer-events:none;border:1px solid rgba(230,190,124,.07)}
.atlas-lens>.eyebrow{color:#f0d4a0}
.atlas-lens h3{font:400 clamp(2rem,4vw,3.3rem)/1.12 Georgia,serif;color:#f8ebdf;max-width:20ch;margin:.6rem 0 1rem}
.atlas-lens-intro,.atlas-lens-note{font:.95rem/1.85 "Avenir Next",Arial,sans-serif;color:#d8c9d7;max-width:65ch}
.atlas-lens-controls{display:none;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.3rem;margin:2rem 0}
.atlas-lens[data-ready="true"] .atlas-lens-controls{display:flex}
.atlas-lens-field{flex:1 1 190px;display:flex;flex-direction:column;gap:.5rem}
.atlas-lens-field label{font:.7rem/1.4 "Avenir Next",Arial,sans-serif;color:#e7c998;text-transform:uppercase;letter-spacing:.12em}
.atlas-lens-field select{appearance:auto;width:100%;min-height:48px;border:1px solid rgba(233,193,134,.45);background:#2d1d32;color:#fff1e5;font:1rem/1.3 "Avenir Next",Arial,sans-serif;padding:.6rem .8rem;border-radius:0}
.atlas-lens-field select:focus-visible{outline:2px solid #f1d39d;outline-offset:3px}
.atlas-lens-connector{font:2rem/1 Georgia,serif;color:#e9c790;padding-bottom:.55rem}
.atlas-connection{font:italic 400 clamp(1.18rem,2vw,1.55rem)/1.7 Georgia,serif;color:#f0dfcd;max-width:57ch;margin:1.6rem 0 1rem;padding-left:1rem;border-left:2px solid rgba(229,187,123,.65)}
.atlas-lens .atlas-connection,.atlas-lens .atlas-lens-controls+.atlas-connection{display:none}
.atlas-lens[data-ready="true"] .atlas-connection{display:block}
@media(max-width:680px){.atlas-lens-connector{display:none}.atlas-lens{padding:1.5rem}.atlas-lens-controls{gap:1rem}}

/* Override legacy narrow-screen rule that otherwise hid every nav item except Invitation. */
@media(max-width:760px){
  .site-header{position:relative;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1.05rem .65rem 1rem;text-align:center}
  .site-header nav.site-journey-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:.3rem .8rem;max-width:100%;font-size:.61rem;letter-spacing:.07em}
  .site-header nav.site-journey-nav a:not(.nav-last){display:inline-flex}
  .site-header nav.site-journey-nav a{padding:.4rem .12rem;font-size:.61rem}
  .site-journey-nav--atelier{justify-content:center;gap:.35rem .8rem;margin:.7rem 0 0}
  .site-journey-nav--atelier a{font-size:.6rem}
}
@media(max-width:380px){
  .site-header nav.site-journey-nav{gap:.2rem .6rem}
  .site-header nav.site-journey-nav a{font-size:.57rem}
}
