:root{
  --mint:#bcecb5;--green:#245444;--orange:#f8972f;--paper:#fff;--ink:#444e4a;--line:#dfe6df;
  --font-body:'General Sans','Helvetica Neue',sans-serif;--font-display:var(--font-body);
  --text-sm:clamp(.875rem,.82rem + .2vw,1rem);--text-base:clamp(1rem,.96rem + .2vw,1.125rem);
  --text-lg:clamp(1.5rem,1.2rem + .65vw,2rem);--text-heading:clamp(2rem,1.5rem + 2.1vw,3.5rem);
  --text-hero:clamp(2.4rem,1.1rem + 3.7vw,4.9rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
}
[data-theme=dark]{--paper:#172e25;--ink:#e4eae4;--line:#3c574a}
body{font-family:var(--font-body);font-size:var(--text-base);background:var(--paper);color:var(--ink);line-height:1.6}
.wrap{width:min(1240px,100%);margin-inline:auto;padding-inline:var(--space-8)}
.hero{background:var(--mint);color:var(--green);position:relative;overflow:hidden;min-height:640px}
.topbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-6)}
.brand{display:block;width:172px}.brand img{width:100%;height:auto}
nav{display:flex;gap:var(--space-10);align-items:center}nav a{font-size:var(--text-sm);text-decoration:none;padding-block:var(--space-3);border-bottom:1px solid transparent;transition:border-color .2s}nav a:hover{border-color:var(--green)}
.hero-content{position:relative;z-index:1;text-align:center;padding-top:var(--space-12);padding-bottom:var(--space-20)}
h1{font-size:var(--text-hero);font-weight:500;line-height:1.1;letter-spacing:-.045em}
.wave-stage{display:none;height:270px;width:100vw;position:relative;margin-left:calc(50% - 50vw);overflow:hidden;font-size:var(--text-hero);font-weight:500;line-height:1;letter-spacing:-.03em;color:var(--green)}
.wave-stage span{position:absolute;left:0;top:0;white-space:pre;will-change:transform;transform-origin:50% 75%}
.wave-ready .wave-stage{display:block}
.wave-ready .hero-heading{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.wave-toggle{display:none;position:absolute;right:var(--space-6);bottom:var(--space-4);min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid rgba(36,84,68,.35);background:var(--mint);color:var(--green);font-size:var(--text-sm);cursor:pointer}
.wave-ready .wave-toggle{display:block}.wave-toggle:hover{background:#d0f4cb}
.wave-ready .hero-content{padding-top:var(--space-6)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-12);padding:var(--space-4) var(--space-6);background:var(--green);color:#fff;font-size:var(--text-sm);text-decoration:none;min-height:52px;transition:background .18s,transform .18s}
.button:hover{background:#143b2f;transform:translateY(-2px)}.button:active{transform:translateY(0)}.hero-button{margin-top:var(--space-10)}
.brushes{position:absolute;inset:0;pointer-events:none}.brushes i{position:absolute;width:100px;height:210px;background:url('./assets/brush.webp') center/contain no-repeat;opacity:.85}
.brushes i:nth-child(1){left:-2%;top:32%;transform:rotate(70deg)}.brushes i:nth-child(2){left:27%;top:-25%;transform:rotate(55deg)}.brushes i:nth-child(3){right:13%;top:-23%;transform:rotate(21deg)}.brushes i:nth-child(4){right:-2%;top:24%;transform:rotate(-25deg)}.brushes i:nth-child(5){left:5%;bottom:-15%;transform:rotate(-35deg)}.brushes i:nth-child(6){right:9%;bottom:-9%;transform:rotate(65deg)}.brushes i:nth-child(7){left:40%;bottom:-30%;transform:rotate(18deg)}.brushes i:nth-child(8){right:41%;top:-22%;transform:rotate(-19deg)}
.about{padding-top:var(--space-16);padding-bottom:var(--space-20)}
.photo-intro{display:flex;justify-content:center;align-items:center;gap:clamp(var(--space-8),7vw,var(--space-32));margin-bottom:var(--space-12)}
.circle{aspect-ratio:1;object-fit:cover;border-radius:50%;width:150px;height:150px}
.collage,.workshop{width:165px;height:165px}.collage{transform:translateY(-20px)}.workshop{transform:translateY(25px)}
.team-photo{width:340px;height:227px;object-fit:cover;object-position:50% 45%}
.about-body{position:relative;padding-block:var(--space-4) var(--space-12)}
.prose{max-width:650px;margin-inline:auto}.prose h2{text-align:center;margin-bottom:var(--space-8)}
h2{font-size:var(--text-heading);font-weight:400;line-height:1.15;letter-spacing:-.035em}
.prose p{margin-bottom:var(--space-6);line-height:1.8}.prose .button{display:flex;max-width:310px;margin:var(--space-10) auto 0}
.orbit{position:absolute;pointer-events:none}.orbit-one{left:0;top:-40px}.orbit-two{right:0;top:100px}.orbit-three{left:15px;top:210px;width:145px;height:145px;object-fit:contain}.orbit-four{right:5px;bottom:60px}.orbit-five{left:35px;bottom:-30px;width:130px;height:130px}
.offers{background:var(--green);color:#fff;padding-block:var(--space-20);text-align:center}
.offers h2{margin-bottom:var(--space-16)}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-20);max-width:1070px;margin-inline:auto}
.offer-icon{height:145px;display:flex;justify-content:center;align-items:center;margin-bottom:var(--space-8)}
.offer-icon img{width:135px;max-height:140px;object-fit:contain}.offer-grid article:nth-child(2) img{width:85px}
h3{font-size:var(--text-lg);font-weight:400;line-height:1.3;margin-bottom:var(--space-3)}
.offer-grid p{line-height:1.75}.mint-button{background:var(--mint);color:var(--green);margin-top:var(--space-12)}.mint-button:hover{background:#d0f4cb}
.clients{padding-block:var(--space-16);text-align:center}
.clients h2{font-size:var(--text-base);letter-spacing:0;margin-bottom:var(--space-8)}
.clients ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-4) var(--space-8);padding:0;margin:0}
.clients li{font-size:var(--text-lg);font-weight:400;line-height:1.5}.clients li::after{content:'▪';color:var(--orange);margin-left:var(--space-8)}
.clients li:last-child::after{display:none}
.clients .client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6);max-width:1100px;margin-inline:auto}
.clients .client-grid li{display:flex;align-items:center;justify-content:center;min-height:190px;padding:var(--space-6);border:1px solid var(--line);background:#fff;margin:0}
.clients .client-grid li::after{display:none}
.client-grid img{width:230px;height:110px;object-fit:contain}
.client-grid img.client-indie{width:130px;height:130px}.client-grid img.client-council{width:105px;height:130px}
.client-pending span{color:var(--green);font-size:var(--text-lg)}
.testimonial{background:var(--mint);color:var(--green);padding-block:var(--space-20);text-align:center}
.testimonial h2{margin-bottom:var(--space-16)}
blockquote{max-width:1050px;margin-inline:auto}blockquote p{font-size:var(--text-heading);font-weight:400;line-height:1.35;letter-spacing:-.03em}blockquote footer{margin-top:var(--space-8);font-size:var(--text-base)}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-block:var(--space-8)}
.site-footer img{width:110px;height:auto}.site-footer a{font-size:var(--text-sm);text-decoration:none;padding-block:var(--space-3)}
#theme-toggle{font-size:var(--text-sm);border:1px solid var(--line);background:transparent;color:var(--ink);padding:var(--space-3) var(--space-4);cursor:pointer;min-height:44px}
[data-theme=dark] .site-footer img{background:var(--mint);padding:var(--space-2)}
@media(max-width:1150px){.prose{max-width:60%}.orbit{width:125px;height:125px}.orbit-three{width:130px;height:130px}.offer-grid{gap:var(--space-10)}.clients .client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){
  .wrap{padding-inline:var(--space-6)}.hero{min-height:auto}.brand{width:128px}.topbar{align-items:flex-start}nav{gap:var(--space-4);flex-wrap:wrap;justify-content:flex-end;max-width:55%}nav a{padding-block:var(--space-2)}nav a:first-child{display:none}
  .hero-content{padding-block:var(--space-16) var(--space-20)}.desktop-break{display:none}h1{max-width:650px;margin-inline:auto}
  .brushes i{width:65px;height:140px}.brushes i:nth-child(1){top:54%;left:-8%}.brushes i:nth-child(4){right:-8%;top:41%}
  .about{padding-top:var(--space-10);padding-bottom:var(--space-12)}.photo-intro{gap:var(--space-4);margin-bottom:var(--space-10)}
  .team-photo{width:48%;height:auto;aspect-ratio:1.5}.collage,.workshop{width:20%;height:auto}
  .prose{max-width:650px}.orbit{display:none}.about-body{padding-bottom:0}.prose h2{margin-bottom:var(--space-6)}
  .offers{padding-block:var(--space-16)}.offers h2{margin-bottom:var(--space-12)}.offer-grid{gap:var(--space-8)}.offer-icon{height:100px;margin-bottom:var(--space-6)}.offer-icon img{width:100px;max-height:100px}.offer-grid article:nth-child(2) img{width:60px}
  .clients{padding-block:var(--space-12)}.clients li{font-size:var(--text-base)}.testimonial{padding-block:var(--space-16)}.testimonial h2{margin-bottom:var(--space-10)}
}
@media(max-width:580px){
  .wrap{padding-inline:var(--space-6)}.brand{width:105px}nav a:nth-child(2){display:none}nav{max-width:60%}
  .hero-content{padding-top:var(--space-12);padding-bottom:var(--space-16)}h1{font-size:var(--text-hero);line-height:1.15}
  .photo-intro{position:relative;gap:var(--space-3);align-items:center}.team-photo{width:58%}.collage,.workshop{width:19%}.collage{transform:translateY(-35px)}.workshop{transform:translateY(35px)}
  .prose p{line-height:1.75}.about-body{padding-top:var(--space-3)}.offer-grid{grid-template-columns:1fr;gap:var(--space-12);max-width:340px}
  .offer-grid article{padding-bottom:var(--space-10);border-bottom:1px solid rgba(255,255,255,.2)}.offer-grid article:last-child{border:0;padding:0}
  .offer-icon{height:95px;margin-bottom:var(--space-6)}.mint-button{margin-top:var(--space-10)}
  .clients ul{display:block}.clients li{margin-bottom:var(--space-3)}.clients li::after{display:none}
  .testimonial h2{margin-bottom:var(--space-10)}blockquote p{font-size:var(--text-heading)}
  .site-footer{flex-wrap:wrap;gap:var(--space-4)}.site-footer img{width:95px}#theme-toggle{margin-left:auto}
  .wave-stage{height:220px}.wave-ready .hero-content{padding-top:var(--space-6);padding-bottom:var(--space-20)}
  .clients .client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
  .clients .client-grid li{min-height:140px;padding:var(--space-4)}
  .client-grid img{width:100%;height:80px}.client-grid img.client-indie{width:95px;height:95px}.client-grid img.client-council{width:75px;height:95px}
}
@media(prefers-reduced-motion:reduce){.wave-ready .wave-stage,.wave-ready .wave-toggle{display:none}.wave-ready .hero-heading{position:static;clip-path:none;width:auto;height:auto;overflow:visible;white-space:normal}}
