@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500;1,9..144,600&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
  --paper:#1B242C;
  --paper-alt:#212B34;
  --ink:#F4F6F8;
  --ink-dim:#8A97A3;
  --ink-mid:#A8B0B8;
  --ink-soft:#C9CFD5;
  --line:#333F49;
  --accent:#C1503F;
  --accent-text:#E0705C;
  --price:#A63D2F;
  --card:#F0EAE0;
  --card-ink:#2A2420;
  --card-ink-dim:#6B6357;
  --card-edge:1px solid rgba(240,234,224,.08);
  --shadow-card:0 1px 2px rgba(0,0,0,.22),0 12px 32px rgba(0,0,0,.38);
  --radius:8px;
  --heading:'Fraunces',serif;
  --body:'Space Grotesk',sans-serif;
  --mono:'JetBrains Mono',monospace;
  --fs-h1:clamp(40px,6vw,64px);
  --fs-h2:clamp(28px,4vw,40px);
  --fs-h3:20px;
  --fs-eyebrow:13px;
  --fs-lead:17px;
  --fs-body:16px;
  --fs-caption:13.5px;
  --fs-btn:15.5px;
  --fs-price:30px;
  --fs-bullet:15px;
  --fs-faq-q:16px;
  --fs-faq-a:15.5px;
  --fs-footer-tag:14px;
  --fs-footer-legal:13.5px;
  --ls-eyebrow:.12em;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:88px;}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:var(--fs-lead);line-height:1.65;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
body > *{position:relative;z-index:1;}
::selection{background:var(--ink);color:var(--paper);}
a{color:inherit;}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;}
h1,h2{font-family:var(--heading);font-weight:600;letter-spacing:-0.02em;color:var(--ink);}
h3{font-family:var(--body);font-weight:600;letter-spacing:-0.01em;color:var(--ink);font-size:var(--fs-h3);}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px;min-width:0;}
@media (max-width:640px){.wrap{padding:0 20px;}}

main{min-width:0;max-width:100%;}

.eyebrow,.case .ind,.case-invite .ind,.primer-card .ind,.case .fact .lbl{font-family:var(--body);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;}
.eyebrow{color:var(--accent);display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.eyebrow::before{content:'';width:18px;height:1px;background:var(--line);}
.sec-title{font-size:var(--fs-h2);margin-bottom:12px;line-height:1.2;}
.sec-lead{color:var(--ink-dim);font-size:var(--fs-lead);line-height:1.65;max-width:620px;margin-bottom:38px;overflow-wrap:break-word;}

header{position:sticky;top:0;z-index:50;background:rgba(27,36,44,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
.logo{display:flex;align-items:center;gap:11px;font-family:var(--body);font-weight:700;font-size:17px;text-decoration:none;color:var(--ink);}
.mark{width:15px;height:15px;border:2px solid var(--ink);transform:rotate(45deg);flex-shrink:0;}
.logo .dim{color:var(--ink-dim);font-weight:500;}
.nav-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);cursor:pointer;}
.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{display:block;width:18px;height:2px;background:currentColor;position:relative;}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:'';position:absolute;left:0;}
.nav-toggle-bars::before{top:-6px;}
.nav-toggle-bars::after{top:6px;}
.nav-links{display:flex;gap:26px;font-family:var(--body);font-size:14px;font-weight:500;}
.nav-links a{text-decoration:none;color:var(--ink-dim);transition:color .15s;text-transform:uppercase;letter-spacing:.03em;}
.nav-links a:hover{color:var(--ink);}
.nav-links .nav-current{color:var(--ink);text-transform:uppercase;letter-spacing:.03em;font-size:14px;font-weight:500;}
@media (max-width:1100px){.nav-links{gap:16px;}}
@media (max-width:820px){
  nav{flex-wrap:wrap;gap:0;}
  .nav-toggle{display:flex;}
  .nav-actions .btn-primary{display:none;}
  .nav-links{display:none;flex-direction:column;gap:0;width:100%;order:3;padding:8px 0 12px;border-top:1px solid var(--line);background:var(--paper);}
  .nav-links.is-open{display:flex;}
  .nav-links a,.nav-links .nav-current{padding:12px 0;min-height:44px;display:flex;align-items:center;}
}
.btn{font-family:var(--body);font-size:var(--fs-btn);font-weight:600;border-radius:var(--radius);text-decoration:none;display:inline-block;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;padding:13px 22px;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:#A84436;color:#fff;}
.btn-ghost{border-color:var(--line);color:var(--ink);background:transparent;}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink);}

.case .ind,.case-invite .ind,.primer-card .ind{color:var(--card-ink-dim);}
.case .fact .lbl,.primer-card .fact .lbl{margin-right:8px;}
.case h3,.case-invite h3,.primer-card-body h3{line-height:1.3;color:var(--card-ink);}
.case-invite h3{margin-bottom:9px;}
.case .facts,.primer-card .facts{display:flex;flex-direction:column;gap:10px;flex-grow:1;}
.case .fact,.case-invite p,.primer-card .fact,.primer-card-body > p{font-size:var(--fs-body);line-height:1.55;}
.case .fact,.primer-card .fact{color:var(--card-ink-dim);line-height:1.45;}
.case .fact:first-child .lbl,.primer-card .fact:first-child .lbl{color:#B23A2E;}
.case .fact:last-child .lbl,.primer-card .fact:last-child .lbl{color:#2F6B4F;}
.case .outcome,.case-invite .outcome,.primer-card .outcome{font-weight:500;padding-top:14px;}
.case .outcome,.primer-card .outcome{color:var(--card-ink);}
.case-invite{background:color-mix(in srgb,var(--accent) 5%,var(--card));border:var(--card-edge);border-left:3px solid var(--accent);border-radius:14px;padding:32px;box-shadow:var(--shadow-card);margin-top:32px;color:var(--card-ink);}
.case-invite .ind{display:block;margin-bottom:12px;}
.case-invite p{color:var(--card-ink-dim);}
.case-invite .outcome{padding-top:14px;}
.case-invite .outcome a{color:var(--card-ink);text-decoration:none;font-weight:600;}
.case-invite .outcome a:hover{text-decoration:underline;}

.primeri-hero{padding-top:88px;padding-bottom:56px;width:100%;max-width:100%;}
.primeri-hero h1{font-size:var(--fs-h2);line-height:1.2;margin-bottom:12px;overflow-wrap:break-word;}
.primeri-hero .sec-lead{max-width:100%;margin-bottom:0;}

section{padding:0 0 76px;border-top:1px solid var(--line);}
@media (max-width:820px){
  .primeri-hero{padding-top:56px;padding-bottom:40px;}
  section{padding-bottom:52px;}
}
@media (max-width:520px){
  .primeri-hero > .eyebrow{font-size:11.5px;letter-spacing:.08em;line-height:1.45;max-width:100%;}
}

.primeri-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;min-width:0;}
@media (max-width:900px){.primeri-grid{grid-template-columns:minmax(0,1fr);gap:24px;}}

.primer-card{background:var(--card);color:var(--card-ink);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden;min-width:0;max-width:100%;}
.primer-card img{width:100%;max-width:100%;height:auto;display:block;aspect-ratio:1400/667;object-fit:cover;}
.primer-card-body{padding:24px;min-width:0;overflow-wrap:break-word;word-wrap:break-word;}
.primer-card-body .ind{display:block;margin-bottom:10px;overflow-wrap:break-word;}
.primer-card-body .primer-tag{margin-bottom:12px;max-width:100%;}
.primer-card-body h3{margin-bottom:8px;overflow-wrap:break-word;}
.primer-card .facts{min-width:0;}
.primer-card .fact,.primer-card .outcome{overflow-wrap:break-word;word-wrap:break-word;}
.primer-card-body > p{color:var(--card-ink-dim);margin-bottom:12px;}
.primer-card .case-toggle{display:none;}
@media (max-width:820px){
  .primer-card .case-toggle{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:2px;
    margin-bottom:0;
    padding:10px 0;
    min-height:44px;
    border:none;
    background:none;
    font-family:var(--body);
    font-size:var(--fs-caption);
    font-weight:500;
    color:var(--card-ink-dim);
    cursor:pointer;
    transition:color .15s;
  }
  .primer-card .case-toggle:hover{color:var(--card-ink);}
  .primer-card .case-toggle-icon{
    display:inline-block;
    font-size:17px;
    line-height:1;
    transition:transform .25s ease;
  }
  .primer-card.is-expanded .case-toggle-icon{transform:rotate(90deg);}
  .primer-card .case-details{
    display:grid;
    grid-template-rows:0fr;
    opacity:0;
    transition:grid-template-rows .28s ease,opacity .22s ease;
  }
  .primer-card.is-expanded .case-details{
    grid-template-rows:1fr;
    opacity:1;
  }
  .primer-card .case-details-inner{overflow:hidden;min-height:0;}
}
@media (min-width:821px){
  .primer-card .case-details{display:block;opacity:1;}
  .primer-card .case-details-inner{overflow:visible;}
}

.primer-card-visit{
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.primer-card-visit .btn{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:11px 18px;
  font-size:var(--fs-btn);
  font-weight:600;
  color:var(--accent-text);
  border-color:color-mix(in srgb,var(--accent) 35%,var(--line));
  background:transparent;
}
.primer-card-visit .btn:hover{
  border-color:var(--accent);
  color:var(--accent-text);
  background:color-mix(in srgb,var(--accent) 6%,var(--card));
}
.primer-card.no-image .primer-card-body{padding:32px 24px;border-top:1px dashed var(--line);}
@media (max-width:640px){
  .primer-card-body{padding:20px;}
  .primer-card.no-image .primer-card-body{padding:28px 20px;}
}
@media (max-width:480px){
  .primer-card-body{padding:18px;}
  .primer-card.no-image .primer-card-body{padding:24px 18px;}
  .primer-card-body h3{font-size:18px;}
}

.primer-tag{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--line);color:var(--ink-soft);font-size:12px;text-transform:uppercase;letter-spacing:0.04em;}
@media (max-width:480px){
  .primer-tag{font-size:11px;padding:3px 8px;letter-spacing:0.03em;}
}

footer{padding:48px 0 40px;border-top:1px solid var(--line);background:var(--paper);font-family:var(--body);font-size:var(--fs-footer-legal);color:var(--ink-soft);}
.footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 48px;align-items:start;margin-bottom:28px;}
.footer-brand{max-width:560px;}
.footer-name{margin-bottom:8px;font-size:var(--fs-footer-tag);line-height:1.3;}
.footer-name b,.footer-legal-name b{color:var(--ink);font-weight:600;}
.footer-tagline{margin:0;font-size:var(--fs-footer-tag);line-height:1.65;color:var(--ink-soft);}
.footer-aside{display:flex;flex-direction:column;gap:10px;align-items:flex-end;text-align:right;white-space:nowrap;}
.footer-region{font-size:var(--fs-footer-legal);color:var(--ink-soft);}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0;font-size:var(--fs-footer-legal);}
.footer-links a{color:var(--ink-dim);text-decoration:none;transition:color .15s;}
.footer-links a:hover{color:var(--accent);}
.footer-links a + a::before{content:'·';margin:0 10px;color:var(--ink-dim);opacity:.55;pointer-events:none;}
.footer-legal{border-top:1px solid var(--line);padding-top:20px;display:grid;gap:3px;font-size:var(--fs-footer-legal);line-height:1.6;color:var(--ink-soft);}
@media (max-width:720px){
  footer{padding:40px 0 36px;}
  .footer-main{grid-template-columns:1fr;gap:28px;margin-bottom:24px;}
  .footer-aside{align-items:flex-start;text-align:left;white-space:normal;}
  .footer-links{justify-content:flex-start;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .nav-links a,.footer-links a,.btn,.primer-card .case-details,.primer-card .case-toggle-icon{transition:none;}
}
