:root{--bg:#101e19;--surface:#172a22;--raised:#20382c;--text:#f4f1e7;--muted:#bbc6ba;--line:#43574a;--accent:#c5cfae;--brass:#d7b77b;--button-text:#14221b;--serif:'Playfair Display',Georgia,serif;--sans:'Inter',system-ui,sans-serif;color-scheme:dark}
:root[data-theme=light]{--bg:#f4f2e9;--surface:#ebece0;--raised:#e1e6d6;--text:#193329;--muted:#526151;--line:#b8c1af;--accent:#294b38;--brass:#77602f;--button-text:#f7f5ed;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brass);outline-offset:5px}::selection{background:var(--accent);color:var(--button-text)}p{margin:0 0 20px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.13;margin:0;letter-spacing:-.02em}h2{font-size:clamp(37px,4.2vw,60px)}h3{font-size:30px}button{color:inherit}.wrap{width:min(1328px,calc(100% - 96px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:108px;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:29px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.site-header nav{display:flex;gap:28px;align-items:center;font-size:13px}.nav-detail:hover,.site-footer a:hover{color:var(--brass)}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:52px;padding:13px 23px;background:var(--accent);color:var(--button-text);border:1px solid var(--accent);border-radius:3px;font-family:var(--serif);font-size:18px;line-height:1.4;transition:transform .2s,filter .2s}.button:hover{filter:brightness(1.08);transform:translateY(-2px)}.button.small{font-size:16px;min-height:44px;padding:11px 18px;gap:16px}.theme-toggle{display:flex;align-items:center;gap:7px;background:none;border:1px solid var(--line);border-radius:50px;padding:7px 11px;min-height:44px;font-size:12px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:66px 72px}.eyebrow,.chapter{font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--brass)}.eyebrow{margin-bottom:23px}.hero h1{font-size:clamp(62px,6.1vw,90px);line-height:1.05;letter-spacing:-.035em}.hero-sub{font-family:var(--serif);font-size:clamp(27px,2.8vw,39px);line-height:1.25;letter-spacing:-.02em;margin:27px 0 23px}.intro{font-size:15px;max-width:485px;color:var(--muted);line-height:1.85}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:30px;flex-wrap:wrap}.text-link{display:inline-flex;gap:12px;align-items:center;padding-bottom:3px;border-bottom:1px solid var(--line);font-size:13px}.text-link:hover{border-color:var(--brass);color:var(--brass)}.quiet-note{font-size:12px;color:var(--muted);line-height:1.8}.hero-copy>.quiet-note{margin:18px 0 0}/* James concept: history, target and reversible local decisions. */
.director-card{background:var(--surface);padding:26px 28px 20px;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px #00000014;min-width:0}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px}
.james-signature{font-family:var(--serif);text-transform:uppercase;letter-spacing:.12em;font-size:19px;color:var(--brass)}
.micro{font-size:11px;color:var(--muted)}
.demo-label{color:var(--brass);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin:20px 0 10px}
.director-card h2{font-size:clamp(32px,3.1vw,44px);line-height:1.15;margin-bottom:14px;text-wrap:balance}
.director-intro{font-size:12px;line-height:1.75;color:var(--muted);margin-bottom:22px;max-width:420px}
.revenue{padding:18px 18px 12px;background:var(--bg);border:1px solid var(--line);border-radius:5px}
.revenue-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
.revenue-heading strong{font-family:var(--serif);font-weight:400;font-size:42px;line-height:1.1;letter-spacing:-.02em}
.revenue-heading strong span{font-size:30px}
.revenue-heading p{font-size:10px;line-height:1.6;color:var(--muted);margin:5px 0 0}
.revenue-heading .target-caption{text-align:right;margin:0}
.target-caption strong{display:block;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0;color:var(--brass);line-height:1.5;margin-top:4px}
.chart{margin-top:12px;min-width:0}
.chart svg{display:block;width:100%;overflow:visible}
.chart-grid{fill:none;stroke:var(--line);stroke-width:1;opacity:.45}
.chart-divider{stroke:var(--line);stroke-dasharray:3 5;stroke-width:1}
.chart-line{fill:none;stroke:var(--muted);stroke-width:2.5}
.chart-target{fill:none;stroke:var(--brass);stroke-width:2.5;stroke-dasharray:6 5}
.chart-now{fill:var(--muted)}.chart-goal{fill:var(--brass)}
.chart-labels{display:grid;grid-template-columns:1fr auto .7fr;font-size:9px;color:var(--muted);margin-top:6px}.chart-labels span:last-child{text-align:right}
.chart-legend{display:flex;gap:20px;font-size:9px;color:var(--muted);margin-top:12px}.chart-legend span{display:flex;gap:7px;align-items:center}.chart-legend i{width:17px;border-top:2px solid var(--muted)}.chart-legend .legend-target{border-color:var(--brass);border-top-style:dashed}
.decisions-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px 0 2px}.decisions-heading h3{font-size:23px}.decisions-heading>span{font-size:10px;color:var(--muted)}
.decision{padding:15px 0;border-bottom:1px solid var(--line)}.decision h4{font:500 13px/1.5 var(--sans);margin:0 0 5px;letter-spacing:0}.decision p{font-size:11px;line-height:1.7;color:var(--muted);margin:0;max-width:400px}
.decision-controls,.decision-result{display:flex;align-items:center;gap:9px;margin-top:12px;min-height:36px}
.director-card:not(.demo-ready) .decision-controls{display:none}
.decision button,.demo-reset{font:500 11px/1.4 var(--sans);min-height:36px;border:1px solid var(--line);border-radius:3px;padding:7px 14px;background:transparent;color:var(--text)}
.decision [data-decision=approved]{background:var(--accent);border-color:var(--accent);color:var(--button-text)}
.decision button:hover,.demo-reset:hover{border-color:var(--brass)}
.decision-result{justify-content:space-between;font-size:11px;color:var(--brass)}.decision[data-state=skipped] .decision-result{color:var(--muted)}
.card-foot{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:48px;padding-top:12px;font-size:10px;line-height:1.6;color:var(--muted)}.demo-reset{border:0;padding:5px 0;flex-shrink:0;color:var(--brass);text-decoration:underline;text-underline-offset:4px}
.demo-noscript{font-size:11px;color:var(--muted);margin:10px 0 0}
.section{padding-block:94px;scroll-margin-top:20px}.experience{border-top:1px solid var(--line)}.section-heading{max-width:630px}.section-heading>p:last-child{color:var(--muted);max-width:490px;margin:24px 0 0}.experience .section-heading{margin:auto;text-align:center}.experience .section-heading>p:last-child{margin-inline:auto}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:58px}.experience-grid article{padding:0 34px;border-right:1px solid var(--line)}.experience-grid article:first-child{padding-left:0}.experience-grid article:last-child{padding-right:0;border:0}.chapter{display:block;font-size:10px;margin-bottom:22px}.experience-grid h3{font-size:32px;margin-bottom:20px}.experience-grid p{font-size:13px;color:var(--muted);max-width:330px}.experience-grid ul{list-style:none;padding:0;margin:25px 0 0;font-size:11px}.experience-grid li{border-top:1px solid var(--line);padding:10px 0}.section-note{font-size:11px;color:var(--muted);text-align:center;margin:42px 0 0}.james-section{background:var(--surface);border-block:1px solid var(--line)}.james-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.section-lede{font-family:var(--serif);font-size:21px;line-height:1.6;color:var(--muted);margin-top:30px}.james-story article+article{padding-top:32px;margin-top:32px;border-top:1px solid var(--line)}.availability{display:inline-block;color:var(--brass);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:17px}.james-story h3{font-size:29px;margin-bottom:20px}.james-story p{font-size:13px;color:var(--muted)}.james-story p:last-child{margin:0}.operations{display:grid;grid-template-columns:1fr 1fr;gap:100px}.operations-copy{padding-top:10px}.operations-copy>p:not(.quiet-note){font-size:15px;color:var(--muted)}.operations-copy .text-link{margin-top:12px;font-size:12px}.closing{border-top:1px solid var(--line);text-align:center;padding-block:87px 94px}.closing h2{font-size:clamp(37px,4.5vw,61px)}.closing p:not(.eyebrow){color:var(--muted);font-size:14px;margin:25px 0 30px}.closing .quiet-note{display:block;margin-top:17px}.site-footer{border-top:1px solid var(--line);padding-block:30px;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.site-footer .wordmark{font-size:19px}.site-footer p{font-size:11px;color:var(--muted);margin:0}.site-footer nav{display:flex;gap:20px;font-size:11px;margin-left:auto}.copyright{font-size:10px;color:var(--muted)}.skip{position:absolute;left:12px;top:-100px;background:var(--accent);color:var(--button-text);padding:12px;z-index:10}.skip:focus{top:12px}[hidden]{display:none!important}
/* Invitation flow shares the same quiet visual language. */
.form-main{max-width:680px;margin:64px auto 85px;padding-inline:24px}.form-main h1{font-size:54px}.form-main .intro{max-width:none;margin-top:22px}.form-main form{margin-top:35px}.form-row{display:grid;gap:20px;margin-bottom:23px}.form-row.two-col{grid-template-columns:1fr 1fr}.form-group label{display:block;font-size:12px;margin-bottom:8px}.req{color:var(--brass);padding-left:3px}.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:3px;padding:11px 12px;min-height:46px;font-size:14px}.form-group textarea{resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted);opacity:.75}.form-error{border:1px solid var(--brass);color:var(--text);padding:14px;margin-block:20px}.hidden{display:none}.form-foot{font-size:11px;color:var(--muted);margin-top:20px}.form-main .button:disabled{opacity:.7}.thank-you{text-align:center;padding-block:80px 120px}.thank-you p{max-width:460px;margin:25px auto}.thank-you h1{font-size:60px}
@media(min-width:1600px){.hero{gap:80px}.hero h1{font-size:94px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.site-header nav{gap:18px}.hero{gap:30px;padding-block:50px}.hero h1{font-size:67px}.hero-sub{font-size:30px}.hero-actions{gap:20px}.experience-grid article{padding-inline:24px}.experience-grid h3{font-size:28px}.james-layout,.operations{gap:60px}}
@media(max-width:850px){.site-header{min-height:90px}.nav-detail{display:none}.hero{grid-template-columns:1fr;gap:43px;padding-block:48px}.hero-copy{max-width:620px}.hero h1{font-size:76px}.desktop-break{display:none}.intro{max-width:560px}.section{padding-block:65px}.experience-grid{gap:27px}.experience-grid article{padding:0;border:0}.experience-grid h3{font-size:25px}.experience-grid p{font-size:12px}.experience-grid li{font-size:10px}.james-layout,.operations{gap:40px}.james-layout h2{font-size:42px}.james-story h3{font-size:25px}.site-footer{gap:20px}.site-footer .copyright{width:100%}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.site-header{min-height:82px;gap:12px}.wordmark{font-size:20px;letter-spacing:.12em}.site-header nav{gap:8px}.site-header .button{font-family:var(--sans);font-size:10px;min-height:42px;padding:10px;gap:6px}.site-header .button span{display:none}.theme-toggle{padding:8px;min-width:42px;justify-content:center}.theme-label{display:none}.hero{padding-top:40px}.eyebrow{font-size:9px;margin-bottom:20px}.hero h1{font-size:clamp(48px,11.8vw,70px)}.hero-sub{font-size:27px;margin-top:23px}.intro{font-size:13px;line-height:1.85}.hero-actions{gap:22px}.hero-actions .button{font-size:16px;padding-inline:17px;gap:15px}.text-link{font-size:12px}.quiet-note{font-size:10px}.section{padding-block:53px}.section-heading h2{font-size:41px}.section-heading>p:last-child{font-size:13px}.experience-grid{grid-template-columns:1fr;margin-top:37px;gap:35px}.experience-grid article{border-top:1px solid var(--line);padding-top:25px}.experience-grid article:last-child{border-top:1px solid var(--line);padding-top:25px}.experience-grid h3{font-size:31px}.experience-grid h3 br{display:none}.experience-grid p{font-size:13px;max-width:none}.experience-grid li{font-size:12px}.chapter{margin-bottom:16px}.section-note{font-size:10px}.james-layout,.operations{grid-template-columns:1fr;gap:27px}.james-layout h2{font-size:42px}.section-lede{font-size:20px;margin:24px 0 0}.james-story h3{font-size:28px}.operations-copy{padding:0}.operations-copy>p:not(.quiet-note){font-size:13px}.closing{padding-block:54px 60px}.closing h2{font-size:37px}.closing p:not(.eyebrow){font-size:12px}.closing p br{display:none}.site-footer{justify-content:space-between;gap:16px}.site-footer p{width:100%;order:2}.site-footer nav{gap:16px;margin:0;font-size:10px}.site-footer .copyright{order:3}.form-main{margin-top:42px}.form-main h1{font-size:42px}.form-row.two-col{grid-template-columns:1fr}.form-row{gap:22px}.thank-you{padding-block:65px}.thank-you h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Vectors remain monochrome and stable across platforms. */
.link-arrow{width:15px;height:15px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.theme-moon,:root[data-theme=light] .theme-sun{display:none}:root[data-theme=light] .theme-moon{display:block}
h1,h2,h3{word-spacing:normal;text-wrap:pretty}
@media(max-width:1100px){.director-card{padding:24px 22px 18px}.card-top{gap:10px}.micro{font-size:10px}.revenue{padding:15px}.director-card h2{font-size:35px}}
@media(max-width:850px){.director-card{max-width:620px;width:100%;margin-inline:auto;padding:28px}.director-card h2{font-size:42px}.director-intro{font-size:14px}.decision h4{font-size:14px}.decision p{font-size:12px;max-width:none}.decision button{min-height:44px}.decision-controls,.decision-result{min-height:44px}.card-foot{font-size:11px}.revenue-heading strong{font-size:47px}.target-caption strong{font-size:12px}}
@media(max-width:600px){
  .site-header .button,.site-header .text-link{display:none}
  h1,h2,h3{letter-spacing:-.015em;line-height:1.18}
  .hero h1{letter-spacing:-.025em;line-height:1.12;font-size:clamp(45px,11.6vw,66px)}
  .hero-sub{letter-spacing:-.01em;line-height:1.35}
  .director-card{padding:21px 18px 16px}.director-card h2{font-size:34px;line-height:1.18}.director-intro{font-size:12px;margin-bottom:20px}.card-top{gap:10px}.micro{font-size:9px}.revenue{padding:15px 12px 12px}.revenue-heading strong{font-size:42px}.target-caption strong{font-size:10px;max-width:115px}.revenue-heading strong span{font-size:29px}.chart-labels,.chart-legend{font-size:9px}.decisions-heading>span{font-size:9px}.decision h4{font-size:13px}.card-foot{font-size:10px}
  .experience-grid h3{max-width:300px}.james-layout h2{font-size:39px}.section-heading h2{font-size:38px}.closing h2{font-size:36px}.thank-you h1{font-size:41px}
}
