:root{--ease:cubic-bezier(.2,.7,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--line:color-mix(in srgb,var(--ink) 12%,transparent);--shadow:0 22px 44px -26px color-mix(in srgb,var(--ink) 55%,transparent);--shadow-sm:0 8px 20px -14px color-mix(in srgb,var(--ink) 50%,transparent)}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.7 var(--font-body);-webkit-font-smoothing:antialiased;padding-bottom:4.25rem;overflow-x:hidden}img{max-width:100%;height:auto;display:block}picture{display:contents}img[style*=--fp]{object-position:var(--fp)}@media(max-width:899px){img[style*=--fp]{object-position:var(--fpm)}}h1,h2,h3{font-family:var(--font-head);line-height:1.12;margin:0 0 .5em;font-weight:700;letter-spacing:-.015em;text-wrap:balance}h1{font-size:clamp(2.1rem,6.2vw,3.6rem)}h2{font-size:clamp(1.65rem,3.8vw,2.5rem)}h3{font-size:1.2rem;line-height:1.3;letter-spacing:-.005em}p{margin:0 0 1em}a{color:var(--accent-text);text-underline-offset:.2em;text-decoration-thickness:1px}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--accent);color:var(--accent-ink)}.wrap{width:100%;max-width:74rem;margin:0 auto;padding:0 1.15rem}@media(min-width:640px){.wrap{padding:0 1.75rem}}.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);padding:.6rem 1rem;z-index:100}.skip:focus{left:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.7rem 1.35rem;border-radius:var(--radius);border:2px solid var(--accent);background:var(--accent);color:var(--accent-ink);font:600 1rem/1.2 var(--font-body);text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s,color .25s,border-color .25s;-webkit-tap-highlight-color:transparent}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0) scale(.98)}.btn-sm{min-height:2.5rem;padding:.45rem 1rem;font-size:.95rem}.btn-lg{min-height:3.35rem;padding:.8rem 1.6rem;font-size:1.03rem}.btn-ghost{background:transparent;color:inherit;border-color:currentColor}.btn-ghost:hover{background:color-mix(in srgb,currentColor 10%,transparent)}.btn-outline{background:transparent;color:var(--accent-text);border-color:currentColor}.btn-outline:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn-block{width:100%}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.75rem 0 0}.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:saturate(1.5) blur(12px);-webkit-backdrop-filter:saturate(1.5) blur(12px);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s,background-color .3s}.top.scrolled{border-color:var(--line);box-shadow:0 10px 30px -24px #00000073}.top-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem;transition:min-height .3s var(--ease)}.top.scrolled .top-in{min-height:3.6rem}.brand{display:inline-flex;align-items:center;gap:.6rem;font:700 1.25rem/1.2 var(--font-head);color:var(--ink);text-decoration:none;letter-spacing:-.01em}.brand-logo{height:2.6rem;width:auto;max-width:11rem;object-fit:contain;transition:height .3s var(--ease)}.top.scrolled .brand-logo{height:2.2rem}@media(min-width:900px){.brand-logo{height:3rem;max-width:14rem}.top.scrolled .brand-logo{height:2.4rem}}.foot-logo{height:3rem;width:auto;max-width:14rem;object-fit:contain}.menu-btn{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--ink);cursor:pointer}.menu-btn .i-close,.menu-btn[aria-expanded=true] .i-open{display:none}.menu-btn[aria-expanded=true] .i-close{display:block}.menu{display:flex;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem 1.15rem 1.25rem;flex-direction:column;gap:.25rem;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s .25s;box-shadow:var(--shadow)}.menu.open{visibility:visible;opacity:1;transform:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}.menu a:not(.btn){color:var(--ink);text-decoration:none;padding:.8rem .25rem;font-weight:500;border-bottom:1px solid var(--line)}.menu .btn{margin-top:.75rem}@media(min-width:900px){.menu-btn{display:none}.menu{visibility:visible;opacity:1;transform:none;position:static;flex-direction:row;align-items:center;gap:1.75rem;padding:0;border:0;background:transparent;box-shadow:none;transition:none}.menu a:not(.btn){position:relative;padding:.3rem 0;border:0}.menu a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:-.1rem;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.menu a:not(.btn):hover:after{transform:scaleX(1);transform-origin:left}.menu .btn{margin:0}}.open-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .85rem .35rem .7rem;border-radius:999px;font-size:.9rem;font-weight:600;background:color-mix(in srgb,currentColor 9%,transparent);margin:0 0 1.25rem}.open-badge .dot{width:.55rem;height:.55rem;border-radius:50%;background:#c2410c;flex:none}.open-badge.is-open .dot{background:#15a34a;box-shadow:0 0 #15a34a80}@media(prefers-reduced-motion:no-preference){.open-badge.is-open .dot{animation:pulse 2.2s infinite}}@keyframes pulse{0%{box-shadow:0 0 #15a34a80}70%{box-shadow:0 0 0 .55rem #15a34a00}to{box-shadow:0 0 #15a34a00}}.page-head .open-badge{margin:.25rem 0 0}.hero{position:relative;padding:2.75rem 0 3.25rem;overflow:hidden;isolation:isolate}.hero-dark .hero{background:var(--ink);color:var(--paper)}.hero-light .hero{background:var(--soft)}.hero-in{display:grid;gap:2.25rem;align-items:center}.hero-title{font-size:clamp(2.2rem,6.4vw,3.8rem)}.hero-lead{font-size:clamp(1.07rem,2.2vw,1.27rem);max-width:50ch;opacity:.9}.hero a:not(.btn){color:inherit}.quick{list-style:none;margin:2.25rem 0 0;padding:1.4rem 0 0;display:grid;gap:.75rem;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);font-size:.98rem}.quick li{display:flex;gap:.65rem;align-items:flex-start}.quick svg{flex:none;margin-top:.2rem;color:var(--accent-text)}.hero-dark .quick svg,.hero--cover .quick svg{color:var(--highlight)}.quick a{text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}.hero-media{margin:0;position:relative}.hero-frame{border-radius:var(--radius);overflow:hidden;position:relative}.hero-frame img{width:100%;aspect-ratio:1/1;object-fit:cover}@media(min-width:900px){.hero{padding:5rem 0 5.5rem}.hero-in{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:4.5rem}.hero-frame img{aspect-ratio:4/5}.quick{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem}}.hero--editorial .hero-title{font-size:clamp(2.4rem,7vw,4.6rem);line-height:1.02;letter-spacing:-.03em}.hero--editorial .hero-frame{box-shadow:.7rem .7rem color-mix(in srgb,var(--accent) 18%,transparent);margin-right:.7rem}@media(min-width:900px){.hero--editorial .hero-frame{box-shadow:1.1rem 1.1rem color-mix(in srgb,var(--accent) 18%,transparent);margin-right:1.1rem}}.hero-card{background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:var(--shadow);margin-top:-2rem;position:relative;margin-left:1rem;margin-right:1.7rem;font-size:.95rem;max-width:22rem}.hero-card p{display:flex;gap:.55rem;align-items:flex-start;margin:.3rem 0}.hero-card p svg{margin-top:.2rem}.hero-card svg{color:var(--accent-text);flex:none}.hero-card a{color:var(--ink)!important}.hero-card-title{font:700 1.05rem/1.3 var(--font-head)!important;margin-bottom:.5rem!important}@media(min-width:900px){.hero--editorial .hero-in{grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr)}.hero-card{position:absolute;left:-2.5rem;bottom:2.5rem;margin:0;min-width:16rem;max-width:19rem}}.hero--centered .hero-in{grid-template-columns:1fr;text-align:center;justify-items:center;gap:2.75rem}.hero--centered .hero-text{display:flex;flex-direction:column;align-items:center;max-width:52rem}.hero--centered .hero-title{max-width:18ch;margin-inline:auto;font-size:clamp(2.3rem,6.8vw,4.3rem)}.hero--centered .hero-lead{margin-inline:auto}.hero--centered .actions{justify-content:center}.hero--centered .quick{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;border-top:0;padding-top:0;margin-top:1.75rem}.hero--centered .quick li{align-items:center;padding:.45rem .9rem;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:999px;font-size:.92rem}.hero--centered .quick svg{margin:0}.hero--centered .hero-media{width:100%}.hero--centered .hero-frame img{aspect-ratio:4/3}@media(min-width:900px){.hero--centered .hero-frame img{aspect-ratio:16/9}}.hero--cover{min-height:min(86svh,50rem);display:flex;align-items:center;color:var(--paper);background:var(--ink)}.hero-dark .hero--cover,.hero-light .hero--cover{background:var(--ink);color:var(--paper)}.hero-bg{position:absolute;inset:0;z-index:-1}.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 55%,transparent) 0%,color-mix(in srgb,var(--ink) 88%,transparent) 70%,var(--ink) 100%)}.hero--cover .hero-in{width:100%}.hero--cover .hero-text{max-width:44rem}.hero--cover .hero-title{font-size:clamp(2.5rem,7.4vw,5rem);line-height:1;letter-spacing:-.03em}@media(min-width:900px){.hero--cover .hero-in{grid-template-columns:1fr}.hero-bg:after{background:linear-gradient(90deg,var(--ink) 0%,color-mix(in srgb,var(--ink) 86%,transparent) 42%,color-mix(in srgb,var(--ink) 25%,transparent) 100%)}}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes unveil{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(-3rem -3rem -3rem -3rem)}}@keyframes wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(-3rem -3rem -3rem -3rem)}}@keyframes settle{0%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes drift{to{transform:translateY(10%) scale(1.06)}}@media(prefers-reduced-motion:no-preference){body:not(.motion-none) .hero-text>*{animation:rise .9s var(--ease-out) both}body:not(.motion-none) .hero-text>*:nth-child(2){animation-delay:.07s}body:not(.motion-none) .hero-text>*:nth-child(3){animation-delay:.14s}body:not(.motion-none) .hero-text>*:nth-child(4){animation-delay:.21s}body:not(.motion-none) .hero-text>*:nth-child(5){animation-delay:.28s}body.motion-fade .hero-text>*{animation-name:fade;animation-duration:1.1s}body:not(.motion-none) .hero-frame{animation:unveil 1.2s var(--ease-out) .12s both}body.motion-wipe .hero-frame{animation-name:wipe}body:not(.motion-none) .hero-frame img,body:not(.motion-none) .hero-bg img{animation:settle 1.8s var(--ease-out) both}body:not(.motion-none) .hero-card{animation:rise .9s var(--ease-out) .55s both}}@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){body:not(.motion-none) .hero-bg{animation:drift linear both;animation-timeline:view();animation-range:exit 0% exit 100%}}}.js [data-reveal]{transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),clip-path 1s var(--ease-out);transition-delay:calc(var(--i,0) * 75ms)}.js .motion-rise [data-reveal]:not(.in){opacity:0;transform:translateY(30px)}.js .motion-fade [data-reveal]:not(.in){opacity:0}.js .motion-zoom [data-reveal]:not(.in){opacity:0;transform:scale(.94)}.js .motion-wipe [data-reveal]:not(.in){opacity:0;clip-path:inset(0 0 0 40%);transform:translate(24px)}@media(prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}}.marquee{overflow:hidden;background:var(--accent);color:var(--accent-ink);padding:1rem 0;border-block:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.marquee-track{display:flex;gap:2.75rem;width:max-content;font:700 clamp(1.05rem,2.6vw,1.45rem)/1 var(--font-head);white-space:nowrap}.marquee-track span{display:inline-flex;align-items:center;gap:2.75rem}.marquee-track span:after{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor;opacity:.6}@media(prefers-reduced-motion:no-preference){body:not(.motion-none) .marquee-track{animation:marquee 38s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}}@keyframes marquee{to{transform:translate(-50%)}}.page-head{background:var(--soft);padding:3rem 0 2.5rem}.hero-dark .page-head{background:var(--ink);color:var(--paper)}.hero-dark .page-head a{color:var(--paper)}.page-head h1{max-width:24ch}.crumb{font-size:.9rem;opacity:.8;margin-bottom:.9rem}.crumb a{color:inherit}.meta{font-size:.9rem;opacity:.75;margin:0 0 .5rem}.block{padding:4rem 0}@media(min-width:900px){.block{padding:6.5rem 0}}.alt{background:var(--soft)}.head{max-width:44rem;margin-bottom:2.5rem}.head p{opacity:.85;margin:0;font-size:1.08rem}.head-row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;flex-wrap:wrap}.head-row>div{max-width:44rem}.narrow,.prose{max-width:46rem}.prose h2{margin-top:1.6em}.prose>h2:first-child{margin-top:0}.notice{font-size:.9rem;opacity:.78}.cards{list-style:none;margin:0;padding:0;display:grid;gap:1rem}@media(min-width:640px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}}@media(min-width:1000px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}.card h3{margin-top:.25rem}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:after{content:"";position:absolute;inset:0}.card p{margin:0}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}.card:focus-within{outline:3px solid var(--accent);outline-offset:2px}.card-icon{display:inline-grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 13%,var(--paper));color:var(--accent-text);margin-bottom:1.1rem;transition:background-color .35s,color .35s,transform .45s var(--ease)}.card:hover .card-icon{background:var(--accent);color:var(--accent-ink);transform:rotate(-6deg)}.more{margin-top:auto;padding-top:1.1rem;font-weight:600;color:var(--accent-text);font-size:.95rem;display:inline-flex;align-items:center;gap:.4rem}.more:after{content:"";width:1.1rem;height:2px;background:currentColor;transition:width .35s var(--ease)}.card:hover .more:after,.svc-list li:hover .more:after{width:2rem}.svc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.svc-list li{position:relative;display:grid;grid-template-columns:2.75rem minmax(0,1fr);column-gap:1rem;padding:1.5rem .25rem;border-bottom:1px solid var(--line);transition:background-color .35s,padding .45s var(--ease)}.svc-icon{grid-row:span 3;color:var(--accent-text);padding-top:.15rem}.svc-list h3{margin:0 0 .3rem;font-size:1.3rem}.svc-list h3 a{color:var(--ink);text-decoration:none}.svc-list h3 a:after{content:"";position:absolute;inset:0}.svc-list p{margin:0;opacity:.85}.svc-list .more{padding-top:.6rem}.svc-list li:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);padding-left:1rem}@media(min-width:900px){.svc-list li{grid-template-columns:3rem minmax(0,1fr) minmax(0,1.5fr) auto;align-items:center;column-gap:2rem;padding:1.85rem 1rem}.svc-icon{grid-row:auto;padding:0}.svc-list h3{margin:0;font-size:1.45rem}.svc-list .more{padding:0}.svc-list li:hover{padding-left:1.75rem}}.tiles{list-style:none;margin:0;padding:0;display:grid;gap:1rem}@media(min-width:640px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1000px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.tile{position:relative;background:var(--soft);border-radius:var(--radius);padding:2rem 1.75rem;min-height:15.5rem;display:flex;flex-direction:column;overflow:hidden;transition:background-color .45s var(--ease),color .45s var(--ease),transform .45s var(--ease)}.alt .tile{background:var(--paper)}.tile>svg{color:var(--accent-text);transition:transform .6s var(--ease),color .45s}.tile h3{font-size:1.5rem;margin:auto 0 .4rem;padding-top:2rem}.tile h3 a{color:inherit;text-decoration:none}.tile h3 a:after{content:"";position:absolute;inset:0}.tile p{margin:0;opacity:.85}.tile:nth-child(4n+2){background:var(--ink);color:var(--paper)}.tile:nth-child(4n+2)>svg{color:var(--highlight)}.tile:hover{background:var(--accent);color:var(--accent-ink);transform:translateY(-5px)}.tile:hover>svg{color:var(--accent-ink);transform:scale(1.12) rotate(-6deg)}.tile:focus-within{outline:3px solid var(--accent);outline-offset:2px}.steps{list-style:none;margin:0;padding:0;display:grid;gap:1.75rem;counter-reset:s}@media(min-width:640px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1000px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}.steps li{counter-increment:s;padding-top:1.1rem;border-top:3px solid var(--accent);position:relative}.steps li:before{content:counter(s,decimal-leading-zero);display:block;font:700 2.4rem/1 var(--font-head);color:var(--accent-text);margin-bottom:.75rem;letter-spacing:-.03em}.steps p{margin:0;opacity:.88}.split{display:grid;gap:2.5rem;align-items:center}@media(min-width:900px){.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:5rem}}.media{margin:0;border-radius:var(--radius);overflow:hidden}.media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.2s var(--ease)}.media:hover img{transform:scale(1.035)}.ticks{list-style:none;margin:1.1rem 0;padding:0;display:grid;gap:.65rem}.ticks li{display:flex;gap:.65rem;align-items:flex-start}.ticks svg{flex:none;margin-top:.25rem;color:var(--accent-text)}.team{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}@media(min-width:640px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1000px){.team{grid-template-columns:repeat(3,minmax(0,1fr))}}.team>li{display:flex;gap:1.1rem;align-items:flex-start;background:var(--paper);padding:1.4rem;border-radius:var(--radius);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}.team>li:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.avatar{flex:none;width:4.75rem;height:4.75rem;border-radius:50%;object-fit:cover;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font:700 1.35rem/1 var(--font-head)}.team h3{margin-bottom:.1rem}.team p{margin:.2rem 0;font-size:.98rem}.role{font-weight:600;color:var(--accent-text)}.packages{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}@media(min-width:900px){.packages{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}}.pkg{border:1px solid var(--line);border-radius:var(--radius);padding:2rem;background:var(--paper);display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}.pkg:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.pkg.featured{border:2px solid var(--accent);box-shadow:0 24px 50px -30px var(--accent)}@media(min-width:900px){.pkg.featured{transform:translateY(-10px)}.pkg.featured:hover{transform:translateY(-14px)}}.pkg-badge{align-self:flex-start;background:var(--highlight);color:var(--ink);font-size:.85rem;font-weight:600;padding:.25rem .8rem;border-radius:999px}.pkg-price{font:700 1.75rem/1.2 var(--font-head);color:var(--accent-text);letter-spacing:-.02em}.pkg .btn{margin-top:auto}.prices{display:grid;gap:1.25rem}@media(min-width:900px){.prices{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}.price-group{background:var(--paper);border-radius:var(--radius);padding:1.6rem 1.75rem}.price-group h3{font-size:1.35rem;padding-bottom:.7rem;border-bottom:2px solid var(--accent);margin-bottom:.4rem}.price-group ul{list-style:none;margin:0;padding:0}.price-group li{display:flex;align-items:baseline;gap:.5rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.price-group li:last-child{border-bottom:0}.price-name{display:flex;flex-direction:column}.price-name small{font-size:.82rem;opacity:.7}.price-dots{flex:1;border-bottom:1px dotted color-mix(in srgb,var(--ink) 35%,transparent);transform:translateY(-.3em);min-width:1rem}.price-val{font-weight:700;white-space:nowrap;color:var(--accent-text)}.gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media(min-width:900px){.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.gallery li:first-child{grid-column:span 2;grid-row:span 2}}.gal-btn{display:block;width:100%;height:100%;padding:0;border:0;background:var(--soft);border-radius:var(--radius);overflow:hidden;cursor:zoom-in;position:relative}.gal-btn img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;transition:transform 1s var(--ease)}.gal-btn:after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--ink) 35%,transparent);opacity:0;transition:opacity .4s}.gal-btn:hover img{transform:scale(1.06)}.gal-btn:hover:after{opacity:1}.gal-cap{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:.7rem .9rem;font-size:.88rem;color:#fff;text-align:left;background:linear-gradient(transparent,#0009)}.lightbox{border:0;padding:0;background:transparent;max-width:min(92vw,70rem);max-height:92vh;overflow:visible}.lightbox::backdrop{background:#0a0a0ce0;backdrop-filter:blur(4px)}.lightbox figure{margin:0}.lightbox img{max-width:min(92vw,70rem);max-height:82vh;width:auto;border-radius:var(--radius);margin:auto}.lightbox figcaption{color:#fff;text-align:center;padding:.75rem;font-size:.95rem}.lb-btn{position:fixed;display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;border:0;background:#ffffff24;color:#fff;font-size:2rem;line-height:1;cursor:pointer}.lb-btn:hover{background:#ffffff42}.lb-close{top:1rem;right:1rem}.lb-prev{left:1rem;top:50%;transform:translateY(-50%)}.lb-next{right:1rem;top:50%;transform:translateY(-50%)}@media(prefers-reduced-motion:no-preference){.lightbox[open]{animation:fade .3s var(--ease)}}.schedule{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}@media(min-width:640px){.schedule{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1000px){.schedule{grid-template-columns:repeat(4,minmax(0,1fr))}}.day{background:var(--paper);border-radius:var(--radius);padding:1.2rem 1.3rem;border-top:3px solid var(--accent)}.day h3{font-size:1.1rem;margin-bottom:.7rem}.day ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.day li{display:grid;grid-template-columns:3.4rem 1fr;column-gap:.6rem;font-size:.95rem}.day time{font-weight:700;color:var(--accent-text);font-variant-numeric:tabular-nums}.class-coach{grid-column:2;font-size:.85rem;opacity:.7}.tool{background:var(--paper);border-radius:var(--radius);padding:1.6rem;display:grid;gap:1rem;border:1px solid var(--line)}.tool-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tool label,.form label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem}.tool input,.form input,.form select,.form textarea{font:inherit;font-size:1rem;min-height:3rem;padding:.65rem .8rem;border:1px solid color-mix(in srgb,var(--ink) 28%,transparent);border-radius:calc(var(--radius) * .6);background:#fff;color:#111;width:100%;transition:border-color .2s,box-shadow .2s}.tool input:focus,.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.tool-out{display:block;min-height:1.5em;font-weight:500}.faq{display:grid;gap:1rem}@media(min-width:900px){.faq{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:5rem}}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:600;font-size:1.05rem;padding:1.2rem 2.5rem 1.2rem 0;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary:before,summary:after{content:"";position:absolute;right:.4rem;top:50%;width:1rem;height:2px;background:var(--accent-text);transition:transform .35s var(--ease)}summary:after{transform:rotate(90deg)}details[open] summary:after{transform:rotate(0)}details p{margin:0 0 1.3rem;opacity:.9}@media(prefers-reduced-motion:no-preference){details[open] p{animation:rise .45s var(--ease-out)}}.cta{background:var(--accent);color:var(--accent-ink);padding:3.5rem 0;position:relative;overflow:hidden;isolation:isolate}.cta:before{content:"";position:absolute;width:38rem;height:38rem;border-radius:50%;right:-12rem;top:-18rem;background:color-mix(in srgb,var(--accent-ink) 9%,transparent);z-index:-1}.cta-in{display:grid;gap:1rem;align-items:center}.cta h2{max-width:20ch}.cta p{margin:0;max-width:52ch;opacity:.92}.cta .actions{margin:0}@media(min-width:900px){.cta-in{grid-template-columns:minmax(0,1fr) auto;gap:3rem}.cta{padding:5rem 0}}.detail{display:grid;gap:2.5rem}@media(min-width:900px){.detail{grid-template-columns:minmax(0,1fr) 22rem;gap:4.5rem;align-items:start}.side{position:sticky;top:5.5rem}}.side-card{background:var(--soft);border-radius:var(--radius);padding:1.6rem;display:grid;gap:.75rem}.side-card h2{font-size:1.3rem;margin:0}.side-list{list-style:none;margin:0 0 .5rem;padding:0;display:grid;gap:.6rem;font-size:.97rem}.side-list li{display:flex;gap:.6rem;align-items:flex-start}.side-list svg{flex:none;margin-top:.2rem;color:var(--accent-text)}.side-list.big{font-size:1.05rem;gap:1rem;margin-bottom:.5rem}.contact{display:grid;gap:2.5rem}@media(min-width:900px){.contact{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:4.5rem}}.contact-info .actions{margin:1rem 0 2rem}.form{display:grid;gap:1rem;align-content:start;background:var(--soft);padding:1.75rem;border-radius:var(--radius)}.form h2{font-size:1.45rem;margin:0}.form .check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}.form .check input{width:1.2rem;min-height:1.2rem;margin-top:.3rem;flex:none;accent-color:var(--accent)}.hours{border-collapse:collapse;width:100%;max-width:26rem;margin-bottom:1.5rem}.hours caption{text-align:left;font:700 1.15rem/1.3 var(--font-head);margin-bottom:.5rem}.hours th,.hours td{padding:.6rem 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400}.hours td{text-align:right;font-variant-numeric:tabular-nums}.map-wrap{line-height:normal}.map{display:block;width:100%;height:24rem;border:0}.map-ph{min-height:22rem;display:grid;place-items:center;text-align:center;padding:2rem 1rem;background-color:var(--soft);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:2.5rem 2.5rem}.map-ph-in{max-width:30rem;background:var(--paper);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow)}.map-ph-in svg{color:var(--accent-text);margin:0 auto .5rem}.map-ph-in .actions{justify-content:center;margin-top:1rem}.foot{background:var(--ink);color:var(--paper);padding:3.5rem 0 1.5rem;font-size:.95rem}.foot a{color:var(--paper);text-decoration:none}.foot a:hover{text-decoration:underline}.foot p{margin:.3rem 0}.foot-in{display:grid;gap:2rem}@media(min-width:640px){.foot-in{grid-template-columns:repeat(3,minmax(0,1fr))}}.foot-brand{font:700 1.25rem/1.3 var(--font-head)}.foot-title{font-weight:700;margin-bottom:.6rem}.foot-links{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.foot-bottom{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--paper) 18%,transparent);display:grid;gap:.5rem;font-size:.85rem;opacity:.8}@media(min-width:640px){.foot-bottom{grid-template-columns:1fr auto;align-items:start}}.social{display:flex;gap:.75rem;margin-top:.8rem!important}.social a{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid color-mix(in srgb,var(--paper) 30%,transparent);border-radius:var(--radius);transition:background-color .25s}.social a:hover{text-decoration:none;background:color-mix(in srgb,var(--paper) 14%,transparent)}.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 24px -16px #00000080}.actionbar a{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem 0;color:var(--paper);text-decoration:none;font-size:.8rem;font-weight:600}.actionbar a:last-child{background:var(--accent);color:var(--accent-ink)}.wa{display:none}@media(min-width:900px){body{padding-bottom:0}.actionbar{display:none}.wa{display:inline-flex;align-items:center;gap:.5rem;position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;background:#1fa855;color:#fff;padding:.8rem 1.2rem;border-radius:999px;text-decoration:none;font-weight:600;box-shadow:0 10px 24px -8px #0006;transition:transform .25s var(--ease)}.wa:hover{transform:translateY(-3px)}}.consent{position:fixed;z-index:70;left:.6rem;right:.6rem;bottom:calc(4.6rem + env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);padding:.75rem .9rem;font-size:.84rem;line-height:1.45;display:flex;align-items:center;gap:.75rem}.consent[hidden]{display:none}.consent p{margin:0;flex:1}.consent-actions{display:flex;gap:.4rem;flex:none}.consent .btn{min-height:2.25rem;padding:.35rem .75rem;font-size:.85rem}@media(min-width:900px){.consent{left:1.25rem;right:auto;bottom:1.25rem;max-width:30rem;padding:.9rem 1.1rem;font-size:.9rem}}@media(prefers-reduced-motion:no-preference){.consent:not([hidden]){animation:rise .6s var(--ease-out) .8s both}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
