@font-face{font-family:Manrope;src:url('../assets/identity/manrope-latin.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{color-scheme:dark;--paper:#f1f0e9;--muted:#b9c1bc;--orange:#ef9a60;--line:#b9c1bc38}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#171a19;color:var(--paper);font:16px/1.65 Manrope,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}a:focus-visible{outline:2px solid var(--orange);outline-offset:7px}.skip{position:absolute;top:-100px;background:#171a19;padding:12px;z-index:5}.skip:focus{top:0}.wrap{width:min(1280px,88%);margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:30px 6%;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:29px}.site-header nav{display:flex;gap:30px;font-size:13px}.site-header nav a{padding:10px 0}.site-header [aria-current]{color:var(--orange)}.eyebrow,.small-label{font-size:11px;text-transform:uppercase;letter-spacing:1.7px}.eyebrow{color:var(--orange);margin-bottom:32px}h1,h2,h3{font-weight:450;line-height:1.08}h1{font-size:clamp(48px,6.5vw,96px);letter-spacing:-.065em}h1 span{color:var(--muted)}h2{font-size:clamp(36px,4vw,59px);letter-spacing:-.045em}h3{font-size:25px;letter-spacing:-.03em}.opening{padding-top:100px;padding-bottom:90px}.opening-bottom{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-top:50px}.opening-bottom p{max-width:530px;font-size:20px;color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--muted);padding-bottom:7px;font-size:13px}.text-link span{margin-left:18px;color:var(--orange)}.section{padding-block:90px;border-top:1px solid var(--line)}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.prose p{color:var(--muted);margin-bottom:24px}.prose .lead{font-size:21px;color:var(--paper);line-height:1.6}.founder{border-top:1px solid var(--line);margin-top:40px;padding-top:28px}.small-label{color:var(--muted)}.founder h3{margin:14px 0}.founder p{font-size:15px;margin:0}.purpose{padding:95px 0;background:linear-gradient(90deg,#171a19e8,#171a19b8),url('../assets/services/stylized-opening.webp') center/cover}.purpose h2{font-size:clamp(42px,5vw,76px)}.purpose h2 span{color:var(--orange)}.purpose .wrap>p:last-child{max-width:640px;margin-top:32px;font-size:20px;color:var(--paper)}.section-top{margin-bottom:48px}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:0 0 38px}.steps li{border-top:1px solid var(--line);padding-top:22px}.steps h3{margin:0 0 16px}.steps p,.project>p:last-child{font-size:15px;color:var(--muted)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:40px}.project-art{height:310px;overflow:hidden;margin-bottom:25px;background:#e9e4d6}.project-art img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project:hover img{transform:scale(1.025)}.project h3{display:flex;justify-content:space-between;margin:12px 0 16px}.project h3 span{color:var(--orange)}.kiddos{display:grid;place-items:center;color:#343b32;padding:30px;font-size:clamp(25px,2.4vw,36px);line-height:1.3;letter-spacing:-.04em;background:#fff}.kiddos em{font-style:normal;color:#9c5035}.invitation{padding-block:100px 110px}.invitation h2{font-size:clamp(50px,7vw,100px)}.button{display:inline-flex;gap:32px;align-items:center;margin-top:35px;background:var(--paper);color:#171a19;padding:16px 24px;font-size:14px;border-radius:3px}footer{border-top:1px solid var(--line);padding-block:32px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px;color:var(--muted)}
@media(max-width:700px){.site-header{padding:20px 6%;gap:16px;flex-wrap:wrap}.site-header nav{gap:20px;width:100%;justify-content:space-between}.brand{font-size:25px}.opening{padding-top:60px;padding-bottom:60px}.opening-bottom{display:block;margin-top:30px}.opening-bottom p{font-size:18px}.opening-bottom a{margin-top:28px}h1{font-size:clamp(43px,9vw,62px)}.section{padding-block:60px}.split,.steps,.projects{grid-template-columns:1fr;gap:32px}.prose .lead{font-size:19px}.eyebrow{margin-bottom:24px}.purpose{padding-block:65px}.purpose .wrap>p:last-child{font-size:18px}.project-art{height:270px}.steps{gap:30px}.steps h3{margin-top:0}.invitation{padding-block:65px}footer{align-items:start;flex-direction:column;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-art img{transition:none}}

/* Quiet brand previews with original logos and slogans. */
.project-art.camp,.project-art.kiddos{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:30px;text-align:center}.project-art.camp{background:#fbf2e6;color:#21392b}.project-art .project-logo{width:130px;height:115px;object-fit:contain;flex-shrink:0;transform:none;box-shadow:none}.project-art .project-slogan{font-size:clamp(23px,2.1vw,30px);line-height:1.3;letter-spacing:-.04em}.project:hover .project-logo{transform:none}
@media(max-width:700px){.project-art.camp,.project-art.kiddos{gap:18px;padding:24px}.project-art .project-logo{height:100px;width:120px}}

.project-art.kiddos .project-logo{mix-blend-mode:normal}

/* Rounded brand pins: stable link targets, solid rounded edges and a blank reverse, no runtime JS. */
.project{perspective:1400px}
.project-art.camp,.project-art.kiddos{position:relative;display:block;padding:0;overflow:visible;border-radius:26px;background:transparent;transform-style:preserve-3d;transition:transform .3s ease}
.project-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:30px;border-radius:inherit;backface-visibility:hidden;border:1px solid #ffffff75;box-shadow:inset 0 2px 0 #ffffffa6,inset 0 -5px 0 #00000014,0 18px 32px #00000040;transform:translateZ(8px)}
.camp .project-face{background:#fbf2e6}
.kiddos .project-face{background:#fff}
.project-back{transform:rotateY(180deg) translateZ(8px)}
@keyframes brand-pin-turn{0%{transform:translateY(0) rotateY(0)}20%{transform:translateY(-8px) rotateY(-16deg)}100%{transform:translateY(-8px) rotateY(360deg)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project:hover .project-art{animation:brand-pin-turn 1.15s cubic-bezier(.4,0,.2,1) both}}
.project:focus-visible .project-art{transform:translateY(-6px)}
@media(max-width:700px){.project-art.camp,.project-art.kiddos{padding:0;border-radius:26px}.project-face{gap:18px;padding:24px}}
@media(prefers-reduced-motion:reduce){.project-art.camp,.project-art.kiddos{transition:none}.project:focus-visible .project-art{transform:none}}

/* A 16px solid rim, including curved corners, stays visible edge-on. */
.project-art .project-back{background:linear-gradient(135deg,#fffefa,#eeeae1);box-shadow:inset 0 0 0 1px #ffffffa6,inset 0 -3px 8px #b4ad9b26}
.pin-edge{position:absolute;display:block;padding:0;background:linear-gradient(90deg,#bcb8ac,#f3f0e7 40%,#d7d2c5);pointer-events:none}
.pin-edge-top,.pin-edge-bottom{left:26px;width:calc(100% - 52px);height:16px;transform:translateY(-50%) rotateX(90deg)}
.pin-edge-top{top:0}.pin-edge-bottom{top:100%}
.pin-edge-left,.pin-edge-right{top:26px;height:calc(100% - 52px);width:16px;transform:translateX(-50%) rotateY(90deg)}
.pin-edge-left{left:0}.pin-edge-right{left:100%}
.pin-curve{width:5.4px;height:16px;background:#ded9cd}
