:root{
  --bg:#F1ECDF;          /* cream */
  --bg-1:#FBF8F0;        /* off-white card */
  --bg-2:#E7DFCC;        /* deeper cream */
  --bg-dark:#1B2138;     /* deep indigo for dark sections */
  --line:rgba(27,33,56,.1);
  --line-2:rgba(27,33,56,.2);
  --ink:#0E0D0B;
  --ink-2:rgba(14,13,11,.7);
  --ink-3:rgba(14,13,11,.5);
  --indigo:#1B2D5C;       /* primary accent */
  --indigo-deep:#0F1B3D;
  --bordeaux:#7E1F2E;     /* secondary accent */
  --bordeaux-2:#A33246;
  --gold:#B58F32;
  --moss:#3D5A3D;
  --paper-shadow:0 18px 56px rgba(27,33,56,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg);overflow-x:hidden}
body{
  font-family:"Inter","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.65;
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"ss01";
  overflow-x:hidden;max-width:100vw;
  word-break:keep-all;overflow-wrap:break-word;line-break:strict;
}
body.nav-open{overflow:hidden}
img,video,iframe,svg{max-width:100%;height:auto;display:block}
input,select,textarea,button{max-width:100%;font-family:inherit}
.serif{font-family:"Fraunces","Noto Serif JP",serif;font-variation-settings:"opsz" 144;letter-spacing:-.02em}
.serif-it{font-family:"Fraunces","Noto Serif JP",serif;font-style:italic;letter-spacing:-.02em}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace;letter-spacing:0;text-transform:uppercase}
a{color:inherit;text-decoration:none}
.container{max-width:1280px;margin:0 auto;padding:0 32px}
@media(max-width:560px){.container{padding:0 18px}}

/* Subtle paper texture overlay */
.paper-noise{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.06;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/></svg>")}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;
  background:rgba(241,236,223,.85);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-bottom:1px solid var(--line);z-index:90}
.site-header .inner{max-width:1320px;margin:0 auto;padding:14px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  white-space:nowrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;
  letter-spacing:-.02em;flex-shrink:0;white-space:nowrap}
.brand-mark{width:30px;height:30px;border-radius:50%;
  background:var(--indigo);position:relative;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:"Fraunces",serif;color:var(--bg);font-style:italic;font-weight:700;font-size:18px}
.brand-mark::after{content:"P"}
.brand-name{font-family:"Fraunces",serif;font-weight:700;font-size:24px;
  letter-spacing:-.025em;color:var(--ink)}
.global-nav{flex:1;min-width:0}
.global-nav ul{display:flex;gap:36px;list-style:none;justify-content:center;
  font-family:"Fraunces",serif;font-size:15px;font-weight:500;color:var(--ink-2);
  white-space:nowrap;flex-wrap:nowrap}
.global-nav li{white-space:nowrap;flex-shrink:0}
.global-nav a{white-space:nowrap;display:inline-block;padding:6px 0;
  position:relative;transition:.2s;letter-spacing:-.005em}
.global-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background:var(--bordeaux);transform:scaleX(0);transform-origin:left;
  transition:transform .3s ease}
.global-nav a:hover,.global-nav a.active{color:var(--bordeaux)}
.global-nav a:hover::after,.global-nav a.active::after{transform:scaleX(1)}
.header-cta{display:flex;gap:10px;align-items:center;flex-shrink:0;white-space:nowrap}
.btn-mini{padding:9px 18px;font-size:13px;font-weight:600;border-radius:0;
  border:1px solid var(--ink);color:var(--ink);transition:.2s;white-space:nowrap;
  font-family:"Inter",sans-serif;letter-spacing:-.005em}
.btn-mini:hover{background:var(--ink);color:var(--bg)}
.btn-mini.solid{background:var(--ink);color:var(--bg)}
.btn-mini.solid:hover{background:var(--bordeaux);border-color:var(--bordeaux)}
.nav-toggle{display:none;background:none;border:none;font-size:28px;cursor:pointer;
  color:var(--ink);line-height:1;padding:6px 10px;flex-shrink:0;z-index:201}
@media(max-width:1080px){.global-nav{display:none}.nav-toggle{display:block}}
@media(max-width:560px){.header-cta .btn-mini:not(.solid){display:none}}
.global-nav.is-open{display:block !important;
  position:fixed;inset:0;background:var(--bg);z-index:200;
  padding:96px 32px 32px;overflow-y:auto}
.global-nav.is-open ul{flex-direction:column;gap:0;align-items:stretch;
  font-size:32px;font-family:"Fraunces",serif;font-weight:600}
.global-nav.is-open li{width:100%;border-bottom:1px solid var(--line)}
.global-nav.is-open a{display:block;padding:24px 4px}

/* Page hero (sub pages) */
.page-hero{position:relative;padding:160px 32px 96px;overflow:hidden;
  background:var(--bg);border-bottom:1px solid var(--line)}
.page-hero::before{content:"";position:absolute;top:0;right:0;
  width:50%;height:100%;
  background:linear-gradient(135deg,transparent 0%,rgba(126,31,46,.04) 100%);
  pointer-events:none}
.page-hero .breadcrumb{font-family:"JetBrains Mono",monospace;font-size:11.5px;
  color:var(--ink-3);margin-bottom:36px;
  display:flex;gap:14px;align-items:center;flex-wrap:wrap;letter-spacing:.06em;
  text-transform:uppercase}
.page-hero .breadcrumb a{transition:.15s}
.page-hero .breadcrumb a:hover{color:var(--bordeaux)}
.page-hero .breadcrumb .sep{opacity:.4}
.page-hero h1{font-family:"Fraunces","Noto Serif JP",serif;
  font-variation-settings:"opsz" 144,"wght" 600;font-weight:600;
  font-size:clamp(44px,7vw,108px);line-height:.96;letter-spacing:-.04em;
  margin-bottom:32px;max-width:18ch;color:var(--ink);
  word-break:keep-all;overflow-wrap:break-word;line-break:strict}
.page-hero h1 .it{font-style:italic;font-weight:500;color:var(--bordeaux)}
.page-hero h1 .indigo{color:var(--indigo)}
.page-hero h1 .underline-deco{
  position:relative;display:inline-block;
}
.page-hero h1 .underline-deco::after{
  content:"";position:absolute;left:0;right:0;bottom:.05em;height:.18em;
  background:var(--gold);z-index:-1;opacity:.4;
}
.page-hero .lead{font-size:18px;line-height:1.75;color:var(--ink-2);max-width:60ch;
  font-family:"Fraunces",serif;font-weight:400;font-variation-settings:"opsz" 14;
  letter-spacing:-.005em}

/* Sections */
.section{padding:120px 32px;position:relative}
.section.bg-1{background:var(--bg-1);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section.bg-dark{background:var(--bg-dark);color:var(--bg);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.section.bg-dark .head h2{color:var(--bg)}
.section.bg-dark .head .desc{color:rgba(255,255,255,.7)}
.section.bg-dark .head .eyebrow{color:var(--gold)}
.section .head{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;
  margin-bottom:80px;align-items:end}
@media(max-width:880px){.section .head{grid-template-columns:1fr;gap:24px;margin-bottom:48px}}
.section .head .eyebrow{font-family:"JetBrains Mono",monospace;font-size:11px;
  color:var(--bordeaux);letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:18px;font-weight:600}
.section .head h2{font-family:"Fraunces",serif;font-weight:600;
  font-size:clamp(40px,5.5vw,80px);line-height:1;letter-spacing:-.04em;max-width:14ch;color:var(--ink)}
.section .head h2 .it{font-style:italic;font-weight:500;color:var(--bordeaux)}
.section .head h2 .indigo{color:var(--indigo)}
.section .head .desc{font-size:17px;line-height:1.75;color:var(--ink-2);max-width:54ch;
  font-family:"Fraunces",serif;font-weight:400;font-variation-settings:"opsz" 14}

/* Content prose */
.content-prose{max-width:780px;margin:0 auto;padding:0 8px}
.content-prose h2{font-family:"Fraunces",serif;font-weight:600;font-size:36px;
  letter-spacing:-.025em;margin:72px 0 24px;padding-bottom:20px;
  border-bottom:1px solid var(--line);position:relative;color:var(--ink)}
.content-prose h2::before{content:"";position:absolute;left:0;bottom:-1px;
  width:48px;height:2px;background:var(--bordeaux)}
.content-prose h2:first-child{margin-top:0}
.content-prose h3{font-family:"Fraunces",serif;font-weight:600;font-size:22px;
  letter-spacing:-.01em;margin:36px 0 14px;color:var(--ink)}
.content-prose p{font-size:16px;color:var(--ink-2);line-height:1.85;margin-bottom:18px;
  font-family:"Fraunces",serif;font-weight:400;font-variation-settings:"opsz" 14}
.content-prose ul,.content-prose ol{margin:0 0 24px 1.4em}
.content-prose li{font-size:15.5px;color:var(--ink-2);line-height:1.85;margin-bottom:6px;
  font-family:"Fraunces",serif;font-weight:400;font-variation-settings:"opsz" 14}
.content-prose strong{color:var(--ink);font-weight:700}
.content-prose blockquote{border-left:4px solid var(--bordeaux);padding:16px 28px;margin:32px 0;
  color:var(--ink-2);font-size:18px;background:var(--bg-1);
  font-family:"Fraunces",serif;font-style:italic;font-variation-settings:"opsz" 144}
.content-prose .note{background:var(--bg-1);
  border:1px solid var(--line);padding:24px 28px;margin:32px 0;font-size:14.5px;
  color:var(--ink-2);border-left:3px solid var(--gold)}
.content-prose a{color:var(--bordeaux);border-bottom:1px solid var(--bordeaux);transition:.15s}
.content-prose a:hover{color:var(--bordeaux-2)}
.content-prose table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14.5px;
  table-layout:fixed;word-break:keep-all;overflow-wrap:break-word;
  border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
.content-prose th,.content-prose td{padding:16px 18px;text-align:left;
  border-bottom:1px solid var(--line)}
.content-prose th{font-family:"Fraunces",serif;font-weight:600;
  background:transparent;color:var(--ink);letter-spacing:-.005em;width:36%}
.content-prose td{color:var(--ink-2)}

/* Feature page meta strip */
.meta-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);
  margin:48px 0}
.meta-strip .cell{padding:24px 28px;border-right:1px solid var(--line)}
.meta-strip .cell:last-child{border-right:none}
.meta-strip .cell .lbl{font-family:"JetBrains Mono",monospace;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;font-weight:600}
.meta-strip .cell .val{font-family:"Fraunces",serif;font-size:24px;font-weight:600;
  letter-spacing:-.02em;color:var(--ink)}
@media(max-width:680px){.meta-strip{grid-template-columns:1fr}
  .meta-strip .cell{border-right:none;border-bottom:1px solid var(--line)}
  .meta-strip .cell:last-child{border-bottom:none}}

/* Editorial bento with images */
.bento-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(320px,auto));gap:18px}
.bento-cell{background:var(--bg-1);border:1px solid var(--line);
  padding:36px;position:relative;overflow:hidden;transition:.3s;
  display:flex;flex-direction:column;justify-content:space-between;color:inherit;
  border-radius:0;}
.bento-cell:hover{transform:translateY(-4px);box-shadow:var(--paper-shadow)}
.bento-cell .num{font-family:"JetBrains Mono",monospace;font-size:11px;
  color:var(--bordeaux);letter-spacing:.18em;font-weight:600;text-transform:uppercase}
.bento-cell h3{font-family:"Fraunces",serif;font-weight:600;
  font-size:clamp(22px,2.2vw,30px);line-height:1.15;letter-spacing:-.02em;margin:18px 0;color:var(--ink)}
.bento-cell p{font-size:14.5px;color:var(--ink-2);line-height:1.7;max-width:42ch;
  font-family:"Fraunces",serif;font-variation-settings:"opsz" 14}
.bento-cell .arrow{margin-top:18px;font-family:"JetBrains Mono",monospace;
  font-size:11.5px;color:var(--bordeaux);letter-spacing:.1em;display:inline-flex;
  align-items:center;gap:8px;transition:.2s;text-transform:uppercase;font-weight:600}
.bento-cell:hover .arrow{gap:14px}
.bento-cell.c1{grid-column:span 4;color:var(--bg);
  background:linear-gradient(135deg,rgba(27,45,92,.92),rgba(15,27,61,.95)),url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d?w=2000&q=80&fm=webp&auto=format&fit=crop') center/cover}
.bento-cell.c1 h3,.bento-cell.c1 p{color:var(--bg)}
.bento-cell.c1 .num{color:var(--gold)}
.bento-cell.c1 .arrow{color:var(--gold)}
.bento-cell.c2{grid-column:span 2}
.bento-cell.c3{grid-column:span 2;background:var(--bg-2)}
.bento-cell.c4{grid-column:span 2}
.bento-cell.c5{grid-column:span 2;color:var(--bg);
  background:linear-gradient(135deg,rgba(126,31,46,.9),rgba(163,50,70,.92)),url('https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=1400&q=80&fm=webp&auto=format&fit=crop') center/cover}
.bento-cell.c5 h3,.bento-cell.c5 p{color:var(--bg)}
.bento-cell.c5 .num{color:var(--gold)}
.bento-cell.c5 .arrow{color:var(--gold)}
.bento-cell.c6{grid-column:span 4;background:var(--bg-1)}
@media(max-width:1024px){.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  .bento-cell.c1,.bento-cell.c2,.bento-cell.c3,.bento-cell.c4,.bento-cell.c5,.bento-cell.c6{grid-column:span 1}
  .bento-cell.c1,.bento-cell.c6{grid-column:span 2}}
@media(max-width:600px){.bento-grid{grid-template-columns:1fr}
  .bento-cell.c1,.bento-cell.c6{grid-column:span 1}}

/* Cases - editorial */
.cases-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
@media(max-width:1024px){.cases-grid{grid-template-columns:1fr}}
.case{background:var(--bg-1);border:1px solid var(--line);
  display:flex;flex-direction:column;transition:.3s;overflow:hidden}
.case:hover{transform:translateY(-4px);box-shadow:var(--paper-shadow)}
.case-img{aspect-ratio:16/10;background-size:cover;background-position:center;
  position:relative;overflow:hidden}
.case-img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.4));}
.case-1 .case-img{background-image:url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1400&q=80&fm=webp&auto=format&fit=crop')}
.case-2 .case-img{background-image:url('https://images.unsplash.com/photo-1531403009284-440f080d1e12?w=1400&q=80&fm=webp&auto=format&fit=crop')}
.case-3 .case-img{background-image:url('https://images.unsplash.com/photo-1559523182-a284c3fb7cff?w=1400&q=80&fm=webp&auto=format&fit=crop')}
.case-body{padding:32px;display:flex;flex-direction:column;flex:1}
.case .industry{font-family:"JetBrains Mono",monospace;font-size:11px;
  color:var(--bordeaux);letter-spacing:.18em;text-transform:uppercase;
  font-weight:600;margin-bottom:20px}
.case .result{font-family:"Fraunces",serif;font-style:italic;font-weight:600;
  font-size:clamp(40px,4.5vw,64px);line-height:1;letter-spacing:-.04em;margin-bottom:18px;
  color:var(--bordeaux)}
.case h3{font-family:"Fraunces",serif;font-weight:600;font-size:18px;margin-bottom:10px;letter-spacing:-.01em;color:var(--ink)}
.case .desc{font-family:"Fraunces",serif;font-variation-settings:"opsz" 14;
  font-size:14px;color:var(--ink-2);line-height:1.75;flex:1;margin-bottom:24px}
.case .meta{border-top:1px solid var(--line);padding-top:18px;
  font-family:"JetBrains Mono",monospace;font-size:10.5px;
  color:var(--ink-3);display:flex;gap:14px;flex-wrap:wrap;letter-spacing:.1em;text-transform:uppercase}

/* Pricing - editorial */
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:stretch;
  border:1px solid var(--ink)}
@media(max-width:880px){.pricing-grid{grid-template-columns:1fr;border:none}
  .plan{border:1px solid var(--ink) !important;margin-bottom:18px}}
.plan{background:var(--bg-1);
  padding:48px 36px 40px;display:flex;flex-direction:column;transition:.25s;position:relative;
  border-right:1px solid var(--line)}
.plan:last-child{border-right:none}
.plan:hover{background:var(--bg)}
.plan.highlighted{background:var(--bg-dark);color:var(--bg)}
.plan.highlighted h3,.plan.highlighted .price{color:var(--bg)}
.plan.highlighted .plan-desc,.plan.highlighted li{color:rgba(255,255,255,.75)}
.plan.highlighted .price-detail{color:rgba(255,255,255,.55);border-bottom-color:rgba(255,255,255,.15)}
.plan.highlighted::before{content:"POPULAR";position:absolute;top:14px;right:14px;
  background:var(--gold);color:var(--ink);
  font-family:"JetBrains Mono",monospace;
  font-size:10.5px;font-weight:700;padding:6px 12px;letter-spacing:.18em}
.plan h3{font-family:"Fraunces",serif;font-weight:600;font-size:32px;
  letter-spacing:-.02em;margin-bottom:10px;color:var(--ink)}
.plan .plan-desc{font-family:"Fraunces",serif;font-variation-settings:"opsz" 14;
  font-size:14.5px;color:var(--ink-2);margin-bottom:32px;min-height:3.5em;line-height:1.7}
.plan .price{font-family:"Fraunces",serif;font-weight:600;font-size:64px;
  line-height:1;letter-spacing:-.04em;margin-bottom:6px;color:var(--ink)}
.plan .price .sub{font-family:"Inter",sans-serif;font-weight:500;font-size:14px;
  color:var(--ink-3);margin-left:8px}
.plan .price-detail{font-family:"JetBrains Mono",monospace;font-size:11px;
  color:var(--ink-3);letter-spacing:.06em;margin-bottom:32px;
  padding-bottom:24px;border-bottom:1px solid var(--line);text-transform:uppercase}
.plan ul{list-style:none;flex:1;margin-bottom:32px}
.plan li{font-family:"Fraunces",serif;font-variation-settings:"opsz" 14;
  font-size:15px;padding:10px 0 10px 26px;position:relative;line-height:1.6}
.plan li::before{content:"→";position:absolute;left:0;top:10px;color:var(--bordeaux);font-weight:700}
.plan.highlighted li::before{color:var(--gold)}
.plan .plan-cta{display:block;text-align:center;padding:16px;
  border:1px solid var(--ink);font-family:"Inter",sans-serif;
  font-weight:600;font-size:14px;transition:.2s;color:var(--ink);background:transparent}
.plan .plan-cta:hover{background:var(--ink);color:var(--bg)}
.plan.highlighted .plan-cta{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700}
.plan.highlighted .plan-cta:hover{background:var(--bg);border-color:var(--bg);color:var(--ink)}

/* Workflow */
.flow-list{max-width:880px;margin:0 auto;position:relative}
.flow-list::before{content:"";position:absolute;left:42px;top:30px;bottom:30px;width:1px;
  background:var(--ink);opacity:.2}
.flow-step{display:grid;grid-template-columns:90px 1fr;gap:36px;
  padding:32px 0;align-items:start;position:relative;
  border-bottom:1px solid var(--line)}
.flow-step:last-child{border-bottom:none}
.flow-step .marker{width:84px;height:84px;border-radius:50%;
  background:var(--bg-1);border:1px solid var(--ink);
  display:flex;align-items:center;justify-content:center;
  font-family:"Fraunces",serif;font-style:italic;font-weight:600;
  font-size:32px;color:var(--bordeaux);position:relative;z-index:2}
.flow-step h3{font-family:"Fraunces",serif;font-weight:600;font-size:26px;
  line-height:1.2;letter-spacing:-.02em;margin-bottom:10px;color:var(--ink)}
.flow-step .when{font-family:"JetBrains Mono",monospace;font-size:11px;
  color:var(--bordeaux);letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:8px;font-weight:600}
.flow-step p{font-family:"Fraunces",serif;font-variation-settings:"opsz" 14;
  font-size:16px;color:var(--ink-2);line-height:1.75;max-width:60ch}
@media(max-width:680px){.flow-list::before{left:30px}
  .flow-step{grid-template-columns:60px 1fr;gap:18px}
  .flow-step .marker{width:60px;height:60px;font-size:22px}
  .flow-step h3{font-size:21px}}

/* Final CTA — image background */
.final-cta{position:relative;padding:200px 32px 160px;text-align:center;
  overflow:hidden;isolation:isolate;color:var(--bg)}
.final-cta::before{content:"";position:absolute;inset:0;z-index:-2;
  background:linear-gradient(180deg,rgba(15,27,61,.85),rgba(27,45,92,.92)),
             url('https://images.unsplash.com/photo-1480714378408-67cf0d13bc1b?w=1600&q=80&fm=webp&auto=format&fit=crop') center/cover fixed}
.final-cta h2{font-family:"Fraunces",serif;font-weight:600;
  font-size:clamp(48px,9vw,144px);line-height:.95;letter-spacing:-.05em;margin-bottom:32px;
  color:var(--bg)}
.final-cta h2 .it{font-style:italic;font-weight:500;color:var(--gold)}
.final-cta .lead{font-family:"Fraunces",serif;font-variation-settings:"opsz" 14;
  font-size:19px;color:rgba(255,255,255,.85);line-height:1.7;
  margin:0 auto 48px;max-width:54ch}
.final-cta .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.final-cta .micro{font-family:"JetBrains Mono",monospace;font-size:11px;
  color:rgba(255,255,255,.6);letter-spacing:.18em;margin-top:24px;text-transform:uppercase}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;gap:14px;
  padding:18px 32px;background:var(--gold);color:var(--ink);
  border-radius:0;font-family:"Inter",sans-serif;font-weight:700;font-size:15px;letter-spacing:-.005em;
  transition:.25s;border:none;position:relative;overflow:hidden;border:1px solid var(--gold)}
.btn-primary:hover{background:transparent;color:var(--gold)}
.btn-primary .arr{display:inline-block;transition:.25s}
.btn-primary:hover .arr{transform:translateX(4px)}
.btn-ghost{display:inline-flex;align-items:center;gap:12px;
  padding:18px 28px;border:1px solid currentColor;
  font-family:"Inter",sans-serif;font-weight:600;font-size:15px;
  background:transparent;transition:.2s;border-radius:0}
.btn-ghost:hover{background:rgba(255,255,255,.08)}

/* Footer */
.site-footer{background:var(--bg-dark);color:rgba(255,255,255,.65);
  padding:96px 32px 32px;font-size:13.5px}
.site-footer .inner{max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px}
.site-footer .brand-col .name{font-family:"Fraunces",serif;font-weight:600;
  font-size:32px;letter-spacing:-.025em;color:var(--bg);margin-bottom:18px}
.site-footer .brand-col p{line-height:1.85;max-width:36ch;color:rgba(255,255,255,.7);
  font-family:"Fraunces",serif;font-variation-settings:"opsz" 14}
.site-footer h4{font-family:"JetBrains Mono",monospace;font-size:10.5px;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:22px;font-weight:700}
.site-footer ul{list-style:none}
.site-footer li{padding:7px 0;font-family:"Fraunces",serif;font-variation-settings:"opsz" 14}
.site-footer a:hover{color:var(--bg)}
.copyright{text-align:center;margin-top:72px;padding-top:32px;
  border-top:1px solid rgba(255,255,255,.1);
  font-family:"JetBrains Mono",monospace;
  font-size:10.5px;color:rgba(255,255,255,.4);letter-spacing:.22em;text-transform:uppercase}
@media(max-width:880px){.site-footer .inner{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:560px){.site-footer .inner{grid-template-columns:1fr;gap:32px}}
