/* SILVEN design system — shared base. Concepts override tokens in their own <style>. */
@font-face{font-family:"Epilogue";font-weight:300;font-style:normal;font-display:swap;src:url("../fonts/epilogue-latin-300-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Epilogue";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/epilogue-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Epilogue";font-weight:500;font-style:normal;font-display:swap;src:url("../fonts/epilogue-latin-500-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Epilogue";font-weight:300;font-style:normal;font-display:swap;src:url("../fonts/epilogue-latin-ext-300-normal.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Epilogue";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/epilogue-latin-ext-400-normal.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --paper:#EFECE6;      /* warm off-white ground (from the references) */
  --sand:#E4DFD6;       /* warm greige panel */
  --ink:#141414;
  --forest:#1E2B27;     /* deep block colour */
  --forest-2:#243A33;   /* brand green, buttons */
  --stone:#8A7D6E;      /* muted taupe, secondary text */
  --line:rgba(20,20,20,.14);
  --line-light:rgba(255,255,255,.18);
  --white:#FFFFFF;
  --gutter:clamp(20px,4.5vw,72px);
  --section:clamp(72px,9vw,144px);
  --max:1440px;
  --font:"Epilogue","Helvetica Neue",Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:400;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
input,select,textarea{font:inherit;color:inherit}

/* type */
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.display-xl{font-weight:300;font-size:clamp(46px,7vw,104px);line-height:1;letter-spacing:-.025em}
.display{font-weight:300;font-size:clamp(40px,5.6vw,84px);line-height:1.02;letter-spacing:-.022em}
.h2{font-weight:300;font-size:clamp(32px,4vw,58px);line-height:1.06;letter-spacing:-.02em}
.h3{font-weight:400;font-size:clamp(22px,2.1vw,30px);line-height:1.2;letter-spacing:-.01em}
.lead{font-size:clamp(18px,1.5vw,22px);line-height:1.5}
.small{font-size:14px;line-height:1.55}
.caption{font-size:13px;line-height:1.5;color:var(--stone)}
.spec{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.muted{color:var(--stone)}
.on-dark{color:var(--white)}
.on-dark .muted{color:rgba(255,255,255,.62)}
.on-dark .caption{color:rgba(255,255,255,.62)}

/* layout */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.section{padding-top:var(--section);padding-bottom:var(--section)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:32px}
.rule{height:1px;background:var(--line)}
.on-dark .rule{background:var(--line-light)}
.row{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center}
.between{justify-content:space-between}

/* nav */
.nav{position:relative;z-index:10;height:76px;display:flex;align-items:center}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav .logo img{height:20px;width:auto}
.nav-links{display:flex;gap:clamp(20px,2.6vw,40px);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.nav-links a{position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .25s ease}
.nav-links a:hover::after{right:0}
.nav-cta{display:flex;align-items:center;gap:12px}
.menu-btn{display:none;font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:12px 0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 28px;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;background:var(--forest-2);color:var(--white);border:1px solid var(--forest-2);transition:background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap}
.btn:hover{background:var(--ink);border-color:var(--ink)}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:var(--white)}
.btn-light{background:var(--white);color:var(--ink);border-color:var(--white)}
.btn-light:hover{background:var(--paper);border-color:var(--paper)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.7)}
.btn-ghost:hover{background:var(--white);color:var(--ink);border-color:var(--white)}
.btn-sm{min-height:44px;padding:0 20px;font-size:12px}
.arrow{width:16px;height:16px;flex:none}
.link{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}

/* images */
.ph{position:relative;overflow:hidden;background:var(--sand)}
.ph img{width:100%;height:100%;object-fit:cover}
.ph-43{aspect-ratio:4/3}.ph-45{aspect-ratio:4/5}.ph-32{aspect-ratio:3/2}.ph-169{aspect-ratio:16/9}.ph-219{aspect-ratio:21/9}.ph-11{aspect-ratio:1/1}.ph-23{aspect-ratio:2/3}
.shade::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,12,11,.55) 0%,rgba(10,12,11,0) 55%);pointer-events:none}

/* lists */
.steps{display:grid;gap:0}
.steps li{display:grid;grid-template-columns:40px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line);font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.on-dark .steps li{border-top-color:var(--line-light)}
.steps li span:first-child{color:var(--stone)}
.on-dark .steps li span:first-child{color:rgba(255,255,255,.5)}

/* footer */
.footer{background:var(--ink);color:rgba(255,255,255,.78);padding:72px 0 40px}
.footer .cols{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:40px}
.footer h4{color:#fff;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.footer li{font-size:14px;line-height:2}
.footer .logo img{height:22px;width:auto}
.footer .bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;font-size:12px;color:rgba(255,255,255,.5);letter-spacing:.04em}

/* responsive */
@media (max-width:980px){
  .nav-links{display:none}
  .menu-btn{display:inline-block}
  .nav .btn{display:none}
  .footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  body{font-size:16px}
  .footer .cols{grid-template-columns:1fr}
  .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

