:root{--paper:#f4f5f0;--paper-2:#ebede6;--card:#fff;--ink:#12293d;--text:#1e2f3d;--muted:#5b6975;--line:#d7dbd4;--line-strong:#b9c0b8;--blue:#1a6a99;--blue-ink:#12507a;--yellow:#ffe11a;--yellow-ink:#12293d;--focus:#1a6a99;--shadow:0 1px 2px #12293d0f,0 10px 30px -18px #12293d40;--dot:#c9cfc6;--chip:#e4eef5;--band:#12293d;--band-text:#f4f5f0;--band-muted:#a9b8c6;--band-line:#3b5470}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0f1c28;--paper-2:#152534;--card:#182a3a;--ink:#f1f3ec;--text:#e1e6e0;--muted:#a3afb9;--line:#2a3d4e;--line-strong:#3d546a;--blue:#7cbde6;--blue-ink:#a7d3f0;--yellow:#ffe11a;--yellow-ink:#12293d;--focus:#7cbde6;--shadow:0 1px 2px #0000004d,0 10px 30px -18px #0009;--dot:#24384a;--chip:#1f3547;--band:#182a3a;--band-text:#f1f3ec;--band-muted:#a3afb9;--band-line:#3d546a}}:root[data-theme=dark]{--paper:#0f1c28;--paper-2:#152534;--card:#182a3a;--ink:#f1f3ec;--text:#e1e6e0;--muted:#a3afb9;--line:#2a3d4e;--line-strong:#3d546a;--blue:#7cbde6;--blue-ink:#a7d3f0;--yellow:#ffe11a;--yellow-ink:#12293d;--focus:#7cbde6;--shadow:0 1px 2px #0000004d,0 10px 30px -18px #0009;--dot:#24384a;--chip:#1f3547;--band:#182a3a;--band-text:#f1f3ec;--band-muted:#a3afb9;--band-line:#3d546a}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--text);font-family:var(--font-public-sans),ui-sans-serif,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55}img{max-width:100%;display:block}a{color:var(--blue);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--blue-ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}h1,h2,h3,.display{font-family:var(--font-bricolage),var(--font-public-sans),system-ui,sans-serif;color:var(--ink);text-wrap:balance;font-variation-settings:"opsz" 96;margin:0}h1{letter-spacing:-.025em;font-size:clamp(2.4rem,5.2vw,4rem);font-weight:800;line-height:1.02}@media (min-width:900px){h1{letter-spacing:-.045em}}h2{letter-spacing:-.02em;font-size:clamp(1.85rem,3.4vw,2.6rem);font-weight:800;line-height:1.08}h3{letter-spacing:-.01em;font-size:1.28rem;font-weight:700;line-height:1.2}p{margin:0}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.lead{color:var(--text);max-width:34em;font-size:1.15rem;line-height:1.5}.muted{color:var(--muted)}.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}.skip{background:var(--yellow);color:var(--yellow-ink);z-index:100;padding:.6rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{top:1rem;left:1rem}.site-header{z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .wrap{align-items:center;gap:1.25rem;height:68px;display:flex}.brand{color:var(--ink);font-weight:700;font-family:var(--font-bricolage),sans-serif;align-items:center;gap:.7rem;font-size:1.05rem;text-decoration:none;display:flex}.brand img{width:40px;height:40px}.brand span{display:none}@media (min-width:720px){.brand span{display:inline}}.nav{gap:1.4rem;margin-left:1rem;display:none}.nav a{color:var(--text);font-size:.95rem;font-weight:500;text-decoration:none}.nav a:hover{color:var(--blue)}.header-right{align-items:center;gap:1rem;margin-left:auto;display:flex}.member{color:var(--muted);font-size:.9rem;font-weight:500;text-decoration:none;display:none}.member:hover{color:var(--blue)}@media (min-width:900px){.nav{display:flex}.member{display:inline}}.menu{position:relative}.menu summary{cursor:pointer;color:var(--ink);padding:.5rem .3rem;font-size:.95rem;font-weight:600;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu nav{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;min-width:220px;padding:.5rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0}.menu nav a{color:var(--text);border-radius:6px;padding:.6rem .8rem;font-weight:500;text-decoration:none}.menu nav a:hover{background:var(--paper-2)}@media (min-width:900px){.menu{display:none}}.btn{white-space:nowrap;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.25rem;font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;transition:transform .12s,background .12s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-yellow{background:var(--yellow);color:var(--yellow-ink);border-color:var(--yellow)}.btn-yellow:hover{color:var(--yellow-ink);background:#ffd500}.btn-ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.btn-ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-ink:hover{color:var(--paper);opacity:.92}.btn-sm{padding:.6rem 1rem;font-size:.88rem}.btn svg{width:16px;height:16px}section{padding:4.5rem 0}.sec{gap:1.5rem 3rem;display:grid}@media (min-width:900px){.sec{grid-template-columns:200px 1fr}}.sec-head{gap:.6rem;display:grid}.rail{color:var(--muted);padding-top:.5rem;font-size:.9rem;display:none}@media (min-width:900px){.rail{display:block}}.sec-head h2{max-width:14em}.sec-head .lead{margin-top:.25rem}.rule{border:0;border-top:1px solid var(--line);margin:0}.hero{padding:3.5rem 0 3rem}.hero-grid{align-items:center;gap:2.25rem;display:grid}@media (min-width:900px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:3.5rem}}.hero-copy{gap:1.4rem;display:grid}.hero-copy h1{max-width:12.5em}.hero-copy h1 em{color:var(--blue);font-style:normal}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:.4rem;display:flex}.hero-photo{aspect-ratio:4/3;box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.hero-photo img{object-fit:cover;width:100%;height:100%}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin-top:3rem;display:grid}@media (min-width:720px){.facts{grid-template-columns:repeat(4,1fr)}}.fact{gap:.15rem;padding:1.1rem 1rem 1.1rem 0;display:grid}.fact b{font-family:var(--font-bricolage),sans-serif;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;line-height:1.1}.fact span{color:var(--muted);font-size:.85rem}.plans{gap:1rem;display:grid}@media (min-width:720px){.plans{grid-template-columns:repeat(3,1fr)}}.plan{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;align-content:start;gap:1rem;padding:1.5rem;display:grid}.plan .eyebrow{color:var(--blue)}.plan h3{font-size:1.5rem}.plan p{color:var(--muted);font-size:.97rem}.plan ul{border-top:1px solid var(--line);gap:.5rem;margin:0;padding:1rem 0 0;font-size:.95rem;list-style:none;display:grid}.plan li{align-items:flex-start;gap:.6rem;display:flex}.plan li svg{width:16px;height:16px;color:var(--blue);flex:none;margin-top:.25rem}.plans-note{color:var(--muted);max-width:60em;margin-top:1.5rem;font-size:.95rem}.steps{counter-reset:step;gap:1.25rem;display:grid}@media (min-width:720px){.steps{grid-template-columns:repeat(3,1fr);gap:2rem}}.step{border-top:2px solid var(--ink);gap:.6rem;padding-top:1rem;display:grid}.step:before{counter-increment:step;content:"Step " counter(step);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.step p{color:var(--muted);font-size:.97rem}.apply-band{background:var(--yellow);color:var(--yellow-ink);border-radius:14px;align-items:center;gap:1rem;margin-top:2.5rem;padding:1.75rem;display:grid}@media (min-width:800px){.apply-band{grid-template-columns:1fr auto;gap:2rem}}.apply-band h3{color:var(--yellow-ink);font-size:1.5rem}.apply-band p{color:#33465a;max-width:44em;margin-top:.4rem;font-size:.95rem}.apply-band .btn-ink{color:#fff;background:#12293d;border-color:#12293d}.apply-band .btn-ink:hover{color:#fff}.fac-groups{gap:2rem;display:grid}@media (min-width:900px){.fac-groups{grid-template-columns:repeat(3,1fr);gap:2.5rem}}.fac-group h3{border-bottom:1px solid var(--line);margin-bottom:.4rem;padding-bottom:.6rem}.fac-group ul{margin:0;padding:0;list-style:none}.fac-group li{border-bottom:1px solid var(--line);grid-template-columns:22px 1fr;gap:.8rem;padding:.75rem 0;display:grid}.fac-group li:last-child{border-bottom:0}.fac-group svg{width:20px;height:20px;color:var(--blue);margin-top:.15rem}.fac-group b{color:var(--ink);font-weight:600;display:block}.fac-group span{color:var(--muted);font-size:.92rem}.studio{align-items:start;gap:2rem;display:grid}@media (min-width:900px){.studio{grid-template-columns:.9fr 1.1fr;gap:3rem}}.studio-photos{gap:1rem;min-width:0;display:grid}.studio-photo{aspect-ratio:4/3;box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.studio-photo img{object-fit:cover;width:100%;height:100%}.rates{border-collapse:collapse;width:100%;margin-top:1.25rem;font-size:.97rem}.rates th,.rates td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.8rem 0}.rates th{color:var(--ink);font-weight:600}.rates th small{color:var(--muted);font-size:.85rem;font-weight:400;display:block}.rates td{text-align:right;font-family:var(--font-bricolage),sans-serif;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.35rem;font-weight:800}.rates td small{font-family:var(--font-public-sans),sans-serif;color:var(--muted);font-size:.85rem;font-weight:500}.rates-note{color:var(--muted);margin-top:.9rem;font-size:.88rem}.rates-cap{text-align:left;color:var(--muted);padding:1.5rem 0 .4rem;font-size:.9rem}.studio-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.quote{padding:3.5rem 0}.quote blockquote{gap:1rem;max-width:30em;margin:0;display:grid}.quote blockquote p{font-family:var(--font-bricolage),sans-serif;color:var(--ink);letter-spacing:-.01em;text-wrap:balance;font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:700;line-height:1.25}.quote cite{color:var(--muted);font-size:.9rem;font-style:normal}.gallery{gap:1rem;display:grid}@media (min-width:720px){.gallery{grid-template-columns:repeat(3,1fr)}}.gallery figure{gap:.6rem;margin:0;display:grid}.gallery .ph{aspect-ratio:4/3;box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.gallery img{object-fit:cover;width:100%;height:100%}.gallery figcaption{color:var(--muted);font-size:.9rem}.charity{gap:2rem;display:grid}@media (min-width:900px){.charity{grid-template-columns:1.1fr .9fr;gap:3rem}}.charity-copy{gap:1rem;max-width:36em;display:grid}.charity-copy p{color:var(--text)}.charity-copy .btn{justify-self:start;margin-top:.4rem}.supporters{align-content:start;gap:.75rem;display:grid}.supporters .supp-h{margin-bottom:.25rem;font-size:1.05rem}.logos{flex-wrap:wrap;align-items:center;gap:1.75rem;padding:.75rem 0;display:flex}.supporter-logo{flex:none;max-width:100%;position:relative;overflow:hidden}.supporter-logo img{filter:brightness(0)invert();max-width:none;height:auto;position:absolute}.supporter-logo-westminster{aspect-ratio:1590/610;width:155px}.supporter-logo-westminster img{width:123.208%;top:-73.771%;left:-11.95%}.supporter-logo-fibre{aspect-ratio:1242/334;width:165px}.supporter-logo-fibre img{width:116.506%;top:-27.246%;left:-8.293%}.supporter-logo-mayor{aspect-ratio:372/72;width:180px}.supporter-logo-mayor img{width:134.409%;top:-75%;left:-16.936%}.supporters p{color:var(--muted);font-size:.9rem}.visit{gap:2rem;display:grid}@media (min-width:900px){.visit{grid-template-columns:1fr 1fr;gap:3rem}}.addr{color:var(--ink);font-size:1.15rem;font-style:normal;font-weight:500;line-height:1.5}.contact-list{border-top:1px solid var(--line);gap:0;max-width:28em;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.contact-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;font-size:.97rem;display:flex}.contact-list li span{color:var(--muted)}.contact-list a{font-weight:600;text-decoration:none}.contact-list a:hover{text-decoration:underline}.visit-side{align-content:start;gap:1.25rem;display:grid}.map{width:100%;height:320px;box-shadow:var(--shadow);border:0;border-radius:14px;display:block}.hours{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;gap:.75rem;padding:1.5rem;display:grid}.hours h3{font-size:1.15rem}.hours p{color:var(--muted);font-size:.95rem}.hours .btn{justify-self:start}footer{border-top:1px solid var(--line);color:var(--muted);padding:2.5rem 0 3rem;font-size:.9rem}.foot-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem 3rem;display:flex}.foot-brand{color:var(--text);align-items:center;gap:.8rem;display:flex}.foot-brand img{width:44px;height:44px}.foot-links{flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.foot-links a{color:var(--text);font-weight:500;text-decoration:none}.foot-links a:hover{color:var(--blue)}.foot-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin-top:2rem;padding-top:1.25rem;font-size:.85rem;display:flex}.hero{position:relative;overflow:hidden}.hero:before{content:"";background-image:radial-gradient(var(--dot) 1px,transparent 1.2px);opacity:.6;pointer-events:none;background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 30%,#0000 95%);mask-image:linear-gradient(#000 30%,#0000 95%)}.hero .wrap,.hero-visual{position:relative}.hero-visual:before{content:"";background:var(--yellow);opacity:.9;z-index:0;border-radius:18px;position:absolute;inset:8% -6% -8% 8%;transform:rotate(-1.5deg)}.hero-photo{z-index:1;position:relative}.hero-photo img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.hero-visual:hover .hero-photo img{transform:scale(1.03)}.hero-cap{z-index:2;background:var(--card);color:var(--ink);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .7rem;font-size:.82rem;font-weight:600;display:flex;position:absolute;bottom:1rem;left:1rem}.hero-cap i{background:var(--yellow);border:1.5px solid var(--ink);border-radius:50%;width:8px;height:8px;display:inline-block}.hero-copy h1 em{white-space:nowrap;position:relative}@media (max-width:640px){.hero-copy h1 em{white-space:normal;background:linear-gradient(var(--yellow),var(--yellow)) no-repeat 0 90%/100% .16em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.hero-copy h1 em svg{display:none}}.hero-copy h1 em svg{pointer-events:none;width:100%;height:.22em;position:absolute;bottom:-.08em;left:0;right:0;overflow:visible}.hero-copy h1 em path{fill:none;stroke:var(--yellow);stroke-width:7px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:1s cubic-bezier(.4,0,.2,1) .7s forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.plan{padding:0;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;overflow:hidden}.plan:hover{transform:translateY(-4px);box-shadow:0 2px 4px #12293d0f,0 24px 40px -22px #12293d59}.plan-photo{aspect-ratio:16/10;position:relative;overflow:hidden}.plan-photo img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.plan:hover .plan-photo img{transform:scale(1.05)}.plan-body{gap:.9rem;padding:1.35rem 1.5rem 1.5rem;display:grid}.plan-num{background:var(--card);color:var(--ink);font-family:var(--font-bricolage),sans-serif;box-shadow:var(--shadow);border-radius:999px;padding:.3rem .6rem;font-size:.85rem;font-weight:800;position:absolute;top:1rem;left:1rem}.step{padding-top:1.1rem;position:relative}.step:before{content:counter(step,decimal-leading-zero);counter-increment:step;font-family:var(--font-bricolage),sans-serif;color:var(--ink);letter-spacing:-.03em;font-size:2rem;font-weight:800;line-height:1}.step:after{content:"";background:var(--yellow);width:0;height:2px;transition:width .6s cubic-bezier(.2,.7,.2,1);position:absolute;top:-2px;left:0}.step.is-in:after{width:100%}.apply-band{position:relative;overflow:hidden}.apply-band:before{content:"";pointer-events:none;background-image:radial-gradient(#12293d2e 1px,#0000 1.2px);background-size:14px 14px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(270deg,#000,#0000 55%);mask-image:linear-gradient(270deg,#000,#0000 55%)}.apply-band>*{position:relative}.fac-group li{grid-template-columns:36px 1fr;align-items:start}.fac-group svg{width:18px;height:18px;margin:0}.fac-group .chip{background:var(--chip);width:36px;height:36px;color:var(--blue);border-radius:10px;place-items:center;transition:background .25s,transform .25s;display:grid}.fac-group li:hover .chip{background:var(--yellow);color:#12293d;transform:rotate(-6deg)}.studio-photo img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.studio-photo:hover img{transform:scale(1.03)}.rates tr{transition:background .2s}.rates tbody tr:hover{background:var(--paper-2)}.rates th,.rates td{padding-inline:.5rem}.quote{background:var(--paper-2);padding:4rem 0}.quote blockquote{padding-left:0;position:relative}.quote .mark{font-family:var(--font-bricolage),sans-serif;color:var(--yellow);-webkit-text-stroke:1.5px var(--ink);text-stroke:1.5px var(--ink);margin-bottom:.2rem;font-size:6rem;font-weight:800;line-height:.6;display:block}.gallery .ph img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.gallery figure:hover .ph img{transform:scale(1.04)}#charity{background:var(--band);color:var(--band-text)}#charity h2,#charity .charity-copy p{color:var(--band-text)}#charity .eyebrow,#charity .charity-copy .muted,#charity .supporters p{color:var(--band-muted)}#charity .btn-ghost{color:var(--band-text);border-color:var(--band-line)}#charity .btn-ghost:hover{border-color:var(--band-text);color:var(--band-text)}.nav a,.foot-links a{position:relative}.nav a:after,.foot-links a:after{content:"";background:var(--yellow);transform-origin:0;height:1.5px;transition:transform .25s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.nav a:hover:after,.foot-links a:hover:after{transform:scaleX(1)}.btn svg{transition:transform .25s}.btn:hover svg{transform:translate(3px)}.site-header{transition:box-shadow .3s}.site-header.is-scrolled{box-shadow:0 8px 24px -16px #12293d59}.is-hydrated .hero-copy>*{animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.is-hydrated .hero-copy>:nth-child(2){animation-delay:80ms}.is-hydrated .hero-copy>:nth-child(3){animation-delay:.16s}.is-hydrated .hero-visual{animation:.8s cubic-bezier(.2,.7,.2,1) .2s both rise}.is-hydrated .facts{animation:.8s .5s both fade}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.rv{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.rv.is-in{opacity:1;transform:none}.rv-stagger>.rv:nth-child(2){transition-delay:.1s}.rv-stagger>.rv:nth-child(3){transition-delay:.2s}.rv-stagger>.rv:nth-child(4){transition-delay:.3s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.rv{opacity:1;transform:none}}html,body{overflow-x:clip}.sec>*,.plans>*,.charity>*,.visit>*,.studio>*,.logos>*{min-width:0}.site-header .wrap{gap:1rem}.brand span{white-space:nowrap}.nav{gap:1.1rem;margin-left:.5rem}.nav a,.member{white-space:nowrap}@media (min-width:900px) and (max-width:1099px){.brand span,.member{display:none}.nav{gap:1rem;margin-left:0}.nav a{font-size:.9rem}}@media (max-width:899px){.site-header .wrap{height:60px}.brand img{width:36px;height:36px}.header-right{gap:.6rem}.menu summary{border:1.5px solid var(--line-strong);border-radius:999px;padding:.5rem .6rem;font-size:.88rem}.menu[open] summary{background:var(--paper-2)}.menu nav{min-width:min(260px,100vw - 2.5rem)}}@media (min-width:900px) and (max-width:1099px){.sec{grid-template-columns:150px 1fr;gap:1.5rem 2rem}}@media (max-width:899px){.sec{gap:.75rem 0}section{padding:3.25rem 0}.lead{font-size:1.05rem}h2{font-size:clamp(1.65rem,5.2vw,2.4rem)}.sec-head h2{max-width:none}}@media (max-width:480px){section{padding:2.75rem 0}body{font-size:16px}.wrap{width:min(1120px,100% - 2rem)}}@media (max-width:899px){.hero{padding:2.25rem 0 2rem}.hero-grid{gap:1.75rem}.hero-copy{gap:1rem}.hero-copy h1{max-width:none;font-size:clamp(2.05rem,7.2vw,3.2rem);line-height:1.04}.hero-actions{margin-top:.1rem}.hero-actions .btn{padding:.75rem 1.1rem;font-size:.92rem}.hero-photo{aspect-ratio:16/10;max-height:56vh}.hero-visual:before{inset:6% -4% -5% 6%}.facts{margin-top:2rem}.fact{padding:.9rem .75rem .9rem 0}.fact b{font-size:1.3rem}}@media (max-width:480px){.hero:before{opacity:.45;background-size:18px 18px}.hero-cap{padding:.4rem .6rem;font-size:.76rem;bottom:.75rem;left:.75rem}.facts{grid-template-columns:1fr 1fr;column-gap:.75rem}.fact span{font-size:.8rem}}@media (max-width:959px){.plans{grid-template-columns:1fr;gap:.9rem}}@media (min-width:960px){.plans{grid-template-columns:repeat(3,1fr)}}@media (min-width:600px) and (max-width:959px){.plan{grid-template-columns:38% 1fr;align-items:stretch}.plan-photo{aspect-ratio:auto;height:100%;min-height:220px}.plan-body{padding:1.35rem 1.5rem}.plan h3{font-size:1.35rem}}@media (max-width:599px){.plan-photo{aspect-ratio:16/9}.plan-body{gap:.7rem;padding:1.15rem 1.15rem 1.25rem}.plan h3{font-size:1.3rem}.plan ul{padding-top:.8rem}}@media (max-width:719px){.steps{gap:1.25rem}.step:before{font-size:1.6rem}.apply-band{margin-top:2rem;padding:1.35rem}.apply-band h3{font-size:1.3rem}.apply-band .btn{justify-content:center;width:100%}}@media (min-width:600px) and (max-width:899px){.fac-group ul{grid-template-columns:1fr 1fr;column-gap:2rem;display:grid}.fac-group li:nth-last-child(2){border-bottom:0}}@media (max-width:599px){.fac-groups{gap:1.75rem}.fac-group li{padding:.65rem 0}.fac-group span{font-size:.88rem}}@media (max-width:899px){.studio{gap:1.5rem}.studio-photo{aspect-ratio:4/3;max-height:52vh}.studio h2{font-size:clamp(1.55rem,5vw,2.2rem)}.rates{margin-top:.75rem}.rates td{font-size:1.2rem}}@media (max-width:480px){.studio-actions .btn{flex:auto;justify-content:center}}@media (max-width:899px){.quote{padding:3rem 0}.quote .mark{font-size:4.5rem}.quote blockquote p{font-size:clamp(1.25rem,4.6vw,1.7rem)}}@media (max-width:719px){.gallery{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.75rem;margin-inline:-1.25rem;padding:0 1.25rem .5rem;scroll-padding-inline:1.25rem;display:flex;overflow-x:auto}@media (max-width:480px){.gallery{margin-inline:-1rem;padding-inline:1rem;scroll-padding-inline:1rem}}.gallery::-webkit-scrollbar{display:none}.gallery figure{scroll-snap-align:start;flex:0 0 78%}.gallery .ph{aspect-ratio:4/3}}@media (max-width:899px){.charity{gap:1.75rem}.supporters{margin-top:.25rem}.logos{gap:1.75rem 2rem}.visit{gap:1.5rem}.visit-side{gap:.9rem}.hours{padding:1.25rem}.addr{font-size:1.05rem}.contact-list{max-width:none}}@media (max-width:599px){footer{padding:2rem 0 2.5rem}.foot-top{flex-direction:column;gap:1.25rem}.foot-links{gap:.4rem 1.1rem}.foot-bottom{flex-direction:column;gap:.75rem}}.desk-availability{background:var(--yellow);color:var(--yellow-ink);border-radius:8px;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:.55rem;margin:0 0 1rem;padding:.65rem .85rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.desk-availability>span:first-child{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.desk-availability:hover{text-decoration:underline}.plan .plan-availability{background:var(--yellow);color:var(--yellow-ink);border-radius:6px;padding:.5rem .65rem;font-size:.85rem;font-weight:700}.plan-rates{border-top:1px solid var(--line);gap:.65rem;margin:0;padding:.9rem 0;display:grid}.plan-rates>div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.2rem .75rem;display:flex}.plan-rates dt{color:var(--muted);font-size:.87rem}.plan-rates dd{white-space:nowrap;margin:0}.plan-rates strong{color:var(--ink);font-size:1.3rem}.plan-rates dd span{color:var(--muted);font-size:.8rem}.plan-body>.btn{justify-self:start;margin-top:.25rem}.check-launch{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}.check-launch p{color:var(--muted);font-size:.875rem}.eligibility-dialog{border:1px solid var(--line-strong);background:var(--card);width:min(760px,100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--text);overscroll-behavior:contain;border-radius:16px;margin:auto;padding:0;overflow-y:auto;box-shadow:0 24px 80px #0005}.eligibility-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#081622a6}html:has(.eligibility-dialog[open]){overflow:hidden}.check-modal-header{z-index:2;border-bottom:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.75rem;display:flex;position:sticky;top:0}.check-modal-header h2{letter-spacing:0;font-size:1rem;line-height:1.5}.check-close{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:.6rem;padding:.4rem .25rem;font-size:.875rem;display:flex}.check-close span{font-size:1.6rem;line-height:1}.eligibility-check{background:var(--card)}.check-top{color:var(--muted);justify-content:space-between;gap:1rem;padding:1.25rem 1.75rem .85rem;font-size:.875rem;font-weight:700;display:flex}.check-progress{gap:5px;padding:0 1.75rem;display:flex}.check-progress span{background:var(--line);border-radius:4px;flex:1;height:4px}.check-progress .is-complete{background:var(--blue)}.check-panel{padding:1.75rem;scroll-margin-top:110px}.check-panel:focus{outline:none}.check-panel fieldset{border:0;min-width:0;margin:0;padding:0}.check-panel legend,.check-result h3{color:var(--ink);letter-spacing:-.025em;font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:750;line-height:1.25}.check-hint{color:var(--muted);margin:.75rem 0 1.25rem;font-size:1rem;line-height:1.6}.check-options{gap:.65rem;display:grid}.check-option{border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:flex-start;gap:.85rem;padding:1rem 1.15rem;transition:background .15s,border-color .15s;display:flex}.check-option:hover{border-color:var(--blue)}.check-option.is-selected{background:var(--chip);border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.check-option:focus-within{outline:2px solid var(--focus);outline-offset:3px}.check-option input{width:1.1rem;height:1.1rem;accent-color:var(--blue);flex-shrink:0;margin:.25rem 0 0}.check-option strong{font-size:1rem;font-weight:700;line-height:1.5;display:block}.check-option small{color:var(--muted);margin-top:.15rem;font-size:.875rem;line-height:1.5;display:block}.check-actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.check-actions .btn,.check-cta{white-space:normal;text-align:center;gap:1rem}.check-actions button:disabled{opacity:.45;cursor:default;transform:none}.check-back,.check-result-links button{font:inherit;color:var(--blue);cursor:pointer;background:0 0;border:0;padding:.5rem 0}.check-privacy{color:var(--muted);background:var(--paper-2);margin:0;padding:1rem 1.75rem;font-size:.875rem;line-height:1.6}.check-result{gap:1rem;display:grid}.check-eyebrow{color:var(--blue);font-size:.875rem;font-weight:750}.check-result>p{margin:0}.check-result>p:not(.check-eyebrow){line-height:1.65}.check-rates{border-block:1px solid var(--line);margin:.25rem 0}.check-rate{justify-content:space-between;gap:1rem;padding:1rem 0;font-size:1rem;display:flex}.check-rate+.check-rate{border-top:1px solid var(--line)}.check-rate>span:last-child{text-align:right}.check-rate strong{color:var(--ink);font-size:1.7rem}.check-rate small{color:var(--muted);margin-top:.25rem;font-size:.875rem;line-height:1.5;display:block}.check-guidance,.check-small{color:var(--muted);font-size:.875rem}.check-cta{justify-self:start}.check-result-links{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding-top:.75rem;font-size:.875rem;display:flex}.check-result-links a,.check-result-links button{text-underline-offset:3px;text-decoration:underline}.check-availability{background:var(--paper-2);border-radius:8px;padding:1rem;line-height:1.6}.check-availability p{margin-top:.35rem}@media (max-width:599px){.check-panel{padding:1.25rem}.check-top{padding:1rem 1.25rem .75rem}.check-progress{padding:0 1.25rem}.check-privacy{padding:1rem 1.25rem}.check-option{padding:.85rem}.check-actions{gap:.6rem}.check-actions .btn{padding:.85rem 1rem;font-size:.9rem}.check-cta{width:100%}.check-rate{flex-wrap:wrap}.check-rate>span:last-child{text-align:left}.eligibility-dialog{border-radius:12px;width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.check-modal-header{padding:.65rem 1.25rem}.check-launch .btn{width:100%}}
