:root{--ink:#162e29;--cream:#f1ede5;--paper:#fbfaf7;--rust:#435b91;--blue:#6479aa;--yellow:#efbd39;--line:rgba(22,46,41,.2);--max:1200px;--serif:'Bricolage Grotesque','Arial Narrow',Arial,sans-serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(calc(100% - 2.5rem),var(--max));margin-inline:auto}.section{padding:7rem 0}.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-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;color:#000;padding:.7rem 1rem}.skip-link:focus{top:1rem}.eyebrow{margin:0 0 1rem;font-size:.76rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.eyebrow-light{color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.4rem;padding:.75rem 1.35rem;border:1px solid currentColor;border-radius:.25rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s,box-shadow .25s,background .25s}.button:hover{transform:translate(-3px,-3px);box-shadow:4px 4px 0 currentColor}.button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.button-primary{background:var(--rust);color:#fff;border-color:var(--rust)}.button-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.site-header{position:fixed;z-index:50;inset:0 0 auto;background:rgba(251,247,239,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{height:5rem;display:flex;align-items:center;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--serif);font-size:1.15rem;line-height:1}.brand-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;background:var(--ink);color:#fff;border-radius:50%;font-style:italic}.brand strong{font-style:italic}.main-nav{margin-left:auto;display:flex;align-items:center;gap:1.6rem;font-size:.82rem;font-weight:700}.main-nav a{position:relative}.main-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-.25rem;height:2px;background:var(--rust);transition:right .2s}.main-nav a:hover:after,.main-nav a.active:after{right:0}.header-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border:1px solid var(--ink);border-radius:.25rem;font-size:.78rem;font-weight:700}.menu-toggle{display:none;border:0;background:transparent;padding:.5rem}.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:var(--ink);margin:5px}
.hero{padding-top:5rem;background:var(--cream)}.hero-grid{min-height:calc(100vh - 5rem);display:grid;grid-template-columns:1.03fr .97fr;align-items:center}.hero-copy{padding:5rem 5rem 5rem 0}.hero h1,.section h2{font-family:var(--serif);font-weight:400;line-height:.94;letter-spacing:-.045em;margin:0}.hero h1{font-size:clamp(4rem,7.4vw,7.4rem)}.hero h1 em,.benefits h2 em{color:var(--rust);font-weight:400}.hero-lead{max-width:34rem;font-size:1.12rem;margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.text-link{font-size:.83rem;font-weight:700;border-bottom:1px solid}.hero-note{display:flex;align-items:center;gap:.75rem;margin-top:3rem;font-size:.8rem;max-width:27rem}.thread-dot{width:1.2rem;height:1.2rem;border-radius:50%;background:var(--yellow);border:4px solid var(--ink);box-shadow:0 0 0 2px var(--yellow);flex:none}.hero-visual{align-self:stretch;position:relative;padding:2.5rem 0 2.5rem 2.5rem}.image-frame{height:100%;min-height:600px;overflow:hidden;border-radius:50% 50% 8px 8px / 28% 28% 8px 8px;background:#d4d0c5}.image-frame img{width:100%;height:100%;object-fit:cover}.hero-tag{position:absolute;left:0;bottom:14%;width:8.5rem;height:8.5rem;border-radius:50%;background:var(--yellow);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-9deg);border:2px solid var(--ink);font-family:var(--serif);font-size:1rem}.hero-tag strong{font-size:1.45rem;font-style:italic}.marquee{display:flex;align-items:center;min-height:4rem;overflow:hidden;background:var(--ink);color:#fff;padding:.7rem 0;font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.45rem);font-style:italic;line-height:1.2;white-space:nowrap}.marquee-track{display:flex;align-items:center;width:max-content;will-change:transform;animation:marquee 68s linear infinite}.marquee-group{display:flex;align-items:center;flex:none;padding-left:1.5rem}.marquee-group span{display:flex;align-items:center;flex:none}.marquee-group span::after{content:"·";display:inline-block;margin-inline:clamp(1.75rem,3.5vw,3.5rem);color:rgba(255,255,255,.78)}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:80px 1.1fr .9fr;gap:3rem}.section-number{font-family:var(--serif);font-size:3.5rem;color:var(--rust);font-style:italic}.section h2{font-size:clamp(3rem,5vw,5.4rem)}.intro-copy{padding-top:2.7rem}.intro-copy p{font-size:1.06rem;margin:0 0 1.2rem}.section-head{display:flex;align-items:end;justify-content:space-between;gap:4rem;margin-bottom:3.5rem}.section-head>p{max-width:27rem;margin:0 0 .5rem}.categories{background:#e2e8e1}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.category-card{position:relative;min-height:320px;padding:1.8rem;display:flex;flex-direction:column;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:transform .25s}.category-card:hover{transform:translateY(-5px);z-index:2}.category-card h3{font-family:var(--serif);font-size:2.5rem;line-height:1;margin:3rem 0 1.2rem;font-weight:400}.category-card p{margin:0;max-width:16rem;font-size:.92rem}.card-index{font-size:.72rem;font-weight:700}.card-symbol{position:absolute;right:1.6rem;bottom:1rem;font-family:var(--serif);font-size:3.5rem}.card-green{background:var(--ink);color:white}.card-cream{background:var(--cream)}.card-rust{background:var(--rust);color:white}.card-blue{background:var(--blue);color:#fff}.card-yellow{background:var(--yellow)}.card-white{background:var(--paper)}
.intro-hanger{display:block;color:var(--rust);font-size:3.5rem;font-style:normal;line-height:1}
.intro-heading h2 span{color:var(--rust)}
.intro-copy strong{color:var(--rust);font-weight:750}
.intro-copy em{font-family:var(--serif);font-weight:600}
.intro-facebook-note{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.9rem;width:calc(100% - 1cm);margin-top:calc(1.7rem + 1cm);padding:.9rem 1rem;border:1px solid rgba(67,91,145,.22);border-radius:.65rem;background:#f3f7ff;color:var(--ink);transition:border-color .25s ease,background .25s ease,transform .25s ease}
.intro-facebook-note:hover{border-color:rgba(67,91,145,.42);background:#edf3ff;transform:translateY(-2px)}
.intro-facebook-note:active{transform:translateY(0)}
.intro-facebook-note strong{color:var(--ink);font-family:var(--serif);font-size:1.08rem;font-weight:700;line-height:1.3}
.intro-facebook-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#435b91;color:#fff;font-family:Arial,sans-serif;font-size:1.65rem;font-weight:800;line-height:1}
.intro-facebook-arrow{color:var(--rust);font-size:1.35rem;line-height:1}
@media(max-width:620px){.intro-facebook-note{grid-template-columns:2.5rem minmax(0,1fr);padding:.9rem}.intro-facebook-arrow{display:none}}
.costumes{background:var(--ink);color:#fff}.costume-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:7rem;align-items:center}.costume-placeholder{aspect-ratio:4/5;border:1px dashed rgba(255,255,255,.65);background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 18px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(255,255,255,.7);transform:rotate(-2deg)}.costume-placeholder span{font-family:var(--serif);font-size:1.5rem}.costume-placeholder small{font-size:.7rem;letter-spacing:.1em;margin-top:.5rem}.costume-copy h2{color:var(--yellow)}.costume-copy>p:not(.eyebrow){max-width:35rem;font-size:1.05rem}.tick-list{list-style:none;padding:0;margin:2rem 0}.tick-list li{padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.25)}.tick-list li:before{content:'✓';color:var(--yellow);font-weight:700;margin-right:.8rem}
.costume-photo{position:relative;aspect-ratio:4/5;margin:0;overflow:hidden;border-radius:45% 45% 1rem 1rem / 18% 18% 1rem 1rem;transform:rotate(-1.5deg);box-shadow:18px 18px 0 var(--rust)}.costume-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.costume-photo figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.8rem 1rem;background:rgba(16,38,32,.86);backdrop-filter:blur(8px);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-align:center;text-transform:uppercase}
.benefits-title{text-align:center;margin-bottom:4.5rem}.benefit-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.benefit{padding:2rem 1.5rem;border-right:1px solid var(--line)}.benefit:first-child{border-left:1px solid var(--line)}.benefit>span{font-family:var(--serif);font-size:2.5rem;color:var(--rust);font-style:italic}.benefit h3{font-family:var(--serif);font-size:1.5rem;line-height:1.1;margin:1.5rem 0 .8rem}.benefit p{font-size:.9rem;margin:0}
.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.35rem;padding:1rem .75rem 2rem}.gallery-photo{position:relative;margin:0;overflow:hidden;background:#d7d9d4;border-radius:.75rem;box-shadow:0 14px 34px rgba(22,46,41,.13);transform-origin:center;transition:transform .3s ease,box-shadow .3s ease}.gallery-photo:nth-child(3n+1){transform:rotate(-1.15deg)}.gallery-photo:nth-child(3n+2){transform:translateY(1.6rem) rotate(.8deg)}.gallery-photo:nth-child(3n){transform:rotate(1.2deg)}.gallery-photo:hover{z-index:2;transform:translateY(-4px) rotate(0);box-shadow:0 20px 42px rgba(22,46,41,.18)}.gallery-photo img{width:100%;height:auto;object-fit:contain;transition:transform .65s ease,filter .65s ease}.gallery-photo:hover img{transform:scale(1.018);filter:saturate(1.06)}.gallery-photo figcaption{position:absolute;left:.85rem;bottom:.85rem;padding:.55rem .75rem;background:rgba(251,250,247,.92);color:var(--ink);font-family:var(--serif);font-size:.82rem;font-weight:650;line-height:1}.gallery-photo-crop img{object-position:center}.photo-tall,.photo-wide,.photo-square{grid-column:auto;grid-row:auto}
.facebook{padding-bottom:0;background:var(--paper)}.facebook-card{background:#344a7d;color:#fff;padding:4.5rem;display:grid;grid-template-columns:100px 1.15fr .85fr;align-items:center;gap:3rem}.fb-stamp{font-family:Arial;font-weight:800;font-size:5rem;width:6rem;height:6rem;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;line-height:1}.facebook-card h2{font-size:clamp(2.7rem,4.8vw,5rem)}.facebook-action p{margin:0 0 1.5rem}.contact-heading{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:3rem}.contact-heading .eyebrow{grid-column:1/-1}.contact-heading>p:last-child{max-width:28rem;margin:0}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--ink)}.contact-details{padding:1rem 3rem}.contact-details dl{margin:0}.contact-details dl>div{padding:1.4rem 0;border-bottom:1px solid var(--line)}.contact-details dl>div:last-child{border:0}.contact-details dt{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}.contact-details dd{margin:.35rem 0 0;font-family:var(--serif);font-size:1.15rem}.contact-details a{text-decoration:underline;text-underline-offset:4px}.map-placeholder{min-height:420px;background:#dbe1d8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;border-left:1px solid var(--ink)}.map-placeholder svg{width:4rem;height:4rem;margin-bottom:1rem;fill:none;stroke:var(--rust);stroke-width:4}.map-placeholder strong{font-family:var(--serif);font-size:1.4rem}.map-placeholder span{font-size:.75rem;margin-top:.25rem}
.site-footer{background:#102a20;color:#fff;padding:4.5rem 0 1.5rem}.brand-light .brand-mark{background:var(--yellow);color:var(--ink)}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;align-items:start;padding-bottom:4rem}.footer-top p{margin:0;color:rgba(255,255,255,.7)}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.footer-top nav a{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.25);font-size:.75rem;color:rgba(255,255,255,.65)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee-track{animation:none}}
@media(max-width:900px){.section{padding:5rem 0}.header-inner{gap:1rem}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.main-nav{display:none;position:absolute;left:0;right:0;top:5rem;margin:0;padding:1.5rem;background:var(--paper);border-bottom:1px solid var(--ink);flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:5rem 0 3rem}.hero-visual{padding:0 0 3rem 2rem}.image-frame{height:65vh;min-height:480px}.intro-grid{grid-template-columns:60px 1fr}.intro-copy{grid-column:2}.category-grid{grid-template-columns:repeat(2,1fr)}.costume-wrap{gap:3rem}.benefit-list{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.facebook-card{grid-template-columns:80px 1fr;padding:3rem}.facebook-action{grid-column:2}.contact-heading{grid-template-columns:1fr}.contact-heading .eyebrow{grid-column:auto}.contact-grid{grid-template-columns:1fr}.map-placeholder{border-left:0;border-top:1px solid var(--ink)}}
@media(max-width:620px){.shell{width:min(calc(100% - 1.5rem),var(--max))}.section{padding:4rem 0}.hero-copy{padding-top:4rem}.hero h1{font-size:clamp(3.2rem,17vw,5rem)}.hero-lead{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{padding-left:1rem}.image-frame{min-height:420px;height:60vh}.hero-tag{width:6.5rem;height:6.5rem}.intro-grid{grid-template-columns:1fr;gap:1rem}.section-number{font-size:2.3rem}.intro-copy{grid-column:auto;padding-top:0}.section h2{font-size:clamp(2.6rem,13vw,4rem)}.section-head{display:block}.section-head>p{margin-top:1.5rem}.category-grid{grid-template-columns:1fr}.category-card{min-height:260px}.costume-wrap{grid-template-columns:1fr}.costume-photo{max-height:560px}.benefit-list{grid-template-columns:1fr}.benefit,.benefit:first-child{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.gallery-grid{grid-template-columns:1fr;padding-inline:.35rem}.gallery-photo,.gallery-photo:nth-child(3n+1),.gallery-photo:nth-child(3n+2),.gallery-photo:nth-child(3n){transform:none}.facebook-card{grid-template-columns:1fr;padding:2.2rem}.facebook-action{grid-column:auto}.fb-stamp{width:4rem;height:4rem;font-size:3rem}.contact-details{padding:1rem 1.5rem}.contact-heading{gap:1rem}.footer-top{grid-template-columns:1fr}.footer-bottom{gap:1rem;flex-direction:column}.footer-top nav{max-width:280px}}

/* Refined visual system: Bricolage display typography and restrained blue accents */
.hero h1,.section h2,.category-card h3,.benefit h3,.brand,.section-number,.hero-tag,.marquee,.costume-placeholder span,.contact-details dd,.map-placeholder strong{font-family:var(--serif)}
.hero h1,.section h2{font-weight:650;letter-spacing:-.055em;line-height:.92}
.hero h1 em,.benefits h2 em{color:var(--rust);font-style:normal;font-weight:750}
.brand{font-weight:650}.brand strong{font-style:normal;font-weight:800}.brand-mark{background:var(--rust);font-style:normal;font-weight:800}
.eyebrow{color:var(--rust)}.eyebrow-light{color:#fff}
.header-cta,.button-primary{background:var(--rust);border-color:var(--rust);color:#fff;box-shadow:0 8px 24px rgba(67,91,145,.2)}
.text-link{color:var(--rust);border-color:var(--rust)}
.button:focus-visible,a:focus-visible,button:focus-visible{outline-color:var(--rust)}
.thread-dot{background:var(--rust);border-color:var(--paper);box-shadow:0 0 0 2px var(--rust)}
.image-frame{box-shadow:0 22px 60px rgba(22,46,41,.16)}
.hero-tag{background:var(--rust);border-color:var(--paper);color:#fff}.hero-tag strong{font-style:normal;font-weight:800}
.marquee{font-style:normal;font-weight:650;letter-spacing:.01em}
.section-number,.benefit>span,.photo-placeholder>span{font-style:normal;font-weight:750}
.category-card h3,.benefit h3{font-weight:650;letter-spacing:-.035em}
.card-rust{background:var(--rust)}.card-blue{background:#344875}.costume-copy h2{color:#a9b8d9}
.tick-list li:before{color:#a9b8d9}.facebook-card{background:#344a7d}
.contact-details a,.footer-top nav a{text-decoration-color:var(--rust)}
.map-placeholder{background:#edf0f6}.site-footer{background:#101a33}.brand-light .brand-mark{background:#6479aa;color:#fff}

/* Airier editorial refinement */
.hero,.intro,.benefits,.facebook,.contact{background:#fbfaf7}
.categories{background:#f0f2f6}
.categories .section-head{flex-direction:column;align-items:center;gap:1.5rem;text-align:center}
.categories .section-head>p{max-width:43rem;margin:0}
.categories .section-head h2{font-size:clamp(1.25rem,5vw,5.4rem);white-space:nowrap}
.gallery{padding-bottom:3.5rem;background:#faf9f6}
.gallery .gallery-grid{padding-bottom:0}
@media(max-width:900px){.gallery{padding-bottom:3rem}}
@media(max-width:620px){.gallery{padding-bottom:2rem}}
.gallery .section-head{flex-direction:column;align-items:center;gap:1.5rem;text-align:center}
.gallery .section-head>p{max-width:48rem;margin:0}
.gallery .section-head h2{font-size:clamp(1.25rem,5vw,5.4rem);white-space:nowrap}
.image-frame{min-height:600px;border-radius:1.35rem;box-shadow:0 18px 50px rgba(22,46,41,.12)}
.hero-tag{left:-1.25rem;bottom:10%;width:7.5rem;height:7.5rem;border:4px solid #fbfaf7;box-shadow:0 12px 34px rgba(22,46,41,.16)}
.costumes{background:var(--cream);color:var(--ink)}
.costume-wrap{gap:clamp(3rem,7vw,7rem)}
.costume-photo{aspect-ratio:4/5;border-radius:1.25rem;transform:none;box-shadow:14px 14px 0 #d8dfef}
.costume-photo figcaption{background:rgba(251,250,247,.92);color:var(--ink);border-radius:.5rem}
.costume-copy h2{color:var(--rust)}
.costume-copy .eyebrow{color:var(--rust)}
.tick-list li{border-color:rgba(67,91,145,.22)}
.tick-list li:before{color:var(--rust)}
.costume-copy .button-light{background:var(--rust);border-color:var(--rust);color:#fff}
.gallery-grid{gap:1.15rem}
.gallery-photo:nth-child(3n+1){transform:none}
.gallery-photo:nth-child(3n+2){transform:translateY(1.6rem)}
.gallery-photo:nth-child(3n){transform:none}
.gallery-photo:nth-child(5){transform:translateY(-6.4rem)}
.gallery-photo:nth-child(6){transform:translateY(-6.4rem)}
@media(max-width:620px){.gallery-photo:nth-child(5),.gallery-photo:nth-child(6){transform:none}}
.gallery-photo{border-radius:.85rem;box-shadow:0 8px 24px rgba(22,46,41,.08)}
.gallery-photo figcaption{border-radius:.35rem;box-shadow:0 4px 14px rgba(22,46,41,.12)}

.how-it-works{background:#273b67;color:#fff}
.how-heading{max-width:62rem;margin:0 auto 3.75rem;text-align:center}
.how-it-works .eyebrow{color:#c8d2e8}
.how-heading h2{font-size:clamp(1.05rem,4.3vw,4.25rem);line-height:.94;white-space:nowrap}
.how-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;padding-top:4.25rem}
.how-step{--step-arrow:clamp(5.5rem,9vw,8rem);position:relative;min-height:18rem;padding:2.25rem 2rem 2.4rem;background:linear-gradient(145deg,#e2edff 0%,#c7daf6 100%);color:#1b3156;border:1px solid rgba(255,255,255,.56);border-radius:1.15rem;box-shadow:0 16px 34px rgba(8,20,51,.18),inset 0 1px 0 rgba(255,255,255,.7)}
.how-step:nth-child(2){background:linear-gradient(145deg,#edf3ff 0%,#d2e0f5 100%)}
.how-step:nth-child(3){background:linear-gradient(145deg,#dceaff 0%,#bdd3f1 100%)}
.how-step:not(:last-child)::after{content:"";position:absolute;top:-2.675rem;left:calc(100% + .7rem);width:var(--step-arrow);height:.7rem;background:rgba(255,255,255,.82);clip-path:polygon(0 calc(50% - 1px),calc(100% - .6rem) calc(50% - 1px),calc(100% - .6rem) 0,100% 50%,calc(100% - .6rem) 100%,calc(100% - .6rem) calc(50% + 1px),0 calc(50% + 1px));transform:translate(-50%,-50%);pointer-events:none}
.how-step>span{position:absolute;z-index:1;top:-4.25rem;left:50%;width:3.15rem;height:3.15rem;display:grid;place-items:center;transform:translateX(-50%);border:1px solid rgba(200,210,232,.72);border-radius:50%;background:#344a7d;color:#fff;font-family:var(--serif);font-size:1.05rem;font-weight:750;letter-spacing:.06em;box-shadow:0 0 0 7px #273b67}
.how-step h3{margin:0 0 1rem;font-family:var(--serif);font-size:clamp(1.55rem,2.2vw,2rem);line-height:1.08;letter-spacing:-.025em}
.how-step p{margin:0;color:rgba(27,49,86,.8);font-size:1.05rem;line-height:1.7}
.how-button{display:flex;width:max-content;gap:.65rem;margin:3rem auto 0;min-height:4.25rem;padding:1rem 1.6rem;background:#fbfaf7;color:#273b67;border-color:#fbfaf7;font-weight:800;white-space:nowrap}
@media(max-width:800px){.how-steps{grid-template-columns:1fr;gap:1rem;padding-top:0}.how-step{min-height:auto;padding:2rem}.how-step:not(:last-child)::after{display:none}.how-step>span{position:static;width:3.15rem;height:3.15rem;margin-bottom:1.5rem;transform:none;box-shadow:none}}
@media(max-width:620px){.how-heading{margin-bottom:2.5rem}.how-button{width:100%;padding-inline:1rem;text-align:center;white-space:normal}}

.testimonials{background:#f1ede5;color:var(--ink)}
.testimonials .eyebrow{color:var(--rust)}
.testimonials .section-head{flex-direction:column;align-items:center;gap:1.5rem;text-align:center}
.testimonials .section-head>p{max-width:48rem;margin:0}
.testimonials .section-head>p{color:rgba(22,46,41,.78)}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.testimonial-card{position:relative;min-height:310px;padding:2rem;display:flex;flex-direction:column;border:1px solid rgba(67,91,145,.14);border-radius:1rem;text-align:center;box-shadow:0 12px 30px rgba(43,58,91,.09)}
.testimonial-card:nth-child(1),.testimonial-card:nth-child(3){background:#edf0f6;color:var(--ink)}
.testimonial-card:nth-child(2){background:#fff;color:var(--ink)}
.quote-mark{position:absolute;right:1.5rem;top:.7rem;color:#d8dfef;font-family:var(--serif);font-size:5.5rem;line-height:1}
.stars{position:relative;color:var(--rust);font-size:.9rem;letter-spacing:.22em}
.testimonial-card blockquote{position:relative;margin:2.5rem 0 2rem;font-size:1rem;line-height:1.7}
.testimonial-card>p{margin:auto 0 0;padding-top:1.25rem;border-top:1px solid rgba(67,91,145,.14);color:var(--rust);font-family:var(--serif);font-size:1rem;font-weight:700;letter-spacing:.02em}

.contact{padding:6rem 0;background:#fbfaf7}
.group-cta{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(2rem,6vw,5rem);min-height:22rem;padding:clamp(3rem,6vw,5rem);overflow:hidden;isolation:isolate;background:#344a7d;color:#fff;border-radius:1.25rem;box-shadow:0 18px 46px rgba(43,58,91,.18)}
.group-cta-copy,.group-cta-button{position:relative;z-index:2}
.group-cta-copy{max-width:48rem}
.group-confetti{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
.group-confetti span{position:absolute;top:-10%;left:var(--x);width:9px;height:16px;border-radius:2px;background:var(--c);opacity:.72;transform:translate3d(0,-10vh,0) rotate(var(--r));animation:group-confetti-fall var(--d) linear var(--delay) infinite}
.group-confetti span:nth-child(3n){width:7px;height:7px;border-radius:50%}
.group-confetti span:nth-child(4n){width:13px;height:6px}
@keyframes group-confetti-fall{0%{transform:translate3d(0,-12vh,0) rotate(var(--r))}50%{transform:translate3d(28px,58vh,0) rotate(calc(var(--r) + 360deg))}100%{transform:translate3d(-18px,120vh,0) rotate(calc(var(--r) + 720deg))}}
@media(prefers-reduced-motion:reduce){.group-confetti span{animation:none;opacity:.24;transform:translateY(18rem) rotate(var(--r))}}
.group-cta h2{font-size:clamp(2.6rem,5vw,5rem);line-height:.98}
.group-cta p{max-width:38rem;margin:1.4rem 0 0;color:rgba(255,255,255,.84);font-size:1.18rem}
.group-cta-button{justify-self:end;min-height:4.75rem;padding:1.25rem 2rem;background:#fbfaf7;color:#344a7d;border-color:#fbfaf7;font-weight:800;white-space:nowrap}
@media(max-width:800px){.group-cta{grid-template-columns:1fr;min-height:auto;padding:3rem 2rem}.group-cta h2{font-size:clamp(2.2rem,10vw,3rem)}.group-cta-button{justify-self:stretch;width:100%;padding-inline:1.25rem;text-align:center;white-space:normal}}

@media(max-width:900px){.image-frame{border-radius:1.1rem}.costume-photo{border-radius:1rem}.benefit-list{gap:1rem}.benefit{min-height:260px}.news-card{grid-template-columns:1fr 1.4fr;padding:3rem}.news-kicker{grid-column:1/-1}.facebook-action{grid-column:2}.testimonial-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.image-frame{border-radius:.8rem}.hero-tag{left:-.4rem}.costume-photo{max-height:none}.benefit-list{gap:.9rem}.benefit,.benefit:first-child{min-height:auto;padding:1.5rem}.benefit h3{margin:2.2rem 0 .8rem}.news-card{grid-template-columns:1fr;gap:2rem;padding:2rem}.facebook-action{grid-column:auto}.news-card:after{right:-2rem}.testimonial-grid{grid-template-columns:1fr}.testimonial-card{min-height:260px}.contact-heading{display:block}.contact-heading>p{margin-top:1.5rem}.contact-grid{grid-template-columns:1fr;padding:.8rem;background-position:center}.contact-details{padding:.75rem 1.25rem}.map-placeholder{min-height:300px}}

/* Full-bleed hero background supplied by the client */
.hero{position:relative;background:linear-gradient(90deg,rgba(12,27,24,.88) 0%,rgba(12,27,24,.72) 35%,rgba(12,27,24,.24) 68%,rgba(12,27,24,.08) 100%),url('assets/hero-background.png') center center/cover no-repeat;color:#fff}
.hero-grid{grid-template-columns:1fr;min-height:calc(100vh - 5rem)}
.hero-copy{position:relative;z-index:2;max-width:710px;padding:clamp(5rem,10vh,8rem) 0}
.hero .eyebrow{color:#d8dfef}
.hero h1{color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.2)}
.hero h1 em{color:#c8d2e8}
.hero-lead{color:rgba(255,255,255,.9)}
.hero .text-link{color:#fff;border-color:rgba(255,255,255,.7)}
.hero-note{color:rgba(255,255,255,.86)}
.hero .thread-dot{border-color:rgba(255,255,255,.9)}
.hero-visual{display:none}
@media(max-width:900px){.hero{background-position:58% center}.hero-grid{min-height:760px}.hero-copy{max-width:620px;padding:6rem 0}.hero-lead{max-width:31rem}}
@media(max-width:620px){.hero{background-image:linear-gradient(90deg,rgba(12,27,24,.92) 0%,rgba(12,27,24,.77) 62%,rgba(12,27,24,.38) 100%),url('assets/hero-background.png');background-position:57% center}.hero-grid{min-height:calc(100svh - 5rem)}.hero-copy{padding:4.5rem 0 3.5rem}.hero-lead{max-width:26rem}.hero-note{max-width:22rem}}

/* Pink secondary accent requested for the hero ribbon and kidswear card */
.marquee{background:#c8644a;color:#fff}
.card-yellow{background:#c8644a;color:#fff}
.stars{color:#c8644a}

/* Larger, more readable type scale across body copy and controls */
body{font-size:1.125rem;line-height:1.7}
.eyebrow{font-size:.84rem}
.button{font-size:1rem}
.header-cta{padding:.65rem 1.35rem;font-size:1.08rem}
.main-nav{font-size:1.08rem}
.text-link{font-size:1rem}
.hero-lead{font-size:1.18rem}
.hero-note{font-size:.95rem}
.intro-copy p{font-size:1.12rem}
.category-card p{font-size:1rem}
.card-index{font-size:.82rem}
.costume-placeholder small{font-size:.82rem}
.costume-copy>p:not(.eyebrow){font-size:1.12rem}
.costume-photo figcaption{font-size:.84rem}
.benefit p{font-size:1rem}
.gallery-photo figcaption{font-size:.95rem}
.testimonial-card blockquote{font-size:1.08rem}
.testimonial-card>p{font-size:1.05rem}
.footer-top nav a{font-size:1rem}
.footer-bottom{font-size:.88rem}
