/* One public structure, separate school and kindergarten presentation. */
.topbar{gap:18px}.brand-copy small{display:flex;align-items:center;gap:4px;flex-wrap:wrap;max-width:255px;line-height:1.5}.brand-graduation{font-weight:600;background:#244b3e;color:#fff;padding:0 5px;border-radius:4px;letter-spacing:.1px}
.audience-switch{display:flex;flex:none;padding:3px;border:1px solid #bbc9ad;background:#e9efdf;border-radius:10px;gap:2px}.audience-switch button{padding:9px 11px;background:transparent;border:0;border-radius:7px;color:#36513c;font-size:12px;font-weight:550;line-height:1.15;min-height:38px;white-space:nowrap}.audience-switch button[aria-pressed=true]{background:#244b3e;color:white;box-shadow:0 1px 3px #23452f22}.audience-switch button:focus-visible{outline:2px solid #557b36;outline-offset:2px}
.audience-switch.audience-attention{background:#f3f7df;border-color:#d7eaa3}
.audience-choice-guide{position:fixed;inset:0;z-index:1250;pointer-events:none}
.audience-choice-spot{position:fixed;border-radius:14px;outline:2px solid #e7f6b9;box-shadow:0 0 0 9999px #102a24ad}
.audience-choice-hand{position:fixed;left:0;width:44px;height:56px;overflow:visible;fill:#fffbed;stroke:#244b3e;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 3px #102a2455);transform:translateX(var(--finger-start));animation:audience-choice-point 2.2s ease-in-out .3s 2 both}
.audience-choice-hand path+path{fill:none}
.audience-choice-hint{position:fixed;padding:7px 18px;border-radius:9px;background:#f5ffdd;color:#224237;box-shadow:0 4px 18px #0b211f30;font-size:17px;font-weight:650;line-height:1.25;white-space:nowrap}
@keyframes audience-choice-point{0%,12%,100%{transform:translateX(var(--finger-start))}45%,60%{transform:translateX(var(--finger-end))}}
@media(prefers-reduced-motion:reduce){.audience-choice-hand{animation:none;transform:translateX(calc((var(--finger-start) + var(--finger-end))/2))}}
.audience-editor-tabs{border-bottom:1px solid #dbe3d2;padding-bottom:14px;margin-bottom:18px;display:grid;gap:8px}.audience-editor-tabs>div{display:flex;gap:8px}.audience-editor-tabs [aria-pressed=true]{background:#244b3e;color:white}.audience-editor-tabs .helper{margin:0}
.audience-collection{grid-template-columns:minmax(0,1fr)}
.audience-collection{container-type:inline-size}
.hero{position:relative}.hero-portfolio{display:none}.hero-portfolio-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#3e5e4a;height:28px}.hero-portfolio-heading>div{display:flex;gap:5px}.hero-portfolio-heading button{width:29px;height:26px;display:grid;place-items:center;padding:0;border:1px solid #c9d8bf;border-radius:5px;background:#f5f8ee;color:#244b3e;font-size:24px;line-height:1}.hero-portfolio-heading button:disabled{opacity:.35}.hero-portfolio-track{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;height:var(--rail-height);scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a6bb92 transparent;overscroll-behavior-x:contain}.hero-portfolio-track button{border:0;padding:0;background:transparent;flex:0 0 auto;height:calc(100% - 7px);border-radius:6px;overflow:hidden;scroll-snap-align:start}.hero-portfolio-track button{background:#e7ecdf}.hero-portfolio-track img{height:100%;width:100%;max-width:none;display:block;pointer-events:none;object-fit:contain;opacity:0}.hero-portfolio-track img.is-loaded{opacity:1}
.design-price-summary{background:#edf2e5;border:1px solid #d6e2c8;border-radius:9px;padding:12px;margin:12px 0}.design-price-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.design-price-title>span{font-size:12px;color:#4e634f}.design-price-title>strong{font-size:24px;white-space:nowrap;color:#244b3e}.design-price-summary>.calc-specs{margin:8px 0 5px;gap:4px}.design-price-summary .calc-specs span{font-size:11px;padding:3px 5px}.design-price-summary .calc-paper{font-size:11px;line-height:1.3;margin:5px 0}.design-price-summary>small{font-size:10px;color:#647761}.design-card-materials{border:1px solid #d9e2cf;border-radius:8px;margin:16px 0;padding:14px}.design-card-calculate{margin-top:12px}
@media(min-width:1100px){.hero-portfolio.has-space{display:block;position:absolute;left:0;width:var(--rail-width);top:var(--rail-top)}.audience-collection .collection-photo{aspect-ratio:32/10}.audience-collection .collection-photo img{object-fit:fill}.topbar .brand{min-width:225px}.topbar .desktop-public-links{gap:14px}.topbar .desktop-link{font-size:12px}.topbar .nav{gap:14px}.hero .home-offer-title{font-size:clamp(32px,3.2vw,46px)}}
@media(max-width:1099px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:9px;padding-top:15px;padding-bottom:12px;height:auto}.topbar .brand{grid-column:1;grid-row:1}.topbar .audience-switch{grid-column:2;grid-row:1}.topbar .nav{grid-column:1/-1;grid-row:2;justify-content:flex-end}.topbar .desktop-public-links{display:none}.mobile-public-nav{display:flex}.home-photographers .photographer-grid{display:flex;overflow-x:auto;gap:14px;padding:0 0 12px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.home-photographers .photographer-card{display:flex;flex-direction:column;flex:0 0 235px;width:235px;scroll-snap-align:start;min-width:0}.home-photographers .photographer-card>img{width:100%;height:180px;object-fit:cover}.home-photographers .photographer-card>div{padding:14px}.home-photographers .photographer-card h2{font-size:19px;line-height:1.2}.home-photographers .photographer-card p{font-size:13px;line-height:1.45}.home-photographers .photographer-experience{font-size:12px}}
@media(max-width:600px){.topbar{column-gap:8px}.topbar .brand-mark{width:30px;height:30px}.topbar .brand{gap:7px;min-width:0}.topbar .brand-name{font-size:20px;white-space:nowrap}.brand-copy small{font-size:9px;gap:2px;max-width:190px}.brand-copy small>span{display:block;flex-basis:100%}.audience-switch{padding:2px;gap:1px}.audience-switch button{font-size:11px;padding:7px 8px;min-height:35px}.topbar .nav .account{padding:7px 12px;min-height:32px}.home-photographers .photographer-card{flex-basis:215px;width:215px}.home-photographers .photographer-card>img{height:160px}.design-price-title>strong{font-size:25px}}
@media(max-width:355px){.topbar .brand-mark{display:none}.audience-switch button{padding:7px 6px;font-size:10px}.topbar .brand-name{font-size:19px}}
@media(min-width:1100px){.audience-collection .collection-photo{aspect-ratio:auto;height:calc((100cqw - 20px) / 3.2)}}
