/* BUSINESS DESIGN — businessdesignpr.com
   Design system · single stylesheet · vanilla HTML, no build */

/* ---------- THEME ---------- */
html{transition:background-color .3s ease,color .3s ease}

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{min-height:100vh;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul,ol{list-style:none}

/* ---------- TOKENS ---------- */
:root{
  /* color · paper palette */
  --ink:#0a0a0a;
  --ink-2:#1a1a1a;
  --ink-muted:#4a4a4a;
  --ink-soft:#6e6a62;
  --paper:#f7f4ed;
  --paper-2:#efece5;
  --paper-3:#e6e2d9;
  --accent:#b8754c;          /* burnt copper */
  --accent-deep:#8a5836;
  --accent-soft:rgba(184,117,76,0.12);
  --border:rgba(10,10,10,0.1);
  --border-2:rgba(10,10,10,0.18);
  --border-strong:rgba(10,10,10,0.35);

  /* type · stacks */
  --display:'Fraunces',Georgia,serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;

  /* type · scale */
  --t-xs:11px;
  --t-sm:13px;
  --t-base:16px;
  --t-md:18px;
  --t-lg:22px;
  --t-xl:28px;
  --t-2xl:38px;
  --t-3xl:56px;
  --t-4xl:84px;
  --t-5xl:120px;

  /* layout */
  --container:1320px;
  --gutter:64px;
  --gutter-m:24px;
  --nav-h:72px;

  /* motion */
  --ease:cubic-bezier(.2,.8,.2,1);
  --dur:.35s;
}

/* ---------- DARK THEME OVERRIDES ---------- */
[data-theme="dark"]{
  --ink:#f0ece4;
  --ink-2:#e4ddd0;
  --ink-muted:#a8a19a;
  --ink-soft:#787168;
  --paper:#0d0c0a;
  --paper-2:#15140f;
  --paper-3:#1e1d17;
  --accent:#c98a63;
  --accent-deep:#a56a43;
  --accent-soft:rgba(201,138,99,0.14);
  --border:rgba(240,236,228,0.1);
  --border-2:rgba(240,236,228,0.18);
  --border-strong:rgba(240,236,228,0.4);
}
[data-theme="dark"] .nav{background:rgba(13,12,10,0.88)}
[data-theme="dark"] .btn-primary{background:var(--ink);color:var(--paper)}
[data-theme="dark"] .btn-primary:hover{background:var(--accent);color:var(--paper)}
[data-theme="dark"] .btn-ghost:hover{background:var(--ink);color:var(--paper)}
[data-theme="dark"] .nav-cta{background:var(--accent);color:var(--paper)}
[data-theme="dark"] .nav-cta:hover{background:var(--accent-deep);color:var(--paper)}
[data-theme="dark"] .footer{background:var(--paper-2);color:var(--ink);border-top:1px solid var(--border)}
[data-theme="dark"] .footer a{color:var(--ink-muted)}
[data-theme="dark"] .footer a:hover{color:var(--accent)}
[data-theme="dark"] .footer-tagline{color:var(--ink-muted)}
[data-theme="dark"] .footer-bottom{border-top:1px solid var(--border);color:var(--ink-soft)}
[data-theme="dark"] .form-input,[data-theme="dark"] .form-textarea,[data-theme="dark"] .form-select{background:var(--paper-2);color:var(--ink)}
[data-theme="dark"] .radio-label{background:var(--paper-2)}
[data-theme="dark"] .form-select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-muted) 50%),linear-gradient(-45deg,transparent 50%,var(--ink-muted) 50%);background-position:calc(100% - 22px) 20px,calc(100% - 15px) 20px;background-size:7px 7px,7px 7px;background-repeat:no-repeat}

/* ---------- LANGUAGE SWITCHER ---------- */
.lang-switch{
  display:flex;align-items:center;gap:4px;
  font-family:var(--mono);
  font-size:var(--t-xs);
  text-transform:uppercase;
  letter-spacing:0.16em;
  color:var(--ink-soft);
  flex-shrink:0;
}
.lang-switch a{
  color:var(--ink-soft);
  padding:6px 8px;
  transition:color var(--dur) var(--ease);
  font-weight:500;
}
.lang-switch a:hover{color:var(--ink)}
.lang-switch a.active{color:var(--accent)}
.lang-switch .sep{color:var(--border-2);font-size:10px;padding:0 2px}

/* ---------- THEME TOGGLE BUTTON ---------- */
.theme-toggle{
  width:36px;height:36px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--border-2);
  border-radius:50%;
  color:var(--ink-muted);
  background:transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
  cursor:pointer;
  flex-shrink:0;
}
.theme-toggle:hover{color:var(--ink);border-color:var(--border-strong);transform:rotate(15deg)}
.theme-toggle svg{width:16px;height:16px}
.theme-toggle .i-moon{display:none}
[data-theme="dark"] .theme-toggle .i-sun{display:none}
[data-theme="dark"] .theme-toggle .i-moon{display:block}

/* ---------- BASE TYPE ---------- */
body{
  font-family:var(--body);
  font-size:var(--t-base);
  line-height:1.55;
  color:var(--ink);
  background:var(--paper);
  font-feature-settings:"ss01","cv11","kern";
}

h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.05;letter-spacing:-0.02em;color:var(--ink)}
h1{font-size:clamp(42px,6.4vw,var(--t-4xl));font-weight:300}
h2{font-size:clamp(32px,4vw,var(--t-3xl));font-weight:300}
h3{font-size:clamp(22px,2.2vw,var(--t-2xl));font-weight:400}
h4{font-size:var(--t-xl);font-weight:500;letter-spacing:-0.01em}

p{max-width:68ch}
strong{font-weight:600}
em{font-style:italic;font-family:var(--display)}

.mono{font-family:var(--mono);font-feature-settings:"zero","ss01"}
.serif{font-family:var(--display)}
.muted{color:var(--ink-muted)}
.soft{color:var(--ink-soft)}
.accent{color:var(--accent)}

/* labels · eyebrow */
.eyebrow{
  font-family:var(--mono);
  font-size:var(--t-xs);
  text-transform:uppercase;
  letter-spacing:0.18em;
  color:var(--ink-muted);
  font-weight:500;
}
.eyebrow.accent{color:var(--accent)}

/* ---------- LAYOUT ---------- */
.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
}
@media (max-width:860px){
  .container{padding:0 var(--gutter-m)}
}

.section{padding:120px 0;border-top:1px solid var(--border)}
.section-tight{padding:80px 0;border-top:1px solid var(--border)}
.section-first{padding-top:60px;border-top:none}

.grid{display:grid;gap:48px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-asym{grid-template-columns:5fr 7fr;align-items:start}
@media (max-width:860px){
  .grid-2,.grid-3,.grid-4,.grid-asym{grid-template-columns:1fr;gap:32px}
}

.stack>*+*{margin-top:1.2em}
.stack-lg>*+*{margin-top:2em}
.stack-xl>*+*{margin-top:3em}

/* ---------- NAV ---------- */
.nav{
  position:sticky;top:0;z-index:100;
  height:var(--nav-h);
  background:rgba(247,244,237,0.88);
  backdrop-filter:saturate(1.3) blur(18px);
  -webkit-backdrop-filter:saturate(1.3) blur(18px);
  border-bottom:1px solid var(--border);
}
.nav-inner{
  height:100%;display:flex;align-items:center;justify-content:space-between;
  max-width:var(--container);margin:0 auto;padding:0 var(--gutter);
}
@media (max-width:860px){.nav-inner{padding:0 var(--gutter-m)}}

.brand{
  font-family:var(--display);
  font-weight:400;
  font-size:var(--t-md);
  letter-spacing:-0.01em;
  color:var(--ink);
  display:flex;align-items:baseline;gap:8px;
}
.brand .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;transform:translateY(-2px)}

.nav-links{display:flex;gap:36px;align-items:center}
.nav-links a{
  font-size:var(--t-sm);
  font-weight:500;
  color:var(--ink-muted);
  transition:color var(--dur) var(--ease);
  letter-spacing:0.02em;
}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-cta{
  font-family:var(--body);
  font-size:var(--t-sm);
  font-weight:600;
  padding:10px 18px;
  background:var(--ink);
  color:var(--paper);
  border-radius:2px;
  transition:background var(--dur) var(--ease);
}
.nav-cta:hover{background:var(--accent-deep)}

.nav-toggle{display:none}
@media (max-width:860px){
  .nav-links{display:none}
  .nav-toggle{display:flex;flex-direction:column;gap:4px;padding:8px}
  .nav-toggle span{width:22px;height:1.5px;background:var(--ink);display:block}
  .nav.open .nav-links{
    display:flex;flex-direction:column;gap:0;
    position:absolute;top:var(--nav-h);left:0;right:0;
    background:var(--paper);border-bottom:1px solid var(--border);
    padding:24px var(--gutter-m);
  }
  .nav.open .nav-links a{padding:14px 0;border-bottom:1px solid var(--border);width:100%}
  .nav.open .nav-cta{margin-top:12px;display:inline-block;width:fit-content}
}

/* ---------- HERO ---------- */
.hero{
  padding:120px 0 80px;
  position:relative;
}
.hero-eyebrow{margin-bottom:32px}
.hero h1{margin-bottom:40px;max-width:20ch}
.hero-sub{
  font-size:clamp(18px,1.6vw,22px);
  color:var(--ink-muted);
  line-height:1.5;
  max-width:60ch;
  margin-bottom:56px;
}
.hero-meta{
  display:flex;gap:40px;flex-wrap:wrap;
  padding-top:32px;
  border-top:1px solid var(--border);
}
.hero-meta-item{display:flex;flex-direction:column;gap:6px}
.hero-meta-item .num{
  font-family:var(--display);
  font-size:var(--t-2xl);
  font-weight:300;
  color:var(--ink);
  line-height:1;
  letter-spacing:-0.03em;
}
.hero-meta-item .lbl{
  font-family:var(--mono);
  font-size:var(--t-xs);
  text-transform:uppercase;
  letter-spacing:0.15em;
  color:var(--ink-soft);
}

/* ---------- CARDS · WORK ---------- */
.card{
  display:block;
  padding:40px;
  background:var(--paper-2);
  border:1px solid var(--border);
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease);
  position:relative;
}
.card:hover{border-color:var(--border-strong);background:var(--paper)}
.card .eyebrow{margin-bottom:20px}
.card h3{margin-bottom:16px}
.card-desc{color:var(--ink-muted);margin-bottom:32px}
.card-meta{
  display:flex;gap:24px;
  padding-top:20px;border-top:1px solid var(--border);
  font-family:var(--mono);font-size:var(--t-xs);
  text-transform:uppercase;letter-spacing:0.12em;color:var(--ink-soft);
}
.card-arrow{
  position:absolute;top:40px;right:40px;
  font-size:var(--t-lg);color:var(--ink-soft);
  transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.card:hover .card-arrow{color:var(--accent);transform:translate(4px,-4px)}

/* ---------- PROOF · METHODOLOGY ---------- */
.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border)}
.level{
  padding:48px 32px;
  border-right:1px solid var(--border);
  background:var(--paper);
  display:flex;flex-direction:column;gap:16px;
  min-height:320px;
}
.level:last-child{border-right:none}
.level-num{
  font-family:var(--mono);
  font-size:var(--t-xs);letter-spacing:0.2em;
  color:var(--accent);text-transform:uppercase;
}
.level-name{
  font-family:var(--display);
  font-size:var(--t-2xl);font-weight:300;
  letter-spacing:-0.02em;
}
.level-desc{color:var(--ink-muted);font-size:var(--t-sm);line-height:1.6;flex:1}
.level-traits{
  font-family:var(--mono);font-size:var(--t-xs);
  color:var(--ink-soft);letter-spacing:0.02em;
  padding-top:16px;border-top:1px solid var(--border);
}
@media (max-width:860px){
  .levels{grid-template-columns:1fr}
  .level{border-right:none;border-bottom:1px solid var(--border)}
  .level:last-child{border-bottom:none}
}

/* ---------- SECTION HEADERS ---------- */
.section-head{
  display:grid;grid-template-columns:4fr 8fr;gap:48px;
  padding-bottom:64px;margin-bottom:64px;
  border-bottom:1px solid var(--border);
}
.section-head .eyebrow{margin-bottom:12px}
.section-head h2{margin-bottom:20px}
.section-head p{color:var(--ink-muted);font-size:var(--t-md);line-height:1.55}
@media (max-width:860px){
  .section-head{grid-template-columns:1fr;gap:16px;padding-bottom:40px;margin-bottom:40px}
}

/* ---------- PROSE · CASE STUDY ---------- */
.prose{max-width:72ch}
.prose p{margin-bottom:1.2em;color:var(--ink-2);font-size:var(--t-md);line-height:1.7}
.prose p:first-child{font-size:var(--t-lg);line-height:1.55;color:var(--ink)}
.prose h3{margin:2.5em 0 0.8em;font-family:var(--display);font-weight:400}
.prose h4{margin:2em 0 0.6em;font-family:var(--body);font-size:var(--t-md);font-weight:600;color:var(--ink)}
.prose ul{margin:1em 0;padding-left:0}
.prose li{padding:6px 0 6px 24px;position:relative;color:var(--ink-2);line-height:1.6}
.prose li::before{content:"";position:absolute;left:0;top:16px;width:12px;height:1px;background:var(--accent)}
.prose blockquote{
  margin:2em 0;padding:24px 32px;
  border-left:2px solid var(--accent);
  font-family:var(--display);
  font-size:var(--t-xl);font-weight:300;
  line-height:1.4;color:var(--ink);
  background:var(--paper-2);
}

/* ---------- FACT GRID ---------- */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:48px 0}
.fact{
  padding:32px 24px;
  border-right:1px solid var(--border);
}
.fact:last-child{border-right:none}
.fact-num{
  font-family:var(--display);
  font-size:var(--t-3xl);font-weight:300;
  color:var(--ink);line-height:1;
  letter-spacing:-0.03em;margin-bottom:12px;
}
.fact-lbl{
  font-family:var(--mono);
  font-size:var(--t-xs);text-transform:uppercase;
  letter-spacing:0.14em;color:var(--ink-soft);
}
@media (max-width:860px){
  .facts{grid-template-columns:repeat(2,1fr)}
  .fact:nth-child(2){border-right:none}
  .fact:nth-child(1),.fact:nth-child(2){border-bottom:1px solid var(--border)}
}

/* ---------- TIMELINE ---------- */
.timeline{margin:32px 0;border-left:1px solid var(--border);padding-left:32px}
.timeline-item{padding-bottom:28px;position:relative}
.timeline-item::before{
  content:"";position:absolute;left:-37px;top:6px;
  width:10px;height:10px;border-radius:50%;
  background:var(--paper);border:1px solid var(--accent);
}
.timeline-date{
  font-family:var(--mono);font-size:var(--t-xs);
  text-transform:uppercase;letter-spacing:0.12em;
  color:var(--accent);margin-bottom:6px;
}
.timeline-text{color:var(--ink-2);font-size:var(--t-sm);line-height:1.55}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 28px;
  font-family:var(--body);font-size:var(--t-sm);font-weight:600;
  letter-spacing:0.03em;
  border-radius:2px;
  transition:all var(--dur) var(--ease);
  cursor:pointer;
}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--accent-deep)}
.btn-ghost{
  background:transparent;color:var(--ink);
  border:1px solid var(--border-2);
}
.btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.btn-link{
  padding:0;font-size:var(--t-sm);
  color:var(--accent);border-bottom:1px solid var(--accent);
  padding-bottom:2px;
}
.btn-link:hover{color:var(--accent-deep);border-color:var(--accent-deep)}

/* ---------- FOOTER ---------- */
.footer{
  padding:80px 0 40px;
  background:var(--ink);
  color:var(--paper);
  border-top:1px solid var(--ink);
}
.footer a{color:var(--paper-3)}
.footer a:hover{color:var(--accent)}
.footer-grid{display:grid;grid-template-columns:5fr 2fr 2fr 3fr;gap:48px;margin-bottom:80px}
@media (max-width:860px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
.footer-brand{font-family:var(--display);font-size:var(--t-xl);font-weight:300;letter-spacing:-0.01em;margin-bottom:16px}
.footer-tagline{color:var(--paper-3);font-size:var(--t-sm);line-height:1.6;max-width:32ch}
.footer h5{
  font-family:var(--mono);font-size:var(--t-xs);
  text-transform:uppercase;letter-spacing:0.18em;
  color:var(--accent);margin-bottom:20px;font-weight:500;
}
.footer li{padding:6px 0;font-size:var(--t-sm)}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:32px;border-top:1px solid rgba(247,244,237,0.1);
  font-family:var(--mono);font-size:var(--t-xs);
  color:var(--paper-3);letter-spacing:0.08em;
  text-transform:uppercase;
}
@media (max-width:860px){
  .footer-bottom{flex-direction:column;gap:16px;align-items:flex-start}
}

/* ---------- UTILITIES ---------- */
.divider{height:1px;background:var(--border);margin:64px 0}
.rule{border-top:1px solid var(--border);padding-top:48px}
.text-center{text-align:center}
.hidden-m{display:block}
@media (max-width:860px){.hidden-m{display:none}}
.visible-m{display:none}
@media (max-width:860px){.visible-m{display:block}}
