.header{background:#fff;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem var(--space-page-x);max-width:980px;margin:0 auto}.logo{display:flex;align-items:center;gap:.5rem;font-family:var(--font-logo);font-weight:700;font-size:1.2rem;letter-spacing:-.03em;color:var(--color-navy)}.logo-icon{font-size:1.5rem}.menu-btn{display:flex;flex-direction:column;gap:5px;padding:.5rem}.menu-btn span{width:24px;height:2px;background:var(--color-navy);border-radius:2px}.nav{display:flex;align-items:center;gap:1.5rem}.nav a,.nav button{font-weight:500;font-size:.9375rem;color:var(--color-navy-mid)}.nav a:hover,.nav button:hover{color:var(--color-navy)}.nav .btn-primary{background:var(--color-primary);color:#fff;border:none}.nav .btn-primary:hover{background:var(--color-primary-hover);color:#fff}.nav .btn-secondary{background:transparent;color:var(--color-navy);border:2px solid var(--color-border)}.nav .btn-secondary:hover{background:var(--color-surface);color:var(--color-navy);border-color:var(--color-navy-mid)}@media (max-width: 768px){.nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;padding:1.5rem var(--space-page-x);box-shadow:var(--shadow-lg);gap:1rem;border-bottom:1px solid var(--color-border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease,visibility .25s}.nav.open{opacity:1;visibility:visible;transform:translateY(0)}}@media (min-width: 769px){.menu-btn{display:none}}.footer{background:var(--color-navy);color:#ffffffeb;padding:var(--space-section) var(--space-page-x);margin-top:0}.footer-inner{text-align:center;max-width:980px;margin:0 auto}.footer-brand{display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-logo);font-weight:700;font-size:1.2rem;letter-spacing:-.03em;margin-bottom:.75rem;color:#fff}.footer-tagline{max-width:420px;margin:0 auto 1.75rem;opacity:.88;font-size:.9375rem;line-height:1.6}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:1.25rem 1.5rem;margin-bottom:1.75rem}.footer-links a{color:var(--color-accent-sky);font-weight:500;font-size:.9375rem}.footer-links a:hover{text-decoration:underline;color:#fff}.footer-note{font-size:.8125rem;opacity:.75}.hero{position:relative;min-height:58vh;display:flex;align-items:center;padding:var(--space-section) 0;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,#6bcbff1f,#ff8a3d14 45%,#f7f9fcf2);z-index:0}.hero-content{position:relative;z-index:1;max-width:700px}.hero h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.25rem);font-weight:700;color:var(--color-text);line-height:1.1;letter-spacing:-.03em;margin-bottom:1.25rem}.hero p{font-size:clamp(1.05rem,2vw,1.2rem);color:var(--color-text-muted);margin-bottom:2rem;max-width:36rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.personas{padding:var(--space-section) 0}.personas h2,.values h2,.cta h2{font-family:var(--font-display);font-size:2rem;text-align:center;margin-bottom:2rem;color:var(--color-text)}.persona-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.persona-card{background:var(--color-cream-pale);border-radius:var(--radius-lg);padding:2rem 1.75rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:transform .25s ease,box-shadow .25s ease}.persona-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.persona-icon{font-size:2.5rem;display:block;margin-bottom:1rem}.persona-card h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--color-text)}.persona-card p{color:var(--color-text-muted);font-size:.95rem;margin-bottom:1rem}.link-arrow{font-weight:600;color:var(--color-blue)}.link-arrow:hover{text-decoration:underline;color:var(--color-primary-hover)}.values{padding:var(--space-section) 0;background:var(--color-cream-light)}.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;justify-items:center;text-align:center}.value-item{max-width:200px}.value-icon{font-size:2rem;display:block;margin-bottom:.75rem}.value-item h4{font-size:1rem;margin-bottom:.25rem;color:var(--color-text)}.value-item p{font-size:.9rem;color:var(--color-text-muted)}.cta{padding:var(--space-section) 0;text-align:center}.cta p{margin-bottom:1.5rem;color:var(--color-text-muted)}.cta-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.availability{font-size:.9rem;opacity:.8;color:var(--color-text-muted)}.auth-page{padding:var(--space-section) var(--space-page-x);min-height:65vh;display:flex;align-items:center;justify-content:center;background:var(--color-surface)}.auth-card{width:100%;max-width:420px;padding:2.5rem}.auth-card h1{font-family:var(--font-display);font-size:1.75rem;margin-bottom:.25rem;color:var(--color-text)}.auth-subtitle{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:.95rem}.auth-error{background:var(--color-error-pale);color:var(--color-error);padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem;border:1px solid rgba(223,51,54,.35)}.auth-card form label{display:block;margin-bottom:1rem;font-weight:500;font-size:.9rem;color:var(--color-text)}.auth-card form input,.auth-card form select{width:100%;padding:.75rem 1rem;margin-top:.35rem;border:1px solid var(--color-brown-pale);border-radius:var(--radius);font-size:1rem}.auth-card form input:focus,.auth-card form select:focus{outline:none;border-color:var(--color-navy-mid);box-shadow:0 0 0 3px #4c629433}.btn-block{width:100%;margin-top:.5rem}.auth-footer{margin-top:1.5rem;text-align:center;color:var(--color-text-muted);font-size:.95rem}.auth-footer a{color:var(--color-blue);font-weight:600}.shop{padding:2rem 0 4rem}.shop h1{font-family:var(--font-display);font-size:2rem;margin-bottom:.5rem;color:var(--color-text)}.shop-intro{color:var(--color-text-muted);margin-bottom:2rem}.kid-banner{background:linear-gradient(135deg,#5f8f5a33,#4fa3d126);padding:1rem 1.5rem;border-radius:var(--radius);margin-bottom:2rem;border-left:4px solid var(--color-green)}.shop-grid{display:grid;gap:2rem}@media (min-width: 768px){.shop-grid{grid-template-columns:1fr 380px}}.flavors-section h2,.order-section h2{font-size:1.25rem;margin-bottom:1rem;color:var(--color-text)}.flavor-list{display:flex;flex-direction:column;gap:.75rem}.flavor-item{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0}.flavor-dot{width:12px;height:12px;border-radius:50%;background:var(--accent, var(--color-green));flex-shrink:0;margin-top:.35rem}.flavor-item strong{display:block;color:var(--color-text)}.flavor-item p{font-size:.9rem;color:var(--color-text-muted);margin-top:.15rem}.order-section{padding:2rem;height:fit-content}.box-info{margin-bottom:1rem;color:var(--color-text-muted)}.campaign-select,.qty-select{display:block;margin-bottom:1rem;font-weight:500;font-size:.9rem}.campaign-select select,.qty-select input{width:100%;padding:.6rem 1rem;margin-top:.35rem;border:1px solid var(--color-brown-pale);border-radius:var(--radius);font-size:1rem}.total{font-size:1.25rem;margin:1rem 0;color:var(--color-text)}.btn-block{width:100%}.buy-from-kid{margin-top:1rem;font-size:.9rem;color:var(--color-text-muted)}.buy-from-kid a{color:var(--color-blue);font-weight:600}.shop-campaign-status,.shop-campaign-empty{margin:.75rem 0;font-size:.95rem;color:var(--color-text-muted)}.shop-campaign-error{margin:.75rem 0;font-size:.95rem;color:#b71c1c}.shop-checkout-hint{margin:.75rem 0 0;font-size:.9rem;color:var(--color-text);line-height:1.4}.shop-checkout-hint-muted{color:var(--color-text-muted)}.kid-profile{padding:2rem 0 4rem}.kid-profile-loading,.kid-profile-missing{padding:4rem 2rem;text-align:center}.kid-profile-missing h2{margin-bottom:.5rem;color:var(--color-text)}.kid-profile-missing p{color:var(--color-text-muted);margin-bottom:1.5rem}.kid-profile-card{max-width:560px;margin:0 auto;padding:2rem}.kid-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem}.kid-avatar{font-size:4rem;flex-shrink:0}.kid-header h1{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.25rem}.kid-goal{color:var(--color-text-muted);font-size:.95rem}.progress-bar{height:12px;background:var(--color-cream-light);border-radius:6px;overflow:hidden;margin-bottom:1.5rem;border:1px solid var(--color-brown-pale)}.pitch-video{margin-bottom:1.5rem;padding:1rem;background:var(--color-cream-lighter);border-radius:var(--radius);border:1px solid var(--color-brown-pale)}.pitch-video p{margin-bottom:.5rem;font-weight:500}.kid-actions{margin-bottom:1rem}.kid-actions .btn{width:100%}.share-url{font-size:.85rem;color:var(--color-text-muted)}.share-url code{display:block;margin-top:.35rem;padding:.5rem;background:var(--color-cream-lighter);border-radius:6px;word-break:break-all;border:1px solid var(--color-brown-pale)}.checkout{padding:2rem 0 4rem}.checkout h1{font-family:var(--font-display);font-size:2rem;margin-bottom:1.5rem;color:var(--color-text)}.checkout-grid{display:grid;gap:2rem}@media (min-width: 768px){.checkout-grid{grid-template-columns:1fr 360px}}.checkout-form,.order-summary{padding:2rem}.checkout-form h2,.order-summary h2{font-size:1.25rem;margin-bottom:1rem;color:var(--color-text)}.checkout-guest-note,.checkout-signed-in{font-size:.95rem;color:var(--color-text-muted);margin:0 0 1rem}.checkout-signed-in strong{color:var(--color-text)}.checkout-error{background:var(--color-error-pale);color:var(--color-error);padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;border:1px solid rgba(223,51,54,.35)}.checkout-form label{display:block;margin-bottom:1rem;font-weight:500;font-size:.9rem}.checkout-form input,.checkout-form textarea{width:100%;padding:.75rem 1rem;margin-top:.35rem;border:1px solid var(--color-brown-pale);border-radius:var(--radius);font-size:1rem}.checkout-form .row{display:grid;grid-template-columns:1fr auto auto;gap:1rem}.field-error{color:var(--color-error);font-size:.85rem}.order-summary p{margin-bottom:.5rem;color:var(--color-text-muted)}.summary-note{font-size:.9rem}.supporting{color:var(--color-blue)!important;font-weight:600}.ship-note{margin-top:1rem;font-size:.85rem;opacity:.9}.order-thanks{padding:2rem 0 4rem}.order-thanks h1{font-family:var(--font-display);font-size:2rem;margin-bottom:.75rem;color:var(--color-text)}.order-thanks .lead{color:var(--color-text-muted);margin-bottom:2rem;font-size:1.05rem}.order-thanks .summary-card{padding:1.5rem 2rem;margin-bottom:2rem}.order-thanks .summary-card h2{font-size:1.1rem;margin-bottom:.75rem;color:var(--color-text)}.order-thanks .summary-card p{margin:.35rem 0;color:var(--color-text-muted)}.order-thanks .event-card{padding:0;overflow:hidden;margin-bottom:2rem;border:1px solid var(--color-brown-pale);border-radius:var(--radius)}.order-thanks .event-card img{display:block;width:100%;max-height:320px;object-fit:cover}.order-thanks .event-body{padding:1.5rem 2rem 2rem}.order-thanks .event-body h2{font-size:1.35rem;margin-bottom:.75rem;color:var(--color-text)}.order-thanks .event-copy{color:var(--color-text-muted);line-height:1.55;white-space:pre-wrap;margin-bottom:1.25rem}.order-thanks .actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.dashboard{padding:2rem 0 4rem}.dashboard-loading{padding:4rem;text-align:center}.dashboard h1{font-family:var(--font-display);font-size:2rem;margin-bottom:.25rem;color:var(--color-text)}.subtitle{color:var(--color-text-muted);margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--color-cream-pale);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-brown-pale);text-align:center}.stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--color-blue)}.stat-label{font-size:.9rem;color:var(--color-text-muted)}.dashboard-section{padding:1.5rem 2rem;margin-bottom:1.5rem;background:var(--color-cream-pale);border-radius:var(--radius-lg);border:1px solid var(--color-brown-pale)}.dashboard-section h2{font-size:1.2rem;margin-bottom:1rem;color:var(--color-text)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.leaderboard li,.order-list li,.camp-list li{padding:.5rem 0;border-bottom:1px solid var(--color-brown-pale)}.leaderboard .rank{display:inline-block;width:1.5rem;font-weight:700;color:var(--color-green)}.progress-bar{height:12px;background:var(--color-cream-light);border-radius:6px;overflow:hidden;margin:1rem 0;border:1px solid var(--color-brown-pale)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-green),var(--color-green-mid));border-radius:6px;transition:width .5s}.share-url code{display:block;padding:.75rem;background:var(--color-cream-lighter);border-radius:var(--radius);font-size:.9rem;word-break:break-all;margin:.5rem 0 1rem;border:1px solid var(--color-brown-pale)}.kids-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:2rem}.kid-card .kid-stats{display:flex;justify-content:space-between;margin-bottom:.5rem;font-weight:500}.section-hint{font-size:.9rem;color:var(--color-text-muted);margin:-.5rem 0 1rem}.form-subheading{font-size:1rem;margin:0 0 .75rem;color:var(--color-text)}.form-success{color:var(--color-green-mid);font-size:.95rem;margin-bottom:.75rem}.form-error{color:#b71c1c;font-size:.95rem;margin-bottom:.75rem}.campaign-create-form{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-brown-pale)}.campaign-form-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1rem}.campaign-form-row label,.hq-teaser label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--color-text)}.campaign-form-row input[type=number],.campaign-form-row select,.hq-teaser input,.hq-teaser select,.hq-teaser textarea{font:inherit;padding:.5rem .65rem;border-radius:var(--radius);border:1px solid var(--color-border);min-width:7rem}.hq-teaser textarea{min-width:100%;resize:vertical}.checkbox-label{flex-direction:row!important;align-items:center;gap:.5rem!important;cursor:pointer}.campaign-table-wrap{overflow-x:auto}.campaign-table{width:100%;border-collapse:collapse;font-size:.95rem}.campaign-table th,.campaign-table td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--color-brown-pale)}.campaign-table th{font-weight:700;color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.empty-cell{color:var(--color-text-muted);font-style:italic}.toggle-open{font:inherit;font-weight:600;padding:.35rem .75rem;border-radius:var(--radius);border:1px solid var(--color-border);cursor:pointer;background:var(--color-cream-light)}.toggle-open.is-on{background:#5f8f5a40;border-color:var(--color-green);color:var(--color-navy)}.toggle-open.is-off{color:var(--color-text-muted)}.btn-text{background:none;border:none;font:inherit;font-weight:600;cursor:pointer;padding:.25rem;color:var(--color-blue)}.btn-text.danger{color:#b71c1c}.hq-teaser form{display:flex;flex-direction:column;gap:1rem}.workshops{padding:2rem 0 4rem}.workshops h1{font-family:var(--font-display);font-size:2rem;margin-bottom:.5rem;color:var(--color-text)}.intro{color:var(--color-text-muted);margin-bottom:2rem}.workshop-list{display:flex;flex-direction:column;gap:1.5rem}.workshop-card{padding:2rem}.workshop-card h2{font-size:1.25rem;margin-bottom:.25rem;color:var(--color-text)}.camp-name{color:var(--color-blue);font-weight:600;margin-bottom:.75rem}.description{color:var(--color-text-muted);margin-bottom:1rem}.date{font-weight:500;margin-bottom:.25rem}.capacity{font-size:.9rem;color:var(--color-text-muted)}.empty-state{padding:3rem;text-align:center;color:var(--color-text-muted)}:root{--color-page: #ffffff;--color-surface: #f7f9fc;--color-border: #dce3ee;--color-navy: #1d325f;--color-navy-mid: #4c6294;--color-primary: #ff8a3d;--color-primary-hover: #ff7624;--color-accent-yellow: #ffd93d;--color-accent-pink: #ff8bb6;--color-accent-sky: #6bcbff;--color-success: #4b916d;--color-cream: #ffffff;--color-cream-light: #f7f9fc;--color-cream-lighter: #f7f9fc;--color-cream-pale: #ffffff;--color-blue: #4c6294;--color-blue-mid: #6b7ba8;--color-blue-light: #8b98b8;--color-blue-pale: #a8b3cc;--color-green: var(--color-success);--color-green-mid: #6aab7e;--color-green-light: #97c693;--color-green-pale: #cde5d4;--color-brown: var(--color-navy);--color-brown-mid: #3d5280;--color-brown-light: #4c6294;--color-brown-pale: var(--color-border);--color-red: var(--color-primary);--color-red-mid: var(--color-primary-hover);--color-red-light: #ffa066;--color-red-pale: #fff0e8;--color-error: #df3336;--color-error-pale: #fcebeb;--color-text: var(--color-navy);--color-text-muted: var(--color-navy-mid);--font-display: "Plus Jakarta Sans", system-ui, sans-serif;--font-logo: "Plus Jakarta Sans", system-ui, sans-serif;--font-sans: "Plus Jakarta Sans", system-ui, sans-serif;--shadow-sm: 0 1px 2px rgba(29, 50, 95, .06);--shadow-md: 0 4px 20px rgba(29, 50, 95, .08);--shadow-lg: 0 16px 48px rgba(29, 50, 95, .1);--radius: 10px;--radius-lg: 16px;--space-section: clamp(3.5rem, 8vw, 6rem);--space-page-x: clamp(1.25rem, 4vw, 2rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-weight:400;font-size:1rem;line-height:1.65;background:var(--color-page);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit}.container{width:100%;max-width:980px;margin:0 auto;padding:0 var(--space-page-x)}@media (min-width: 768px){.container{padding:0 2.5rem}}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.15}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;font-weight:600;font-size:.9375rem;border-radius:var(--radius);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 12px #ff8a3d59}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:0 4px 20px #ff8a3d66}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:transparent;color:var(--color-navy);border:2px solid var(--color-navy)}.btn-secondary:hover{background:var(--color-navy);color:#fff}.card{background:var(--color-cream-pale);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden}
