@font-face{font-family:DM;src:url('./assets/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
:root{--ink:#203f37;--muted:#697b73;--green:#234f40;--lime:#dfeaaf;--paper:#f6f7f3;--line:#dfe5dd;--ease:cubic-bezier(.22,.8,.22,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a,textarea,.slot,.slot *,.subcategory-bar,.subcategory-bar *{-webkit-tap-highlight-color:transparent}button,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:active:not(.click-away-target){transform:scale(.97)}button{transition:background .2s,transform .2s,box-shadow .2s}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:4px}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.masthead{max-width:1220px;margin:auto;padding:25px 34px;display:flex;align-items:center;gap:24px;font-size:10px;letter-spacing:.16em}.brand{font-size:31px;font-weight:800;letter-spacing:-.1em;text-decoration:none;color:var(--ink);line-height:1}.brand span{font-size:23px;vertical-align:top;display:inline-block;margin:0 0 0 3px}.masthead i{font-style:normal;opacity:.5;margin-left:8px}.prototype{margin-left:auto;color:var(--muted);letter-spacing:0;font-size:12px}
main{max-width:1060px;margin:auto;padding:30px 30px 0}.intro{margin:10px 0 30px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:650;color:var(--muted)}h1{font-size:clamp(44px,6vw,76px);line-height:1.02;letter-spacing:-.065em;font-weight:500;margin:23px 0 18px}h1 em{font-style:normal;color:#7f926c}.lede{font-size:16px;color:var(--muted);margin:0}.jump{display:flex;gap:8px;position:sticky;top:0;z-index:10;background:rgba(246,247,243,.94);backdrop-filter:blur(14px);padding:14px 0;margin-bottom:33px}.jump a{border:1px solid var(--line);border-radius:30px;padding:12px 18px;text-decoration:none;color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums}.jump a span{margin-left:8px;color:var(--muted)}.jump a:hover:not(.click-away-target){background:white;border-color:#b4c2b5}
.studies{display:grid;grid-template-columns:1fr 1fr;gap:62px 44px;align-items:start}.study{min-width:0;scroll-margin-top:85px}.study-label{display:flex;align-items:center;justify-content:space-between;margin:0 3px 17px}.concept-number{font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 6px;color:var(--muted)}h2{font-weight:550;font-size:20px;letter-spacing:-.035em;margin:0}.reset{border:0;background:none;color:var(--muted);display:flex;gap:7px;align-items:center;padding:12px 0 12px 12px;font-size:11px;min-height:44px}.reset svg{width:15px;height:15px}.offering{background:#fff;border:1px solid var(--line);border-radius:29px;overflow:hidden;box-shadow:0 3px 3px #173a2e02,0 17px 32px -25px #173a2e30}.card-top{display:flex;align-items:center;gap:12px;padding:28px 28px 0}.service-icon{display:grid;place-items:center;background:#f0f3eb;color:#5b755e;width:43px;height:43px;border-radius:14px}.service-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.service-label{font-size:10px;letter-spacing:.17em;color:var(--muted)}.card-dot{width:6px;height:6px;border-radius:50%;background:#a4b78c;margin-left:auto}h3{font-size:31px;line-height:1.09;font-weight:500;letter-spacing:-.045em;margin:25px 28px 27px}.price{display:flex;align-items:center;gap:10px;margin:0 28px 25px;font-size:13px}.price span:last-child{color:#78877e;font-size:11px}.price span:first-child:before{content:'$';display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;font-size:12px;margin-right:8px;color:var(--muted)}
.subsurface{margin:0 12px 12px;border-radius:19px;background:#f6f8f3;transition:background .35s}.reveal{display:flex;align-items:center;justify-content:space-between;text-align:left;border:0;background:transparent;width:100%;min-height:66px;padding:17px 18px;border-radius:19px}.reveal-copy{display:flex;align-items:baseline;gap:9px;font-size:14px;font-weight:550}.reveal small{font-size:11px;font-weight:400;color:var(--muted)}.reveal-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid #dce3d8;border-radius:50%;background:#fff8}.reveal-mark svg{transition:transform .4s var(--ease);width:17px}.open .reveal-mark svg{transform:rotate(180deg)}.grow{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}.open .grow{grid-template-rows:1fr}.grow-inner{min-height:0;overflow:hidden}.workspace{padding:2px 14px 5px;position:relative}.items{min-width:0}.slot{position:relative;min-width:0;background:#fff;border:1px solid #d9e1d5;box-shadow:0 2px 3px #1d473006;border-radius:15px;transition:background .2s,border-color .2s,box-shadow .2s;cursor:text;overflow:hidden}.slot:focus-within{border-color:#3c6550;background:#fff;box-shadow:0 0 0 3px #52714d13}.slot-num{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#94a38f;pointer-events:none}.pencil{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:#92a08e;pointer-events:none}.slot-top{display:flex;align-items:center;justify-content:space-between;pointer-events:none}.slot textarea{border:0;resize:none;background:transparent;display:block;width:100%;padding:0;margin:0;outline:none;font-size:16px;line-height:1.35;overflow:hidden;min-width:0;caret-color:var(--green)}.slot textarea::placeholder{color:#85927f;font-size:13px;font-weight:400}.slot.has-value{background:#edf3e7;border-color:#d2dfc7}.slot.has-value .pencil{color:#69865b}.add{border:1px dashed #b5c4aa;background:transparent;border-radius:15px;color:#6c825b;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:550;min-width:48px;min-height:48px}.add:hover:not(.click-away-target){background:#e6eddc;border-color:#82986b}.add:active:not(.click-away-target){background:#dfeaaf}.add svg{width:23px;height:23px}.lower-line{display:flex;justify-content:space-between;align-items:center;padding:9px 17px 12px;min-height:55px}.count{font-size:10px;color:#788970;letter-spacing:.02em}.done{border:0;background:none;display:flex;align-items:center;gap:8px;font-size:12px;min-height:44px;padding:8px 0 8px 15px}.done svg{width:15px;height:15px}.caption{font-size:12px;line-height:1.5;color:var(--muted);margin:16px 5px 0;max-width:330px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{font-size:11px;text-align:center;color:var(--muted);padding:65px 0 35px}
/* 1: spacious tile field, grows downward in two columns. */
.tiles .workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tiles .items{display:contents}.tiles .slot{padding:14px;min-height:125px}.tiles .slot-top{margin-bottom:24px}.tiles textarea{min-height:40px}.tiles .add{min-height:125px;flex-direction:column}.tiles .add svg{width:27px;height:27px}
/* 2: a finite first pair; the strip scrolls only when there is real overflow. */
.strip .subsurface{background:#eff3ee}.strip .workspace{display:flex;gap:10px;padding:3px 14px 9px}.strip .items{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#c8d5be transparent;padding:3px 2px 9px;flex:1}.strip .slot{flex:0 0 155px;scroll-snap-align:start;min-height:145px;padding:15px;background:linear-gradient(155deg,#fff,#f8faf5)}.strip .slot-top{margin-bottom:33px}.strip textarea{min-height:58px}.strip .add{flex:0 0 48px;align-self:stretch;margin:3px 0 9px;flex-direction:column;background:#e8efdc;border:0;border-radius:25px}.strip .lower-line{padding-top:0}.strip .has-value{background:linear-gradient(155deg,#edf4e8,#e2ebd6)}
/* 3: a flowing collection of capsules; the touched capsule opens into a full-width writing surface. */
.chips .subsurface{background:#f3f5ee}.chips .workspace{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:3px 16px 10px}.chips .items{display:contents}.chips .slot{border-radius:25px;flex:0 1 auto;width:112px;min-height:49px;padding:14px 17px;background:#fff;border-color:#dbe2d3;transition:width .32s var(--ease),border-radius .3s,background .3s}.chips .slot-top{display:none}.chips .slot textarea{height:20px;font-size:14px;line-height:20px;min-height:20px}.chips .slot textarea::placeholder{font-size:12px}.chips .slot:focus-within{width:100%!important;flex-basis:100%;border-radius:17px;padding:18px;background:#fff;order:0}.chips .slot:focus-within textarea{font-size:17px;min-height:46px;line-height:24px}.chips .slot.has-value{background:#e4edda}.chips .add{border-radius:50%;height:49px;width:49px;flex:0 0 49px;border-style:solid;background:#dfeaaf;border-color:#dfeaaf}.chips .add span{display:none}
/* 4: stacked cards spread on contact. Each tab is still its own editable surface. */
.fold .subsurface{background:#eaf0e5}.fold .workspace{padding:6px 16px 10px;display:flex;align-items:flex-start;gap:10px}.fold .items{flex:1;padding:0 0 6px}.fold .slot{position:relative;padding:15px 15px 14px;min-height:78px;border-radius:14px;box-shadow:0 -2px 6px #234f4005,0 8px 10px -9px #234f4050;transition:padding .35s var(--ease),min-height .35s var(--ease),margin .35s var(--ease),transform .35s var(--ease);background:#fff}.fold .slot+.slot{margin-top:-10px}.fold .slot:nth-child(even){background:#f9fbf5}.fold .slot-top{margin-bottom:6px}.fold textarea{height:22px;font-size:14px}.fold .slot:focus-within{min-height:155px;padding:18px 15px 24px;z-index:2;transform:translateX(-3px) rotate(-.6deg);margin-bottom:8px}.fold .slot:focus-within textarea{font-size:18px;min-height:58px;margin-top:18px}.fold .has-value{background:#f0f5e9!important}.fold .add{flex:0 0 47px;width:47px;height:78px;border-radius:15px;flex-direction:column;background:#f5f8f0}.fold .slot textarea::placeholder{font-size:12px}
@media(min-width:850px){.intro br{display:none}.intro h1{font-size:68px}.intro{margin:15px 0 22px}.jump{margin-bottom:38px}}
@media(max-width:600px){.masthead{padding:22px 22px}.masthead>span:not(.prototype){font-size:9px;letter-spacing:.12em}.prototype{display:none}main{padding:16px 18px 0}.intro{margin:5px 7px 22px}h1{font-size:58px}.studies{grid-template-columns:1fr;gap:48px}.jump{gap:6px;margin-bottom:25px;padding:12px 0}.jump a{padding:12px 11px;flex:1;text-align:center;font-size:11px}.jump a span{margin-left:4px}.card-top{padding:25px 23px 0}h3{font-size:30px;margin:23px 23px 25px}.price{margin-left:23px}.subsurface{margin:0 9px 9px}.reveal{padding:16px}.study{scroll-margin-top:80px}.caption{margin-left:7px}.fold .workspace{padding-left:12px;padding-right:12px}.strip .slot{flex-basis:148px}}
@media(max-width:350px){main{padding:12px}.jump a{padding:12px 7px}.reveal-copy{gap:6px}.reveal small{font-size:10px}.tiles .slot{padding:11px}.card-top{padding-top:22px}h3{font-size:28px}.strip .slot{flex-basis:139px}}
[hidden]{display:none!important}.slot.named{cursor:pointer}.slot.named>.slot-top .pencil{visibility:hidden}.slot-enter{border:0;background:none;text-align:left;width:100%;padding:0;display:flex;align-items:flex-end;gap:8px;font-size:16px;line-height:1.35;min-height:44px;overflow-wrap:anywhere}.slot-enter span{flex:1;min-width:0}.slot-enter svg{width:14px;height:14px;flex:0 0 14px;margin-bottom:3px;color:#6c825b}.slot-edit{position:absolute;right:0;top:0;border:0;background:none;width:44px;height:44px;display:grid;place-items:center;border-radius:14px}.slot-edit .pencil{width:14px;height:14px}.slot-enter:focus-visible{outline-offset:2px;border-radius:4px}.offering{scroll-margin-top:85px}.offering.parked{border-radius:20px;background:#edf1e8;box-shadow:none}.parked>.card-top,.parked>h3,.parked>.price,.parked>.subsurface{display:none}.parent-return{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;background:none;text-align:left;padding:17px 20px;font-size:14px;line-height:1.4}.parent-return span{min-width:0}.parent-return small{display:block;font-size:9px;letter-spacing:.14em;color:var(--muted);margin-bottom:4px}.parent-return svg{flex:0 0 18px;color:#708566}.child-card{margin-top:12px}.child-card h3{overflow-wrap:anywhere}.child-card h3:focus{outline:none}
.level-context{padding:14px 16px 0;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.level-context button{border:0;background:none;font-size:12px;min-height:44px;color:var(--muted);max-width:100%;overflow-wrap:anywhere;text-align:left}.level-heading{padding:19px 18px 9px}.level-heading h4{font-size:27px;line-height:1.12;letter-spacing:-.035em;font-weight:500;margin:0 0 12px;overflow-wrap:anywhere}.level-price{font-size:11px;color:var(--muted)}.inside>h3{font-size:24px;margin-bottom:20px;overflow-wrap:anywhere}.inside .reveal{min-height:62px}.trail .level-context{gap:4px}.trail .level-context button{border-radius:12px;padding:9px 11px;background:#e9efdf}.trail .level-context button.selected{background:var(--green);color:#fff}.trail-arrow{color:#94a189;font-size:16px}.trail .level-heading{padding-top:23px}.bands .level-context{display:block;padding:0}.bands .level-context button{display:flex;align-items:center;gap:12px;border-bottom:1px solid #d5dfce;border-radius:0;width:100%;padding:15px 18px;background:#e9efdf;min-height:58px}.bands .level-context button:first-child{border-radius:19px 19px 0 0}.bands .level-context small{font-size:8px;letter-spacing:.12em;color:#7c8a72;flex:0 0 75px}.bands .level-context span{flex:1;min-width:0;font-size:14px;color:var(--ink)}.bands .level-context svg{width:14px;height:14px;flex:0 0 14px;transform:rotate(-90deg)}.bands .level-heading{padding-top:24px}.focus>.level-context{padding:0}.focus .offering>.level-context{margin:17px 24px 0;padding:0;border-top:1px solid var(--line);padding-top:8px;justify-content:space-between}.focus .level-context button{font-size:12px}.focus .inside>h3{font-size:34px;margin-top:10px}.focus .inside .card-top{padding-top:22px}.tokens .level-context{gap:7px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:5px}.tokens .level-context button{background:#e7efdc;border:1px solid #d3dfc6;border-radius:12px;padding:9px 12px;min-width:82px;max-width:140px;flex:0 0 auto;box-shadow:0 2px 2px #234f4005;transform:rotate(-2deg)}.tokens .level-context button:nth-child(odd){transform:rotate(2deg)}.tokens .level-context button:first-child{border:0;box-shadow:none;background:none;min-width:32px;font-size:22px;transform:none;padding:4px}.tokens .level-context small{display:block;font-size:9px;color:#8d9f7d;margin-bottom:7px}.tokens .level-context span{display:block;font-size:12px;color:var(--ink);overflow-wrap:anywhere}.tokens .level-heading{padding-top:18px}.offering>h3{overflow-wrap:anywhere}.slot-enter{overflow-wrap:anywhere}.level-context button:active:not(.click-away-target){transform:scale(.96)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep the offering intact: branch navigation lives beside its existing label. */
.subcategory-bar{display:flex;align-items:center;flex-wrap:wrap;gap:0;padding:8px 14px}
.subcategory-bar .reveal{width:auto;flex:1;min-height:50px;padding:8px 2px;gap:10px}
.subcategory-bar:has(.level-context:not([hidden])) .reveal{flex:0 0 auto}
.subcategory-bar:has(.level-context:not([hidden])) .reveal-mark{display:none}
.study .subcategory-bar .level-context{display:flex;flex:1;min-width:0;flex-wrap:wrap;gap:5px;padding:0 0 0 10px;margin:0;overflow:visible;border:0}
.study .subcategory-bar .level-context button{width:auto;min-width:0;max-width:100%;min-height:40px;padding:8px 11px;border:0;border-radius:12px;background:transparent;box-shadow:none;transform:none;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.study .subcategory-bar .level-context button.selected{background:var(--green);color:white}
.study .subcategory-bar .level-context button:hover:not(.click-away-target){background:#e3ecd9;color:var(--ink)}
.slot-sub{display:flex;align-items:center;border:0;background:transparent;border-top:1px solid #d4dfcb;width:100%;min-height:40px;padding:9px 0 0;margin-top:8px;font-size:11px;color:#617d50;text-align:left}
.slot-sub:hover:not(.click-away-target){color:var(--green)}
.slot.named .slot-top{margin-bottom:12px}
.slot-enter{min-height:32px}
.slot-sub:focus-visible{outline-offset:2px;border-radius:3px}

/* Naming changes opacity/content only, never the surrounding layout. */
.subcategory-bar{height:66px;flex-wrap:nowrap;overflow:hidden}
.study .subcategory-bar .level-context{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;height:50px;align-items:center}
.study .subcategory-bar .level-context::-webkit-scrollbar{display:none}
.study .subcategory-bar .level-context button{flex:0 0 auto;max-width:none;white-space:nowrap;min-height:40px}
.subcategory-bar .reveal-copy{white-space:nowrap}
.tiles .slot{display:grid;grid-template-rows:14px minmax(40px,auto) 40px;align-content:start;row-gap:12px;min-height:146px}
.tiles .slot-top,.slot.named .slot-top{margin-bottom:0}
.tiles .slot textarea,.tiles .slot-enter{grid-row:2;min-height:var(--name-height,40px);align-items:center}
.tiles .slot-sub{grid-row:3;margin:0;padding:8px 0 0;height:40px;min-height:40px;transition:opacity .22s}
.slot-sub.unavailable{opacity:0;pointer-events:none}
.tiles .slot textarea,.tiles .slot-enter{grid-column:1}
.slot.named textarea{opacity:0;pointer-events:none}
.slot.named .slot-enter{z-index:1}

/* The disclosure remains the full header; names sit above its middle area. */
.subcategory-bar{position:relative}
.subcategory-bar .reveal,.subcategory-bar:has(.level-context:not([hidden])) .reveal{position:absolute;inset:8px 14px;width:calc(100% - 28px);height:50px;display:flex;justify-content:space-between}
.subcategory-bar:has(.level-context:not([hidden])) .reveal-mark{display:grid}
.study .subcategory-bar .level-context{position:absolute;left:126px;right:52px;top:8px;width:auto;padding-left:4px;pointer-events:auto;touch-action:pan-x pan-y;overscroll-behavior-x:contain;user-select:none;-webkit-user-select:none}
.study .subcategory-bar .level-context button{pointer-events:auto}

html{scrollbar-gutter:stable}
html.overlay-open{overflow:hidden}
.subcategory-overlay{padding:0;border:1px solid #e1e7dc;border-radius:28px;background:#fbfcf8;color:var(--ink);width:min(440px,calc(100vw - 36px),calc(100dvh - 64px));max-width:none;max-height:none;aspect-ratio:1;margin:auto;box-shadow:0 30px 90px -25px #102c3655;overflow:hidden}
.subcategory-overlay[open]{animation:overlay-arrive .38s cubic-bezier(.2,.8,.2,1) both}
.subcategory-overlay::backdrop{background:#17332b30;backdrop-filter:blur(5px);animation:veil-arrive .3s ease both}
.overlay-back{position:absolute;left:16px;top:16px;width:44px;height:44px;border:1px solid #dfe6d8;border-radius:50%;background:#f0f4e9;display:grid;place-items:center;color:var(--ink)}
@media(hover:hover) and (pointer:fine){.subcategory-overlay .overlay-back:hover:not(.click-away-target) svg{background:#e6eedb}}
.overlay-back svg{width:21px;height:21px}
.subcategory-overlay.leaving{animation:overlay-leave .18s ease both}
.subcategory-overlay.leaving::backdrop{animation:veil-leave .18s ease both}
@keyframes overlay-arrive{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}
@keyframes overlay-leave{to{opacity:0;transform:translateY(6px) scale(.97)}}
@keyframes veil-arrive{from{opacity:0}to{opacity:1}}
@keyframes veil-leave{to{opacity:0}}

/* Reuse the offering card inside the existing overlay. */
.subcategory-overlay{aspect-ratio:auto;max-height:calc(100dvh - 40px);overflow-y:auto;background:#fff;scrollbar-width:thin}
.subcategory-overlay .overlay-back{position:sticky;display:grid;top:16px;left:16px;margin:16px 0 0 16px;z-index:2}
.subcategory-overlay>.study>.study-label,.subcategory-overlay>.study>.caption{display:none}
.subcategory-overlay .offering{border:0;border-radius:0;box-shadow:none}
.subcategory-overlay .card-top{padding-top:22px}
.subcategory-overlay .service-label{line-height:1.5;letter-spacing:.1em;max-width:260px;overflow-wrap:anywhere}
.subcategory-overlay .card-dot{flex-shrink:0}
.subcategory-overlay .subsurface{margin-bottom:12px}

.studies{grid-template-columns:minmax(0,1fr);max-width:480px;margin:44px auto 0}
.start-offering{display:flex;align-items:center;justify-content:center;gap:10px;width:min(100%,480px);min-height:72px;margin:34px auto 0;border:1px dashed #b8c7ad;border-radius:22px;background:#eff3e9;color:var(--green);font-size:17px;font-weight:500}
.start-offering:hover:not(.click-away-target){background:#e7efdc}
.start-offering svg{width:24px;height:24px}
.offering-name{font:inherit;letter-spacing:inherit;line-height:1.15;color:inherit;border:0;border-bottom:1px solid #dce5d5;background:transparent;resize:none;width:100%;min-height:76px;padding:0 0 12px;outline:none;display:block}
.offering-name::placeholder{color:#8a9b80}
.offering-name:focus{border-bottom-color:#789264}

.subcategory-overlay .overlay-back{display:flex;align-items:center;gap:12px;width:calc(100% - 32px);height:auto;min-height:44px;border:0;border-radius:0;background:white;text-align:left;padding:0;color:var(--muted);font-size:12px}
.subcategory-overlay .overlay-back svg{box-sizing:content-box;flex:0 0 21px;padding:11px;border:1px solid #dfe6d8;border-radius:50%;background:#f0f4e9;color:var(--ink)}
.back-parent{text-transform:uppercase;line-height:1.45;overflow-wrap:anywhere;padding-right:12px}
.subcategory-overlay .parent-context .card-top{display:none}
.subcategory-overlay .parent-context h3{margin-top:28px}

.saved-status{display:block;min-height:20px;margin:8px 24px 0;text-align:right;color:#75876d;font-size:10px}
.saved-status:empty{display:none}
.draft-list{max-width:480px;margin:30px auto 0;display:grid;gap:14px}
.draft-list:empty{display:none}
.draft-card{position:relative;display:flex;flex-direction:column;gap:13px;width:100%;border:1px solid var(--line);border-radius:26px;background:white;text-align:left;padding:25px 52px 25px 25px;box-shadow:0 12px 25px -24px #173a2e40}
.draft-tag{font-size:10px;letter-spacing:.14em;color:var(--muted)}
.draft-card strong{font-weight:500;font-size:29px;letter-spacing:-.04em;overflow-wrap:anywhere}
.draft-detail{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.draft-card>svg{position:absolute;right:22px;top:calc(50% - 10px);color:#7d9270}
.draft-card:hover:not(.click-away-target){background:#fafcf7;border-color:#b7c6ad}
.saved-status{position:absolute;right:22px;top:25px;margin:0;max-width:120px;pointer-events:none}.subcategory-overlay:has(.saved-status:not(:empty))>.overlay-back{padding-right:125px}
.saved-status{z-index:3}

.saved-offering>.study-label,.saved-offering>.caption{display:none}
.offering-title-edit{border:0;background:transparent;padding:0;text-align:left;font:inherit;letter-spacing:inherit;line-height:inherit;width:100%;overflow-wrap:anywhere}
.offering-title-edit:hover:not(.click-away-target){color:#52704a}
.draft-list{gap:26px}

.store-preview{max-width:480px;margin:36px auto 0;padding:23px 16px 16px;background:white;border:1px solid var(--line);border-radius:29px;box-shadow:0 17px 32px -25px #173a2e30}
.preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 7px 19px}
.preview-count{font-size:11px;color:var(--muted)}
.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;max-height:360px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c8d5be transparent}
.preview-tile{min-height:158px;background:linear-gradient(145deg,#f3f6ee,#eaf0e3);border:1px solid #dce5d3;border-radius:18px;padding:17px;display:flex;flex-direction:column;justify-content:space-between;gap:22px}
.preview-mark{font-size:10px;letter-spacing:.1em;color:#8d9e80}
.preview-tile h3{font-size:19px;line-height:1.2;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.preview-empty{font-size:14px;color:var(--muted);padding:10px}
.preview-grid{max-height:480px;padding:4px;gap:12px}
.preview-tile{aspect-ratio:1;min-height:0;min-width:0;width:100%;padding:13px 12px 9px;gap:0;text-align:left;background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:0 5px 14px -10px #203f3730;display:grid;grid-template-rows:26px minmax(0,1fr) 24px 36px;transition:border-color .2s,box-shadow .2s,transform .2s}
.preview-tile:hover:not(.click-away-target){border-color:#adc09f;box-shadow:0 8px 20px -12px #203f3755}
.preview-tile{grid-template-columns:minmax(0,1fr)}
.preview-top{display:flex;align-items:center;gap:7px;min-width:0}
.preview-icon{height:26px;width:26px;border-radius:9px;background:#f0f3eb;display:grid;place-items:center;flex-shrink:0;color:#688263}
.preview-icon svg{width:20px;height:20px}
.preview-parent{font-size:8px;letter-spacing:.1em;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.preview-dot{margin-left:auto;flex:0 0 4px;height:4px;border-radius:50%;background:#a5b78d}
.preview-title{align-self:center;font-size:clamp(16px,2vw,21px);font-weight:500;line-height:1.12;letter-spacing:-.04em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.preview-price{display:flex;align-items:center;gap:5px;font-size:10px;white-space:nowrap}
.preview-price>span{border:1px solid var(--line);border-radius:50%;width:17px;height:17px;display:grid;place-items:center;color:var(--muted)}
.preview-price small{font-size:8px;color:var(--muted)}
.preview-sub{align-self:end;display:grid;grid-template-columns:minmax(0,1fr) 15px;align-items:center;gap:1px 4px;background:#f5f7f0;border-radius:11px;padding:6px 8px;margin:0 -5px;font-size:9px;font-weight:550;line-height:1.2}
.preview-sub small{grid-column:1;font-size:8px;font-weight:400;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preview-sub svg{grid-column:2;grid-row:1 / 3;width:14px;height:14px}
@media(max-width:360px){.store-preview{padding:19px 10px 10px}.preview-grid{gap:8px}.preview-tile{padding:10px 9px 7px;grid-template-rows:23px minmax(0,1fr) 22px 33px}.preview-title{font-size:14px}.preview-parent{font-size:7px}.preview-icon{width:23px;height:23px}.preview-top{gap:5px}}
.remove-offering{border:0;background:transparent;color:#8a9d80;font-size:23px;width:44px;height:44px;margin-left:auto;border-radius:50%;font-weight:300}
.remove-offering:hover:not(.click-away-target){background:#f0f3eb;color:var(--ink)}
.removal-notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:24px;background:var(--green);color:white;padding:6px 10px 6px 18px;border-radius:18px;z-index:20;box-shadow:0 8px 32px #203f3733;font-size:13px;white-space:nowrap}
.removal-notice button{border:0;background:transparent;color:#dfeaaf;min-height:44px;padding:0 12px}

.preview-add{aspect-ratio:1;min-width:0;width:100%;border:1px dashed #b5c4aa;border-radius:21px;background:#f6f8f1;color:#6c825b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:550}.preview-add svg{width:29px;height:29px;stroke-width:1.5}.preview-add:hover:not(.click-away-target){background:#eaf0e2;border-color:#82986b}

.subcategory-overlay .overlay-back{width:calc(100% - 88px)}.overlay-trash{position:absolute;right:16px;top:16px;z-index:3;width:44px;height:44px;border:1px solid #e4e8de;border-radius:50%;background:#f7f8f3;color:#7c8273;display:grid;place-items:center}.overlay-trash:hover:not(.click-away-target){background:#f4e9e3;color:#925d4e}.subcategory-overlay .saved-status{top:65px;right:24px;max-width:180px}.subcategory-overlay:has(.saved-status:not(:empty))>.overlay-back{padding-right:0}.delete-dialog{width:min(350px,calc(100vw - 44px));padding:26px;border:1px solid var(--line);border-radius:25px;color:var(--ink);background:#fff;box-shadow:0 25px 70px #203f3730}.delete-dialog::backdrop{background:#17332b38;backdrop-filter:blur(5px)}.delete-dialog h2{font-size:23px;line-height:1.2;letter-spacing:-.035em;font-weight:500;margin:0 0 13px;overflow-wrap:anywhere}.delete-dialog p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 24px}.delete-actions{display:flex;gap:10px}.delete-actions button{flex:1;min-height:44px;border:1px solid var(--line);border-radius:14px;font-size:13px;background:#f5f7f0}.delete-actions .delete-confirm{background:#805e51;border-color:#805e51;color:white}

.slot-top{justify-content:flex-end}

/* Approved horizontal Pebble price editor; the editor never changes row height. */
.price-editor{position:relative;height:56px;width:min(224px,calc(100% - 32px));margin:0 16px 20px;border:1px solid #dce4d6;border-radius:22px;background:#f6f8f1;box-shadow:0 4px 12px -8px #23453533;transition:width .38s var(--ease),background .3s,box-shadow .3s}
.price-editor.editing-price{width:calc(100% - 32px)}
.price-toggle{position:absolute;inset:0;display:flex;align-items:center;gap:8px;width:100%;height:54px;padding:6px 10px;border:0;border-radius:21px;background:transparent;text-align:left;transition:opacity .18s,transform .3s var(--ease)}
.price-symbol{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#fff;color:#41624b;font-size:18px;box-shadow:0 2px 5px #244e3610}.price-label{font-size:17px;font-weight:550;letter-spacing:-.03em}.price-summary{font-size:12px;color:#64745f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-toggle svg{width:14px;height:14px;flex:0 0 14px;margin-left:auto;transform:rotate(-90deg)}
.editing-price .price-toggle{opacity:0;transform:translateX(-12px);visibility:hidden;pointer-events:none}
.price-grow{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateX(-18px);clip-path:inset(0 100% 0 0 round 21px);transition:clip-path .38s var(--ease),opacity .2s,transform .38s var(--ease)}
.editing-price .price-grow{opacity:1;visibility:visible;transform:translateX(0);clip-path:inset(0 0 0 0 round 21px)}
.price-clip{height:100%}.price-fields{height:100%;display:grid;grid-template-columns:minmax(45px,1fr) 98px 70px;gap:3px;align-items:center;padding:5px 6px}
.amount-label{min-width:0}.amount-line{display:flex;align-items:center;gap:3px;height:44px;padding:0 6px;background:#fff;border:1px solid #dfe7d7;border-radius:14px;font-size:23px;letter-spacing:-.05em}.amount-line>span{font-size:15px;color:#829773}.amount-line input{width:100%;min-width:0;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-weight:500;font-variant-numeric:tabular-nums}.amount-line input::placeholder{color:#9aab8c}.amount-line:focus-within{border-color:#8ea77a;box-shadow:inset 0 0 0 1px #8ea77a}
.price-type{min-width:0}.price-type select{display:block;width:100%;height:44px;border:0;border-radius:11px;padding:4px 1px;background:#e8eedf;color:#39583e;font:inherit;font-size:12px;cursor:pointer}
.price-actions{display:flex;align-items:center;gap:0;margin:0}.price-actions button{border:0;padding:0;display:grid;place-items:center;height:44px;cursor:pointer}.price-clear{width:28px;flex:0 0 28px;background:transparent;color:#7a8b71;font-size:21px}.price-clear:hover:not(.click-away-target){color:#294d39}
.price-error{position:absolute;left:0;top:58px;z-index:4;max-width:100%;margin:0;padding:7px 10px;border:1px solid #e9c9b8;border-radius:10px;background:#fff8f2;color:#854c37;font-size:11px;line-height:1.3;box-shadow:0 3px 10px #42352b14}.price-invalid .price-grow{clip-path:none}.price-invalid .amount-line{border-color:#aa6249}
.price-editor button:focus-visible,.price-type select:focus-visible{outline:2px solid #72955b;outline-offset:2px}
/* Pebble keeps its round trigger and reveals an open dock beside the amount. */
.price-editor{background:transparent;border-color:transparent;box-shadow:none}
.price-toggle{padding-left:0}
.price-symbol{height:44px;flex-basis:44px;background:linear-gradient(145deg,#e7eddb,#cddbbb);color:#38553d;font-size:23px;box-shadow:inset 0 1px 1px #fff,0 4px 9px #47633d18}
.price-label{font-size:19px}
.price-fields{padding-left:0;padding-right:0;gap:5px}
.amount-line{background:#eff3e7;border-color:#e1e8d8;border-radius:22px;box-shadow:inset 0 2px 5px #3e5c3010}
.price-type select{background:#fff;border:1px solid #dfe7d7;border-radius:15px}

.preview-price{font-size:9px;gap:4px;overflow:hidden}.preview-price>span{flex-shrink:0}
@media(prefers-reduced-motion:reduce){.price-editor,.price-toggle,.price-grow{transition:none}}

@media(max-width:350px){.price-fields{grid-template-columns:minmax(0,1fr) 90px 60px;gap:2px;padding:5px 2px}.amount-line{font-size:20px;padding:0 4px;gap:2px}.price-type select{font-size:11px}.price-clear{width:22px;flex-basis:22px}.price-toggle{gap:6px}}


/* Temporary suggestion treatments, separate from the approved price editor. */
.suggestion-study{max-width:480px;margin:30px auto 0}.suggestion-study>p:not(.eyebrow){font-size:13px;line-height:1.5;color:var(--muted);margin:8px 0 14px}



/* Two open, softly toned search treatments; no right-hand action. */
.suggestion-editor{position:relative;margin:28px 24px 24px;background:none;border:0;box-shadow:none}
.suggestion-query{display:flex;align-items:center;gap:0;padding:0;border-bottom:1px solid #e2e8dc;transition:padding .35s,gap .35s,background .35s}
.query-icon,.suggestion-search{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.query-icon{width:0;height:22px;flex:0 0 0;opacity:0;color:#7e986d;transition:opacity .3s,width .3s,flex-basis .3s}
.subcategory-overlay .parent-context .suggestion-query h3{margin:0;flex:1;min-width:0;font-size:28px;line-height:1.2;letter-spacing:-.04em}
.suggestion-query .offering-name{border:0;min-height:76px;padding:0 0 12px}
.search-active .suggestion-query{padding:12px 10px 10px;gap:10px;border:0;background:linear-gradient(180deg,#f3f7ec00,#edf3e680)}
.search-active .query-icon{width:22px;flex-basis:22px;opacity:1}
.subcategory-overlay .parent-context .search-active .suggestion-query h3{font-size:26px}
.search-active .offering-name{min-height:44px;height:auto!important;field-sizing:content;padding:7px 0;line-height:1.3}
.suggestion-trigger{display:flex;align-items:center;width:100%;height:0;overflow:hidden;padding:0 10px 0 42px;gap:7px;border:0;border-bottom:1px solid transparent;border-radius:0;background:linear-gradient(180deg,#edf3e680,#f8faf5);color:#6b835a;text-align:left;box-shadow:none;cursor:pointer;opacity:0;visibility:hidden;transition:height .3s,opacity .25s,visibility .3s,border-color .3s}
.suggestions-available .suggestion-trigger{height:40px;opacity:1;visibility:visible;border-bottom-color:#bdcfae}.suggestion-caption{font-size:12px;letter-spacing:.01em}.suggestion-trigger svg{display:none}.suggestion-trigger:hover:not(.click-away-target) .suggestion-caption{color:#355b35;text-decoration:underline;text-underline-offset:4px}.suggestion-trigger:focus-visible{outline:2px solid #71945c;outline-offset:-2px}
.suggestion-grow{display:grid;grid-template-rows:0fr;visibility:hidden;opacity:0;transition:grid-template-rows .4s var(--ease),opacity .3s,visibility .4s}.suggestions-open .suggestion-grow{grid-template-rows:1fr;visibility:visible;opacity:1}.suggestion-clip{min-height:0;overflow:hidden}.suggestion-panel{padding:12px 0 2px;background:none;border:0}.suggestion-items{list-style:none;margin:0;padding:0}.suggestion-items li{display:flex;align-items:center;gap:9px;padding:12px 8px;border-bottom:1px solid #e9efdf;color:#46613f;font-size:13px;line-height:1.3}.suggestion-mark{font-size:12px;color:#9aad85}.suggestion-note{font-size:10px;color:#84917c;margin:13px 8px 0}

/* Seam family: one continuous wash grows with the disclosure, never a nested card. */
.suggestion-editor{isolation:isolate}
.suggestion-editor::before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:0 -5px;background:radial-gradient(ellipse at 35% 38%,#e8f0db99,transparent 75%);opacity:0;transition:opacity .35s}
.suggestion-editor.search-active::before{opacity:1}
.search-active .suggestion-query{background:none;padding:14px 0 12px}
.suggestion-trigger{justify-content:center;background:none;padding:0;border-bottom:0;gap:12px}
.suggestions-available .suggestion-trigger{border-bottom:0}
.suggestion-trigger::before,.suggestion-trigger::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#bfceaf)}
.suggestion-trigger::after{transform:rotate(180deg)}
.suggestion-caption{text-decoration:underline;text-decoration-color:#bdcaae;text-underline-offset:4px}
.suggestion-panel{padding:5px 12px 14px}
.suggestion-items{display:flex;flex-direction:column;gap:0}
.suggestion-items li{min-height:44px;padding:12px 5px;border:0;border-bottom:1px solid #c7d4b850;background:none;border-radius:0;font-size:13px}
.suggestion-items li:last-child{border-bottom:0}
.suggestion-note{margin:10px 5px 0}
/* Thread connects individual rows to the query with a fine line and quiet nodes. */
body .suggestion-items{margin-left:7px;padding-left:18px;border-left:1px solid #c5d5b5}
body .suggestion-items li{position:relative;min-height:46px;border-bottom:0;padding-left:0}
body .suggestion-mark{position:absolute;left:-22px;width:7px;height:7px;border-radius:50%;font-size:0;background:#9db487;box-shadow:0 0 0 4px #f5f8ef}
body .suggestion-note{margin-left:25px}
/* Veil is a spacious typographic list, indented beneath the query text. */
@media(max-width:350px){.suggestion-editor{margin-left:18px;margin-right:18px}.subcategory-overlay .parent-context .search-active .suggestion-query h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.suggestion-query,.query-icon,.suggestion-trigger,.suggestion-grow,.suggestion-editor::before{transition:none}}

/* Name/search editing is a quiet mode: deletion returns with the normal card. */
.subcategory-overlay:has(.study:not([hidden]) .suggestion-editor.search-active)>.overlay-trash{visibility:hidden;pointer-events:none}

/* Center within the visible space above the keyboard; preserve card width. */
.subcategory-overlay{position:fixed;inset:auto 0 auto 0;top:var(--overlay-visible-center,50%);translate:0 -50%;margin:0 auto;width:min(440px,calc(100vw - 36px));max-height:max(0px,calc(var(--overlay-visible-height,100dvh) - 40px));overscroll-behavior:contain}

/* Editing reveals one row without snapping the title's font or field height. */
.suggestion-editor{--edit-duration:320ms;--edit-ease:cubic-bezier(.2,.8,.2,1)}
.suggestion-query,.search-active .suggestion-query{min-height:76px;padding:0;gap:0;border-bottom:1px solid transparent;background:none;transition:gap var(--edit-duration) var(--edit-ease),border-color var(--edit-duration) var(--edit-ease)}
.suggestion-query{border-bottom-color:#e2e8dc}
.suggestions-available .suggestion-query{border-bottom-color:transparent}
.search-active .suggestion-query{gap:10px}
.subcategory-overlay .parent-context .suggestion-query h3,.subcategory-overlay .parent-context .search-active .suggestion-query h3{font-size:28px;line-height:1.3}
.suggestion-query .offering-name,.search-active .offering-name{min-height:76px;height:auto!important;field-sizing:content;padding:18px 0;line-height:1.3}
.query-icon{transition:opacity var(--edit-duration) var(--edit-ease),width var(--edit-duration) var(--edit-ease),flex-basis var(--edit-duration) var(--edit-ease)}
.suggestion-trigger{transition:height var(--edit-duration) var(--edit-ease),opacity var(--edit-duration) var(--edit-ease),visibility var(--edit-duration)}
.suggestion-editor::before{transition:opacity var(--edit-duration) var(--edit-ease)}
@media(max-width:350px){.subcategory-overlay .parent-context .suggestion-query h3,.subcategory-overlay .parent-context .search-active .suggestion-query h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.suggestion-query,.query-icon,.suggestion-trigger,.suggestion-editor::before{transition:none}}

/* Approved Thread suggestions with the quiet inline Add tile action. */
.suggestion-items .suggestion-name{flex:1;min-width:0;border:0;background:none;padding:8px 0;text-align:left;color:inherit;font:inherit;cursor:pointer;overflow-wrap:anywhere}
body .suggestion-panel .suggestion-items li{gap:6px;padding-top:0;padding-bottom:0;min-height:46px;font-size:14px}
.suggestion-items .suggestion-add{position:relative;flex:0 0 44px;display:flex;align-items:center;justify-content:center;gap:4px;width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:none;color:#718968;font:inherit;font-size:11px;cursor:pointer;white-space:nowrap;transition:color .22s,transform .22s}
.suggestion-add svg{position:relative;z-index:1;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s}
.suggestion-add span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.suggestion-add:hover:not(.click-away-target){color:#284e3c}
.suggestion-add:active:not(.click-away-target) svg{transform:scale(.9)}
.suggestion-add:focus-visible,.suggestion-name:focus-visible{outline:2px solid #859e72;outline-offset:1px}
.suggestion-add[aria-disabled="true"]{cursor:default;color:#7d8e73}
.suggestion-added .suggestion-name{color:#7d8978}
.suggestion-items .suggestion-add{flex-basis:66px;width:66px;justify-content:flex-end}
.suggestion-add span{position:static;width:auto;height:auto;overflow:visible;clip-path:none;font-size:11px}
.suggestion-add svg{width:13px;height:13px;flex-shrink:0}
body .suggestion-panel .suggestion-note{font-size:11px;line-height:1.5;margin:13px 0 0;color:#889080}
body[data-suggestion-style="1"] .suggestion-panel{padding-left:5px}
@media(prefers-reduced-motion:reduce){.suggestion-add,.suggestion-add svg,.suggestion-add::before{transition:none}}

/* A readable glimpse owns space in the card instead of overlapping Price. */
.suggestion-grow{display:block;height:0;overflow:hidden;visibility:hidden;opacity:0;transition:height 360ms var(--edit-ease),opacity 300ms ease,visibility 360ms}
.suggestion-clip{height:100%}
.suggestions-peek .suggestion-grow{height:88px;visibility:visible;opacity:.75}
.suggestions-peek .suggestion-clip{mask-image:linear-gradient(to bottom,#000 0%,#000 58%,transparent 100%)}
.suggestions-open .suggestion-grow{height:var(--suggestion-full-height,240px);visibility:visible;opacity:1}
@media(prefers-reduced-motion:reduce){.suggestion-grow{transition:none}}

/* The typed offering has a proportionate version of the same quiet action. */
.typed-add{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex:0 0 80px;min-height:44px;padding:0;border:0;background:none;color:#718968;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}
.typed-add[hidden]{display:none}
.typed-add svg{width:16px;height:16px;flex-shrink:0;stroke-width:1.35}
.typed-add:hover:not(.click-away-target){color:#284e3c}
.typed-add:focus-visible{outline:2px solid #859e72;outline-offset:2px}

/* Approved X-only price editor; click-away commits through the shared guard. */
.price-fields{grid-template-columns:minmax(0,1fr) 98px 44px}
.price-clear{width:44px;flex-basis:44px}
@media(max-width:350px){.price-fields{grid-template-columns:minmax(0,1fr) 90px 44px}}

/* Focus reveals the search treatment; only typing invites suggestions. */
.suggestions-awaiting-input .suggestion-caption{visibility:hidden;width:0;overflow:hidden}
.suggestions-awaiting-input .suggestion-trigger{gap:0;cursor:default}

/* Give inline tile naming the same typography as Price, centered in its tile. */
.tiles .slot:not(.named) textarea{grid-row:1 / 4;align-self:center;text-align:center;font-size:19px;font-weight:550;letter-spacing:-.03em;line-height:1.35;padding:7px 0}
.tiles .slot:not(.named) textarea::placeholder{font-size:inherit;font-weight:inherit;color:#85927f}
.tiles .slot:not(.named) .slot-top{grid-column:1;grid-row:1}
.tiles .slot:not(.named) .slot-sub{grid-column:1}

/* Names preview the contents; the entire bar is one disclosure target. */
.subcategory-bar{cursor:pointer}
.study .subcategory-bar .level-context .branch-name{flex:0 0 auto;white-space:nowrap;padding:8px 11px;font-size:12px;color:var(--muted);pointer-events:none}

/* Balanced bottom inset after removing the subcategory footer. */
.tiles .workspace{padding-bottom:14px}

.offering-choice{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #e5e9df;border-radius:30px;padding:20px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #183c3520}
.offering-choice::backdrop{background:#29473c30;backdrop-filter:blur(9px)}
.offering-choice,.offering-choice *{-webkit-tap-highlight-color:transparent}
.offering-choice header{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:12px}
.choice-back{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f0f4e9;border:1px solid #e1e7d9;flex-shrink:0}
.choice-eyebrow{font-size:9px;letter-spacing:.16em;color:#8b987f;margin:0 0 12px}
.choice-content h2{font-size:32px;line-height:1.12;letter-spacing:-.045em;font-weight:500;margin:0 0 25px}
.choice-options{display:grid;gap:10px}
.choice-option{position:relative;display:flex;align-items:center;gap:14px;width:100%;border:0;text-align:left;background:transparent;padding:18px 10px;border-radius:17px;min-width:0}
.choice-icon{flex:0 0 43px;height:43px;border-radius:50%;display:grid;place-items:center;background:#eaf0df;color:#6d855c}
.choice-icon svg{width:24px;height:24px;stroke-width:1.35}
.choice-copy{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.choice-copy strong{font-size:19px;font-weight:550;letter-spacing:-.03em;line-height:1.15}
.choice-copy small{font-size:12px;color:#7d8a77;line-height:1.4}
.choice-arrow{font-size:19px;color:#8da17b;font-weight:400}
.offering-choice .choice-option{background:linear-gradient(100deg,#edf2e5,rgba(247,249,243,.35) 80%,transparent);border-radius:24px 8px 8px 24px;padding:17px 13px}
.offering-choice .choice-icon{background:#fff9}
@media(hover:hover){.choice-option:hover{box-shadow:inset 0 0 0 1px #cbd8be}.choice-option:hover .choice-arrow{color:var(--ink)}}

.offering-choice .choice-content{margin-top:30px}
@media(max-width:350px){.offering-choice{padding:16px}.choice-copy small{font-size:11px}.choice-copy strong{font-size:17px}.choice-content h2{font-size:28px}}
.subcategory-overlay.leaving .overlay-trash{visibility:hidden;opacity:0;transition:none}

/* A newly focused editor follows the keyboard without a second entrance movement. */
.subcategory-overlay.opening-editor[open]:not(.leaving){animation:veil-arrive .18s ease both}
.ready-to-edit .suggestion-editor .suggestion-query,.ready-to-edit .suggestion-editor .query-icon{transition:none}

/* Approved Across subcategory tiles. */
.tiles .slot.named{padding:14px;grid-template-columns:minmax(0,1fr);grid-template-rows:28px minmax(46px,auto) auto 38px;gap:12px;align-content:stretch;min-height:196px;background:#fff;border:1px solid #dde5d8;border-radius:21px;box-shadow:0 5px 12px -10px #274e3933}
.tiles .slot.named .slot-top{grid-area:1 / 1;display:flex;justify-content:flex-start;gap:7px;min-width:0}
.slot-kind-icon{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:10px;background:#f0f4e9;color:#7c9467}
.slot-kind-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.slot-kind{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#7a8774}
.slot-dot{margin-left:auto;width:4px;height:4px;flex:0 0 4px;border-radius:50%;background:#a5b790}
.tiles .slot.named .slot-enter{grid-area:2 / 1;align-self:stretch;align-items:center;font-size:18px;font-weight:500;line-height:1.22;letter-spacing:-.035em;min-height:46px}
.slot-price{grid-area:3 / 1;display:flex;gap:6px;align-items:center;color:#7b8774;font-size:11px;line-height:1.35;min-width:0;overflow-wrap:anywhere;pointer-events:none}
.slot-currency{display:grid;place-items:center;flex:0 0 19px;height:19px;border:1px solid #e3e9dc;border-radius:50%;font-size:12px;color:#829375}
.tiles .slot.named .slot-sub{grid-area:4 / 1;min-height:38px;height:auto;font-size:12px;padding:8px 0 0;border-color:#e3e9dc;align-self:stretch}
.tiles .slot:not(.named) .slot-top,.tiles .slot:not(.named) .slot-price{display:none}
[data-tile-style=across] .tiles .slot.named{border-color:#cfdac7;background:linear-gradient(125deg,#edf3e6,#f8faf5);box-shadow:none;padding-left:22px;border-radius:12px 22px 22px 12px}
[data-tile-style=across] .slot-kind-icon{background:transparent;border-radius:0;width:23px;flex-basis:23px}
[data-tile-style=across] .slot-dot,.slot-parent{display:none}
[data-tile-style=across] .tiles .slot.named .slot-sub{border:0;border-top:1px solid #d9e3d0;padding-top:8px}
@media(max-width:350px){.tiles .slot.named{padding-inline:11px;gap:9px;min-height:188px}.slot-kind{font-size:8px;letter-spacing:.03em}.slot-kind-icon{flex-basis:24px;height:24px}.tiles .slot.named .slot-enter{font-size:17px}[data-tile-style=across] .tiles .slot.named{padding-left:20px}}

/* Suggested customer choices, intentionally seeded for the detailing prototype. */
body .suggestion-items li.vehicle-suggestion{flex-wrap:wrap;padding:8px 0 12px;gap:0 8px}
body .vehicle-suggestion[hidden]{display:none}
.vehicle-suggestion .suggestion-name small{display:block;font-size:11px;font-weight:400;color:#83917b;margin-top:7px;line-height:1.5}
body .vehicle-suggestion .suggestion-add{flex-basis:100%;width:auto;justify-content:flex-start;padding-left:0;min-height:34px}
.vehicle-suggestion button:disabled{cursor:default;opacity:.65}
.choice-group-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 2px;color:#35574b;font-size:15px}
.choice-group-heading button{border:0;background:none;color:#7c8974;font:inherit;font-size:12px;min-height:44px;padding:8px}
.customer-choice-heading{grid-column:1/-1;font-size:15px;font-weight:500;margin:14px 0 0;color:#64785c}

.vehicle-heading{flex:1;padding:8px 0;color:inherit}
.vehicle-pills{display:flex;flex:0 0 100%;min-width:0;max-width:100%;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c8d5be transparent;padding:4px 0 8px;flex-wrap:nowrap}
.vehicle-pill{flex:0 0 auto;min-height:40px;border:1px solid #d5dfce;border-radius:999px;padding:9px 14px;background:#fafbf7;color:#5b7053;font:inherit;font-size:12px;white-space:nowrap;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.vehicle-pill[aria-pressed=true]{background:#e0ead6;border-color:#819b70;color:#294b3d;box-shadow:inset 0 0 0 1px #819b70}
.vehicle-pill:focus-visible{outline:2px solid #52794b;outline-offset:2px}

.suggestion-peek-target{position:absolute;z-index:2;bottom:0;left:-5px;right:-5px;height:88px;border:0;padding:0;border-radius:0;background:transparent;cursor:pointer}
.suggestion-peek-target[hidden]{display:none}
.suggestion-peek-target:focus-visible{outline:2px solid #71945c;outline-offset:-2px;border-radius:12px}
.suggestions-peek{cursor:pointer}

/* The whole suggestion surface handles taps, including its non-button space. */
.suggestion-editor,.suggestion-editor *{-webkit-tap-highlight-color:transparent}

.vehicle-heading small{display:block;margin-top:5px;font-size:10px;color:#83917b;font-weight:400}
body .suggestion-items li.addon-suggestion{padding-left:10px}

.vehicle-heading .suggestion-optional{margin-left:9px;font-size:11px;font-weight:400;color:#83917b;letter-spacing:0;white-space:nowrap}

/* Same selector bands, retained above Price after attachment. */
.persistent-selectors{list-style:none;margin:0 24px 22px;padding:12px 0 0;color:#526b4e;min-width:0}
.persistent-selectors[hidden]{display:none}
.persistent-selectors .vehicle-suggestion{display:flex;flex-wrap:wrap;gap:0 8px;padding:0;min-width:0}
.persistent-selectors .suggestion-mark{display:none}
.persistent-selectors .vehicle-heading{font-size:14px}
.persistent-selectors .suggestion-add{display:flex;align-items:center;gap:4px;border:0;background:none;color:#718968;font:inherit;font-size:11px;cursor:pointer}
.persistent-selectors,.persistent-selectors *{-webkit-tap-highlight-color:transparent}

/* Persistent controls use the same quiet disclosure rhythm as Price. */
.selector-disclosure{width:calc(100% - 32px);margin:0 16px 16px;border:1px solid transparent;color:#244638}
.selector-disclosure:not([hidden])~.price-editor{width:calc(100% - 32px)}
.selector-disclosure[hidden]{display:none}
.selector-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:54px;padding:6px 10px 6px 0;border:0;border-radius:21px;background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.selector-toggle>svg{width:14px;height:14px;flex:0 0 14px;margin-left:auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.selector-open .selector-toggle>svg{transform:rotate(90deg)}
.selector-toggle:focus-visible{outline:2px solid #859e72;outline-offset:3px}
.selector-grow{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s var(--ease),opacity .25s}
.selector-open .selector-grow{grid-template-rows:1fr;opacity:1}
.selector-clip{min-height:0;overflow:hidden}
.selector-disclosure .persistent-selectors{margin:0;padding:10px 0 4px}
.selector-disclosure .vehicle-heading{display:none}
@media(prefers-reduced-motion:reduce){.selector-grow,.selector-toggle>svg{transition:none}}

@media(max-width:350px){.selector-toggle{gap:6px}}

/* A quiet, transient scroll cue; never shown just by opening the band. */
.vehicle-pills{scrollbar-width:none;padding-bottom:5px}
.vehicle-pills::-webkit-scrollbar{display:none}
.pill-scroll-track{flex:0 0 100%;height:2px;position:relative;margin:0 0 3px;opacity:0;transition:opacity .3s;pointer-events:none}
.pill-scroll-track.scrolling{opacity:1}
.pill-scroll-track>span{position:absolute;top:0;height:2px;border-radius:2px;background:#a5b798}
.price-editor.has-price .price-summary{font-size:19px;font-weight:500;letter-spacing:-.03em}
@media(prefers-reduced-motion:reduce){.pill-scroll-track{transition:none}}

/* Quiet saved selections beneath the collapsed Add-ons heading. */
.has-saved-summary:not(.selector-open) .selector-toggle{display:grid;grid-template-columns:44px minmax(0,1fr) 14px;column-gap:8px;row-gap:3px}
.has-saved-summary:not(.selector-open) .selector-toggle>.price-symbol{grid-column:1;grid-row:1 / 3}
.has-saved-summary:not(.selector-open) .selector-toggle>.price-label{grid-column:2;grid-row:1;align-self:end}
.has-saved-summary:not(.selector-open) .selector-toggle>.price-summary{grid-column:2;grid-row:2;align-self:start;white-space:normal;font-size:11px;line-height:1.5;color:#7b8874;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.has-saved-summary:not(.selector-open) .selector-toggle>svg{grid-column:3;grid-row:1 / 3}
.has-saved-summary.selector-open .selector-toggle>.price-summary{display:none}

/* One opaque sticky header protects the entire navigation area while scrolling. */
.subcategory-overlay .overlay-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:0 12px;padding:16px 16px 12px;background:#fff;isolation:isolate}
.subcategory-overlay .overlay-header>.overlay-back{position:static;margin:0;width:100%;min-width:0;min-height:44px;z-index:auto}
.subcategory-overlay .overlay-header>.overlay-trash{position:static;z-index:auto}
.subcategory-overlay .overlay-header>.saved-status{position:static;grid-column:1 / -1;max-width:none;margin:4px 0 0;min-height:0}

.suggestion-editor.suggestions-available::before{opacity:1}

.suggestion-caption{display:inline-flex;align-items:center;gap:6px}
.suggestion-trigger .assist-sparkle{display:block;width:17px;height:17px;flex:none;fill:#719450;stroke:none;filter:drop-shadow(0 1px 3px #b4cb9b66)}

.suggestion-panel .assist-price{width:100%;margin:0;height:56px;border:0;border-radius:0;box-shadow:none;background:none}
.suggestion-panel .assist-price .price-symbol{display:none}
.suggestion-panel .assist-price .price-toggle{padding:0;border-radius:0;gap:9px}
.suggestion-panel .assist-price .price-label{font-size:14px;font-weight:400;letter-spacing:0;color:#46613f}
.suggestion-panel .assist-price .price-summary{font-size:11px;font-weight:400;color:#83917b}
.suggestion-panel .assist-price.has-price .price-summary{font-size:14px}
.suggestion-panel .assist-price .price-toggle svg{color:#718968;width:12px;height:12px}
body .suggestion-panel .suggestion-items li.assist-price-row{padding:8px 0 12px}


.suggestion-panel .assist-price .amount-line,.suggestion-panel .assist-price .price-type select{height:40px;border-radius:999px}
.suggestion-panel .assist-price .amount-line{padding:0 10px;font-size:16px;letter-spacing:0}
.suggestion-panel .assist-price .amount-line>span{font-size:12px}
.suggestion-panel .assist-price .price-type select{padding:4px 6px;font-size:12px}

.assist-choice-toggle{display:grid;grid-template-columns:minmax(0,1fr) 12px;align-items:center;gap:0 8px;width:100%;border:0;background:none;padding:8px 0;color:inherit;text-align:left;font:inherit}
.assist-choice-toggle .vehicle-heading{padding:0;font:inherit;grid-column:1}
.assist-choice-toggle>svg{grid-column:2;grid-row:1/3;width:12px;height:12px;color:#718968}
.assist-choice-summary{grid-column:1;font-size:11px;color:#83917b;margin-top:5px;line-height:1.4}
.assist-choice-summary:empty,.assist-choice-open .assist-choice-summary,.has-choice-summary .suggestion-optional{display:none}
.vehicle-suggestion:not(.assist-choice-open) .assist-choice-toggle small{display:none}
.assist-choice-open .assist-choice-toggle>svg{transform:rotate(90deg)}
.assist-choice-body{display:flex;flex-wrap:wrap;width:100%;min-width:0;gap:0 8px}
body .suggestion-items li.addon-suggestion:has(.assist-choice-toggle){padding-left:0}

.auto-service-intro{margin:0 0 12px 25px;padding:8px 0;color:#46613f;font-size:14px;font-weight:400}
.related-service-wrap{margin:0 0 18px 25px;min-width:0}
.related-service-band{list-style:none;margin:0;padding-left:0}
.related-service-band li{flex:0 0 auto}
.related-service-band .suggestion-mark{display:none}
.related-service-band .suggestion-add{display:flex;align-items:center;gap:5px}
.related-service-band .suggestion-add span{font-size:12px}
.related-service-band .suggestion-added .vehicle-pill{background:#e5ecd9;border-color:#9aac8c}
.assist-finish{display:block;margin:22px 0 4px auto;min-height:44px;padding:10px 24px;border:1px solid #d5dfce;border-radius:999px;background:#eef3e6;color:#46613f;font:inherit;font-size:14px;font-weight:400;cursor:pointer;transition:background .18s}.assist-finish:hover{background:#e5ecd9}.assist-finish:focus-visible{outline:2px solid #859e72;outline-offset:3px}
.related-service-band li{display:flex;align-items:center;gap:0}




.assist-service-context{padding:0 0 8px 0!important;min-height:0!important;color:#849376;font-size:12px}.related-service-band .suggestion-added .vehicle-pill{background:#e5ecd9;border-color:#9aac8c;box-shadow:none}

.service-switch{display:flex;align-items:center;width:max-content;max-width:100%;min-width:0;border:1px solid #d9e2d0;border-radius:999px;overflow:hidden;background:#f7f9f2;isolation:isolate}
.service-switch button{font:inherit;font-size:12px;line-height:1.3;color:#607651;border:0;background:transparent;min-height:40px;cursor:pointer;white-space:nowrap}
.service-switch-toggle{flex:0 0 auto;max-width:100%;padding:8px 14px;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:10px}
.service-switch-toggle::after{content:'›';font-size:18px;line-height:1;transform:rotate(0deg);transition:transform .25s}
.service-switch.is-open .service-switch-toggle::after{transform:rotate(180deg)}
.service-switch-choices{display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none;opacity:0;filter:blur(4px);max-width:0;visibility:hidden;transition:opacity .22s,filter .22s}
.service-switch-choices::-webkit-scrollbar{display:none}
.service-switch.is-open .service-switch-choices{max-width:none;flex:1;visibility:visible;opacity:1;filter:blur(0);padding-right:5px}
.service-switch-choices button{flex:0 0 auto;padding:7px 12px;border-radius:999px;min-height:34px;margin:3px 0}
.service-switch-choices button[aria-pressed=true]{background:#e5ecd9;color:#3e5c38}
.service-switch button:focus-visible{outline:2px solid #859e72;outline-offset:-3px}
@media(prefers-reduced-motion:reduce){.service-switch *{transition:none!important}}

/* Service choices settle before individual setup, using the existing disclosure rhythm. */
.service-selection-heading{display:block;position:relative;width:calc(100% - 25px);border:0;background:none;text-align:left;font:inherit;color:#607651;padding-right:23px;cursor:default}
.service-selection-heading.selection-collapsed{cursor:pointer}
.service-selection-heading svg{position:absolute;right:2px;top:4px;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;transform:rotate(180deg);transition:transform .3s}
.service-selection-heading.selection-collapsed svg{transform:rotate(0deg)}
.service-selection-heading small{display:block;font-size:11px;font-weight:400;line-height:1.6;color:#8b9583;margin-top:5px}
.related-service-wrap{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .35s var(--ease),opacity .25s,margin .35s}
.related-service-wrap.selection-collapsed{grid-template-rows:0fr;opacity:0;margin-top:0;margin-bottom:0}
.service-selection-clip{min-height:0;overflow:hidden}
.confirm-services{display:block;border:0;background:none;color:#849376;font:inherit;font-size:11px;min-height:44px;padding:8px 0;margin:8px 0 6px;cursor:pointer}
.confirm-services:disabled{opacity:.45;cursor:default}
.service-selection-heading:focus-visible,.confirm-services:focus-visible{outline:2px solid #9aac8c;outline-offset:3px;border-radius:8px}
body .suggestion-items li.assist-service-context{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:12px!important;padding-bottom:18px!important}
.service-context-intro{font-size:14px;font-weight:400;color:#607651}
.service-context-intro small{display:block;font-size:11px;line-height:1.6;color:#8b9583;margin-top:5px}
@media(prefers-reduced-motion:reduce){.related-service-wrap,.service-selection-heading svg{transition:none}}

.service-selection-heading.can-collapse{cursor:pointer}

.confirm-services{font-size:13px;min-height:46px;padding:10px 0;border:0;border-radius:0;background:none;color:#607651;width:max-content;max-width:100%}
.confirm-services:not(:disabled):hover{color:#46613f}

.service-selection-heading.selection-collapsed .suggestion-optional{display:none}

.fixed-offering-name{text-align:left;cursor:pointer;border-radius:0;font-weight:inherit;overflow-wrap:anywhere}
.fixed-offering-name:focus-visible{outline:2px solid #859e72;outline-offset:3px;border-radius:6px}

button.service-context-intro{display:block;width:100%;border:0;background:transparent;font-family:inherit;line-height:inherit;text-align:left;cursor:pointer}
button.service-context-intro:focus-visible{outline:2px solid #859e72;outline-offset:3px;border-radius:4px}
