:root{
  --bg:#f6f3eb;--paper:#fffdf7;--ink:#101010;--muted:#67645f;--line:#d9d4c9;
  --acid:#eaff00;--blue:#1d5bd8;--blue-dark:#0b327a;--soft-blue:#dfe9ff;--soft-green:#d8f2df;
  --radius:26px;--shadow:0 16px 46px rgba(16,16,16,.08);--max:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.45}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:1000}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:80;background:rgba(246,243,235,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,16,16,.08)}.header-inner{height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.brand-mark{width:48px;height:48px;position:relative;display:grid;place-items:center}.brand-mark:before,.brand-mark:after,.brand-mark i{content:"";position:absolute;border:2px solid var(--acid);border-radius:48% 52% 46% 54%;inset:2px;transform:rotate(18deg)}.brand-mark:after{inset:8px -1px 4px 5px;transform:rotate(-28deg)}.brand-mark i{inset:0 6px 8px -2px;transform:rotate(55deg)}.brand-sub{display:block;font-size:9px;font-weight:700;letter-spacing:.13em;margin-top:3px}.nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:14px}.nav a:hover,.nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;border-radius:999px;background:var(--acid);font-weight:800;font-size:12px;letter-spacing:.11em;text-transform:uppercase}.pill.dark{background:#111;color:#fff}.pill.blue{background:var(--blue);color:#fff}.pill.light{background:#fff}.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:999px;padding:9px 13px}

.hero{min-height:670px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-grid{min-height:670px;display:grid;grid-template-columns:1.05fr 1.15fr .65fr;gap:22px;align-items:center}.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero h1{font-size:clamp(64px,8vw,124px);line-height:.83;letter-spacing:-.065em;margin:18px 0 26px;max-width:680px}.hero-copy{max-width:520px;font-size:21px;line-height:1.35}.hero-art{height:530px;position:relative}.loop{position:absolute;border:5px solid var(--acid);border-radius:50%;mix-blend-mode:multiply}.loop.a{width:440px;height:240px;left:3%;top:110px;transform:rotate(17deg)}.loop.b{width:320px;height:430px;left:26%;top:38px;transform:rotate(-34deg)}.loop.c{width:220px;height:500px;left:42%;top:8px;transform:rotate(57deg)}.loop.d{width:360px;height:170px;left:22%;top:250px;transform:rotate(-10deg)}.side-note{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:90px;padding-left:10px}.hand{font-family:"Comic Sans MS","Bradley Hand",cursive;font-size:28px;line-height:1.3;letter-spacing:.06em;transform:rotate(-6deg);max-width:230px}.mini-line{display:flex;gap:18px;align-items:flex-start;font-size:14px}.mini-line:before{content:"";width:42px;height:1px;background:#111;margin-top:10px;flex:0 0 auto}

.section{padding:95px 0}.section.dark{background:#111;color:#fff}.section.blue{background:var(--blue);color:#fff}.section.soft{background:#eeeadf}.section-title{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:end;margin-bottom:48px}.section-title h2{font-size:clamp(42px,6vw,82px);line-height:.95;letter-spacing:-.055em;margin:8px 0}.section-title p{font-size:18px;color:var(--muted);max-width:520px}.dark .section-title p,.blue .section-title p{color:rgba(255,255,255,.72)}

.current-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.25s ease}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.project-visual{aspect-ratio:1.25;overflow:hidden;background:#ddd}.project-body{padding:22px}.tag{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--acid);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.project-card h3{font-size:25px;line-height:1.02;margin:16px 0 10px;letter-spacing:-.035em}.project-card p{color:var(--muted);font-size:14px}.arrow-link{font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);display:inline-block;margin-top:10px;border-bottom:1px solid currentColor;padding-bottom:3px}

.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.service{border-top:1px solid var(--line);padding-top:26px}.service-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-size:30px;margin-bottom:24px}.service:nth-child(1) .service-icon{background:var(--blue);color:#fff}.service:nth-child(2) .service-icon{background:#bcebd7}.service:nth-child(3) .service-icon{background:var(--acid)}.service:nth-child(4) .service-icon{background:#f3dfca}.service:nth-child(5) .service-icon{background:#111;color:#fff}.service h3{font-size:22px;line-height:1.05;margin:0 0 12px}.service p{font-size:14px;color:var(--muted)}

.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.about-statement{font-size:clamp(42px,5vw,74px);line-height:.98;letter-spacing:-.05em;margin:0}.about-copy{font-size:20px}.about-copy p{margin-top:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.stat{padding:20px;border:1px solid rgba(255,255,255,.22);border-radius:18px}.stat strong{display:block;font-size:24px;margin-bottom:4px}.stat span{font-size:13px;color:rgba(255,255,255,.7)}

.movement{display:grid;grid-template-columns:1fr 1.15fr;min-height:500px}.movement-visual{background:#252525;position:relative;overflow:hidden;min-height:500px}.movement-visual:before,.movement-visual:after{content:"";position:absolute;border:4px solid var(--acid);border-radius:50%}.movement-visual:before{width:390px;height:180px;left:12%;top:23%;transform:rotate(28deg)}.movement-visual:after{width:170px;height:410px;left:40%;top:7%;transform:rotate(-38deg)}.movement-content{background:var(--blue);color:#fff;padding:70px clamp(34px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.movement-content h2{font-size:clamp(44px,6vw,82px);line-height:.92;letter-spacing:-.05em;margin:14px 0 18px}.movement-content p{max-width:570px;font-size:18px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 28px}.chip{border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:8px 12px;font-size:12px}

.partners{display:grid;grid-template-columns:1.4fr .6fr 1fr;gap:30px;align-items:center}.quote{font-size:28px;line-height:1.15}.partner-links{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.partner-links a{font-weight:800;font-size:18px}.partner-links a:hover{text-decoration:underline}.contact-band{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.contact-band h2{font-size:clamp(38px,5vw,70px);line-height:1;margin:0 0 10px;letter-spacing:-.045em}.contact-band p{color:rgba(255,255,255,.7)}

.page-hero{padding:100px 0 70px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(58px,8vw,110px);line-height:.9;letter-spacing:-.06em;margin:14px 0 24px;max-width:970px}.page-hero p{font-size:21px;max-width:730px;color:var(--muted)}.prose{max-width:850px}.prose h2{font-size:36px;letter-spacing:-.035em;margin-top:50px}.prose h3{font-size:24px;margin-top:34px}.prose p,.prose li{font-size:17px;color:#34322f}.prose a{color:var(--blue);text-decoration:underline}.notice{padding:18px 20px;background:#fff3c4;border:1px solid #d8b400;border-radius:14px;margin:22px 0}.legal-grid{display:grid;grid-template-columns:.4fr 1fr;gap:40px}.legal-nav{position:sticky;top:110px;align-self:start}.legal-nav a{display:block;padding:8px 0;color:var(--muted)}

.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:34px}.contact-card h3{font-size:30px;margin:0 0 12px}.contact-card p{color:var(--muted)}.big-mail{font-size:clamp(26px,4vw,48px);font-weight:800;letter-spacing:-.04em;color:var(--blue);overflow-wrap:anywhere}.faq{display:grid;grid-template-columns:1fr 1fr;gap:18px}.faq article{border-top:1px solid var(--line);padding-top:18px}.faq h3{font-size:20px;margin:0 0 8px}.faq p{color:var(--muted)}

.footer{padding:46px 0 30px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.footer small,.footer a{font-size:13px;color:var(--muted)}.footer-links{display:flex;gap:18px;justify-content:flex-end}.footer-bottom{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}

@media(max-width:1000px){.hero-grid{grid-template-columns:1fr 1fr}.side-note{display:none}.current-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.movement{grid-template-columns:1fr}.movement-visual{min-height:330px}.section-title,.about-grid,.partners{grid-template-columns:1fr}.legal-grid{grid-template-columns:1fr}.legal-nav{display:none}}
@media(max-width:760px){.wrap{width:min(calc(100% - 28px),var(--max))}.header-inner{height:68px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg);padding:18px 20px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav .pill{align-self:flex-start}.brand>span:last-child{font-size:13px}.hero,.hero-grid{min-height:auto}.hero-grid{grid-template-columns:1fr;padding:58px 0 34px}.hero h1{font-size:64px}.hero-copy{font-size:18px}.hero-art{height:300px;order:3}.loop.a{width:300px;height:150px}.loop.b{width:230px;height:290px}.loop.c{width:150px;height:310px}.section{padding:68px 0}.section-title{gap:12px;margin-bottom:30px}.current-grid,.service-grid,.contact-cards,.faq,.stats{grid-template-columns:1fr}.movement-content{padding:55px 28px}.contact-band{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.footer-bottom{flex-direction:column}.page-hero{padding:70px 0 50px}}
