@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wdth,wght@75..100,300..800&display=swap');

:root{
  --peach:#FFE6D2;
  --orange:#FFB45A;
  --tan:#B47850;
  --brown:#502800;
  --ink:#2d1708;
  --cream:#fff7ef;
  --line:rgba(80,40,0,.22);
  --container:1440px;
  --gutter:clamp(18px,3vw,52px);
  --h1:clamp(58px,10.3vw,110pt);
  --h2:clamp(46px,6.3vw,68pt);
  --h3:clamp(34px,4.1vw,42pt);
  --h4:clamp(27px,2.6vw,26pt);
  --body:clamp(16px,1.48vw,16pt);
  --small:clamp(13px,1vw,15px);
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--peach)}
body{margin:0;background:var(--peach);color:var(--brown);font-family:"Noto Sans",system-ui,sans-serif;font-size:var(--body);line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
::selection{background:var(--orange);color:var(--brown)}
img{max-width:100%;display:block}

/* loading / page transition */
.loader{position:fixed;inset:0;z-index:10000;background:var(--peach);display:grid;place-items:center;overflow:hidden;transition:opacity .7s var(--ease),visibility .7s}
.loader::before{content:"";position:absolute;inset:-6%;background:url('/assets/img/plant.webp') center/cover no-repeat;filter:saturate(.75) sepia(.25);transform:scale(1.12);animation:loaderBg 2s var(--ease) both}
.loader::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,230,210,.10),rgba(80,40,0,.25))}
.loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.loader-logo{position:relative;z-index:2;width:min(82vw,1100px);aspect-ratio:532/207;background:url('/assets/img/plant.webp') 50% 50%/145% auto no-repeat;mask:url('/assets/logo/logo-core.svg') center/contain no-repeat;-webkit-mask:url('/assets/logo/logo-core.svg') center/contain no-repeat;filter:contrast(1.08);animation:loaderMark 2s var(--ease) both}
.loader-meta{position:absolute;z-index:2;left:50%;bottom:6vh;transform:translateX(-50%);width:min(82vw,780px);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;color:var(--peach);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.loader-track{height:2px;background:rgba(255,230,210,.3);overflow:hidden}
.loader-track::after{content:"";display:block;height:100%;width:100%;background:var(--orange);transform-origin:left;animation:loaderTrack 1.8s var(--ease) both}
@keyframes loaderMark{0%{transform:scale(3.5);opacity:0}25%{opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes loaderBg{0%{transform:scale(1.25)}100%{transform:scale(1.08)}}
@keyframes loaderTrack{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.page-wipe{position:fixed;inset:0;background:var(--brown);z-index:9000;transform:translateY(101%);pointer-events:none}
.page-wipe.go{animation:wipe .72s var(--ease) forwards}
@keyframes wipe{0%{transform:translateY(101%)}100%{transform:translateY(0)}}

.container{width:min(calc(100% - (2 * var(--gutter))),var(--container));margin-inline:auto}
.site-shell{min-height:100vh}

/* header */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,230,210,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:border-color .25s,background .25s}
.site-header.scrolled{border-color:var(--line);background:rgba(255,230,210,.96)}
.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.header-brand{display:flex;align-items:center;gap:16px;min-width:0}
.header-icon{width:28px;height:46px;background:var(--orange);mask:url('/assets/logo/logo-icon.svg') center/contain no-repeat;-webkit-mask:url('/assets/logo/logo-icon.svg') center/contain no-repeat;flex:0 0 auto}
.header-wordmark{width:126px;height:50px;background:var(--tan);mask:url('/assets/logo/logo-core.svg') center/contain no-repeat;-webkit-mask:url('/assets/logo/logo-core.svg') center/contain no-repeat;transition:background .25s}
.header-brand:hover .header-wordmark{background:var(--brown)}
.site-nav{display:flex;align-items:center;gap:clamp(24px,3.2vw,54px);font-size:14px;letter-spacing:.02em}
.site-nav a{position:relative;padding:10px 0}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.site-nav a:hover::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.nav-cta{padding:12px 18px!important;border:1px solid var(--brown);transition:background .25s,color .25s,transform .25s}
.nav-cta:hover{background:var(--brown);color:var(--peach);transform:translateY(-2px)}
.menu-toggle{display:none;width:46px;height:46px;border:0;background:none;color:var(--brown);position:relative;cursor:pointer}
.menu-toggle::before,.menu-toggle::after{content:"";position:absolute;left:9px;right:9px;height:1px;background:currentColor;transition:transform .35s var(--ease),top .35s var(--ease)}
.menu-toggle::before{top:18px}.menu-toggle::after{top:28px}
.menu-toggle[aria-expanded="true"]::before{top:23px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"]::after{top:23px;transform:rotate(-45deg)}
.mobile-panel{position:fixed;inset:0;z-index:990;background:var(--brown);color:var(--peach);padding:122px var(--gutter) 42px;transform:translateY(-103%);transition:transform .6s var(--ease);display:flex;flex-direction:column;justify-content:space-between;overflow:auto}
.mobile-panel.open{transform:none}
.mobile-panel .menu-logo{width:min(62vw,320px);height:128px;background:var(--orange);mask:url('/assets/logo/logo-core.svg') center/contain no-repeat;-webkit-mask:url('/assets/logo/logo-core.svg') center/contain no-repeat;margin-bottom:22px}
.mobile-panel nav{display:grid;gap:8px}
.mobile-panel nav>a{font-size:clamp(34px,10vw,62px);line-height:1.08;border-bottom:1px solid rgba(255,230,210,.26);padding:10px 0 14px}
.mobile-panel-meta{display:grid;gap:9px;font-size:14px;color:rgba(255,230,210,.78);padding-top:36px}

/* typography */
.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;margin:0 0 12px}
h1,h2,h3,h4,h5,h6,p{margin-top:0}
h1{font-size:var(--h1);line-height:.94;letter-spacing:-.055em;font-weight:500}
h2{font-size:var(--h2);line-height:.98;letter-spacing:-.045em;font-weight:500}
h3{font-size:var(--h3);line-height:1.03;letter-spacing:-.035em;font-weight:500}
h4{font-size:var(--h4);line-height:1.08;letter-spacing:-.025em;font-weight:500}
h6{font-size:var(--body);font-weight:650}
.gradient-title{background:linear-gradient(105deg,#502800 0%,#8e4d28 24%,#c48156 46%,#6f3415 68%,#502800 100%);background-size:240% 240%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:aurora 8s ease-in-out infinite}
@keyframes aurora{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.lede{font-size:clamp(19px,2vw,28px);line-height:1.4;max-width:35ch}

/* buttons */
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--orange);color:var(--brown);padding:15px 18px;border:1px solid var(--orange);font-size:15px;font-weight:600;min-width:190px;transition:transform .25s var(--ease),background .25s,border-color .25s,color .25s;position:relative;overflow:hidden}
.button::before{content:"";position:absolute;inset:0;background:var(--brown);transform:translateY(102%);transition:transform .35s var(--ease)}
.button span,.button strong{position:relative;z-index:1}
.button:hover{color:var(--peach);border-color:var(--brown);transform:translateY(-3px)}
.button:hover::before{transform:none}
.button.secondary{background:transparent;border-color:var(--brown)}
.text-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:650;border-bottom:1px solid currentColor;padding-bottom:4px}
.arrow{display:inline-block;transition:transform .25s var(--ease)}
a:hover .arrow{transform:translate(4px,-1px)}

/* home hero */
.hero{padding:clamp(44px,6vw,88px) 0 clamp(64px,8vw,120px);min-height:calc(100svh - 92px);display:flex;align-items:center;overflow:hidden}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.45fr);gap:clamp(30px,5vw,86px);align-items:end}
.hero-main{min-width:0}
.hero-logo-mask{width:100%;aspect-ratio:532/207;background-image:url('/assets/img/plant.webp');background-size:116% auto;background-position:55% 42%;mask:url('/assets/logo/logo-core.svg') center/contain no-repeat;-webkit-mask:url('/assets/logo/logo-core.svg') center/contain no-repeat;transition:background-position .2s linear;filter:saturate(.9) sepia(.12)}
.hero-tagline{font-size:clamp(34px,4.4vw,62px);font-weight:430;letter-spacing:-.04em;margin:22px 0 24px;line-height:1.05}
.hero-copy{max-width:760px}
.hero-copy p{max-width:58ch;margin-bottom:28px}
.hero-side{display:grid;align-content:end;gap:20px;border-left:1px solid var(--line);padding-left:clamp(20px,3vw,42px)}
.hero-side .stat{padding:0 0 22px;border-bottom:1px solid var(--line)}
.hero-side .stat:last-child{border-bottom:0;padding-bottom:0}
.hero-side strong{display:block;font-size:clamp(34px,4vw,58px);line-height:1;font-weight:450;letter-spacing:-.05em}
.hero-side span{display:block;margin-top:7px;font-size:13px;text-transform:uppercase;letter-spacing:.1em}

/* sections */
.section{padding:clamp(78px,10vw,150px) 0;border-top:1px solid var(--line)}
.section-tight{padding:clamp(42px,6vw,84px) 0;border-top:1px solid var(--line)}
.split-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,7vw,120px);align-items:end;margin-bottom:clamp(42px,6vw,82px)}
.split-heading h2{margin-bottom:0}
.split-heading .lede{margin-bottom:18px}

.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.work-card{min-height:580px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(26px,3.2vw,48px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;isolation:isolate;transition:color .4s var(--ease)}
.work-card::before{content:"";position:absolute;inset:100% 0 0;background:var(--brown);z-index:-2;transition:inset .55s var(--ease)}
.work-card:hover{color:var(--peach)}
.work-card:hover::before{inset:0}
.work-card-number{font-size:13px;letter-spacing:.12em}
.work-card h3{margin:8px 0 14px}
.work-card p{max-width:34ch}
.platform{font-size:12px!important;text-transform:uppercase;letter-spacing:.12em;font-weight:650}
.work-card-art{position:absolute;width:min(38vw,430px);aspect-ratio:1;border:1px solid currentColor;right:-10%;bottom:-17%;border-radius:50%;opacity:.25;z-index:-1;transition:transform .7s var(--ease),opacity .5s}
.work-card-art::before,.work-card-art::after{content:"";position:absolute;border:1px solid currentColor;border-radius:50%;inset:17%}
.work-card-art::after{inset:34%}
.work-card:nth-child(2) .work-card-art{border-radius:2%;transform:rotate(18deg)}
.work-card:hover .work-card-art{transform:translate(-4%,-5%) scale(1.1) rotate(8deg);opacity:.45}
.work-card:nth-child(2):hover .work-card-art{transform:translate(-4%,-5%) scale(1.1) rotate(26deg)}

.editorial-band{display:grid;grid-template-columns:1.4fr .6fr;min-height:760px;background:var(--brown);color:var(--peach);overflow:hidden}
.editorial-photo{background:url('/assets/img/desk.webp') center/cover no-repeat;min-height:580px;position:relative}
.editorial-photo::after{content:"";position:absolute;inset:0;background:rgba(80,40,0,.42);mix-blend-mode:multiply}
.editorial-copy{padding:clamp(42px,6vw,92px);display:flex;flex-direction:column;justify-content:space-between}
.editorial-copy h3{font-size:clamp(46px,6vw,90px);margin-bottom:24px;color:var(--peach)}
.editorial-copy p{max-width:31ch;color:rgba(255,230,210,.78)}
.editorial-copy .button{align-self:flex-start}

.manifesto{padding:clamp(88px,11vw,170px) 0;overflow:hidden;border-top:1px solid var(--line)}
.manifesto-line{font-size:clamp(64px,11vw,172px);line-height:.86;letter-spacing:-.065em;font-weight:500;white-space:nowrap;transform:translateX(var(--shift,0));will-change:transform}
.manifesto-line:nth-child(2){color:var(--tan);margin-left:-10vw}

.facts{margin:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.fact{padding:28px;min-height:150px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.fact dt{font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.fact dd{margin:0;font-size:clamp(22px,2.2vw,34px);line-height:1.15;letter-spacing:-.035em}

/* inner-page hero */
.page-hero{padding:clamp(56px,8vw,116px) 0 clamp(62px,9vw,128px);border-bottom:1px solid var(--line)}
.page-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,8vw,140px);align-items:end}
.page-hero h1{margin:10px 0 0}
.page-hero .intro{max-width:33ch;margin-bottom:6px}
.page-hero .mini-logo{width:72px;height:112px;background:var(--orange);mask:url('/assets/logo/logo-icon.svg') center/contain no-repeat;-webkit-mask:url('/assets/logo/logo-icon.svg') center/contain no-repeat;margin-bottom:30px}

/* apps */
.apps-stack{display:grid;border-top:1px solid var(--line)}
.app-row{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(260px,.75fr) auto;gap:clamp(22px,4vw,60px);align-items:center;padding:clamp(34px,5vw,70px) 0;border-bottom:1px solid var(--line);position:relative}
.app-index{font-size:13px;letter-spacing:.12em;align-self:start;padding-top:8px}
.app-row h2{font-size:clamp(44px,6vw,84px);margin:0}
.app-description p{max-width:38ch;margin-bottom:8px}
.app-meta{font-size:12px;text-transform:uppercase;letter-spacing:.11em}
.app-go{width:64px;height:64px;border:1px solid var(--brown);display:grid;place-items:center;border-radius:50%;transition:background .25s,color .25s,transform .25s}
.app-row:hover .app-go{background:var(--brown);color:var(--peach);transform:rotate(-35deg)}
.app-row::after{content:"";position:absolute;left:90px;right:0;bottom:0;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.app-row:hover::after{transform:scaleX(1)}

/* about */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,100px);align-items:start}
.about-image{position:sticky;top:128px;min-height:680px;background:url('/assets/img/desk.webp') center/cover no-repeat}
.about-image::after{content:"";position:absolute;inset:0;background:rgba(180,120,80,.16);mix-blend-mode:multiply}
.about-copy h2{margin-bottom:28px}
.about-copy p{max-width:46ch}
.about-copy .facts{grid-template-columns:1fr 1fr;margin-top:54px}
.about-copy .fact:nth-child(3),.about-copy .fact:nth-child(4){border-top:0}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,8vw,140px);align-items:start}
.contact-list{border-top:1px solid var(--line)}
.contact-item{display:grid;grid-template-columns:130px 1fr auto;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);align-items:center}
.contact-item .label{font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.contact-item .value{font-size:clamp(19px,2vw,29px);letter-spacing:-.025em;overflow-wrap:anywhere}
.contact-visual{min-height:620px;background:url('/assets/img/plant.webp') center/cover no-repeat;position:relative;overflow:hidden}
.contact-visual::after{content:"Ideas grow\A when people care.";white-space:pre;position:absolute;left:8%;bottom:8%;font-size:clamp(34px,4vw,64px);line-height:1.03;letter-spacing:-.045em;color:var(--peach);text-shadow:0 2px 30px rgba(80,40,0,.45)}

/* legal / privacy */
.prose{max-width:980px}
.prose h2{font-size:clamp(30px,3.3vw,50px);margin:64px 0 20px}
.prose p,.prose li{max-width:70ch}
.legal-table{border-top:1px solid var(--line);margin-top:46px}
.legal-row{display:grid;grid-template-columns:minmax(150px,.42fr) 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.legal-row dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.legal-row dd{margin:0}

/* footer */
.site-footer{background:var(--brown);color:var(--peach);padding:clamp(60px,8vw,120px) 0 30px}
.footer-top{display:grid;grid-template-columns:1.8fr .55fr .7fr;gap:clamp(40px,7vw,110px);padding-bottom:clamp(60px,8vw,100px)}
.footer-mark{width:min(420px,70vw);aspect-ratio:532/207;background:var(--peach);mask:url('/assets/logo/logo-core.svg') center/contain no-repeat;-webkit-mask:url('/assets/logo/logo-core.svg') center/contain no-repeat}
.footer-tag{max-width:34ch;color:rgba(255,230,210,.72);margin:16px 0 0}
.footer-col{display:grid;align-content:start;gap:11px;font-size:15px}
.footer-col h6{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--orange);margin-bottom:6px}
.footer-col a:hover{color:var(--orange)}
.footer-bottom{border-top:1px solid rgba(255,230,210,.22);padding-top:25px;display:flex;justify-content:space-between;gap:30px;font-size:12px;color:rgba(255,230,210,.62)}

/* reveal animations */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.08s}.reveal[data-delay="2"]{transition-delay:.16s}.reveal[data-delay="3"]{transition-delay:.24s}

@media(max-width:1000px){
  .header-wordmark{width:100px}.site-nav{gap:24px}
  .hero-layout,.page-hero-grid,.split-heading,.editorial-band,.about-grid,.contact-grid{grid-template-columns:1fr}
  .hero-side{grid-template-columns:repeat(3,1fr);border-left:0;border-top:1px solid var(--line);padding:26px 0 0}
  .hero-side .stat{border-bottom:0;border-right:1px solid var(--line);padding:0 24px 0 0}.hero-side .stat:last-child{border-right:0}
  .editorial-photo{min-height:64vw}.editorial-copy{min-height:500px}
  .about-image{position:relative;top:auto;min-height:68vw}.contact-visual{min-height:62vw}
  .footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}

@media(max-width:760px){
  :root{--gutter:20px;--body:17px}
  .header-inner{height:76px}.header-wordmark{width:94px;height:40px}.header-icon{width:23px;height:39px}
  .site-nav{display:none}.menu-toggle{display:block}
  .hero{min-height:auto;padding:42px 0 72px}
  .hero-layout{gap:36px}.hero-logo-mask{aspect-ratio:532/207;background-size:150% auto}
  .hero-tagline{font-size:clamp(34px,9vw,52px)}
  .hero-side{grid-template-columns:1fr 1fr;gap:22px}.hero-side .stat{border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px}.hero-side .stat:last-child{grid-column:1/-1}
  .section{padding:70px 0}.section-tight{padding:44px 0}
  .split-heading{gap:24px;margin-bottom:42px}
  .work-grid{grid-template-columns:1fr}.work-card{min-height:480px}
  .editorial-copy{min-height:450px}.editorial-photo{min-height:90vw}
  .manifesto{padding:80px 0}.manifesto-line{font-size:18vw}
  .facts{grid-template-columns:1fr}.fact{min-height:115px}
  .page-hero{padding:48px 0 70px}.page-hero-grid{gap:28px}
  .app-row{grid-template-columns:50px 1fr auto;gap:18px}.app-description{grid-column:2/-1}.app-go{width:52px;height:52px}.app-row::after{left:0}
  .about-copy .facts{grid-template-columns:1fr}.contact-item{grid-template-columns:1fr auto;gap:6px}.contact-item .label{grid-column:1/-1}.contact-visual{min-height:110vw}
  .legal-row{grid-template-columns:1fr;gap:5px}
  .footer-top{grid-template-columns:1fr;gap:42px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:10px}
  .loader-meta{grid-template-columns:1fr}.loader-meta span{display:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}.loader{display:none}
}
