:root{--purple:#42127f;--deep-purple:#2b0a63;--lavender:#b799e3;--lavender-light:#eadff8;--cream:#f5f0e6;--cream-light:#fffdf8;--white:#ffffff;--charcoal:#26222b;--muted:#655f6b;--green:#276749;--amber:#8a5314;--red:#9f2828;--border:#ded4ea;--shadow:0 20px 60px rgba(43,10,99,0.12);--font-heading:"Arial Narrow",sans-serif;--font-body:Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--charcoal);background:radial-gradient(circle at 12% 8%,rgba(183,153,227,.18),transparent 22rem),var(--cream-light);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}a{color:inherit}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}img{max-width:100%}h1,h2,h3{margin:0 0 .7rem;font-family:var(--font-heading);line-height:.98;letter-spacing:.025em}h1{font-size:clamp(3rem,8vw,7rem)}h2{font-size:clamp(2rem,4.5vw,3.8rem)}h3{font-size:clamp(1.25rem,2vw,1.65rem)}p{margin:0 0 1rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:4px solid #f0b429;outline-offset:3px}.shell{width:min(1160px,calc(100% - 2rem));margin-inline:auto}.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}.skip-navigation{position:fixed;top:.75rem;left:.75rem;z-index:1000;padding:.75rem 1rem;background:var(--white);color:var(--deep-purple);border:2px solid var(--deep-purple);transform:translateY(-160%)}.skip-navigation:focus{transform:translateY(0)}.eyebrow{color:var(--purple);font-size:.76rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3.25rem;padding:.8rem 1.2rem;border:2px solid var(--purple);border-radius:.6rem;background:var(--purple);color:var(--white);text-decoration:none;font-weight:800;cursor:pointer;box-shadow:4px 4px 0 var(--lavender);transition:transform .15s ease,box-shadow .15s ease}.button:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--lavender)}.button-secondary{color:var(--purple);background:var(--cream-light);box-shadow:none}.button-small{min-height:2.65rem;padding:.55rem .9rem;font-size:.88rem}.text-button,.text-link{color:var(--purple);font-weight:800;text-decoration:underline;text-underline-offset:.2em}.text-button{display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;cursor:pointer;padding:.35rem}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(255,253,248,.95);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(66,18,127,.12)}.header-inner{min-height:74px;justify-content:space-between}.brand-lockup,.header-inner{display:flex;align-items:center}.brand-lockup{gap:.75rem;text-decoration:none;color:var(--deep-purple)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50% 50% 44% 44%;background:var(--purple);color:var(--white);font:800 1.5rem/1 var(--font-heading);box-shadow:inset 0 -5px 0 rgba(255,255,255,.15)}.brand-lockup strong{display:block;font:800 1.17rem/1 var(--font-heading);letter-spacing:.05em}.brand-lockup small{display:block;margin-top:.25rem;font-size:.62rem;font-weight:800;letter-spacing:.12em}.main-nav{display:flex;align-items:center;gap:.15rem}.main-nav>a:not(.button){display:flex;align-items:center;gap:.35rem;padding:.65rem .7rem;color:var(--charcoal);text-decoration:none;font-size:.9rem;font-weight:700}.main-nav>a:hover,.menu-button{color:var(--purple)}.menu-button{display:none;border:0;background:transparent;padding:.5rem}.hero{min-height:calc(100vh - 74px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:stretch;background:var(--cream);overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.38;background-image:radial-gradient(#42127f .65px,transparent 0);background-size:14px 14px}.hero-text{align-self:center;padding:clamp(3.5rem,7vw,7rem) 3rem clamp(3.5rem,7vw,7rem) max(2rem,calc((100vw - 1160px)/2));z-index:1}.hero h1{color:var(--deep-purple);font-size:clamp(5rem,11vw,9.5rem);text-transform:uppercase}.hero h1 em{color:var(--purple);font-family:Georgia,serif;font-size:.75em;font-weight:500}.tagline{color:var(--purple);font:800 clamp(1.15rem,2.2vw,1.8rem)/1.15 var(--font-heading);letter-spacing:.055em}.hero-support{max-width:650px;font-size:clamp(1rem,1.6vw,1.2rem)}.hero-actions{gap:.9rem;margin-block:1.7rem}.hero-actions,.trust-row{display:flex;flex-wrap:wrap}.trust-row{gap:.7rem 1rem;color:var(--muted);font-size:.83rem;font-weight:700}.trust-row span{display:flex;align-items:center;gap:.3rem}.hero-art{position:relative;min-height:620px;background:linear-gradient(135deg,rgba(183,153,227,.92),rgba(66,18,127,.98)),var(--purple);border-left:10px solid var(--white)}.hero-art:after,.hero-art:before{content:"";position:absolute;background:var(--cream);width:110%;height:55px;transform:rotate(-3deg);left:-5%;z-index:2}.hero-art:before{top:-25px}.hero-art:after{bottom:-35px;transform:rotate(2deg)}.large-door{position:absolute;left:50%;bottom:8%;width:48%;height:67%;transform:translateX(-50%);border:14px solid var(--cream);border-bottom:0;padding:10px;box-shadow:0 28px 55px rgba(0,0,0,.25)}.door-panel{position:absolute;inset:10px 10px 0;background:var(--deep-purple);border:3px solid rgba(255,255,255,.35);transform-origin:left center;transform:perspective(700px) rotateY(-15deg)}.door-panel:after,.door-panel:before{content:"";position:absolute;left:13%;right:13%;border:2px solid rgba(255,255,255,.25)}.door-panel:before{top:12%;height:33%}.door-panel:after{bottom:12%;height:33%}.door-panel span{position:absolute;right:11%;top:51%;width:13px;height:13px;border-radius:50%;background:#f0b429}.paper-note,.receipt-card{position:absolute;z-index:4;background:var(--cream-light);color:var(--deep-purple);box-shadow:var(--shadow);transform:rotate(-3deg)}.paper-note{left:6%;top:12%;padding:1.3rem;border:2px solid var(--deep-purple)}.paper-note span{display:block;font-size:.65rem;letter-spacing:.14em}.paper-note strong{font-family:var(--font-heading);font-size:1.4rem}.receipt-card{right:5%;bottom:12%;padding:1.2rem;transform:rotate(3deg)}.receipt-card span,.receipt-card strong{display:block}.receipt-card span{border-top:1px dashed var(--lavender);padding-top:.35rem;margin-top:.35rem;font-size:.77rem}.art-star{position:absolute;z-index:3;color:var(--cream);font-size:4rem}.star-a{right:8%;top:14%}.star-b{left:10%;bottom:14%}.home-section{padding-block:clamp(4rem,8vw,7rem)}.section-heading{align-items:flex-end;margin-bottom:2rem}.section-heading.centered{display:block;text-align:center}.section-heading h2{color:var(--deep-purple)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.25rem;gap:1.25rem}.dashboard-card,.feature-card{background:var(--white);border:1px solid var(--border);border-radius:1rem;box-shadow:0 10px 30px rgba(43,10,99,.08)}.feature-card{padding:1.5rem}.feature-card h3{color:var(--deep-purple);margin-top:1rem}.card-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:.8rem;background:var(--lavender-light);color:var(--purple)}.split-callout{padding-block:5rem;background:var(--deep-purple);color:var(--white)}.split-callout .eyebrow{color:var(--lavender)}.split-callout h2{max-width:650px}.split-callout .text-link{color:var(--white)}.split-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;grid-gap:3rem;gap:3rem}.mini-resource-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.8rem;gap:.8rem}.mini-resource-grid a{display:flex;flex-direction:column;gap:.45rem;min-height:150px;padding:1rem;background:var(--cream);color:var(--deep-purple);text-decoration:none;border-radius:.8rem}.mini-resource-grid a:hover{background:var(--white)}.mini-resource-grid span{font-size:.78rem}.narrow-page{padding-block:3rem 5rem;max-width:900px}.loading-card,.onboarding-card{padding:clamp(1.25rem,4vw,3rem);border-radius:1.2rem;background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow)}.progress-row{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;font-weight:800}.progress-track{height:8px;margin:.5rem 0 2rem;border-radius:99px;background:var(--lavender-light);overflow:hidden}.progress-track span{display:block;height:100%;background:var(--purple);transition:width .2s ease}.form-step h1{color:var(--deep-purple);font-size:clamp(2.5rem,6vw,4.8rem)}.step-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;color:var(--white);background:var(--purple)}fieldset,label{display:block;margin-block:1rem;font-weight:750}input,select,textarea{width:100%;min-height:3rem;padding:.7rem .85rem;margin-top:.4rem;color:var(--charcoal);background:var(--cream-light);border:2px solid #cfc1dc;border-radius:.55rem}textarea{min-height:130px;resize:vertical}input[type=checkbox]{width:1.3rem;height:1.3rem;min-height:0;margin:0;accent-color:var(--purple)}.form-note,.optional{color:var(--muted);font-size:.8rem;font-weight:500}.input-with-icon,.money-input{display:flex;align-items:center;gap:.4rem}.input-with-icon svg,.money-input>span{color:var(--purple);flex:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 1rem;gap:0 1rem}.choice-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.choice-grid.compact{grid-template-columns:repeat(3,1fr)}.choice{display:flex;align-items:center;gap:.45rem;min-height:3.2rem;padding:.75rem;text-align:left;font-weight:700;color:var(--charcoal);background:var(--cream-light);border:2px solid var(--border);border-radius:.6rem;cursor:pointer}.choice.selected,.choice:hover{color:var(--deep-purple);border-color:var(--purple);background:var(--lavender-light)}.inline-checks{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.inline-checks label{display:flex;align-items:center;gap:.45rem;margin:.25rem 0}.error-summary,.privacy-note,.warning-note{padding:.9rem 1rem;border-radius:.6rem;font-size:.88rem}.privacy-note{display:flex;gap:.6rem;color:var(--deep-purple);background:var(--lavender-light)}.privacy-note svg{flex:none}.warning-note{background:#fff5d9;border-left:4px solid #bd7819}.error-summary{color:#721c1c;background:#ffe4e4;border:2px solid #c53a3a}.step-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.welcome-stage{position:relative;min-height:calc(100vh - 74px);display:grid;place-items:center;padding:3rem 1rem;overflow:hidden;text-align:center;background:var(--cream)}.skip-link-visible{position:absolute;top:1rem;right:1rem;z-index:4;border:0;background:transparent;color:var(--purple);text-decoration:underline;cursor:pointer}.door-scene{position:absolute;inset:0;display:grid;place-items:center;opacity:1;transition:opacity .8s ease 1.8s}.door-frame{position:relative;width:210px;height:330px;border:14px solid var(--purple);border-bottom:0;box-shadow:0 30px 80px rgba(66,18,127,.22)}.door{position:absolute;inset:0;background:var(--deep-purple);transform-origin:left;animation:open-door 2s ease forwards}.door:before{content:"";position:absolute;inset:14%;border:3px solid rgba(255,255,255,.2)}.door span{position:absolute;right:12%;top:50%;width:13px;height:13px;border-radius:50%;background:#efb43b}.sparkle{position:absolute;color:var(--purple);font-size:4rem;animation:pulse 1.5s ease infinite alternate}.sparkle-one{top:16%;left:24%}.sparkle-two{bottom:16%;right:24%}.welcome-copy{position:relative;z-index:2;max-width:760px;opacity:0;transform:translateY(18px);transition:opacity .8s ease 1.65s,transform .8s ease 1.65s}.welcome-copy h1{color:var(--deep-purple)}.welcome-copy blockquote{margin:2rem auto;max-width:650px;color:var(--purple);font:italic 1.2rem/1.6 Georgia,serif}.welcome-copy cite{display:block;margin-top:.5rem;font:700 .78rem/1.4 var(--font-body)}.welcome-stage.complete .door-scene{opacity:.08}.welcome-stage.complete .welcome-copy{opacity:1;transform:none}.dashboard-page{padding-block:2.5rem 5rem}.dashboard-hero{padding:clamp(1.5rem,4vw,3rem);margin-bottom:3rem;color:var(--white);background:var(--deep-purple);border-radius:1.2rem;box-shadow:8px 8px 0 var(--lavender)}.dashboard-hero .eyebrow{color:var(--lavender)}.dashboard-hero h1{font-size:clamp(2.8rem,6vw,5.2rem)}.budget-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;margin-top:1.5rem;overflow:hidden;border-radius:.7rem;background:rgba(255,255,255,.2)}.budget-strip div{padding:1rem;background:rgba(255,255,255,.1)}.budget-strip span,.budget-strip strong{display:block}.budget-strip span{font-size:.72rem;color:var(--lavender-light)}.budget-strip strong{font-size:1.2rem}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.85rem;gap:.85rem}.dashboard-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.8rem;gap:.8rem;min-height:118px;padding:1rem;text-decoration:none}.dashboard-card:hover{border-color:var(--purple);transform:translateY(-2px)}.dashboard-card small,.dashboard-card strong{display:block}.dashboard-card strong{color:var(--deep-purple)}.dashboard-card small{margin-top:.3rem;color:var(--muted);line-height:1.4}.local-data-banner{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-top:3rem;padding:1.5rem;background:var(--lavender-light);border-radius:.9rem}.privacy-controls{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.site-footer{padding-block:3.5rem;color:var(--white);background:#1d0a34}.site-footer .eyebrow{color:var(--lavender)}.site-footer h2{font-family:Georgia,serif;font-style:italic}.site-footer p{color:#ddd2e8;font-size:.84rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:3rem;gap:3rem}.footer-grid a{display:block;margin-block:.45rem;color:var(--white);font-size:.87rem}@keyframes open-door{to{transform:perspective(700px) rotateY(-78deg);box-shadow:30px 0 60px rgba(255,255,255,.45)}}@keyframes pulse{to{transform:scale(1.18) rotate(8deg);opacity:.6}}@media (max-width:900px){.menu-button{display:block}.main-nav{display:none;position:absolute;left:1rem;right:1rem;top:68px;flex-direction:column;align-items:stretch;padding:.8rem;background:var(--white);border:1px solid var(--border);border-radius:.8rem;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.main-nav>a{justify-content:flex-start}.hero{grid-template-columns:1fr}.hero-text{padding-inline:1.25rem;padding-block:4rem}.hero-art{min-height:520px;border-left:0;border-top:10px solid var(--white)}.dashboard-grid,.feature-grid{grid-template-columns:1fr 1fr}.split-grid{grid-template-columns:1fr}.budget-strip{grid-template-columns:1fr 1fr}}@media (max-width:620px){h1{font-size:3rem}.shell{width:min(100% - 1.2rem,1160px)}.hero h1{font-size:4.6rem}.hero-art{min-height:430px}.paper-note{top:7%}.receipt-card{bottom:8%}.choice-grid,.choice-grid.compact,.dashboard-grid,.feature-grid,.footer-grid,.form-grid,.mini-resource-grid{grid-template-columns:1fr}.local-data-banner,.section-heading{align-items:flex-start;flex-direction:column}.dashboard-card{min-height:104px}.budget-strip{grid-template-columns:1fr 1fr}.button{width:100%}.step-actions .button{width:auto}.door-frame{width:160px;height:250px}.welcome-copy blockquote{font-size:1rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.welcome-copy{opacity:1;transform:none}.door-scene{opacity:.08}}@media print{.button,.privacy-controls,.site-footer,.site-header,.skip-navigation{display:none!important}body{background:white;color:black}main{width:100%}.dashboard-card,.feature-card{page-break-inside:avoid;break-inside:avoid;box-shadow:none}}.admin-page,.info-page,.resource-page,.tool-page{padding-block:clamp(2rem,5vw,4.5rem) 6rem}.builder{display:grid;grid-gap:1.5rem;gap:1.5rem}.builder-hero,.resource-hero{position:relative;overflow:hidden;padding:clamp(1.5rem,4vw,3.5rem);border-radius:1.15rem;background:var(--deep-purple);color:var(--white);box-shadow:8px 8px 0 var(--lavender)}.builder-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem}.builder-hero:after,.resource-hero:after{content:"";position:absolute;width:230px;height:230px;right:-70px;bottom:-100px;border:24px solid rgba(255,255,255,.08);border-radius:50%}.builder-hero .eyebrow,.resource-hero .eyebrow{color:var(--lavender)}.builder-hero h1,.resource-hero h1{max-width:900px;font-size:clamp(2.8rem,7vw,6.5rem)}.builder-hero p,.resource-hero p{max-width:760px}.hero-line-icon{width:100px;height:100px;flex:none;color:var(--lavender)}.sticky-total{position:-webkit-sticky;position:sticky;top:82px;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;overflow:hidden;border:2px solid var(--purple);border-radius:.8rem;background:var(--purple);box-shadow:var(--shadow)}.sticky-total>div{padding:1rem;background:var(--cream-light)}.sticky-total span,.sticky-total strong{display:block}.sticky-total span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.sticky-total strong{color:var(--deep-purple);font-size:1.35rem}.sticky-total .negative strong{color:var(--red)}.calculator-card,.campus-empty-state,.list-section,.public-form,.questions-panel,.review-gate,.share-panel,.tool-panel{padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--border);border-radius:1rem;background:var(--white);box-shadow:0 10px 34px rgba(43,10,99,.08)}.add-grid,.checklist-add{display:grid;grid-template-columns:2fr 2fr 1fr auto;align-items:end;grid-gap:.8rem;gap:.8rem}.add-grid label,.checklist-add label{margin:0}.search-suggestions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.search-suggestions button,.starter-grid button{border:2px solid var(--border);background:var(--cream-light);color:var(--deep-purple);cursor:pointer}.search-suggestions button{display:inline-flex;gap:.4rem;align-items:center;padding:.55rem .7rem;border-radius:99px;font-weight:800}.search-suggestions button:hover,.starter-grid button:hover{border-color:var(--purple)}.search-suggestions small{color:var(--muted)}.starter-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.75rem;gap:.75rem}.starter-grid button{display:grid;grid-template-columns:1fr auto;grid-gap:.35rem .7rem;gap:.35rem .7rem;min-height:100px;padding:1rem;border-radius:.75rem;text-align:left}.starter-grid button strong{font-size:1rem}.starter-grid button span{color:var(--muted);font-size:.78rem}.priority,.review-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:.24rem .55rem;border-radius:99px;background:var(--lavender-light);color:var(--deep-purple);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.checklist-group,.grocery-group{margin-top:2rem}.checklist-group>h2,.grocery-group>h3{padding-bottom:.65rem;border-bottom:3px solid var(--lavender);color:var(--deep-purple)}.grocery-items{display:grid}.checklist-row,.grocery-row{display:grid;align-items:center;grid-gap:.7rem;gap:.7rem;padding:.8rem 0;border-bottom:1px solid var(--border)}.grocery-row{grid-template-columns:auto minmax(150px,1.4fr) 75px 90px minmax(115px,.8fr) auto minmax(120px,.75fr) auto auto}.checklist-row{grid-template-columns:auto minmax(180px,1fr) auto 80px auto}.checklist-row.complete,.grocery-row.checked{opacity:.65}.checklist-row.complete>div strong,.grocery-row.checked .item-name strong{text-decoration:line-through}.item-name span{display:block;color:var(--muted);font-size:.72rem}.mini-field{margin:0;color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase}.mini-field input{min-height:2.5rem;margin-top:.15rem}.price-field>span{display:flex;align-items:center;gap:.25rem}.price-field b{color:var(--purple)}.large-check,.toggle-label{display:flex;align-items:center;gap:.35rem;margin:0;font-size:.78rem}.large-check input{width:1.55rem;height:1.55rem}.icon-button{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border:1px solid var(--border);border-radius:.55rem;background:var(--white);color:var(--purple);cursor:pointer}.icon-button.danger{color:var(--red)}.icon-link{color:var(--purple);font-size:.78rem;font-weight:850}.empty-state{display:grid;justify-items:center;padding:4rem 1rem;text-align:center;color:var(--muted)}.empty-state>svg{width:52px;height:52px;margin-bottom:1rem;color:var(--lavender)}.empty-state h3{color:var(--deep-purple)}.undo-toast{position:fixed;z-index:150;right:1rem;bottom:1rem;gap:.45rem;padding:.85rem 1rem;border:0;border-radius:.65rem;background:var(--charcoal);color:var(--white);cursor:pointer;box-shadow:var(--shadow)}.export-panel,.undo-toast{display:flex;align-items:center}.export-panel{justify-content:space-between;gap:2rem}.export-actions{display:flex;flex-wrap:wrap;gap:.7rem}.dignity-note,.share-result,.store-help,.urgent-strip{display:flex;gap:.7rem;align-items:flex-start;padding:1rem;border-radius:.7rem}.dignity-note,.share-result,.store-help{background:var(--lavender-light);color:var(--deep-purple)}.dignity-note>svg,.share-result>svg,.store-help>svg,.urgent-strip>svg{flex:none}.share-result a,.share-result small,.share-result strong{display:block}.share-result a{overflow-wrap:anywhere;color:var(--purple)}.checklist-progress{padding:1rem 1.25rem;border:1px solid var(--border);border-radius:.8rem;background:var(--white)}.checklist-progress>div:first-child{display:flex;justify-content:space-between}.checklist-progress .progress-track{margin:.6rem 0 0}.campus-empty-state,.questions-panel,.review-gate{display:flex;gap:1rem;align-items:flex-start}.campus-empty-state>svg,.questions-panel>svg,.review-gate>svg{flex:none;width:34px;height:34px;color:var(--purple)}.review-gate{border-left:7px solid var(--amber)}.admin-metrics,.filter-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.7rem;gap:.7rem}.admin-metrics article,.filter-summary span{padding:.85rem;border:1px solid var(--border);border-radius:.65rem;background:var(--cream-light)}.admin-metrics span,.admin-metrics strong,.filter-summary strong{display:block}.admin-metrics span,.filter-summary strong{color:var(--muted);font-size:.7rem;text-transform:uppercase}.admin-metrics strong{color:var(--deep-purple);font-size:1.8rem}.days-field{max-width:280px}.directory-grid,.housing-grid,.meal-grid,.recipe-grid,.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.directory-card,.housing-card,.meal-card,.recipe-card,.resource-card{padding:1.2rem;border:1px solid var(--border);border-radius:.85rem;background:var(--cream-light)}.directory-card h2,.housing-card h2,.meal-card h3,.recipe-card h2,.resource-card h2{color:var(--deep-purple)}.meal-card small,.meal-card>span,.recipe-card small,.resource-card small{color:var(--muted);font-size:.75rem;font-weight:750}.planning-explanation{display:flex;gap:.8rem;margin-block:1rem;padding:1rem;border-radius:.7rem;background:#e7f5ed;color:var(--green)}.resource-page{display:grid;grid-gap:1.5rem;gap:1.5rem}.urgent-strip{margin-top:1.2rem;background:#fff4cc;color:#593800}.urgent-strip span,.urgent-strip strong{display:block}.questions-panel{justify-content:space-between}.questions-panel ul{margin:0;padding:0;list-style:none}.questions-panel li{display:flex;gap:.45rem;align-items:flex-start;margin:.4rem 0}.questions-panel li svg{flex:none;color:var(--green)}.resource-controls{display:grid;grid-template-columns:1.5fr 1fr auto;align-items:end;grid-gap:.8rem;gap:.8rem}.resource-controls label{margin:0}.resource-card{display:flex;flex-direction:column}.resource-card .card-actions{display:flex;gap:.7rem;margin-top:auto;padding-top:1rem}.source-line{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border);color:var(--muted);font-size:.72rem}.subnav{display:flex;flex-wrap:wrap;gap:.45rem;padding:.65rem;border:1px solid var(--border);border-radius:.7rem;background:var(--white)}.subnav a{padding:.45rem .65rem;border-radius:.45rem;color:var(--purple);font-weight:800;text-transform:capitalize}.info-sections{display:grid;grid-gap:1rem;gap:1rem;margin-top:1.5rem}.info-sections section{padding:1.4rem;border-left:6px solid var(--lavender);background:var(--white);box-shadow:0 8px 24px rgba(43,10,99,.06)}.public-form fieldset{padding:1rem;border:1px solid var(--border);border-radius:.7rem}.calculator-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.8rem;gap:.8rem}.calculation-result{margin-top:1rem;padding:1rem;border-radius:.7rem;background:var(--deep-purple);color:var(--white)}.calculation-result strong{display:block;font-size:2rem}.housing-card .placeholder-image{display:grid;place-items:center;min-height:150px;margin:-1.2rem -1.2rem 1rem;border-radius:.85rem .85rem 0 0;background:var(--lavender-light);color:var(--purple)}.admin-layout{display:grid;grid-template-columns:250px 1fr;min-height:650px;overflow:hidden;border:1px solid var(--border);border-radius:1rem;background:var(--white);box-shadow:var(--shadow)}.admin-sidebar{padding:1.35rem;background:var(--deep-purple);color:var(--white)}.admin-sidebar .eyebrow{color:var(--lavender)}.admin-sidebar nav{display:grid;grid-gap:.25rem;gap:.25rem;margin-block:1.5rem}.admin-sidebar nav a{display:flex;gap:.55rem;align-items:center;padding:.6rem;border-radius:.5rem;text-decoration:none}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:var(--white);color:var(--deep-purple)}.admin-sidebar .text-button{color:var(--white)}.admin-content{padding:clamp(1.4rem,4vw,3rem)}.admin-content h1{color:var(--deep-purple);font-size:clamp(2.5rem,5vw,4.5rem)}.share-page{padding-block:3rem 6rem}.share-list{display:grid;grid-gap:.45rem;gap:.45rem;margin:1.5rem 0;padding:0;list-style:none}.share-list li{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.7rem;gap:.7rem;padding:.75rem;border-bottom:1px solid var(--border)}@media (max-width:1050px){.grocery-row{grid-template-columns:auto 1fr 70px 85px minmax(110px,.8fr)}.grocery-row>:nth-child(n+6){grid-column:auto}.grocery-row select{grid-column:2/span 2}.directory-grid,.housing-grid,.meal-grid,.recipe-grid,.resource-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.builder-hero,.export-panel,.questions-panel{align-items:flex-start;flex-direction:column}.admin-metrics,.calculator-grid,.filter-summary,.sticky-total{grid-template-columns:1fr 1fr}.add-grid,.checklist-add,.resource-controls{grid-template-columns:1fr}.checklist-row,.grocery-row{grid-template-columns:auto 1fr;align-items:start}.checklist-row>:not(.large-check):not(div),.grocery-row select,.grocery-row>:not(.large-check):not(.item-name){grid-column:2}.admin-layout{grid-template-columns:1fr}.admin-sidebar nav{grid-template-columns:1fr 1fr}}@media (max-width:540px){.admin-metrics,.calculator-grid,.directory-grid,.filter-summary,.housing-grid,.meal-grid,.recipe-grid,.resource-grid,.starter-grid,.sticky-total{grid-template-columns:1fr}.sticky-total{position:static}.admin-sidebar nav{grid-template-columns:1fr}}.housing-finder{display:grid;grid-gap:1.5rem;gap:1.5rem}.benchmark-picker,.housing-search-panel,.rent-benchmark{padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--border);border-radius:1rem;background:var(--white);box-shadow:0 10px 34px rgba(43,10,99,.08)}.housing-search-panel{display:grid;grid-gap:1.2rem;gap:1.2rem;border-top:8px solid var(--purple)}.benchmark-picker h2,.housing-search-panel h2,.rent-benchmark h2,.section-heading h2{color:var(--deep-purple)}.housing-controls{display:grid;grid-template-columns:minmax(140px,.75fr) minmax(240px,2fr) minmax(150px,.75fr) minmax(190px,1fr);grid-gap:.8rem;gap:.8rem;align-items:end}.housing-controls label{margin:0}.housing-input{position:relative;display:block}.housing-input svg{position:absolute;top:50%;left:.8rem;width:18px;color:var(--purple);transform:translateY(-50%)}.housing-input input{padding-left:2.4rem}.section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.section-heading h2{margin:0}.housing-resource-grid,.housing-search-links{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.8rem;gap:.8rem}.housing-resource-grid a,.housing-search-card{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.8rem;gap:.8rem;align-items:start;padding:1.1rem;border:1px solid var(--border);border-radius:.8rem;background:var(--cream-light);color:var(--deep-purple);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.housing-resource-grid a{grid-template-columns:auto 1fr}.benchmark-options button:hover,.housing-resource-grid a:hover,.housing-search-card:hover{border-color:var(--purple);box-shadow:0 8px 24px rgba(66,18,127,.12);transform:translateY(-1px)}.housing-resource-grid svg,.housing-search-card>svg:first-child{color:var(--purple)}.housing-resource-grid span,.housing-resource-grid strong,.housing-search-card small,.housing-search-card strong{display:block}.housing-resource-grid span span,.housing-search-card small{margin-top:.3rem;color:var(--muted);font-size:.78rem;line-height:1.45}.benchmark-options{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.7rem;gap:.7rem}.benchmark-options button{display:grid;grid-gap:.25rem;gap:.25rem;padding:1rem;border:2px solid var(--border);border-radius:.7rem;background:var(--cream-light);color:var(--deep-purple);text-align:left;cursor:pointer}.benchmark-options button span{color:var(--muted);font-size:.78rem}.rent-benchmark{display:grid;grid-gap:1rem;gap:1rem;border-left:8px solid var(--lavender)}.rent-table{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:.45rem;gap:.45rem}.rent-table div{padding:.8rem;border:1px solid var(--border);border-radius:.65rem;background:var(--cream-light)}.rent-table div.selected{border-color:var(--purple);background:var(--deep-purple);color:var(--white)}.rent-table span,.rent-table strong{display:block}.rent-table span{font-size:.72rem}.rent-table strong{margin-top:.2rem;font-size:1.15rem}.budget-fit,.budget-gap{width:-moz-fit-content;width:fit-content;padding:.7rem .9rem;border-radius:.6rem}.budget-fit{background:#e7f5ed;color:var(--green)}.budget-gap{background:#fff4cc;color:#593800}@media (max-width:1050px){.housing-controls{grid-template-columns:1fr 1fr}}@media (max-width:760px){.benchmark-options,.housing-resource-grid,.housing-search-links{grid-template-columns:1fr}}@media (max-width:540px){.housing-controls,.rent-table{grid-template-columns:1fr}}.university-search{position:relative;display:grid;grid-gap:.45rem;gap:.45rem;max-width:780px}.university-search>label{margin:0;font-weight:700}.school-search-status,.selected-campus{display:flex;gap:.5rem;align-items:center}.school-search-status{margin:0;color:var(--muted);font-size:.82rem}.spin{animation:housing-spin .8s linear infinite}@keyframes housing-spin{to{transform:rotate(1turn)}}.school-options{position:absolute;z-index:10;top:5.1rem;left:0;right:0;display:grid;max-height:390px;overflow-y:auto;border:1px solid var(--border);border-radius:.8rem;background:var(--white);box-shadow:0 18px 42px rgba(43,10,99,.18)}.school-options button{display:grid;grid-template-columns:auto 1fr;grid-gap:.7rem;gap:.7rem;align-items:start;padding:.85rem 1rem;border:0;border-bottom:1px solid var(--border);background:var(--white);color:var(--deep-purple);text-align:left;cursor:pointer}.school-options button:last-child{border-bottom:0}.school-options button:focus-visible,.school-options button:hover{background:var(--cream-light)}.school-options small,.school-options strong,.selected-campus small,.selected-campus strong{display:block}.school-options small,.selected-campus small{margin-top:.15rem;color:var(--muted)}.selected-campus{width:-moz-fit-content;width:fit-content;padding:.75rem .9rem;border:1px solid rgba(33,115,70,.2);border-radius:.7rem;background:#e7f5ed;color:var(--green)}.selected-campus small{color:inherit}.benchmark-fallback{display:grid;grid-gap:.75rem;gap:.75rem;padding:1rem;border:1px solid #e7c65a;border-radius:.75rem;background:#fff9df}.benchmark-fallback label,.benchmark-fallback p{margin:0}.benchmark-fallback select{margin-top:.35rem}.housing-controls-expanded{grid-template-columns:repeat(3,minmax(180px,1fr))}.apartment-results{padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--border);border-left:8px solid var(--purple);border-radius:1rem;background:var(--white);box-shadow:0 10px 34px rgba(43,10,99,.08)}.search-summary{margin:.35rem 0 0;color:var(--purple);font-weight:700}.housing-search-links-expanded{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1050px){.housing-controls-expanded,.housing-search-links-expanded{grid-template-columns:1fr 1fr}}@media (max-width:760px){.housing-controls-expanded,.housing-search-links-expanded{grid-template-columns:1fr}}