/* CreditSwan — static site styles */
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:400 600; font-display:swap; src:url("fonts/CormorantGaramond-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 600; font-display:swap; src:url("fonts/CormorantGaramond-latinext.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:400; font-display:swap; src:url("fonts/CormorantGaramond-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:400; font-display:swap; src:url("fonts/CormorantGaramond-Italic-latinext.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:'IBM Plex Mono'; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/IBMPlexMono-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:'IBM Plex Mono'; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/IBMPlexMono-latinext.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:'Manrope'; font-style:normal; font-weight:400 800; font-display:swap; src:url("fonts/Manrope-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:'Manrope'; font-style:normal; font-weight:400 800; font-display:swap; src:url("fonts/Manrope-latinext.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 {
  --ink:#16211F; --cream:#F4EFE6; --pine:#1C4A45; --gold:#A98543; --gold-l:#E9C583;
  --line:rgba(22,33,31,0.14); --line-25:rgba(22,33,31,0.25); --line-d:rgba(244,239,230,0.18);
  --pad-x:clamp(20px,5vw,72px);
  --mono:'IBM Plex Mono',ui-monospace,monospace; --serif:'Cormorant Garamond',Georgia,serif; --sans:'Manrope',system-ui,sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--cream); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--gold); }
::selection { background:var(--pine); color:var(--cream); }
img { max-width:100%; display:block; }
button { font:inherit; }
.wrap { max-width:1400px; margin:0 auto; }
.section { padding:clamp(64px,11vh,140px) var(--pad-x); }

/* Animations */
@keyframes rise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes tickerScroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes flowDash { to { stroke-dashoffset:-14; } }
.flow-line { stroke-dasharray:3 4; animation:flowDash 1.6s linear infinite; }
.reveal.armed { opacity:0; }
.reveal.armed.in { animation:rise 0.9s cubic-bezier(0.22,1,0.36,1) forwards; }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .flow-line, .ticker-track { animation:none !important; }
  .reveal.armed { opacity:1; }
  .reveal.armed.in { animation:none; }
}

/* Type helpers */
.eyebrow { display:flex; align-items:center; gap:16px; font-family:var(--mono); font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:28px; }
.eyebrow .rule { width:40px; height:1px; background:currentColor; flex:none; }
.h2 { font-family:var(--serif); font-weight:500; font-size:clamp(34px,5vw,68px); line-height:1; letter-spacing:-0.5px; text-wrap:balance; }
.lede { font-size:clamp(17px,1.5vw,21px); line-height:1.6; color:rgba(22,33,31,0.82); }

/* Header */
.site-head { position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between; gap:12px 20px; padding:16px var(--pad-x); background:rgba(244,239,230,0.88); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; }
.brand strong { font-family:var(--serif); font-size:24px; font-weight:600; letter-spacing:0.5px; }
.site-nav { display:flex; align-items:center; flex-wrap:wrap; gap:10px clamp(14px,2.2vw,38px); font-family:var(--mono); font-size:12px; letter-spacing:0.5px; text-transform:uppercase; }
.site-nav a { padding:6px 0; }
.nav-cta { border:1px solid var(--ink); padding:10px 18px; }
.nav-cta:hover { background:var(--ink); color:var(--cream); }
.nav-toggle { display:none; align-items:center; justify-content:center; width:44px; height:44px; background:none; border:1px solid var(--line-25); cursor:pointer; }
.nav-toggle svg { display:block; }
.nav-toggle .icon-close { display:none; }
.nav-toggle[aria-expanded="true"] .icon-menu { display:none; }
.nav-toggle[aria-expanded="true"] .icon-close { display:block; }
@media (max-width:840px) {
  .nav-toggle { display:flex; }
  .site-nav { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:var(--cream); border-bottom:1px solid var(--line-25); box-shadow:0 18px 30px rgba(22,33,31,0.12); }
  .site-nav.open { display:flex; }
  .site-nav a { padding:16px var(--pad-x); border-top:1px solid var(--line); }
  .site-nav .nav-cta { border:none; background:var(--ink); color:var(--cream); margin:12px var(--pad-x) 18px; padding:16px; text-align:center; }
  .site-nav .nav-cta:hover { background:var(--pine); }
}

/* Hero */
.hero { position:relative; border-bottom:1px solid var(--line); overflow:hidden; }
.hero-swan { position:absolute; right:-6%; top:50%; transform:translateY(-50%); width:min(60vw,760px); height:auto; opacity:0.05; pointer-events:none; }
.hero-inner { position:relative; max-width:1400px; margin:0 auto; padding:clamp(56px,10vh,128px) var(--pad-x) clamp(48px,7vh,88px); }
.kicker { font-family:var(--mono); font-size:13px; letter-spacing:2px; text-transform:uppercase; color:var(--pine); margin-bottom:28px; }
.hero h1 { font-family:var(--serif); font-weight:500; font-size:clamp(38px,5.6vw,84px); line-height:1.02; letter-spacing:-1px; max-width:22ch; text-wrap:balance; }
.hero h1 em { font-style:italic; color:var(--pine); }
.hero-row { display:flex; flex-wrap:wrap; gap:32px 40px; align-items:flex-end; margin-top:44px; }
.hero-row > p { font-size:clamp(16px,1.5vw,21px); line-height:1.5; max-width:40ch; color:rgba(22,33,31,0.78); }
.hero-form-wrap { flex:1 1 320px; max-width:520px; }

/* Email forms */
.email-form { display:flex; flex-wrap:wrap; align-items:stretch; border:1px solid var(--ink); }
.email-form input { flex:1; min-width:180px; border:none; background:transparent; color:var(--ink); font-family:var(--sans); font-size:16px; padding:14px 18px; }
.email-form input:focus { outline:none; background:rgba(28,74,69,0.06); }
.email-form button { white-space:nowrap; background:var(--ink); color:var(--cream); border:none; padding:16px 24px; font-family:var(--mono); font-size:13px; letter-spacing:1px; text-transform:uppercase; cursor:pointer; }
.email-form button:hover { background:var(--pine); }
.email-form button:disabled { opacity:0.7; cursor:wait; }
.form-error { margin-top:10px; font-family:var(--mono); font-size:12px; color:#8a3b2a; }
.form-success-inline { font-family:var(--mono); font-size:13px; letter-spacing:1px; text-transform:uppercase; color:var(--pine); border:1px solid var(--pine); padding:16px 24px; }
[hidden] { display:none !important; }
@media (max-width:560px) {
  .email-form button { flex:1 1 100%; }
  .email-form input { flex:1 1 100%; border-bottom:1px solid var(--line); }
}

/* Hero pipeline */
.pipe-fit { margin-top:56px; overflow-x:auto; }
.pipeline { border:1px solid var(--line-25); display:grid; grid-template-columns:minmax(180px,auto) minmax(60px,1fr) minmax(210px,auto) minmax(60px,1fr) minmax(200px,auto); align-items:stretch; }
.pipe-col { display:flex; flex-direction:column; font-family:var(--mono); font-size:12px; letter-spacing:1px; text-transform:uppercase; color:rgba(22,33,31,0.85); }
.pipe-left { border-right:1px solid var(--line); }
.pipe-right { border-left:1px solid var(--line); }
.pipe-col span { padding:8px 20px; border-bottom:1px solid var(--line); }
.pipe-col span:last-child { border-bottom:none; }
.pipe-col .pipe-head { padding:12px 20px; color:var(--cream); }
.pipe-left .pipe-head { background:var(--ink); }
.pipe-right .pipe-head { background:var(--pine); }
.pipe-flow { position:relative; min-height:180px; }
.pipe-flow svg { position:absolute; inset:0; width:100%; height:100%; display:block; }
.pipe-core { background:var(--ink); color:var(--cream); padding:26px 28px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:8px; border-left:3px solid var(--gold); border-right:3px solid var(--gold); }
.pipe-core strong { font-family:var(--serif); font-size:clamp(22px,2vw,30px); font-weight:500; line-height:1.1; }
.pipe-core small { font-family:var(--mono); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold-l); }


/* Ticker */
.ticker { border-top:1px solid var(--line); overflow:hidden; padding:18px 0; font-family:var(--mono); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(22,33,31,0.78); }
.ticker-track { display:flex; width:max-content; animation:tickerScroll 36s linear infinite; }
.ticker-row { display:flex; align-items:center; gap:32px; padding-right:32px; }
.ticker-row span { white-space:nowrap; }
.ticker-row i { width:5px; height:5px; border-radius:50%; background:var(--gold); flex:none; }

/* Dark + pine sections */
.dark { background:var(--ink); color:var(--cream); }
.pine { background:var(--pine); color:var(--cream); }
.dark .eyebrow, .pine .eyebrow { color:var(--gold); }
.pine .eyebrow { color:var(--gold-l); }
.dark .lede { color:rgba(244,239,230,0.82); }

/* Serve */
.serve-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr)); gap:24px; }
.serve-card { border:1px solid var(--line-d); padding:clamp(28px,4vw,52px); display:flex; flex-direction:column; }
.serve-card h3 { font-family:var(--serif); font-size:clamp(28px,3.2vw,44px); font-weight:500; margin:0 0 20px; }
.serve-card > p { font-size:17px; line-height:1.65; color:rgba(244,239,230,0.85); }
.chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; font-family:var(--mono); font-size:12px; letter-spacing:0.5px; }
.chip { background:rgba(244,239,230,0.06); border:1px solid rgba(244,239,230,0.35); border-radius:4px; padding:11px 16px; color:var(--cream); max-width:100%; }

/* Case studies */
.case-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:56px; }
.case { position:relative; overflow:hidden; background:var(--cream); padding:clamp(24px,3vw,44px); min-height:320px; display:flex; flex-direction:column; }
.case-num { position:absolute; right:8px; bottom:-24px; font-family:var(--serif); font-size:200px; line-height:1; color:rgba(22,33,31,0.05); pointer-events:none; }
.case-img { height:190px; margin:-4px 0 24px; overflow:hidden; }
.case-img img { width:100%; height:100%; object-fit:cover; }
.case-tag { font-family:var(--mono); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--pine); }
.case h3 { font-family:var(--serif); font-size:clamp(24px,2.6vw,36px); font-weight:500; margin:16px 0 auto; letter-spacing:-0.3px; }
.case > p:last-child { font-size:16px; line-height:1.65; color:rgba(22,33,31,0.78); margin-top:24px; }

/* Why */
.why { border-top:1px solid var(--line); }
.why-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:clamp(40px,6vw,100px); align-items:start; }
.why-diagram { width:min(100%,500px); margin-top:56px; display:block; font-family:var(--mono); }
.why-title { font-family:var(--serif); font-size:clamp(34px,4.4vw,64px); line-height:1.12; font-weight:500; letter-spacing:-0.8px; }
.why-sub { font-family:var(--serif); font-size:clamp(24px,2.8vw,38px); line-height:1.28; font-weight:400; letter-spacing:-0.4px; margin-top:28px; color:rgba(22,33,31,0.85); }
.why-copy p.body { margin-top:22px; font-size:clamp(17px,1.4vw,19px); line-height:1.7; color:rgba(22,33,31,0.82); max-width:58ch; }
.why-copy p.body:first-of-type { margin-top:32px; }
.why-copy strong { color:var(--ink); }
.exam-box { margin-top:48px; border:1px solid var(--line); }
.exam-head { font-family:var(--mono); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--pine); padding:20px clamp(20px,2.5vw,32px); border-bottom:1px solid var(--line); }
.exam-head b { color:var(--ink); font-weight:400; }
.exam-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:1px; background:var(--line); }
.exam { background:var(--cream); padding:22px 26px; }
.exam-h { font-family:var(--mono); font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--pine); margin-bottom:8px; display:flex; justify-content:space-between; gap:12px; }
.exam-h i { font-style:normal; color:rgba(22,33,31,0.4); }
.exam p:last-child { font-size:15px; line-height:1.55; color:rgba(22,33,31,0.78); }
.exam-more { background:var(--ink); padding:22px 26px; display:flex; align-items:center; }
.exam-more a { font-family:var(--mono); font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--gold-l); }
.exam-more a:hover { color:var(--cream); }

/* What */
.what-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:1px; background:rgba(244,239,230,0.2); border:1px solid rgba(244,239,230,0.2); }
.what-card { background:var(--pine); padding:clamp(28px,3vw,48px); }
.what-card > span { font-family:var(--mono); font-size:13px; color:var(--gold-l); letter-spacing:1px; }
.what-card h3 { font-family:var(--serif); font-size:28px; font-weight:500; margin:16px 0 14px; }
.what-card p { font-size:16px; line-height:1.6; color:rgba(244,239,230,0.85); }

/* How */
.how-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:clamp(32px,4vw,56px); }
.how-step { border-top:2px solid var(--ink); padding-top:24px; }
.how-step > span { font-family:var(--mono); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); }
.how-step h3 { font-family:var(--serif); font-size:30px; font-weight:500; margin:14px 0 12px; }
.how-step p { font-size:16px; line-height:1.65; color:rgba(22,33,31,0.82); }

/* Monitoring */
.mon-board { margin-top:64px; border:1px solid var(--line-d); }
.mon-bar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 24px; padding:16px 24px; background:rgba(244,239,230,0.04); border-bottom:1px solid var(--line-d); font-family:var(--mono); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; }
.mon-bar b { font-weight:400; color:var(--gold-l); display:flex; align-items:center; gap:10px; }
.mon-bar b::before { content:''; width:7px; height:7px; border-radius:50%; background:#9DC3A8; box-shadow:0 0 8px rgba(157,195,168,0.7); animation:blink 2.2s ease-in-out infinite; }
.mon-bar i { font-style:normal; color:rgba(244,239,230,0.5); }
@keyframes blink { 50% { opacity:0.35; } }
.mon-row { display:grid; grid-template-columns:minmax(210px,1.4fr) minmax(140px,1fr) minmax(150px,auto) 110px; gap:6px 28px; align-items:center; padding:18px 24px; border-bottom:1px solid var(--line-d); }
.mon-row:last-child { border-bottom:none; }
.mon-name { font-family:var(--serif); font-size:21px; font-weight:500; line-height:1.15; }
.mon-name small { display:block; margin-top:5px; font-family:var(--mono); font-size:10px; letter-spacing:1px; text-transform:uppercase; color:rgba(244,239,230,0.5); }
.spark { width:100%; height:44px; display:block; }
.mon-val { font-family:var(--mono); font-size:13px; letter-spacing:0.5px; color:var(--cream); white-space:nowrap; }
.mon-val small { display:block; margin-top:4px; font-size:10px; letter-spacing:1px; text-transform:uppercase; color:rgba(244,239,230,0.5); }
.mon-status { justify-self:end; font-family:var(--mono); font-size:10px; letter-spacing:1.5px; text-transform:uppercase; padding:6px 0; width:100%; text-align:center; border:1px solid; white-space:nowrap; }
.mon-status.ok { color:#9DC3A8; border-color:rgba(157,195,168,0.45); }
.mon-status.watch { color:var(--gold-l); border-color:rgba(233,197,131,0.5); background:rgba(233,197,131,0.08); }
.mon-status.breach { color:#E9705A; border-color:rgba(233,112,90,0.6); background:rgba(233,112,90,0.1); }
.mon-diag { grid-column:1 / -1; display:flex; gap:12px; align-items:baseline; font-family:var(--mono); font-size:12px; line-height:1.6; color:var(--gold-l); padding:12px 14px 12px; margin-top:4px; background:rgba(169,133,67,0.08); border-left:2px solid var(--gold); }
.mon-diag b { font-weight:400; flex:none; color:rgba(244,239,230,0.55); letter-spacing:1px; text-transform:uppercase; font-size:10px; }
@media (max-width:860px) {
  .mon-row { grid-template-columns:1fr 110px; }
  .mon-row .spark { grid-column:1 / -1; order:3; }
  .mon-val { order:4; }
  .mon-status { justify-self:start; width:auto; padding:6px 14px; }
}
.mon-why { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); gap:1px; background:var(--line-d); border:1px solid var(--line-d); margin-top:64px; }
.mon-why > div { background:var(--ink); padding:clamp(24px,3vw,40px); }
.mon-why strong { display:block; font-family:var(--serif); font-size:clamp(34px,3.6vw,52px); font-weight:500; letter-spacing:-0.5px; line-height:1; color:var(--gold-l); }
.mon-why p { margin-top:14px; font-size:15px; line-height:1.6; color:rgba(244,239,230,0.8); }
.weekgrid { margin-top:64px; border:1px solid var(--line-d); }
.weekgrid-cap { padding:16px 24px; border-bottom:1px solid var(--line-d); font-family:var(--mono); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(244,239,230,0.6); display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; }
.weekgrid-cap b { font-weight:400; color:var(--gold-l); }
.weekgrid-scroll { overflow-x:auto; }
.weekgrid-in { min-width:560px; display:grid; grid-template-columns:auto repeat(9,1fr); gap:6px; padding:20px 24px; align-items:center; }
.wg-lab { font-family:var(--mono); font-size:10px; letter-spacing:1px; text-transform:uppercase; color:rgba(244,239,230,0.6); padding-right:14px; white-space:nowrap; }
.wg-c { height:24px; background:rgba(157,195,168,0.25); border:1px solid rgba(157,195,168,0.35); }
.wg-c.b { background:rgba(233,112,90,0.4); border-color:rgba(233,112,90,0.7); }
.wg-c.w { background:rgba(233,197,131,0.3); border-color:rgba(233,197,131,0.55); }
.wg-head { font-family:var(--mono); font-size:9px; letter-spacing:0.5px; color:rgba(244,239,230,0.4); text-align:center; text-transform:uppercase; }
.chain { display:flex; align-items:stretch; flex-wrap:wrap; gap:14px 0; margin-top:64px; }
.chain-node { flex:1 1 180px; min-width:180px; border:1px solid var(--line-d); border-top:2px solid var(--gold); padding:20px 18px; }
.chain-node span { font-family:var(--mono); font-size:10px; letter-spacing:1.5px; color:var(--gold); text-transform:uppercase; }
.chain-node h3 { font-family:var(--serif); font-size:26px; font-weight:500; margin:8px 0 8px; }
.chain-node p { font-family:var(--mono); font-size:11px; line-height:1.65; color:rgba(244,239,230,0.6); }
.chain-arrow { flex:0 0 32px; align-self:center; height:1px; position:relative; background:rgba(244,239,230,0.4); }
.chain-arrow::after { content:''; position:absolute; right:0; top:-3px; border-left:6px solid rgba(244,239,230,0.6); border-top:3.5px solid transparent; border-bottom:3.5px solid transparent; }
@media (max-width:640px) { .chain { flex-direction:column; } .chain-node { min-width:0; } .chain-arrow { align-self:center; width:1px; height:22px; flex-basis:22px; } .chain-arrow::after { right:-3px; top:auto; bottom:0; border-top:6px solid rgba(244,239,230,0.6); border-left:3.5px solid transparent; border-right:3.5px solid transparent; border-bottom:none; } }
.chain-note { margin-top:36px; font-family:var(--serif); font-size:clamp(20px,2.2vw,28px); font-style:italic; line-height:1.35; color:rgba(244,239,230,0.85); max-width:44ch; }
.chain-note b { font-style:normal; font-weight:500; color:var(--gold-l); }

/* Fit */
.fit { border-top:1px solid var(--line); }
.table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.scroll-hint { display:none; font-family:var(--mono); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(22,33,31,0.5); margin-bottom:10px; }
@media (max-width:940px) { .scroll-hint { display:block; } }
.fit-table { min-width:860px; border:1px solid var(--line-25); display:grid; grid-template-columns:minmax(150px,auto) repeat(5,1fr); gap:1px; background:var(--line); }
.fit-table > div { background:var(--cream); padding:16px 18px; }
.fit-th { font-family:var(--mono); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(22,33,31,0.6); }
.fit-th-hot { font-family:var(--mono); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); border-bottom:2px solid var(--gold); }
.fit-row-h { background:var(--ink) !important; color:var(--cream); padding:22px 18px !important; font-family:var(--mono); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; }
.fit-cell { padding:22px 18px !important; font-size:15px; line-height:1.5; color:rgba(22,33,31,0.82); }
.fit-cell.dim { color:rgba(22,33,31,0.45); }
.fit-cell.hot { background:rgba(169,133,67,0.1) !important; color:var(--ink); }
.fit-banner { margin-top:1px; background:var(--ink); color:var(--cream); padding:clamp(24px,3vw,40px); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
.fit-banner p { font-family:var(--serif); font-size:clamp(22px,2.4vw,32px); line-height:1.25; font-weight:500; letter-spacing:-0.3px; max-width:44ch; }
.cta-cream { white-space:nowrap; background:var(--cream); color:var(--ink); padding:16px 32px; font-family:var(--mono); font-size:13px; letter-spacing:1px; text-transform:uppercase; }
.cta-cream:hover { background:var(--gold); color:var(--ink); }

/* Footer */
.site-foot { position:relative; overflow:hidden; padding-bottom:48px; }
.foot-swan { position:absolute; left:-8%; bottom:-20%; width:min(50vw,560px); height:auto; opacity:0.05; pointer-events:none; }
.foot-grid { position:relative; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr)); gap:clamp(44px,6vw,88px); align-items:start; }
.foot-kicker { font-family:var(--mono); font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:32px; }
.foot-grid h2 { font-family:var(--serif); font-weight:500; font-size:clamp(40px,6vw,84px); line-height:0.98; letter-spacing:-1px; max-width:14ch; text-wrap:balance; }
.foot-mail { display:inline-block; margin-top:36px; font-family:var(--mono); font-size:13px; letter-spacing:1px; color:var(--gold); border-bottom:1px solid rgba(169,133,67,0.5); padding-bottom:2px; }
.foot-mail:hover { color:var(--cream); border-bottom-color:var(--cream); }
.contact-form { display:flex; flex-direction:column; gap:20px; border:1px solid rgba(244,239,230,0.2); padding:clamp(24px,3.5vw,48px); }
.contact-form label { display:flex; flex-direction:column; gap:8px; font-family:var(--mono); font-size:11px; letter-spacing:1px; text-transform:uppercase; color:rgba(244,239,230,0.6); }
.contact-form input { font-family:var(--sans); font-size:16px; letter-spacing:0; text-transform:none; color:var(--cream); background:transparent; border:none; border-bottom:1px solid rgba(244,239,230,0.3); padding:10px 0; }
.contact-form input:focus { border-bottom-color:var(--gold); outline:none; }
.contact-form button { margin-top:8px; background:var(--cream); color:var(--ink); border:none; padding:16px 24px; font-family:var(--mono); font-size:13px; letter-spacing:1px; text-transform:uppercase; cursor:pointer; }
.contact-form button:hover { background:var(--gold); }
.contact-form button:disabled { opacity:0.7; cursor:wait; }
.contact-form .form-error { color:#E9A18F; margin-top:0; }
.contact-success { min-height:300px; display:flex; flex-direction:column; justify-content:center; border:1px solid rgba(244,239,230,0.2); padding:clamp(24px,3.5vw,48px); }
.contact-success strong { font-family:var(--serif); font-size:clamp(30px,3.4vw,46px); font-weight:500; letter-spacing:-0.5px; line-height:1.05; }
.contact-success p { margin-top:18px; font-size:16px; line-height:1.6; color:rgba(244,239,230,0.75); max-width:40ch; }
.foot-legal { position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 20px; margin-top:clamp(56px,10vh,120px); padding-top:28px; border-top:1px solid var(--line-d); font-family:var(--mono); font-size:12px; letter-spacing:0.5px; color:rgba(244,239,230,0.7); }
.foot-legal span:last-child { text-transform:uppercase; }
