@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--accent:#c6f432;--deep:#1f3d2b;--page:#faf7f0;--surface:#fffdf8;--ink:#1f2b22;--muted:#647066;--display:'Space Grotesk',sans-serif;--body:'Space Grotesk',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;padding-bottom:52px}a{color:inherit}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip-link{position:absolute;left:12px;top:10px;z-index:99;padding:10px 14px;background:var(--deep);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--page) 94%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.header-row{max-width:1200px;margin:auto;padding:14px 28px;display:flex;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:auto;min-width:0}.brand-symbol{width:42px;height:42px;display:grid;place-items:center;flex:none;background:var(--accent);color:var(--deep);font-family:var(--display);font-size:20px;font-weight:700;border-radius:12px}.brand strong,.brand small{display:block;line-height:1.25}.brand strong{font-size:15px;letter-spacing:-.03em}.brand small{font-size:10px;color:var(--muted);margin-top:3px}.all-demos{font-size:12px;text-decoration:none;font-weight:700;white-space:nowrap;color:var(--muted)}.all-demos:hover{color:var(--ink)}.primary-nav{display:flex;align-items:center;gap:22px}.primary-nav a{font-size:13px;text-decoration:none;font-weight:600;color:var(--muted)}.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--ink)}.menu-toggle{display:none;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);background:transparent;color:var(--ink);border-radius:8px;padding:7px 11px}
main{overflow:hidden}.hero,.page-hero,.section,.stats-row,.cta-band,.safety-panel{max-width:1200px;margin-left:auto;margin-right:auto}.split-hero{display:grid;grid-template-columns:1fr .92fr;gap:60px;align-items:center;padding:80px 28px 72px}.hero-copy{max-width:600px}.eyebrow{color:var(--deep);font-size:11px;line-height:1.5;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin:0 0 14px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(44px,6.2vw,76px);margin-bottom:22px;max-width:790px}h2{font-size:clamp(30px,4vw,48px);margin-bottom:15px}h3{font-size:21px;margin-bottom:10px}.hero-lede{font-size:clamp(17px,2vw,20px);color:var(--muted);max-width:600px;margin-bottom:26px}.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 19px;border:1px solid var(--deep);border-radius:5px;text-decoration:none;font-size:13px;font-weight:700;transition:transform .18s,background .18s,color .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:var(--deep);border-color:var(--accent)}.button-secondary{background:transparent;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 25%,transparent)}.text-link{font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:4px}.hero-image{position:relative;min-width:0}.cover-image{width:100%;aspect-ratio:1.08;object-fit:cover;border-radius:4px}.image-caption{position:absolute;bottom:13px;left:13px;background:var(--page);color:var(--ink);padding:6px 10px;font-size:10px;font-weight:700}.availability{margin:28px 0 0;font-size:12px;color:var(--muted)}.availability span{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:8px}
.section{padding:78px 28px}.section-tint{max-width:none;background:color-mix(in srgb,var(--surface) 82%,var(--page));padding-left:max(28px,calc((100vw - 1144px)/2));padding-right:max(28px,calc((100vw - 1144px)/2))}.section-heading{max-width:650px;margin-bottom:30px}.section-heading>p:not(.eyebrow){color:var(--muted);margin-bottom:0}.project-grid,.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-card{border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);background:var(--surface);overflow:hidden}.content-card img{width:100%;aspect-ratio:1.65;object-fit:cover}.card-copy{padding:20px}.card-copy h3{margin-bottom:8px}.card-copy p:last-child{color:var(--muted);margin:0}.card-copy .eyebrow{font-size:9px;margin-bottom:8px}.timeline{list-style:none;padding:0;margin:35px 0 0;max-width:900px}.timeline li{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:22px 0;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.timeline li>span{font-size:11px;color:var(--deep);font-weight:800;letter-spacing:.08em}.timeline h3{margin-bottom:5px}.timeline p{color:var(--muted);margin:0}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review{margin:0;padding:24px;background:var(--surface);border-top:3px solid var(--accent)}.review>p{font-family:var(--display);font-size:19px;line-height:1.5}.review footer{font-size:11px;color:var(--muted);font-weight:700}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:46px 28px 76px}.cta-band h2{max-width:650px;margin-bottom:0}.cta-band .eyebrow{margin-bottom:9px}.stats-row{padding:25px 28px 44px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-bottom:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.stats-row div{display:flex;flex-direction:column}.stats-row strong{font-family:var(--display);font-size:34px;line-height:1.2;color:var(--accent)}.stats-row span{font-size:12px;color:var(--muted)}.role-grid,.values-grid,.steps-grid,.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.role-grid>div,.values-grid article,.steps-grid li,.class-grid article{padding:23px;border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);background:var(--surface)}.role-icon,.values-grid article>span,.steps-grid li>span{display:inline-block;color:var(--accent);font-family:var(--display);font-size:19px;font-weight:700;margin-bottom:15px}.role-grid p,.values-grid p,.steps-grid p,.class-grid p{color:var(--muted);margin-bottom:0}.values-grid article>span{font-size:12px;letter-spacing:.1em}.steps-grid{list-style:none;padding:0;grid-template-columns:repeat(4,minmax(0,1fr))}.steps-grid li h3{font-size:18px}.steps-grid p{font-size:14px}.page-hero{padding:75px 28px 22px}.page-hero h1{max-width:890px}.page-hero .hero-lede{max-width:700px}.split-content{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.split-content img{width:100%;aspect-ratio:1.3;object-fit:cover}.split-content p:not(.eyebrow){color:var(--muted)}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px}.check-list{list-style:none;padding:0;margin:20px 0}.check-list li{padding:8px 0 8px 25px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:800}.service-list{display:grid;gap:0}.service-list>article{display:grid;grid-template-columns:1fr auto;gap:28px;padding:34px 0;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.service-list>article img{width:100%;max-width:400px;aspect-ratio:1.7;object-fit:cover;margin-bottom:23px}.service-list>article>div{max-width:760px}.service-list p:not(.eyebrow){color:var(--muted)}.service-price{white-space:nowrap;color:var(--muted);font-size:12px}.service-price strong{display:block;color:var(--ink);font:700 26px var(--display)}.legal-note{border-left:3px solid var(--accent);padding:10px 16px;color:var(--muted);font-size:13px}
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}address{font-style:normal;line-height:2;margin:25px 0;color:var(--muted)}address a{color:var(--ink)}.demo-form{display:grid;gap:9px}.demo-form label{font-size:12px;font-weight:700;margin-top:8px}.demo-form input,.demo-form select,.demo-form textarea{width:100%;border:1px solid color-mix(in srgb,var(--ink) 23%,transparent);border-radius:4px;background:var(--surface);color:var(--ink);padding:12px 13px}.demo-form textarea{resize:vertical}.demo-form button{justify-self:start;margin-top:12px;cursor:pointer}.form-message{min-height:24px;margin:4px 0 0;color:var(--deep);font-size:13px;font-weight:700}.site-footer{max-width:1200px;margin:auto;padding:38px 28px 76px;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);display:flex;align-items:flex-start;gap:32px}.footer-info{margin-left:auto;text-align:right;font-size:12px;color:var(--muted)}.footer-info p{margin:0 0 8px}.social-links{display:flex;justify-content:flex-end;gap:12px;margin-bottom:8px}.social-links a{text-decoration:none;color:var(--deep);font-size:19px}.footer-note{font-size:11px}.demo-notice{position:fixed;z-index:30;bottom:0;left:0;right:0;min-height:42px;display:grid;place-items:center;padding:8px 16px;background:var(--deep);color:#fff;font-size:11px;text-align:center;letter-spacing:.01em}
/* category-specific components */
.site-portfolio .hero-image{transform:rotate(1deg)}.site-portfolio .brand-symbol{border-radius:50%}.site-gym h1,.site-gym h2,.site-gym h3{text-transform:uppercase;letter-spacing:.01em}.site-gym .button{border-radius:2px;text-transform:uppercase}.site-gym .content-card{border:0}.site-gym .stats-row strong{font-style:italic}.site-photographer .hero-image{grid-row:1;grid-column:1/-1}.photo-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;padding:42px 28px 65px}.photo-hero .cover-image{aspect-ratio:2.2;border-radius:2px}.photo-hero-copy{padding:36px 0 0 10%;max-width:600px}.site-photographer h1,.site-law-firm h1,.site-law-firm h2{font-weight:400}.masonry-gallery{columns:3;column-gap:14px}.lightbox-trigger{position:relative;display:block;width:100%;padding:0;margin:0 0 14px;border:0;background:transparent;color:inherit;cursor:zoom-in;text-align:left;break-inside:avoid}.lightbox-trigger img{width:100%;height:auto;min-height:210px;object-fit:cover}.lightbox-trigger span{position:absolute;bottom:10px;left:10px;background:#fff;padding:5px 8px;font-size:11px}.lightbox{width:min(92vw,1000px);max-height:90vh;border:0;background:#fff;padding:20px}.lightbox::backdrop{background:#111d}.lightbox img{max-height:78vh;width:auto;max-width:100%;margin:auto;object-fit:contain}.lightbox-close{display:block;margin:0 0 12px auto;border:0;background:var(--deep);color:white;padding:8px 13px;cursor:pointer}.site-photographer .button{border-radius:2px}.site-construction h1,.site-construction h2,.site-construction h3{text-transform:uppercase;letter-spacing:-.02em}.site-construction .brand-symbol{border-radius:3px}.site-construction .button{border-radius:2px;text-transform:uppercase}.safety-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 28px;margin:15px auto 35px;background:var(--deep);color:#fff}.safety-panel .eyebrow{color:var(--accent)}.safety-panel p:not(.eyebrow){max-width:750px;color:#d1d1d1;margin-bottom:0}.safety-icon{width:70px;height:70px;display:grid;place-items:center;flex:none;border:2px solid var(--accent);color:var(--accent);font-size:35px;border-radius:50%}.site-law-firm .brand-symbol{border-radius:2px}.site-law-firm .practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.practice-card{position:relative;min-height:205px;padding:22px;border:1px solid color-mix(in srgb,var(--deep) 22%,transparent);text-decoration:none;background:var(--surface)}.practice-card>span{font-size:11px;color:var(--accent);font-weight:700}.practice-card h3{margin:30px 0 8px}.practice-card p{margin:0;color:var(--muted);font-size:14px}.practice-card b{position:absolute;right:20px;bottom:17px;color:var(--accent)}.faq-list{max-width:850px}.faq-list details{border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent);padding:19px 0}.faq-list summary{cursor:pointer;font-family:var(--display);font-size:18px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:var(--accent);font-size:23px}.faq-list details[open] summary:after{content:'−'}.faq-list details p{max-width:700px;color:var(--muted);margin:12px 0 0}.legal-stats{margin-bottom:30px}
/* gym tables, plans, and service cards */
.table-wrap{overflow-x:auto;border:1px solid color-mix(in srgb,var(--ink) 15%,transparent)}table{border-collapse:collapse;width:100%;min-width:600px;background:var(--surface);text-align:left}th,td{padding:15px 18px;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);font-size:13px}thead th{background:var(--deep);color:#fff}tbody th{font-weight:700}.schedule-note{font-size:11px;color:var(--muted);margin:10px 0 0}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.plan-card{padding:24px;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:var(--surface)}.plan-card.featured{outline:2px solid var(--accent)}.plan-price{color:var(--muted);font-size:12px}.plan-price strong{font:700 30px var(--display);color:var(--ink)}.plan-price span{font-size:12px}.plan-card ul{padding-left:18px;color:var(--muted);font-size:13px;min-height:100px}.plan-card li{padding:4px 0}.plan-card .button{width:100%;font-size:11px}.program-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.program-list .content-card{border:0}.class-grid article>span{display:inline-block;margin-top:15px;color:var(--accent);font-size:11px;font-weight:700}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.package-card{padding:20px;border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);background:var(--surface)}.package-card img{width:100%;aspect-ratio:1.7;object-fit:cover;margin:12px 0 20px}.package-card ul{min-height:120px}.package-card .service-price{margin:20px 0}
@media(max-width:900px){.header-row{gap:14px;padding:12px 20px}.primary-nav{gap:13px}.primary-nav a{font-size:12px}.split-hero{gap:30px;padding-top:58px}.feature-grid,.program-list{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid .content-card:last-child,.program-list .content-card:last-child{display:none}.plan-grid{grid-template-columns:1fr 1fr}.plan-card:last-child{grid-column:1/-1}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.contact-layout{gap:35px}}
@media(max-width:650px){.header-row{flex-wrap:wrap;padding:10px 17px}.brand-symbol{width:37px;height:37px}.all-demos{font-size:11px}.menu-toggle{display:block;order:3}.primary-nav{display:none;order:4;width:100%;padding:8px 0 3px;justify-content:space-between}.primary-nav.is-open{display:flex}.primary-nav a{font-size:13px;padding:6px 3px}.split-hero{grid-template-columns:1fr;padding:46px 18px 42px;gap:28px}h1{font-size:clamp(42px,12vw,62px)}h2{font-size:34px}.cover-image{aspect-ratio:1.25}.section{padding:57px 18px}.section-tint{padding-left:18px;padding-right:18px}.project-grid,.feature-grid,.review-grid,.role-grid,.values-grid,.steps-grid,.class-grid,.package-grid,.about-columns,.split-content,.contact-layout{grid-template-columns:1fr;gap:14px}.feature-grid .content-card:last-child,.program-list .content-card:last-child{display:block}.timeline li{grid-template-columns:1fr;gap:5px;padding:17px 0}.timeline li>span{font-size:10px}.stats-row{padding:22px 18px 34px;grid-template-columns:repeat(2,1fr);gap:18px}.stats-row strong{font-size:30px}.cta-band{padding:37px 18px 56px;align-items:flex-start;flex-direction:column}.cta-band h2{font-size:31px}.page-hero{padding:48px 18px 5px}.split-content img{aspect-ratio:1.6}.service-list>article{grid-template-columns:1fr;gap:5px;padding:25px 0}.service-price{margin:0}.service-price strong{display:inline;margin-left:6px}.plan-grid{grid-template-columns:1fr}.plan-card:last-child{grid-column:auto}.plan-card ul{min-height:0}.plan-card .button{width:auto}.masonry-gallery{columns:2;column-gap:9px}.lightbox-trigger{margin-bottom:9px}.lightbox-trigger img{min-height:120px}.photo-hero{display:flex;flex-direction:column-reverse;padding:28px 18px 48px;gap:18px}.photo-hero-copy{padding:0;max-width:none}.photo-hero .cover-image{aspect-ratio:1.25}.practice-grid{grid-template-columns:1fr!important}.practice-card{min-height:175px}.safety-panel{margin:10px 18px 30px;padding:25px 20px;align-items:flex-start}.safety-icon{width:52px;height:52px;font-size:26px}.site-footer{padding:28px 18px 68px;flex-direction:column;gap:18px}.footer-info{margin:0;text-align:left}.social-links{justify-content:flex-start}.demo-notice{font-size:10px;line-height:1.35;min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
