:root{--paper:#f7f4ed;--ink:#19231f;--muted:#69736b;--green:#b7f36b;--orange:#ff744f;--blue:#b7d9ff;--line:rgba(25,35,31,.15);--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}a{color:inherit}.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}
nav{position:fixed;z-index:15;top:16px;left:50%;transform:translateX(-50%);width:min(940px,calc(100% - 28px));display:flex;justify-content:space-between;align-items:center;padding:10px 12px 10px 18px;border:1px solid rgba(25,35,31,.12);border-radius:999px;background:rgba(247,244,237,.82);backdrop-filter:blur(18px)}.brand{font-size:13px;font-weight:800;letter-spacing:-.04em}.brand span{color:#5d8e2c}.navlinks{display:flex;gap:20px;font-size:12px;color:var(--muted)}.navlinks a{text-decoration:none}.navlinks a:hover{color:var(--ink)}.pill{border:0;background:var(--ink);color:white;border-radius:99px;padding:11px 15px;font-size:12px;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s}.pill:hover{transform:translateY(-2px);background:#3b5944}
main{max-width:1120px;margin:auto;padding:0 28px}.hero{min-height:100svh;display:grid;grid-template-columns:1.04fr .96fr;gap:4vw;align-items:center;padding-top:95px;padding-bottom:60px;position:relative}.eyebrow{display:inline-flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:99px;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.pulse{width:7px;height:7px;border-radius:50%;background:#7ebd39;box-shadow:0 0 0 5px #7ebd3920;animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 9px #7ebd3900}}h1{font-size:clamp(64px,10vw,126px);line-height:.84;letter-spacing:-.095em;margin:28px 0 26px;font-weight:800}.serif{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.08em}.hero h1 .highlight{position:relative;white-space:nowrap}.hero h1 .highlight:after{content:"";position:absolute;left:-2%;right:-4%;bottom:3%;height:17%;background:var(--green);z-index:-1;transform:rotate(-2deg);border-radius:50%;animation:swipe 1.2s .6s both;transform-origin:left}@keyframes swipe{from{scale:0 1}to{scale:1 1}}.intro{max-width:430px;font-size:16px;line-height:1.7;color:#58645b}.intro strong{color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:16px;margin-top:28px}.textlink{font-size:12px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}.hero-art{height:min(650px,74vh);min-height:460px;position:relative;display:grid;place-items:center}.orbit{position:absolute;width:min(440px,92%);aspect-ratio:1;border:1px dashed #9aa78f;border-radius:50%;animation:spin 45s linear infinite}.orbit:before,.orbit:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--orange);top:12%;left:16%}.orbit:after{background:#8bb8ef;left:auto;right:6%;top:66%;width:8px;height:8px}@keyframes spin{to{transform:rotate(360deg)}}.photo-main{position:relative;width:min(310px,76%);aspect-ratio:.79;overflow:hidden;border-radius:48% 48% 18px 18px;background:#dce3d6;transform:rotate(3deg);box-shadow:0 30px 70px #23351d20;animation:float 6s ease-in-out infinite}.photo-main img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-main:after{content:"";position:absolute;inset:0;border:1px solid #ffffff70;border-radius:inherit;pointer-events:none}@keyframes float{50%{transform:translateY(-10px) rotate(1deg)}}.sticker{position:absolute;z-index:2;display:grid;place-items:center;border-radius:50%;font-weight:800;text-align:center;line-height:1.05;box-shadow:0 10px 30px #17251d18}.sticker.star{width:94px;height:94px;background:var(--green);right:0;top:13%;font-size:14px;transform:rotate(12deg);animation:wobble 4s ease-in-out infinite}.sticker.note{width:112px;height:112px;background:var(--orange);left:0;bottom:12%;font-family:var(--serif);font-style:italic;font-size:20px;transform:rotate(-10deg)}@keyframes wobble{50%{transform:rotate(-5deg) translateY(-6px)}}.scribble{position:absolute;right:3%;bottom:7%;font-family:var(--serif);font-style:italic;font-size:15px;transform:rotate(-8deg)}.scrollhint{position:absolute;bottom:22px;left:28px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.scrollhint span{display:inline-block;animation:down 1.4s infinite}@keyframes down{50%{transform:translateY(5px)}}
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:17px 0;margin:0 -28px;background:var(--green)}.marquee-track{display:flex;gap:25px;width:max-content;animation:marquee 28s linear infinite;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.marquee b{font-size:18px}@keyframes marquee{to{transform:translateX(-50%)}}
section{padding:115px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:42px}.kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:15px}.section-head h2{font-size:clamp(42px,6vw,72px);line-height:.95;letter-spacing:-.075em;margin:0}.section-head p{max-width:290px;color:var(--muted);font-size:13px;line-height:1.7}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.about-card{min-height:220px;border-radius:20px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;transition:transform .3s}.about-card:hover{transform:translateY(-5px) rotate(-.5deg)}.about-card:nth-child(1){background:#e8e3d7}.about-card:nth-child(2){background:var(--blue)}.about-card:nth-child(3){background:#f8d6c8}.about-card:nth-child(4){background:#dfe9d6}.card-top{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.card-icon{font-size:30px}.about-card h3{font-size:clamp(24px,3vw,36px);letter-spacing:-.06em;margin:0 0 9px}.about-card p{max-width:360px;color:#465149;line-height:1.65;font-size:13px;margin:0}.about-card .big-num{font-size:70px;line-height:.8;letter-spacing:-.1em;font-weight:800;position:absolute;right:24px;bottom:22px;opacity:.09}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:start}.quote{font-family:var(--serif);font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.055em;margin:0}.quote em{color:#6d963e}.family-copy{font-size:15px;line-height:1.9;color:#5d675e;max-width:600px}.family-copy strong{color:var(--ink)}
.gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.gallery-item{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:.78;background:#e4e4d9;cursor:pointer;isolation:isolate}.gallery-item:nth-child(3n+2){transform:translateY(24px)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1);filter:saturate(.88)}.gallery-item:hover img{transform:scale(1.06)}.gallery-item:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0008);z-index:1}.gallery-caption{position:absolute;bottom:17px;left:17px;z-index:2;color:white;font-size:12px}.gallery-caption small{display:block;opacity:.75;margin-top:4px}.gallery-note{margin-top:42px;color:var(--muted);font-size:12px;text-align:center}
.looking{background:var(--ink);color:var(--paper);margin:0 -28px;padding:90px 28px;border-radius:28px;position:relative;overflow:hidden}.looking:before{content:"✳";position:absolute;right:5%;top:-80px;font-size:330px;color:#b7f36b0c;animation:spin 60s linear infinite}.looking-inner{max-width:1060px;margin:auto;position:relative}.looking h2{font-size:clamp(44px,7vw,82px);line-height:.92;letter-spacing:-.08em;max-width:780px;margin:0 0 30px}.looking h2 em{color:var(--green);font-family:var(--serif);font-weight:400}.looking p{max-width:520px;color:#c0c8bf;font-size:15px;line-height:1.8}.looking .pill{display:inline-flex;background:var(--green);color:var(--ink);margin-top:15px;font-weight:800;padding:15px 20px}.looking .pill:hover{background:white}
footer{padding:50px 0 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:var(--muted)}footer strong{color:var(--ink)}.backtop{border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;text-decoration:none;font-size:18px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}.cursor-dot{position:fixed;width:9px;height:9px;background:var(--orange);border-radius:50%;pointer-events:none;z-index:30;mix-blend-mode:multiply;display:none}
@media(min-width:900px){body{cursor:default}.cursor-dot{display:block}}
@media(max-width:700px){main{padding:0 20px}nav{top:10px}.navlinks{display:none}.hero{grid-template-columns:1fr;padding-top:120px;gap:10px;min-height:auto}.hero h1{font-size:clamp(65px,17vw,104px)}.hero-art{height:470px;min-height:0;margin-top:10px}.photo-main{width:min(280px,72%)}.sticker.star{right:4%;top:12%}.sticker.note{left:1%;bottom:10%}.scrollhint{display:none}.marquee{margin:0 -20px}.section-head{display:block}.section-head p{margin-top:18px}.about-grid{grid-template-columns:1fr}.about-card{min-height:190px}.split{grid-template-columns:1fr;gap:25px}.gallery{gap:8px}.gallery-item{border-radius:12px}.gallery-caption{left:9px;bottom:10px;font-size:10px}.gallery-caption small{font-size:9px}.looking{margin:0 -20px;padding:70px 20px;border-radius:20px}.looking:before{font-size:200px;top:-30px;right:-40px}footer{align-items:flex-start}.footer-note{max-width:200px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
[data-parallax],[data-scale-in],[data-zoom-out]{will-change:translate,scale}
[data-scrub-words] .w{opacity:.14;transition:opacity .35s ease}[data-scrub-words] .w.on{opacity:1}
.story-wrap{padding-bottom:0}.story{display:grid;grid-template-columns:1fr 1fr;gap:6vw;position:relative}.story-media{position:sticky;top:0;height:100svh;display:grid;place-items:center}.story-frame{position:relative;margin:0;width:min(440px,100%);aspect-ratio:.78;border-radius:32px;overflow:hidden;background:#dce3d6;box-shadow:0 30px 70px #23351d22}.story-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;scale:1.08;transition:opacity .9s ease,scale 1.6s cubic-bezier(.2,.8,.2,1)}.story-frame img.active{opacity:1;scale:1}.story-count{position:absolute;left:16px;bottom:16px;z-index:1;color:#fff;font-size:11px;letter-spacing:.16em;padding:7px 11px;border-radius:99px;background:#0006;backdrop-filter:blur(8px)}.story-steps{padding:20vh 0 30vh}.step{min-height:78vh;display:flex;flex-direction:column;justify-content:center;opacity:.16;transition:opacity .6s ease}.step.active{opacity:1}.step h3{font-size:clamp(34px,4.4vw,58px);line-height:.98;letter-spacing:-.065em;margin:0 0 20px}.step p{font-size:16px;line-height:1.8;color:#58645b;max-width:440px;margin:0}
mark{color:inherit;background:linear-gradient(var(--green),var(--green)) no-repeat 0 88%/0% 38%;transition:background-size .9s cubic-bezier(.2,.8,.2,1) .15s;padding:0 .06em}.step.active mark,.principle.active mark{background-size:100% 38%}
.interlude{max-width:1120px;margin:auto;padding:140px 28px 120px}.statement{font-family:var(--serif);font-size:clamp(34px,5vw,68px);line-height:1.08;letter-spacing:-.05em;margin:18px 0 28px;max-width:980px}.statement em{color:#6d963e}.interlude-sub{color:var(--muted);font-size:15px;line-height:1.8;max-width:520px;margin:0}
@media(max-width:700px){.story{grid-template-columns:1fr;gap:0}.story-media{top:0;height:calc(46svh + 72px);z-index:2;background:var(--paper);padding:72px 0 14px}.story-frame{height:100%;width:auto;border-radius:22px}.story-steps{padding:4vh 0 30vh}.step{min-height:42vh;justify-content:flex-start;padding-top:2vh}.step p{font-size:15px}.interlude{padding:100px 20px 80px}}
.principles{padding:10vh 0 20vh}.principle{min-height:46vh;display:flex;flex-direction:column;justify-content:center;opacity:.16;transition:opacity .6s ease}.principle.active{opacity:1}.principle h3{font-size:clamp(28px,3.4vw,44px);letter-spacing:-.06em;margin:0 0 14px}.principle p{font-size:16px;line-height:1.8;color:#58645b;max-width:480px;margin:0}#how .quote{position:sticky;top:30vh}
@media(max-width:700px){.principles{padding:4vh 0 10vh}.principle{min-height:38vh}#how .quote{position:static}}
.scenes{position:relative}.scene{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--ink);transform-origin:center top}.scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:scale}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 45%,#000a)}.scene-copy{position:absolute;z-index:1;left:max(28px,calc(50vw - 532px));bottom:12vh;max-width:560px;color:var(--paper)}.scene-copy .kicker{color:var(--green)}.scene-copy h3{font-size:clamp(44px,8vw,96px);line-height:.9;letter-spacing:-.08em;margin:0 0 18px}.scene-copy p{font-size:15px;line-height:1.7;color:#e4e8e0;margin:0}
.collage-wrap{max-width:1120px;margin:auto;padding:140px 28px 120px;overflow:hidden}.collage{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}.collage-col{display:flex;flex-direction:column;gap:22px}.collage-col:nth-child(2){margin-top:120px}.collage-col:nth-child(3){margin-top:40px}.collage-item{margin:0;cursor:zoom-in}.collage-img{overflow:hidden;border-radius:18px;background:#e4e4d9;clip-path:inset(30% 0 0 0 round 18px);transition:clip-path 1.1s cubic-bezier(.2,.8,.2,1)}.collage-item.visible .collage-img{clip-path:inset(0 0 0 0 round 18px)}.collage-img img{width:100%;height:100%;object-fit:cover;display:block}.collage-item figcaption{margin-top:10px;font-family:var(--serif);font-style:italic;font-size:16px;letter-spacing:-.02em;color:var(--muted)}
.fan-wrap{height:calc((var(--n,6)*.7 + 1.2)*100vh);padding:0;position:relative}.fan-sticky{position:sticky;top:0;height:100svh;overflow:hidden}.fan-sticky .section-head{position:relative;z-index:5;padding-top:110px;margin-bottom:0;pointer-events:none;transition:opacity .3s}.fan-stage{position:absolute;inset:0}.polaroid{position:absolute;left:50%;top:50%;margin:0;padding:12px 12px 14px;background:#fffdf8;border-radius:8px;box-shadow:0 18px 45px #23351d2e;cursor:zoom-in;will-change:translate,rotate,scale;transition:box-shadow .5s}.polaroid.in-spot{box-shadow:0 40px 90px #23351d45}.polaroid img{display:block;width:100%;aspect-ratio:.8;object-fit:cover;border-radius:4px}.polaroid figcaption{margin-top:11px;font-family:var(--serif);font-style:italic;font-size:20px;letter-spacing:-.02em;color:var(--ink)}.polaroid small{display:block;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-style:normal;font-size:11px;color:var(--muted);margin-top:4px}.fan-sticky .gallery-note{position:absolute;left:0;right:0;bottom:22px;margin:0;opacity:0}
@media(max-width:700px){.scene-copy{left:20px;right:20px;bottom:9vh}.collage-wrap{padding:90px 20px 80px}.collage{grid-template-columns:repeat(2,1fr);gap:10px}.collage-col{gap:10px}.collage-col:nth-child(2){margin-top:70px}.collage-col:nth-child(3){display:contents}.collage-item figcaption{font-size:13px}.fan-sticky .section-head{padding-top:86px}.fan-sticky .section-head p{display:none}.polaroid{padding:8px 8px 10px}.polaroid figcaption{font-size:16px}.polaroid small{display:none}}
.story-frame.wide{aspect-ratio:16/9;width:100%;border-radius:22px;background:var(--ink)}.story-frame.wide>[data-story-img]{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .8s ease}.story-frame.wide>[data-story-img].active{opacity:1;pointer-events:auto}.story-frame.wide>[data-story-img] img{position:static;opacity:1;scale:1;width:100%;height:100%;object-fit:cover}.story-frame.wide>[data-play]:after{content:"▶";position:absolute;left:50%;top:50%;translate:-50% -50%;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:20px;color:var(--ink);background:var(--green);box-shadow:0 10px 30px #0004;transition:scale .3s}.story-frame.wide>[data-play]:hover:after{scale:1.1}
.projects .step{min-height:56vh}.projects .step h3{font-size:clamp(28px,3.4vw,44px)}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:18px 0 0;max-width:460px}.tags li{font-size:11px;padding:5px 10px;border:1px solid var(--line);border-radius:99px;color:var(--muted)}
@media(max-width:700px){.projects .story-media{height:auto}.story-frame.wide{width:100%;height:auto;border-radius:16px}.projects .step{min-height:46vh}}
.title-card{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;font-size:clamp(36px,5vw,64px);font-weight:800;letter-spacing:-.07em;color:var(--ink);background:radial-gradient(circle at 30% 20%,#d6f7a8,var(--green) 60%)}
.venn{position:sticky;top:calc(50svh - 210px)}.venn-svg{width:100%;height:auto;display:block;overflow:visible}#how .split{grid-template-columns:1.1fr .9fr;gap:4vw}
.venn-set{transform-box:view-box;transform-origin:0 0;scale:.3;opacity:0;transition:scale 1.1s cubic-bezier(.2,.8,.2,1),opacity .8s ease;transition-delay:calc(var(--i)*.12s)}.venn.visible .venn-set{scale:1;opacity:1}
.venn-set circle{fill:var(--c);fill-opacity:.14;stroke:var(--c);stroke-width:1.5;stroke-opacity:.75;transition:fill-opacity .6s,stroke-width .6s}.venn-set.active circle{fill-opacity:.42;stroke-width:2.5;stroke-opacity:1}
.venn-num{font-size:12px;font-weight:800;letter-spacing:.06em;fill:var(--ink);opacity:.4;transition:opacity .6s}.venn-set.active .venn-num{opacity:1}
.venn-label{font-size:14px;font-weight:600;letter-spacing:-.02em;fill:var(--ink);opacity:.4;transition:opacity .6s}.venn-set.active .venn-label{opacity:1;font-weight:800}
.venn-core circle{fill:var(--ink)}.venn-core text{font-size:9px;font-weight:800;letter-spacing:.1em;fill:var(--paper)}
.principle .kicker{margin-bottom:10px}
@media(max-width:700px){#how .split{grid-template-columns:1fr}.venn{top:0;z-index:2;background:var(--paper);padding:76px 0 12px}.venn-svg{height:34svh;width:auto;margin:auto}.venn-label{display:none}}
.stat{display:flex;align-items:baseline;gap:12px;margin:22px 0 4px}.stat strong{font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.06em;font-weight:800}.stat span{font-size:13px;color:var(--muted);max-width:220px;line-height:1.4}
.quotes{padding-bottom:40px}.belief{margin:0;min-height:72vh;display:flex;flex-direction:column;justify-content:center;max-width:980px}.belief blockquote{margin:0;font-family:var(--serif);font-size:clamp(38px,5.6vw,76px);line-height:1.06;letter-spacing:-.05em}.belief blockquote em{color:#6d963e}.belief figcaption{margin-top:26px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media(max-width:700px){.belief{min-height:58vh}}
