/* Grove at Dusk / DajorGroup */

@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-garamond-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-garamond-400-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-garamond-500-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-garamond-500-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-600-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-600-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-600-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-600-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/hanken-grotesk-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/hanken-grotesk-400-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/hanken-grotesk-500-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/hanken-grotesk-500-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/hanken-grotesk-600-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/hanken-grotesk-600-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --bg:#0F1512;
  --surface:#161E1A;
  --ink:#E9E5DB;
  --muted:#97A399;
  --accent:#C89B4A;
  --line:#2A342E;
  --silhouette:#1A2620;
  --font-display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --font-body:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;
  --sp-sm:12px;
  --sp-md:24px;
  --sp-lg:56px;
  --sp-xl:120px;
  --radius:0px;
  --container:1180px;
  --gutter:32px;
}

:where(*,*::before,*::after){box-sizing:border-box}
:where(body,h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd){margin:0;padding:0}
:where(ul,ol){list-style:none}
:where(img,svg){display:block;max-width:100%}
:where(a){color:inherit;text-decoration:none}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-weight:400;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

::selection{background:var(--accent);color:var(--bg)}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--bg);padding:12px 20px;z-index:100;font-weight:500}
.skip:focus{left:0}

.wrap{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}

.u-display{font-family:var(--font-display);font-weight:600;line-height:1.05;letter-spacing:-0.005em}
.u-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;font-weight:500;color:var(--muted)}
.u-lead{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6;color:var(--muted);max-width:46ch}
.u-muted{color:var(--muted)}

/* ---------- header ---------- */
.site-header{padding:28px 0;position:relative;z-index:5}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.brand__mark{width:26px;height:34px;color:var(--ink);flex-shrink:0}
.brand__name{font-family:var(--font-display);font-weight:600;font-size:1.28rem;letter-spacing:.09em;text-transform:uppercase;line-height:1;white-space:nowrap}
.nav{display:flex;align-items:center;gap:34px}
.nav a{font-size:.9rem;color:var(--muted);transition:color .25s ease;white-space:nowrap}
.nav a:hover{color:var(--ink)}
.nav a.is-accent{color:var(--accent)}
.nav a.is-accent:hover{color:var(--ink)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:var(--radius);font-size:.92rem;font-weight:500;letter-spacing:.01em;border:1px solid transparent;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .12s ease;white-space:nowrap}
.btn--primary{background:var(--accent);color:var(--bg)}
.btn--primary:hover{background:var(--ink)}
.btn--ghost{border-color:var(--line);color:var(--ink)}
.btn--ghost:hover{border-color:var(--muted)}
.btn:active{transform:translateY(1px)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(86svh,860px);display:flex;align-items:center;padding:64px 0 96px;border-bottom:1px solid var(--line);overflow:hidden}
.hero__inner{position:relative;z-index:2;max-width:900px}
.hero__title{font-family:var(--font-display);font-weight:600;font-size:clamp(2.7rem,6.4vw,5.4rem);line-height:1.03;letter-spacing:-0.012em;max-width:11em;text-wrap:balance}
.hero__lead{margin-top:28px}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:44px}
.hero__mark{position:absolute;z-index:1;right:-16%;top:50%;transform:translateY(-50%);width:min(820px,66vw);height:auto;color:var(--silhouette);pointer-events:none}

/* ---------- section frame ---------- */
.section{padding:var(--sp-xl) 0}
.section__title{font-family:var(--font-display);font-weight:600;font-size:clamp(2.1rem,4.2vw,3.4rem);line-height:1.07;letter-spacing:-0.01em}

/* ---------- ventures ---------- */
.ventures__grid{display:grid;grid-template-columns:0.85fr 1.55fr;gap:80px;align-items:start}
.ventures__aside{position:sticky;top:64px}
.ventures__aside p{margin-top:20px;color:var(--muted);max-width:26ch}
.venture{display:grid;grid-template-columns:78px 1fr auto;gap:28px;align-items:start;padding:38px 0;border-top:1px solid var(--line)}
.venture:last-child{border-bottom:1px solid var(--line)}
.venture__glyph{width:54px;height:64px;color:var(--muted);transition:color .3s ease}
.venture__name{font-family:var(--font-display);font-weight:600;font-size:clamp(1.75rem,2.7vw,2.5rem);line-height:1.08;letter-spacing:-0.008em}
.venture__desc{margin-top:10px;color:var(--muted);max-width:42ch;font-size:.98rem}
.venture__link{align-self:start;margin-top:11px;font-size:.82rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);white-space:nowrap;transition:color .25s ease}
.venture__link span{display:inline-block;transition:transform .3s ease}
a.venture:hover .venture__glyph{color:var(--accent)}
a.venture:hover .venture__link span{transform:translateX(5px)}
.venture--seed{opacity:.72}
.venture--seed .venture__name{color:var(--muted)}

/* ---------- approach ---------- */
.approach{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.approach__statement{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4.4vw,3.7rem);line-height:1.09;letter-spacing:-0.01em;max-width:15em;text-wrap:balance}
.approach__statement em{font-style:italic;color:var(--accent);line-height:1.15}
.approach__cols{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:88px;margin-left:auto;max-width:860px}
.approach__cols h3{font-family:var(--font-display);font-weight:600;font-size:1.5rem;line-height:1.2;margin-bottom:14px}
.approach__cols p{color:var(--muted);font-size:1rem}

/* ---------- contact ---------- */
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}
.contact__title{font-family:var(--font-display);font-weight:600;font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1.04;letter-spacing:-0.012em}
.contact__body p{color:var(--muted);max-width:44ch}
.contact__mail{display:inline-block;margin-top:32px;font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.2;color:var(--ink);border-bottom:1px solid var(--accent);padding-bottom:6px;transition:color .25s ease,border-color .25s ease}
.contact__mail:hover{color:var(--accent)}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line);padding:52px 0}
.site-footer .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.site-footer p{font-size:.86rem;color:var(--muted)}
.footer__right{text-align:right}
.footer__right a{color:var(--muted);border-bottom:1px solid var(--line);transition:color .25s ease,border-color .25s ease}
.footer__right a:hover{color:var(--accent);border-color:var(--accent)}

/* ---------- generic page / fallback ---------- */
.page-body{padding:88px 0 var(--sp-xl);max-width:70ch}
.page-body h1{font-family:var(--font-display);font-weight:600;font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.07;margin-bottom:32px}
.page-body h2,.page-body h3{font-family:var(--font-display);font-weight:600;line-height:1.2;margin:40px 0 14px}
.page-body h2{font-size:1.9rem}
.page-body h3{font-size:1.4rem}
.page-body p,.page-body li{color:var(--muted);margin-bottom:18px}
.page-body ul{list-style:disc;padding-left:22px}
.page-body a{color:var(--ink);border-bottom:1px solid var(--accent)}

/* ---------- reveal (motion 0.3) ---------- */
.js .reveal{opacity:0;transform:translateY(14px)}
.js .reveal.is-in{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none}
  .js .reveal.is-in{transition:none}
}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .ventures__grid{grid-template-columns:1fr;gap:44px}
  .ventures__aside{position:static}
  .ventures__aside p{max-width:46ch}
  .approach__cols{grid-template-columns:1fr;gap:40px;margin-top:56px;max-width:none}
  .contact__grid{grid-template-columns:1fr;gap:36px;align-items:start}
  .hero__mark{right:-22%;width:min(560px,78vw);opacity:.8}
}
@media (max-width:720px){
  :root{--gutter:20px;--sp-xl:80px}
  body{font-size:16px}
  .site-header{padding:20px 0}
  .site-header .wrap{flex-wrap:wrap;gap:16px}
  .nav{gap:22px;width:100%;justify-content:flex-start}
  .hero{min-height:0;padding:40px 0 72px}
  .hero__title{max-width:none}
  .hero__mark{right:-30%;top:auto;bottom:-8%;transform:none;width:74vw;opacity:.55}
  .hero__actions{margin-top:34px}
  .btn{flex:1 1 auto}
  .venture{grid-template-columns:48px 1fr;gap:20px;padding:30px 0}
  .venture__glyph{width:40px;height:48px}
  .venture__link{grid-column:2;align-self:start;margin-top:14px}
  .site-footer .wrap{flex-direction:column;align-items:flex-start;gap:20px}
  .footer__right{text-align:left}
}