@font-face{font-family:Bornia;src:url("fonts/Bornia-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Bornia;src:url("fonts/Bornia-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url("fonts/Archivo-Black.ttf") format("truetype");font-weight:900;font-style:normal;font-display:swap}

:root{
  --ink:#050505;--paper:#efefec;--white:#fff;--gray:#a5a5a2;
  --line-dark:rgba(255,255,255,.2);--line-light:rgba(5,5,5,.2);
  --side:clamp(1.25rem,3.6vw,4.6rem);--header:5rem;
  --ease:cubic-bezier(.16,1,.3,1);--sans:"Bornia","Helvetica Neue",sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden}
p,h1,h2,h3,figure,blockquote,ol,ul{margin:0}ul,ol{padding:0}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}
::selection{color:#fff;background:#050505}:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.cursor,.cursor-dot,.glow{display:none}.scroll-progress{position:fixed;z-index:1001;top:0;left:0;width:0;height:2px;background:#fff;mix-blend-mode:difference}

/* Shared navigation */
.nav{position:fixed;z-index:1000;top:0;right:0;left:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--header);padding:0 var(--side);color:#fff;background:rgba(5,5,5,.94);border-bottom:1px solid var(--line-dark);backdrop-filter:blur(12px);transition:transform .45s var(--ease)}
.nav.hide{transform:translateY(-105%)}
.nav__logo{position:relative;display:inline-block;justify-self:start;width:max-content;font-family:Archivo,sans-serif;font-size:1.45rem;font-weight:900;line-height:1;letter-spacing:-.07em}
.nav__logo:before{content:"GROWY"}.nav__logo:after{position:absolute;top:-.03em;right:-.55em;font-size:.2em;letter-spacing:0;content:"®"}
.nav__logo svg{display:none}
.nav__links{display:flex;gap:clamp(1.4rem,2.5vw,3.2rem);font-size:.75rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase}
.nav__links a{position:relative}.nav__links a:after{position:absolute;right:0;bottom:-.4rem;left:0;height:1px;background:currentColor;content:"";transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav__links a:hover:after,.nav__links a[aria-current=page]:after{transform:scaleX(1);transform-origin:left}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:3.5rem;padding:.8rem 1.1rem;font-size:.75rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;border:1px solid;transition:color .35s var(--ease),background .35s var(--ease),transform .35s var(--ease)}
.btn svg{transition:transform .35s var(--ease)}.btn:hover{transform:translateY(-.15rem)}.btn:hover svg{transform:translate(.2rem,-.2rem)}
.btn--nav{justify-self:end;min-height:auto;padding:0;border:0;border-bottom:1px solid transparent}.btn--nav:hover{border-color:currentColor;transform:none}
.btn--invert{color:#050505;background:#fff;border-color:#fff}.btn--invert:hover{color:#fff;background:transparent}
.nav__burger{display:none;width:3rem;height:3rem;padding:0;color:#fff;background:none;border:0}.nav__burger span{display:block;width:1.65rem;height:1px;margin:.42rem auto;background:currentColor;transition:transform .35s var(--ease)}
.mobile-menu{position:fixed;z-index:999;inset:0;display:flex;visibility:hidden;flex-direction:column;justify-content:center;gap:.2rem;padding:var(--side);color:#fff;background:#050505;opacity:0;transition:opacity .4s,visibility 0s .4s}
.mobile-menu.open{visibility:visible;opacity:1;transition-delay:0s}.mobile-menu>a:not(.btn){font-size:clamp(2.6rem,12vw,5rem);font-weight:700;line-height:1;letter-spacing:-.06em}
.nav__burger.open span:first-child{transform:translateY(.22rem) rotate(45deg)}.nav__burger.open span:last-child{transform:translateY(-.22rem) rotate(-45deg)}

/* Ideas index */
.blogpage,.article{padding-top:var(--header)}
.blog-head{display:grid;grid-template-columns:1.45fr .55fr;grid-template-rows:auto 1fr auto;gap:3rem;min-height:calc(92svh - var(--header));padding:2rem var(--side) 4rem;color:#fff;background:#050505}
.section-label{grid-column:1/-1;display:flex;align-items:center;gap:1rem;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);padding:1rem 0}.section-label span{font-size:0}.section-label span:after{display:block;width:2.2rem;height:1px;background:#fff;content:""}
.blog-head__title{align-self:end;max-width:10ch;font-size:clamp(4.5rem,10vw,12rem);font-weight:700;line-height:.78;letter-spacing:-.085em}
.blog-head__sub{align-self:end;max-width:30rem;padding-bottom:.5rem;color:#c5c5c2;font-size:clamp(1.15rem,1.6vw,1.7rem);line-height:1.25;letter-spacing:-.025em}
.post-list{padding:clamp(6rem,10vw,11rem) var(--side)}
.post{display:block;border:1px solid var(--line-light)}
.post--feature{display:grid;grid-template-columns:1.08fr .92fr;min-height:46rem;margin-bottom:1px;color:#fff;background:#050505;border-color:#050505}
.post__media{position:relative;min-width:0;min-height:0;overflow:hidden;background:#050505}
.post__img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);transition:transform .9s var(--ease),filter .6s}
.post:hover .post__img{filter:grayscale(.25) contrast(1.08);transform:scale(1.025)}
.post__cat,.post__kicker{position:absolute;z-index:2;top:1rem;padding:.55rem .7rem;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase}.post__cat{left:1rem;color:#050505;background:#fff}.post__kicker{right:1rem;color:#fff;background:#050505}.post__kicker::first-letter{font-size:0}
.post__body{display:flex;min-width:0;flex-direction:column;padding:clamp(1.5rem,3.3vw,4rem)}
.post__title{font-size:clamp(2rem,4vw,5.2rem);font-weight:700;line-height:.9;letter-spacing:-.065em}
.post__excerpt{max-width:42rem;margin:2rem 0;color:#aaa;font-size:1.05rem}
.post__meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:auto;padding-top:2rem;color:#aaa;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid var(--line-dark)}
.post__cta{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;border-top:1px solid var(--line-dark)}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#050505;border:1px solid #050505}
.post-grid .post{min-width:0;background:var(--paper);border:0}.post-grid .post__media{aspect-ratio:4/3}.post-grid .post__body{min-height:24rem;padding:1.5rem}.post-grid .post__title{font-size:clamp(1.7rem,2.5vw,3rem);line-height:.95}.post-grid .post__excerpt{margin:1.5rem 0;color:#555}.post__soon{margin-top:auto;padding-top:1rem;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;border-top:1px solid var(--line-light)}

/* Article */
.article__head{display:grid;grid-template-columns:1fr 2.1fr .9fr;gap:2rem;min-height:calc(92svh - var(--header));align-content:start;padding:2rem var(--side) 4rem;color:#fff;background:#050505}
.article__back,.article__cat,.article__meta{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase}
.article__back{display:flex;align-items:center;gap:.6rem;width:max-content;padding:.8rem 0;border-bottom:1px solid transparent;transition:border-color .3s}.article__back:hover{border-color:currentColor}
.article__cat{justify-self:center;padding:.8rem 0}.article__title{grid-column:1/-1;max-width:16ch;margin-top:clamp(4rem,10vh,8rem);font-size:clamp(3.8rem,6.4vw,8rem);font-weight:700;line-height:.82;letter-spacing:-.08em}
.article__sub{grid-column:2/3;max-width:45rem;margin-top:2.5rem;color:#bbb;font-size:clamp(1.15rem,1.55vw,1.65rem);line-height:1.27;letter-spacing:-.02em}
.article__meta{grid-column:3/4;align-self:end;display:flex;flex-direction:column;gap:.35rem;margin-top:2.5rem;color:#aaa;text-align:right}.dot-sep{display:none}
.article__cover{padding:0 var(--side) clamp(6rem,10vw,10rem);background:#050505;overflow:hidden}.article__cover img{aspect-ratio:16/8.2;object-fit:cover;filter:grayscale(1) contrast(1.1);transition:transform 1.4s var(--ease)}
.article__body{max-width:54rem;margin:0 auto;padding:clamp(6rem,10vw,11rem) var(--side)}
.article__body h2{margin:clamp(5rem,9vw,9rem) 0 2rem;padding-top:1rem;font-size:clamp(2.5rem,5.2vw,5.8rem);font-weight:700;line-height:.88;letter-spacing:-.065em;border-top:1px solid var(--line-light)}
.article__body h2:first-child{margin-top:0}.article__body h3{margin:4rem 0 1.25rem;font-size:clamp(1.8rem,3vw,3.2rem);font-weight:700;line-height:.95;letter-spacing:-.045em}
.article__body p,.article__body li{color:#3f3f3c;font-size:clamp(1.05rem,1.25vw,1.18rem);line-height:1.7}.article__body p{margin-bottom:1.25rem}.article__body strong{color:#050505;font-weight:700}
.article__body ul:not(.article__framework){margin:1.5rem 0 2rem;padding:0;list-style:none;border-top:1px solid var(--line-light)}.article__body ul:not(.article__framework) li{position:relative;padding:.85rem 0 .85rem 2rem;border-bottom:1px solid var(--line-light)}.article__body ul:not(.article__framework) li:before{position:absolute;left:0;content:"→"}
.article__body blockquote{margin:3rem calc(var(--side)*-.5);padding:clamp(2rem,4vw,4rem);color:#fff;background:#050505;font-size:clamp(1.5rem,2.4vw,2.7rem);font-weight:700;line-height:1.08;letter-spacing:-.04em}
.article__minilabel{margin-top:2rem!important;color:#050505!important;font-size:.75rem!important;font-weight:700;letter-spacing:.07em!important;text-transform:uppercase}.article__metric{padding:1rem;border:1px solid var(--line-light);font-size:1rem!important}
.article__figure{margin:clamp(5rem,8vw,8rem) calc((100vw - min(74rem,100vw - 2*var(--side)))/-2)}.article__figure img{aspect-ratio:16/9;object-fit:cover;filter:grayscale(1) contrast(1.08)}.article__figure figcaption{display:flex;justify-content:space-between;padding:.8rem 0;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line-light)}
.article__framework{margin:2rem 0!important;padding:0!important;list-style:none}.article__framework li{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--line-light)}.article__framework li:last-child{border-bottom:1px solid var(--line-light)}.fw__n{font-size:.75rem;letter-spacing:.06em}.article__framework div{font-size:1.08rem;line-height:1.55}

/* CTA + footer */
.blog-cta{padding:0 var(--side) clamp(7rem,12vw,13rem);background:var(--paper)}.blog-cta__inner{padding:clamp(3rem,7vw,8rem);color:#fff;background:#050505}.blog-cta__title{max-width:12ch;font-size:clamp(3rem,7.2vw,8.5rem);font-weight:700;line-height:.84;letter-spacing:-.075em}.blog-cta__sub{max-width:35rem;margin:2.5rem 0;color:#aaa;font-size:1.1rem}.blog-cta .btn{min-width:min(100%,20rem)}
.footer{padding:4rem var(--side) 1.5rem;color:#fff;background:#050505}.footer__top{display:grid;grid-template-columns:1fr 1fr;padding-bottom:5rem}.footer__logo{position:relative;width:max-content;font-family:Archivo,sans-serif;font-size:clamp(4rem,11vw,10rem);font-weight:900;line-height:.8;letter-spacing:-.07em}.footer__logo:before{content:"GROWY"}.footer__logo:after{position:absolute;top:-.02em;right:-.42em;font-size:.08em;letter-spacing:0;content:"®"}.footer__logo svg{display:none}.footer__claim{align-self:end;justify-self:end;max-width:18rem;color:#aaa;font-size:1.05rem;text-align:right}
.footer__grid{display:grid;grid-template-columns:repeat(3,1fr);padding:2rem 0;border-top:1px solid var(--line-dark)}.footer__col{display:flex;flex-direction:column;gap:.55rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.footer__col:nth-child(2){justify-self:center}.footer__col:nth-child(3){justify-self:end;text-align:right}.footer__label{margin-bottom:.5rem;color:#777}.footer__bottom{display:grid;grid-template-columns:1fr 1fr;padding-top:1rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid var(--line-dark)}.footer__bottom span:last-child{text-align:right}
.reveal{opacity:0;transform:translateY(2rem);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in{opacity:1;transform:none}

@media(max-width:900px){
  .nav{grid-template-columns:1fr auto}.nav__links,.btn--nav{display:none}.nav__burger{display:block;justify-self:end}
  .blog-head{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;min-height:calc(86svh - var(--header))}.blog-head__title{align-self:end}.blog-head__sub{max-width:36rem}
  .post--feature{grid-template-columns:minmax(0,1fr)}.post--feature .post__media{width:100%;aspect-ratio:4/3}.post--feature .post__body{min-height:34rem}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-grid article:last-child{grid-column:1/-1}
  .article__head{grid-template-columns:1fr 1fr}.article__cat{justify-self:end}.article__title{grid-column:1/-1}.article__sub{grid-column:1/-1}.article__meta{grid-column:1/-1;align-items:flex-start;text-align:left}
  .article__figure{margin-right:0;margin-left:0}
}
@media(max-width:560px){
  :root{--side:1rem;--header:4.5rem}.nav__logo{font-size:1.45rem}
  .blog-head{min-height:calc(78svh - var(--header));padding-top:1rem}.blog-head__title{max-width:none;font-size:12.5vw}.blog-head__sub{font-size:1.15rem}
  .post-list{padding-top:5rem;padding-bottom:5rem}.post--feature{min-height:0}.post--feature .post__body{min-height:30rem}.post--feature .post__title{font-size:2.45rem}.post-grid{grid-template-columns:minmax(0,1fr)}.post-grid article:last-child{grid-column:auto}.post-grid .post__body{min-height:20rem}.post-grid .post__title{font-size:2rem}
  .article__head{grid-template-columns:1fr 1fr;min-height:auto;padding-top:1rem}.article__title{max-width:none;margin-top:4rem;font-size:11.6vw}.article__sub{margin-top:1rem}.article__meta{margin-top:1rem}.article__cover{padding-bottom:5rem}.article__cover img{aspect-ratio:4/3}.article__body{padding-top:5rem;padding-bottom:6rem}.article__body h2{font-size:12vw}.article__body blockquote{margin-right:0;margin-left:0;padding:1.5rem}.article__figure figcaption{line-height:1.4}.article__framework li{grid-template-columns:2.5rem 1fr}
  .blog-cta{padding-bottom:5rem}.blog-cta__inner{padding:2rem 1.25rem}.blog-cta__title{font-size:13vw}.blog-cta .btn{width:100%}
  .footer__top{grid-template-columns:1fr}.footer__claim{justify-self:start;margin-top:2rem;text-align:left}.footer__grid{grid-template-columns:1fr 1fr;gap:2.5rem}.footer__col:nth-child(2),.footer__col:nth-child(3){justify-self:start;text-align:left}.footer__col:nth-child(3){grid-column:1/-1}.footer__bottom{grid-template-columns:1fr;gap:.4rem}.footer__bottom span:last-child{text-align:left}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.post__img,.nav,.btn{transition:none}}
