/* Canonical public layout. Header geometry is identical on every route. */
.storefront{--ink:#171c24;--muted:#657184;--line:#d5dce4;--paper:#f8fafc;--panel:#edf0f4;--accent:#385577}
.storefront .campaign-wordmark{text-decoration:none}
.storefront .receipt-card{max-width:720px;margin:25px auto;padding:clamp(24px,4vw,52px)}
.receipt-card h1{font-size:clamp(36px,4vw,52px);line-height:1.05;margin:18px 0}.receipt-card p,.receipt-steps{line-height:1.65}
.receipt-total{display:grid;gap:12px;background:var(--panel);padding:24px;margin:25px 0}.receipt-total strong{font-size:clamp(24px,3vw,34px);font-weight:400}.receipt-total small{color:var(--muted);line-height:1.6}
.receipt-steps{padding-left:22px;margin-bottom:28px}.receipt-steps li{padding:5px 0}.receipt-back{display:block;margin-top:24px;text-underline-offset:5px}
.storefront .public-hero,.storefront .public-split,.storefront .catalog-empty{background:var(--panel)}
.storefront .campaign-header{position:absolute;inset:0 0 auto;z-index:10;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;width:100%;height:6.5vw;min-height:0;padding:0 4.2vw;gap:3vw;background:transparent;border:0;box-sizing:border-box}
.storefront .campaign-wordmark{font:400 2.05vw/1 Georgia,'Times New Roman',serif;letter-spacing:.1em;white-space:nowrap;color:#161616}
.storefront .campaign-header nav{display:flex;flex-wrap:nowrap;align-items:center;gap:1.7vw;margin:0;order:0;flex-basis:auto}
.storefront .campaign-header nav a{font:400 .87vw/1.5 Arial,sans-serif;white-space:nowrap;padding:7px 0;color:#202833}
.storefront .campaign-tools{display:flex;align-items:center;gap:1.8vw;margin-left:auto}
.storefront .campaign-tools a{display:grid;place-items:center;width:1.8vw;height:2.3vw;padding:0}
.storefront .campaign-tools svg{width:1.45vw;height:1.45vw}
.storefront .campaign-tools a{background:rgba(248,250,252,.86);border-radius:50%;min-width:28px;min-height:30px}
.storefront:not(.reference-home){background:#f8fafc}
.storefront:not(.reference-home) .public.wrap{width:100%;max-width:none;margin:0;padding:calc(6.5vw + 25px) 4.2vw 60px;box-sizing:border-box}
.storefront.public-editorial .public.wrap{padding-top:0}
.public-editorial .public-hero{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;width:calc(100% + 8.4vw);margin:0 -4.2vw 36px;min-height:420px;height:32vw;max-height:780px;background:#edf0f4;border:0;border-radius:0;overflow:hidden}
.public-editorial .public-hero-copy{padding:8vw 4.2vw 3vw;justify-content:center;background:linear-gradient(115deg,#f4f6f9,#edf0f4);min-width:0}
.public-editorial .public-hero h1{font:400 4.2vw/.98 Georgia,'Times New Roman',serif;letter-spacing:-.045em;margin:1.3vw 0}
.public-editorial .public-kicker{font-size:clamp(9px,.64vw,16px);letter-spacing:.26em;color:#758296}
.public-editorial .public-hero-copy>p{max-width:34vw;font-size:clamp(14px,1.03vw,25px);line-height:1.5;color:#657184;margin:0 0 1.8vw}
.public-editorial .public-hero>img{display:block;width:100%;height:100%;min-height:0;max-height:none;object-fit:cover}
.public-editorial .public-hero>img.school-portrait{object-fit:contain;object-position:center bottom;padding-top:6.5vw}
.storefront:not(.reference-home) .public-cta{background:transparent;color:#26374c;border:0;border-bottom:1px solid #77879b;border-radius:0;padding:7px 0;min-height:0;font-size:clamp(13px,1.05vw,22px);font-weight:400;gap:25px;box-shadow:none}
.storefront:not(.reference-home) .public-cta:hover{background:transparent;color:#3c6189;border-color:currentColor}
.public-editorial .public-section{margin:40px 0}.public-editorial .public-heading h2,.public-editorial .public-split h2{font-size:clamp(30px,2.5vw,58px)}
.public-editorial .public-photo-grid img{height:clamp(180px,15vw,340px)}
.public-editorial .public-photo-grid h3{font-size:clamp(24px,1.7vw,38px)}
.public-editorial .public-photo-grid p,.public-editorial .public-split p,.public-editorial .delivery-grid p,.public-editorial .school-intro>p,.public-editorial .school-audience p,.public-editorial .school-program li span{font-size:clamp(14px,.95vw,21px)}
.public-editorial .filter-card{margin:30px 0;padding:22px 0;background:transparent;border:0;border-top:1px solid #d5dce4;border-bottom:1px solid #d5dce4}
.public-editorial .filter-card .btn{margin-top:14px}
.public-editorial .catalog-empty{grid-template-columns:1fr 1fr;background:#edf0f4}.public-editorial .catalog-empty>img{height:clamp(240px,20vw,400px)}
.public-editorial .catalog-empty>div{padding:3vw 4vw}.public-editorial .catalog-empty h2{font-size:clamp(28px,2.3vw,52px)}.public-editorial .catalog-empty p{font-size:clamp(14px,.95vw,21px)}
.public-editorial .calculator-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}
.public-editorial .legal-hero{margin-top:calc(6.5vw + 25px)}
.storefront:not(.reference-home) .loginbox{margin-top:35px}
@media(max-width:1000px) and (min-width:701px){.storefront .campaign-header{height:80px;gap:20px}.storefront .campaign-wordmark{font-size:25px}.storefront .campaign-header nav{gap:14px}.storefront .campaign-header nav a{font-size:11px}.storefront .campaign-tools{gap:12px}.storefront .campaign-tools a{width:22px;height:25px}.storefront .campaign-tools svg{width:20px;height:20px}.public-editorial .public-hero-copy{padding-top:95px}.public-editorial .public-hero h1{font-size:42px}.public-editorial .calculator-layout{grid-template-columns:1fr}}
@media(max-width:700px){
 .storefront .campaign-header{position:relative;inset:auto;height:auto;min-height:90px;padding:18px 20px;flex-wrap:wrap;gap:15px;background:#f3f6fa}
 .storefront .campaign-wordmark{font-size:25px}.storefront .campaign-header nav{order:3;flex-basis:100%;flex-wrap:wrap;justify-content:flex-start;gap:5px 15px}.storefront .campaign-header nav a{font-size:12px;padding:7px 0}.storefront .campaign-tools{gap:13px}.storefront .campaign-tools a{width:23px;height:25px}.storefront .campaign-tools svg{width:22px;height:22px}
 .storefront:not(.reference-home) .public.wrap{padding:20px 18px 45px}.storefront.public-editorial .public.wrap{padding-top:0}
 .public-editorial .public-hero{width:calc(100% + 36px);margin:0 -18px 28px;grid-template-columns:1fr;height:auto;min-height:0;max-height:none}
 .public-editorial .public-hero-copy{padding:32px 22px}.public-editorial .public-hero h1{font-size:42px;margin:18px 0}.public-editorial .public-hero-copy>p{max-width:none;font-size:15px;margin-bottom:22px}.public-editorial .public-hero>img{height:230px;max-height:230px}.public-editorial .public-hero>img.school-portrait{padding-top:0}
 .public-editorial .public-cta{font-size:15px}.public-editorial .catalog-empty,.public-editorial .calculator-layout{grid-template-columns:1fr}.public-editorial .catalog-empty>div{padding:26px}.public-editorial .catalog-empty>img{height:210px}.public-editorial .legal-hero{margin-top:20px}
}
