/* ShelfFlare / Atelier 02
   Self-contained design system. No framework and no icon library. The two
   typefaces below are self-hosted, so the site makes no third-party font
   request at runtime. Edit the tokens under them to reskin the site. */

/* Inter ships as a single variable file; Instrument Serif is static.
   Latin and Latin Extended subsets only. */
@font-face {
  font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/inter-var-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:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/inter-var-latin-ext.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:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;
  src:url(../fonts/instrument-serif-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:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;
  src:url(../fonts/instrument-serif-latin-ext.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:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;
  src:url(../fonts/instrument-serif-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:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;
  src:url(../fonts/instrument-serif-italic-latin-ext.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 {
  color-scheme: light;
  --paper:#f7f4ec; --surface:#fffdf8; --soft:#efeade; --ink:#11262d;
  --muted:#57676b; --line:#ddd7c8; --accent:#a25d27; --accent-soft:#f5e5cd;
  --navy:#122a32; --navy-deep:#0a1a20; --gold:#d6a961; --sage:#e1e8db;
  --champagne:#e9dcc2; --hairline:rgba(17,38,45,.09); --ink-soft:rgba(17,38,45,.55);
  --button:#11262d; --button-ink:#fffdf8; --focus:#8f4c16;
  --shadow:0 34px 80px -52px rgba(11,27,33,.42);
  --shadow-lift:0 50px 110px -60px rgba(11,27,33,.5);
  --radius:22px; --max:1240px; --gutter:clamp(22px,4.7vw,76px);
  --sans:"Inter","Avenir Next",Avenir,"Segoe UI",system-ui,Arial,sans-serif;
  --serif:"Instrument Serif","Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
:root[data-bs-theme="dark"] {
  color-scheme:dark;
  --paper:#0e2028; --surface:#152a32; --soft:#1c333b; --ink:#f3f1e7;
  --muted:#b2c1c3; --line:#354b53; --accent:#e8b073; --accent-soft:#3a3025;
  --champagne:#4a3f2e; --hairline:rgba(243,241,231,.1); --ink-soft:rgba(243,241,231,.6);
  --button:#e4b478; --button-ink:#0f2229; --focus:#ffd188; --sage:#293e39;
  --shadow:0 34px 80px -52px rgba(0,0,0,.72);
  --shadow-lift:0 50px 110px -60px rgba(0,0,0,.8);
}
* {box-sizing:border-box}
html {scroll-behavior:smooth; scroll-padding-top:108px}
body {margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
::selection {background:var(--accent-soft);color:var(--ink)}
a {color:inherit;text-decoration:none}
button,input,textarea,select {font:inherit}
button,a,input,select,textarea,summary {-webkit-tap-highlight-color:transparent}
button {cursor:pointer}
button:disabled {cursor:wait;opacity:.7}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible {outline:3px solid var(--focus);outline-offset:5px}
img,svg {max-width:100%;vertical-align:middle}
img {height:auto}
svg.icon {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
h1,h2,h3,p {margin-top:0}
h1,h2,h3 {font-weight:500;letter-spacing:-.045em;line-height:1.1}
h1 {font-size:clamp(48px,5.6vw,80px)}
h2 {font-size:clamp(35px,3.65vw,54px)}
h3 {font-size:25px;letter-spacing:-.03em}
p {margin-bottom:1.2em}
p:last-child {margin-bottom:0}
hr {border:0;border-top:1px solid var(--line)}
small,.small {font-size:13px;line-height:1.6}
.container {width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}
.section {padding-block:clamp(64px,7.1vw,104px)}
.section-tight {padding-block:52px}
.soft-surface {background:var(--soft)}
.surface {background:var(--surface)}
.eyebrow {display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px;color:var(--accent)}
.eyebrow::before {content:"";width:23px;height:1px;background:currentColor;flex-shrink:0}
.serif {font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.06em}
.muted {color:var(--muted)}
.lead {font-size:18px;line-height:1.8;color:var(--muted)}
.overline {font-size:10px;letter-spacing:.16em;font-weight:700;text-transform:uppercase}
.link {display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.link:hover {border-color:var(--accent);color:var(--accent)}
.link svg {transition:transform .2s}
.link:hover svg {transform:translate(2px,-2px)}
.button {min-height:51px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 22px;border:1px solid transparent;border-radius:100px;font-size:13px;font-weight:600;line-height:1.35;background:var(--button);color:var(--button-ink);transition:transform .2s,box-shadow .2s,background .2s}
.button:hover {transform:translateY(-2px);box-shadow:0 8px 20px -12px var(--ink)}
.button.secondary {background:transparent;border-color:var(--line);color:var(--ink)}
.button.gold {background:var(--gold);color:var(--navy-deep)}
.button.small {min-height:43px;padding:10px 18px;font-size:12px}
.button .round-arrow {display:grid;place-items:center;background:var(--gold);color:var(--navy-deep);border-radius:50%;width:26px;height:26px;margin-right:-9px}
.actions {display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link {position:fixed;top:-90px;left:20px;z-index:1000;padding:12px 18px;background:var(--surface);color:var(--ink);border:2px solid var(--focus);border-radius:8px}
.skip-link:focus {top:15px}
/* Header */
.site-header {position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner {display:flex;align-items:center;gap:30px;min-height:90px}
.wordmark {display:inline-flex;align-items:baseline;font-size:28px;font-weight:700;letter-spacing:-1.2px;white-space:nowrap;line-height:1}
.wordmark .flare {color:var(--accent)}
.wordmark .llc {font-size:8px;letter-spacing:.06em;margin-left:5px;font-weight:600;align-self:flex-start;margin-top:3px;color:var(--muted)}
.site-nav {margin-left:auto}
.site-nav ul {list-style:none;display:flex;gap:25px;align-items:center;padding:0;margin:0}
.site-nav a {font-size:12px;color:var(--muted);font-weight:600;display:inline-flex;align-items:center;min-height:44px;position:relative}
.site-nav a:hover,.site-nav a[aria-current="page"] {color:var(--ink)}
.site-nav a[aria-current="page"]::after {content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);left:50%;bottom:4px}
.header-actions {display:flex;align-items:center;gap:14px}
.theme-toggle {width:42px;height:42px;display:grid;place-items:center;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:50%}
.theme-toggle .moon {display:block}
.theme-toggle .sun {display:none}
[data-bs-theme="dark"] .theme-toggle .moon {display:none}
[data-bs-theme="dark"] .theme-toggle .sun {display:block}
.menu-toggle {display:none;width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--ink)}
/* Hero: editorial typography + an original CSS portfolio composition */
.hero {padding-block:64px 58px}
.hero-grid {display:grid;grid-template-columns:1.08fr 1fr;gap:56px;align-items:center}
.hero-copy {padding-block:12px}
.hero-copy h1 {margin-bottom:26px;line-height:1.055}
.hero-copy h1 .serif {color:var(--accent)}
.hero-copy .lead {font-size:16px;max-width:44ch}
.hero-note {display:flex;align-items:center;gap:8px;margin-top:27px;font-size:10px;letter-spacing:.045em;color:var(--muted)}
.status-dot {width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block;flex-shrink:0}
.hero-visual {position:relative;min-height:535px;border-radius:4px 100px 4px 4px;overflow:hidden;background:radial-gradient(ellipse at 90% 2%,#4b646a 0%,#263e46 32%,#172d35 67%);color:#f8f6ef;isolation:isolate}
.visual-top {position:absolute;top:29px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;font-weight:600;letter-spacing:.16em;color:#d2dcdb;z-index:3}
.visual-top .index {font-family:var(--serif);font-size:18px;letter-spacing:0;color:#efbd75;padding-right:15px}
.orbit {position:absolute;border:1px solid rgba(228,236,229,.15);border-radius:50%;width:470px;height:470px;top:65px;left:20px;transform:rotate(-23deg) scaleX(.76)}
.orbit.two {width:650px;height:650px;top:-12px;left:-65px;transform:rotate(-23deg) scaleX(.7)}
.orbit.three {width:840px;height:840px;top:-85px;left:-156px;transform:rotate(-23deg) scaleX(.65)}
.monogram-sculpture {position:absolute;inset:85px 0 auto;text-align:center;font:italic 255px/.95 var(--serif);letter-spacing:-.18em;color:rgba(197,214,203,.08);transform:translateX(-12px);user-select:none}
.portfolio-card {position:absolute;top:148px;left:15%;right:12%;background:#f1ede2;color:#1e3a38;padding:27px 27px 30px;border-radius:3px 38px 3px 3px;box-shadow:12px 27px 44px -19px #040d12;transform:rotate(-7deg);z-index:2}
.portfolio-card::before {content:"";position:absolute;inset:8px;border:1px solid #c5c8b9;border-radius:1px 29px 1px 1px;pointer-events:none}
.portfolio-card .overline {color:#657369;font-size:8px;letter-spacing:.17em}
.portfolio-name {font:49px/1.1 var(--serif);letter-spacing:-.05em;margin:22px 0 12px}
.portfolio-line {height:1px;background:#ccd0c2;margin:22px 0 12px}
.portfolio-card .bottom-line {display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.02em}
.portfolio-seal {display:grid;place-items:center;position:absolute;top:113px;right:29px;z-index:3;width:78px;height:78px;border:1px solid #f1cc95;border-radius:50%;background:#dab178;color:#142e33;box-shadow:0 6px 20px #0f242945;transform:rotate(9deg)}
.portfolio-seal span {font:italic 31px var(--serif)}
.visual-bottom {position:absolute;left:31px;right:31px;bottom:30px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;z-index:3}
.visual-bottom p {font-size:13px;line-height:1.5;max-width:180px;margin:0;color:#e4ece6}
.visual-bottom .tiny-lines {width:70px;display:grid;gap:7px;transform:skew(-25deg)}
.tiny-lines span {height:4px;background:#efbd75}
.tiny-lines span:nth-child(2) {width:80%;margin-left:auto;opacity:.65}
.tiny-lines span:nth-child(3) {width:58%;margin-left:auto;opacity:.35}
.capability-strip {display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.capability-strip .capability {padding:24px 22px;display:flex;align-items:center;gap:14px;font-size:12px;font-weight:600;border-right:1px solid var(--line)}
.capability-strip .capability:first-child {padding-left:0}
.capability-strip .capability:last-child {border-right:0}
.capability svg {color:var(--accent)}
/* Sections */
.section-heading {display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:38px}
.section-heading h2 {margin:0;max-width:710px}
.section-heading .eyebrow {margin-bottom:18px}
.section-heading p {max-width:340px;font-size:14px;color:var(--muted)}
.split {display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.split h2 {max-width:500px;margin-bottom:0}
.split .body-copy {padding-top:17px;font-size:16px;color:var(--muted)}
.split .body-copy strong {color:var(--ink);font-weight:500}
.inline-facts {display:flex;gap:25px;border-top:1px solid var(--line);padding-top:25px;margin-top:29px}
.fact {flex:1;font-size:12px;line-height:1.6;color:var(--muted)}
.fact strong {display:block;font-size:19px;line-height:1.3;font-weight:500;margin-bottom:6px;color:var(--ink)}
.brand-feature {display:grid;grid-template-columns:1.12fr 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.brand-art {position:relative;min-height:445px;background:#dfe6d8;color:#1f4036;padding:35px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between}
.brand-art .art-meta {display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.15em;font-weight:600;text-transform:uppercase;z-index:2}
.brand-art .art-center {position:relative;z-index:2;margin-block:50px 37px;text-align:center}
.brand-art .art-name {font:clamp(48px,5vw,70px)/1.15 var(--serif);letter-spacing:-.06em;margin-bottom:15px}
.brand-art .art-tagline {font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.brand-art .art-bottom {position:relative;z-index:2;font-size:11px;line-height:1.5;max-width:155px}
.botanical {position:absolute;width:280px;height:390px;right:-25px;bottom:-120px;transform:rotate(-38deg);opacity:.38;z-index:0}
.botanical::before {content:"";position:absolute;height:100%;width:1px;background:#7e9775;left:50%}
.leaf {position:absolute;background:linear-gradient(120deg,#adc19d,#8da985);border-radius:100% 0 100% 0;width:118px;height:72px;left:50%;transform:rotate(-5deg);transform-origin:left bottom}
.leaf.l1 {top:30px}
.leaf.l2 {top:135px}
.leaf.l3 {top:235px}
.leaf.l4 {top:70px;left:calc(50% - 118px);transform:rotate(80deg);transform-origin:right bottom}
.leaf.l5 {top:180px;left:calc(50% - 118px);transform:rotate(80deg);transform-origin:right bottom}
.brand-art .art-circle {position:absolute;inset:35px 55px;border:1px solid #b9c8ae;border-radius:50%;transform:rotate(-22deg);z-index:0}
.brand-art .art-circle.two {inset:4px 85px;transform:rotate(32deg)}
.brand-detail {padding:47px 44px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.pill {display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:50px;font-size:10px;font-weight:600;letter-spacing:.06em;padding:5px 11px;color:var(--muted)}
.brand-detail h3 {font-size:38px;margin:20px 0 18px}
.brand-detail p {font-size:15px;color:var(--muted)}
.tags {list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:6px 0 0}
.tags li {font-size:10px;padding:6px 11px;background:var(--soft);color:var(--muted);border-radius:30px}
.brand-detail .actions {margin-top:25px}
.retail-strip {display:flex;justify-content:space-between;align-items:center;gap:25px;padding:27px 0 0}
.retail-strip p {margin:0;color:var(--muted);font-size:12px;max-width:670px}
.retail-strip strong {color:var(--ink)}
.dark-band {background:var(--navy);color:#f7f4eb;position:relative;overflow:hidden}
.dark-band .eyebrow {color:#e6b579}
.dark-band .muted,.dark-band .section-heading p {color:#b8c7c8}
.dark-band .line {border-color:#445a60}
.steps {display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:48px}
.step {border-top:1px solid #526466;padding-top:25px}
.step-number {display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#d8b888;margin-bottom:34px}
.step h3 {font-size:24px;margin-bottom:13px;color:#f3f2e9}
.step p {font-size:13px;line-height:1.8;color:#bbcccc}
.step svg {width:17px;height:17px}
.stewardship {display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}
.stewardship h2 {margin-bottom:25px}
.team-grid {display:grid;grid-template-columns:1fr 1fr;gap:24px}
.person {padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.person-top {display:flex;justify-content:space-between;align-items:center;margin-bottom:35px;gap:15px}
.initials {display:grid;place-items:center;width:66px;height:66px;background:var(--soft);color:var(--accent);border-radius:50%;font:24px var(--serif)}
.person h3 {font-size:27px;margin-bottom:10px}
.person .role {font-size:11px;color:var(--accent);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.person p {font-size:14px;color:var(--muted)}
.callout {display:flex;align-items:center;justify-content:space-between;gap:50px;background:var(--navy);color:#f6f2e8;padding:55px 55px;border-radius:4px 55px 4px 4px}
.callout .eyebrow {color:#e9b879}
.callout h2 {max-width:640px;margin-bottom:16px;font-size:clamp(36px,3.5vw,49px)}
.callout p {font-size:13px;color:#bdccce;max-width:60ch}
.callout .button {flex-shrink:0}
/* Footer */
.site-footer {padding:62px 0 0;border-top:1px solid var(--line)}
.footer-grid {display:grid;grid-template-columns:1.75fr 1fr 1fr 1.35fr;gap:45px;padding-bottom:43px}
.footer-brand p {font-size:12px;line-height:1.85;color:var(--muted);max-width:270px;margin-top:22px}
.footer-title {font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin:0 0 18px}
.footer-nav {list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer-nav a,.footer-contact a {font-size:12px;color:var(--muted);display:inline-block;min-height:27px}
.footer-nav a:hover,.footer-contact a:hover {color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.footer-contact address {font-size:12px;font-style:normal;line-height:1.85;color:var(--muted);margin-bottom:10px}
.footer-contact a {overflow-wrap:anywhere}
.footer-bottom {display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:21px 0;font-size:10px;letter-spacing:.01em;color:var(--muted)}
.footer-bottom nav {display:flex;gap:19px}
/* Inner pages */
.page-hero {padding:48px 0 64px;border-bottom:1px solid var(--line)}
.breadcrumb {display:flex;gap:10px;font-size:11px;color:var(--muted);margin-bottom:38px;flex-wrap:wrap}
.breadcrumb a {text-decoration:underline;text-underline-offset:4px}
.page-hero .page-hero-grid {display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:75px}
.page-hero h1 {font-size:clamp(44px,5.1vw,72px);margin-bottom:0}
.page-hero .lead {font-size:15px;margin-bottom:3px}
.page-hero .eyebrow {margin-bottom:17px}
.card-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.info-card {padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.info-card .card-icon {width:45px;height:45px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:50%;margin-bottom:31px}
.info-card h3 {font-size:25px;margin-bottom:16px}
.info-card p {font-size:14px;color:var(--muted)}
.info-card .link {margin-top:12px}
.entity-grid {display:grid;grid-template-columns:1fr 1fr;gap:25px}
.entity-card {padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.entity-card h3 {font-size:24px;margin:17px 0}
.entity-card address {font-size:14px;font-style:normal;color:var(--muted)}
.entity-card small {display:block;margin-top:20px;color:var(--muted)}
.faq-grid {display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.faq-list {border-top:1px solid var(--line)}
details {border-bottom:1px solid var(--line)}
summary {font-size:15px;font-weight:500;cursor:pointer;list-style:none;position:relative;padding:24px 32px 24px 0}
summary::-webkit-details-marker {display:none}
summary::after {content:"+";position:absolute;right:2px;top:20px;font-size:21px;color:var(--accent)}
details[open] summary::after {content:"−"}
details p {color:var(--muted);font-size:14px;max-width:65ch;padding-right:20px;margin:0 0 25px}
.checklist {list-style:none;padding:0;display:grid;gap:12px;margin:22px 0 0;font-size:13px;color:var(--muted)}
.checklist li {position:relative;padding-left:23px}
.checklist li::before {content:"✓";position:absolute;left:0;color:var(--accent)}
/* Contact */
.contact-grid {display:grid;grid-template-columns:.82fr 1.18fr;gap:75px;align-items:start}
.contact-info h2 {font-size:37px;margin-bottom:20px}
.contact-info>.lead {font-size:15px}
.contact-item {padding:25px 0;border-bottom:1px solid var(--line)}
.contact-item h3 {font-size:13px;letter-spacing:0;font-weight:600;margin-bottom:10px}
.contact-item a,.contact-item address {font-size:14px;color:var(--muted);font-style:normal;overflow-wrap:anywhere}
.contact-item a:hover {color:var(--accent)}
.contact-form {border:1px solid var(--line);border-radius:var(--radius);padding:35px;background:var(--surface);box-shadow:var(--shadow)}
.contact-form h2 {font-size:28px;letter-spacing:-.04em;margin-bottom:6px}
.form-intro {font-size:12px;color:var(--muted);margin-bottom:25px}
.form-grid {display:grid;grid-template-columns:1fr 1fr;gap:19px}
.field {min-width:0}
.field.full {grid-column:1/-1}
label {display:block;font-size:12px;font-weight:600;margin-bottom:8px}
label .optional {font-weight:400;color:var(--muted)}
input,select,textarea {background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;min-height:49px;line-height:1.5;padding:11px 13px;width:100%;font-size:14px}
input::placeholder,textarea::placeholder {color:var(--muted);opacity:.85}
textarea {resize:vertical;min-height:138px}
input:focus,textarea:focus,select:focus {border-color:var(--accent)}
.form-check {display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400;color:var(--muted);line-height:1.7}
.form-check input {width:17px;height:17px;min-height:17px;margin-top:3px;accent-color:var(--accent);flex-shrink:0}
.form-check a {text-decoration:underline;text-underline-offset:3px}
.form-status {font-size:13px;border-radius:8px;padding:12px 15px;margin-top:18px;background:var(--soft);color:var(--ink)}
.form-status:empty {display:none}
.form-status[data-state="error"] {border-left:3px solid #ac4b39}
.form-status[data-state="success"] {border-left:3px solid #368164}
.form-note {font-size:11px;color:var(--muted);margin-top:16px;line-height:1.8}
.preview-notice {font-size:11px;padding:11px 13px;border:1px solid var(--line);border-radius:7px;margin-bottom:22px;color:var(--muted);background:var(--paper)}
.hp-field {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* Legal & sitemap */
.legal-layout {display:grid;grid-template-columns:240px 1fr;gap:65px;align-items:start}
.legal-toc {position:sticky;top:125px;border-left:1px solid var(--line);padding-left:22px}
.legal-toc p {font-size:10px;letter-spacing:.15em;font-weight:700;text-transform:uppercase;margin-bottom:18px}
.legal-toc a {display:block;font-size:12px;color:var(--muted);padding:6px 0}
.legal-toc a:hover {color:var(--accent)}
.legal-copy {max-width:760px}
.legal-copy h2 {font-size:25px;margin:38px 0 17px;letter-spacing:-.025em}
.legal-copy h2:first-child {margin-top:0}
.legal-copy p,.legal-copy li {font-size:14px;line-height:1.85;color:var(--muted)}
.legal-copy ul {padding-left:19px}
.legal-copy a {text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.review-note {padding:22px 25px;border:1px solid var(--line);background:var(--accent-soft);border-radius:12px;margin-bottom:30px;font-size:13px;color:var(--ink)}
.review-note p {color:inherit;font-size:13px}
.sitemap-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.sitemap-card {background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:27px}
.sitemap-card h2 {font-size:25px;margin-bottom:23px}
.sitemap-card ul {list-style:none;margin:0;padding:0}
.sitemap-card li {border-top:1px solid var(--line)}
.sitemap-card a {padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px}
.sitemap-card a:hover {color:var(--accent)}
.sitemap-card small {color:var(--muted);font-size:11px}
.error-page {text-align:center;padding:95px 0 110px}
.error-page .error-number {font:italic 110px/1 var(--serif);color:var(--accent);margin-bottom:20px}
.error-page .actions {justify-content:center}
.error-page p {max-width:480px;margin-inline:auto}
.print-button {background:none;color:var(--muted);border:1px solid var(--line);border-radius:50px;padding:10px 18px;font-size:12px}
/* Entrance motion only, never permanent hidden content or endlessly moving logos. */
@media (prefers-reduced-motion:no-preference) {
  .hero-copy {animation:sf-enter .65s ease-out both}
  .hero-visual {animation:sf-enter .8s .1s ease-out both}
  @keyframes sf-enter {from {opacity:.2;transform:translateY(12px)} to {opacity:1;transform:translateY(0)}}
}
@media (max-width:1120px) {
  .header-inner {gap:20px}
  .site-nav ul {gap:16px}
  .hero-grid {gap:35px}
  .hero-copy h1 {font-size:clamp(48px,5.6vw,69px)}
  .hero-visual {min-height:495px}
  .portfolio-name {font-size:43px}
  .portfolio-card {left:10%;right:9%;padding:25px}
  .split,.stewardship {gap:50px}
  .footer-grid {gap:25px}
  .brand-detail {padding:35px}
}
@media (max-width:900px) {
  .header-inner {min-height:78px;flex-wrap:wrap}
  .header-actions {margin-left:auto;gap:10px}
  .js .menu-toggle {display:grid;place-items:center}
  .site-nav {order:4;width:100%;margin:0;padding:5px 0 20px}
  .site-nav ul {flex-wrap:wrap;gap:9px 24px}
  .js .site-nav {display:none}
  .js .site-nav.is-open {display:block}
  .js .site-nav ul {flex-direction:column;align-items:stretch;gap:0}
  .js .site-nav a {display:flex;padding:10px 0;font-size:15px;min-height:51px;border-bottom:1px solid var(--line)}
  .site-nav a[aria-current="page"]::after {left:auto;right:10px;bottom:22px}
  .hero {padding-top:48px}
  .hero-grid {grid-template-columns:1.1fr .9fr;gap:30px}
  .hero-copy h1 {font-size:50px}
  .hero-visual {min-height:452px;border-top-right-radius:65px}
  .portfolio-card {left:9%;right:7%;top:155px;padding:18px}
  .portfolio-name {font-size:33px;margin:24px 0 16px}
  .portfolio-card .overline {font-size:7px}
  .portfolio-card .bottom-line {font-size:7px}
  .portfolio-seal {width:60px;height:60px;top:119px;right:14px}
  .portfolio-seal span {font-size:27px}
  .visual-top {left:22px;right:16px;top:26px;font-size:7px}
  .visual-bottom {left:22px;right:22px;bottom:24px}
  .visual-bottom p {font-size:11px;max-width:140px}
  .visual-bottom .tiny-lines {width:45px}
  .monogram-sculpture {font-size:205px;top:90px}
  .capability-strip .capability {padding:20px 14px;font-size:10px;gap:9px}
  .capability-strip .icon {width:18px}
  .brand-feature {grid-template-columns:1fr 1fr}
  .brand-detail {padding:30px}
  .brand-detail h3 {font-size:31px}
  .brand-art {padding:26px;min-height:430px}
  .steps {gap:22px}
  .step h3 {font-size:22px}
  .step p {font-size:12px}
  .split,.stewardship {gap:40px}
  .stewardship h2 {font-size:39px}
  .callout {padding:40px;gap:30px}
  .callout h2 {font-size:36px}
  .footer-grid {grid-template-columns:1.4fr 1fr 1fr}
  .footer-contact {grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:15px}
  .footer-contact address {margin:0}
  .contact-grid {gap:35px;grid-template-columns:.85fr 1.15fr}
  .contact-form {padding:27px}
  .form-grid {grid-template-columns:1fr}
  .page-hero .page-hero-grid {gap:40px}
  .card-grid {gap:18px}
  .info-card {padding:25px}
  .legal-layout {grid-template-columns:190px 1fr;gap:35px}
}
@media (max-width:680px) {
  :root {--gutter:22px}
  html {scroll-padding-top:98px}
  .header-inner {min-height:75px;gap:12px}
  .wordmark {font-size:25px}
  .wordmark .llc {font-size:7px}
  .header-actions>.button {display:none}
  .theme-toggle {width:38px;height:38px}
  .menu-toggle {width:40px;height:40px}
  .hero {padding:32px 0 38px}
  .hero-grid {grid-template-columns:1fr;gap:36px}
  .hero-copy {padding:10px 0 0}
  .hero-copy h1 {font-size:clamp(47px,11.8vw,69px);max-width:580px;line-height:1.08;margin-bottom:22px}
  .hero-copy .eyebrow {font-size:9px;letter-spacing:.17em;margin-bottom:20px}
  .hero-copy .lead {font-size:15px;line-height:1.8;max-width:48ch}
  .hero-copy .actions {gap:14px;margin-top:24px}
  .hero-copy .button {font-size:12px;padding:12px 18px;gap:18px}
  .hero-copy .link {font-size:12px}
  .hero-note {font-size:9px;margin-top:23px;letter-spacing:.02em}
  .hero-visual {min-height:435px;border-top-right-radius:75px}
  .visual-top {font-size:8px;left:25px;right:25px}
  .portfolio-card {top:130px;left:13%;right:11%;padding:25px}
  .portfolio-name {font-size:46px}
  .portfolio-card .overline {font-size:8px}
  .portfolio-card .bottom-line {font-size:8px}
  .portfolio-seal {width:65px;height:65px;top:98px;right:23px}
  .visual-bottom {left:25px;right:25px;bottom:27px}
  .visual-bottom p {font-size:12px;max-width:170px}
  .monogram-sculpture {font-size:230px;top:70px}
  .capability-strip {grid-template-columns:1fr 1fr}
  .capability-strip .capability {padding:21px 13px;font-size:11px;gap:10px}
  .capability-strip .capability:first-child {padding-left:13px}
  .capability-strip .capability:nth-child(2) {border-right:0}
  .capability-strip .capability:nth-child(-n+2) {border-bottom:1px solid var(--line)}
  .section-heading {display:block;margin-bottom:28px}
  .section-heading h2 {font-size:37px}
  .section-heading>p {max-width:none;margin-top:22px}
  .section-heading>.link {margin-top:17px}
  .section-heading .eyebrow {margin-bottom:16px}
  .split,.stewardship {grid-template-columns:1fr;gap:27px}
  .split h2 {font-size:37px}
  .split .body-copy {padding:0;font-size:15px}
  .inline-facts {gap:18px}
  .fact {font-size:11px}
  .fact strong {font-size:18px}
  .brand-feature {grid-template-columns:1fr}
  .brand-art {min-height:355px;padding:26px}
  .brand-art .art-name {font-size:62px}
  .brand-art .art-center {margin-block:40px}
  .brand-detail {padding:31px 27px 34px}
  .brand-detail h3 {font-size:35px}
  .brand-detail p {font-size:14px}
  .retail-strip {display:block;padding-top:22px}
  .retail-strip .link {margin-top:10px;font-size:12px}
  .steps {grid-template-columns:1fr 1fr;gap:32px 23px;margin-top:35px}
  .step-number {margin-bottom:22px}
  .step h3 {font-size:24px}
  .step p {font-size:13px}
  .stewardship h2 {font-size:37px}
  .team-grid {grid-template-columns:1fr}
  .person {padding:28px}
  .person-top {margin-bottom:25px}
  .person h3 {font-size:28px}
  .callout {padding:35px 27px;flex-direction:column;align-items:flex-start;gap:27px;border-top-right-radius:38px}
  .callout h2 {font-size:36px}
  .callout .eyebrow {font-size:9px}
  .footer-grid {grid-template-columns:1fr 1fr;gap:30px 25px;padding-bottom:35px}
  .footer-brand {grid-column:1/-1}
  .footer-brand p {max-width:340px;font-size:13px;margin-top:19px}
  .footer-contact {grid-column:1/-1;display:block;padding-top:5px}
  .footer-contact .footer-title {margin-bottom:14px}
  .footer-contact address {margin-bottom:12px}
  .footer-bottom {display:block;font-size:10px;padding-bottom:28px}
  .footer-bottom nav {margin-top:12px;flex-wrap:wrap;gap:16px}
  .page-hero {padding:29px 0 43px}
  .page-hero .page-hero-grid {grid-template-columns:1fr;gap:23px}
  .page-hero h1 {font-size:46px}
  .page-hero .lead {font-size:14px}
  .breadcrumb {margin-bottom:30px}
  .card-grid,.entity-grid,.sitemap-grid {grid-template-columns:1fr}
  .info-card {padding:29px}
  .info-card .card-icon {margin-bottom:25px}
  .faq-grid {grid-template-columns:1fr;gap:27px}
  .faq-grid h2 {font-size:37px}
  .contact-grid {grid-template-columns:1fr;gap:35px}
  .contact-info h2 {font-size:35px}
  .contact-form {padding:27px 22px}
  .legal-layout {grid-template-columns:1fr;gap:33px}
  .legal-toc {position:static;padding:19px 22px;background:var(--soft);border-radius:10px;border:0}
  .legal-toc a {padding:7px 0;font-size:13px}
  .legal-copy h2 {font-size:26px}
  .error-page {padding:65px 0 80px}
}
@media (max-width:360px) {
  :root {--gutter:18px}
  .hero-copy h1 {font-size:43px}
  .hero-copy .actions {align-items:flex-start;gap:10px;flex-direction:column}
  .hero-visual {min-height:407px}
  .portfolio-card {padding:20px;top:132px;left:10%;right:9%}
  .portfolio-name {font-size:39px}
  .portfolio-card .overline {font-size:7px}
  .portfolio-card .bottom-line {font-size:7px}
  .steps {grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation:none!important;transition:none!important}
}
@media print {
  :root,:root[data-bs-theme="dark"] {--paper:#fff;--surface:#fff;--ink:#111;--muted:#333;--line:#ccc;--accent:#555;color-scheme:light}
  body {font:11pt/1.5 Georgia,serif}
  .site-header,.site-footer,.legal-toc,.print-button,.skip-link,.hero-visual,.header-actions {display:none!important}
  .container {width:100%;max-width:none}
  .section,.page-hero {padding-block:15px}
  .legal-layout,.page-hero .page-hero-grid {display:block}
  .legal-copy {max-width:none}
  h1 {font-size:27pt} h2 {break-after:avoid}
  a {text-decoration:underline}
  .review-note {border:1px solid #444;background:#fff;color:#111}
}

[hidden] { display: none !important; }

/* ============================================================
   PREMIUM LAYER — Atelier 02
   A refinement pass over the base system above. It deliberately
   restates some base rules, so it must stay last in this file.

   WATCH OUT when editing: a rule here outside a media query also
   beats the base sheet's breakpoint rules for the same selector,
   because it comes later at equal specificity. Anything restated
   here that the base sheet varies by width is restated again in
   "Responsive repairs" at the end. If you override another such
   rule, add its breakpoints there too, then check 320-1920px.

   Nothing here introduces a framework or a runtime font request.
   ============================================================ */

/* — Typography -------------------------------------------------
   Display voice: Instrument Serif. Working voice: Inter. */
body {font-family:var(--sans);font-size:16px;line-height:1.7;letter-spacing:-.005em}
h1,h2 {font-family:var(--serif);font-weight:400;letter-spacing:-.018em;line-height:1.04}
h1 {font-size:clamp(52px,6.2vw,92px)}
h2 {font-size:clamp(38px,4.1vw,62px)}
h3 {font-family:var(--sans);font-weight:500;letter-spacing:-.025em;line-height:1.25}
.serif {font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.012em}
.eyebrow {font-size:10px;letter-spacing:.24em;font-weight:600;gap:12px;color:var(--accent)}
.eyebrow::before {width:28px}
.overline {font-size:9px;letter-spacing:.22em;font-weight:600}
.lead {font-size:19px;line-height:1.75;letter-spacing:-.011em}
.pill {font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:6px 13px}

/* Numerals read as data, not as decoration. */
.step-number span,.chapter-index,.glance-value,.org-tier {
  font-variant-numeric:tabular-nums lining-nums;
}

/* — Surfaces ---------------------------------------------------
   A faint woven grain keeps the large dark fields from reading
   as flat print. It is one inline SVG, no image request. */
.dark-band,.callout,.hero-visual {position:relative}
.dark-band::after,.callout::after,.hero-visual::after {
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");
}
.dark-band>*,.callout>* {position:relative;z-index:2}
.dark-band {background:linear-gradient(168deg,#173038 0%,var(--navy) 46%,var(--navy-deep) 100%)}
.callout {background:linear-gradient(140deg,#1a343c 0%,var(--navy) 55%,var(--navy-deep) 100%)}

/* — Header -----------------------------------------------------
   Settles into a quieter, translucent bar once the page moves. */
.site-header {
  background:color-mix(in srgb,var(--paper) 82%,transparent);
  backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);
  border-bottom-color:transparent;transition:border-color .3s var(--ease),background .3s var(--ease);
}
.site-header.is-scrolled {border-bottom-color:var(--line)}
@supports not (backdrop-filter:blur(2px)) {.site-header {background:var(--paper)}}
.header-inner {transition:min-height .3s var(--ease)}
.site-header.is-scrolled .header-inner {min-height:74px}
.wordmark {letter-spacing:-.035em}
.wordmark .llc {letter-spacing:.14em;font-size:8px;opacity:.72}
.site-nav a {font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:600}
.site-nav a::before {
  content:"";position:absolute;left:0;right:100%;bottom:12px;height:1px;
  background:var(--accent);transition:right .35s var(--ease);
}
.site-nav a:hover::before {right:0}
.button {letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}
.button:hover {box-shadow:0 14px 30px -18px var(--ink)}
.button.gold:hover {box-shadow:0 14px 30px -16px rgba(214,169,97,.85)}
.link {font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:600}

/* — Rhythm -----------------------------------------------------
   Luxury reads as space. The sections breathe further apart. */
.section {padding-block:clamp(78px,8.6vw,132px)}
.hero {padding-block:76px 64px}
.hero-copy h1 {line-height:1.02;margin-bottom:30px;letter-spacing:-.022em}
.hero-copy .lead {font-size:17px;max-width:46ch}
.hero-visual {border-radius:2px 120px 2px 2px}
.section-heading {margin-bottom:52px}
.section-heading p {font-size:15px}

/* — Chapter markers --------------------------------------------
   A running index gives the page the feel of a printed report. */
.chapter {display:flex;align-items:baseline;gap:16px;margin-bottom:26px}
.chapter-index {font-family:var(--serif);font-size:15px;color:var(--accent);letter-spacing:.02em}
.chapter .eyebrow {margin-bottom:0}

/* — Corporate facts rail ---------------------------------------- */
.glance-band {border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.glance {display:grid;grid-template-columns:repeat(5,1fr)}
.glance-item {padding:38px 30px 40px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:9px}
.glance-item:first-child {padding-left:0}
.glance-item:last-child {border-right:0;padding-right:0}
.glance-label {font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--accent)}
.glance-value {font-family:var(--serif);font-size:27px;line-height:1.15;letter-spacing:-.015em;color:var(--ink)}
.glance-note {font-size:12px;line-height:1.6;color:var(--muted);letter-spacing:.01em}

/* — Corporate structure ---------------------------------------- */
.structure {display:grid;gap:0;justify-items:center}
.org-parent {
  width:min(480px,100%);text-align:center;padding:38px 40px 40px;border-radius:2px 42px 2px 2px;
  background:linear-gradient(150deg,#1a343c,var(--navy-deep));color:#f6f2e7;box-shadow:var(--shadow);
}
.org-tier {display:inline-block;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold);margin-bottom:16px}
.org-parent h3 {font-family:var(--serif);font-weight:400;font-size:40px;letter-spacing:-.02em;margin-bottom:12px;color:#fbf8ef}
.org-parent p {font-size:13px;line-height:1.8;color:#b9c8c9;margin-bottom:16px}
.org-meta {font-size:11px;letter-spacing:.06em;color:#8fa3a5}
.org-branch {position:relative;width:100%;height:78px}
.org-branch span {position:absolute;background:var(--line)}
.org-stem {left:50%;top:0;width:1px;height:39px}
.org-rail {left:25%;right:25%;top:39px;height:1px}
.org-drop {top:39px;width:1px;height:39px}
.org-drop.a {left:25%}
.org-drop.b {left:75%}
.org-branch::after {
  content:"";position:absolute;left:calc(50% - 3px);top:36px;width:6px;height:6px;
  border-radius:50%;background:var(--accent);
}
.org-children {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:26px;width:100%}
.org-node {
  padding:32px 32px 34px;border:1px solid var(--line);border-radius:2px 30px 2px 2px;
  background:var(--surface);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);
}
.org-node:hover {transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--champagne)}
.org-node h3 {font-family:var(--serif);font-weight:400;font-size:31px;letter-spacing:-.02em;margin-bottom:12px}
.org-node p {font-size:14px;color:var(--muted);margin-bottom:16px}
.org-node .org-tier {color:var(--accent)}
.org-node .org-meta {color:var(--muted);display:block;padding-top:16px;border-top:1px solid var(--line)}
.structure-note {font-size:12px;line-height:1.85;color:var(--muted);max-width:74ch;margin:44px auto 0;text-align:center}

/* — Standards ledger -------------------------------------------- */
.ledger {border-top:1px solid var(--line)}
.ledger-row {
  display:grid;grid-template-columns:64px 1.15fr 1fr;gap:32px;align-items:baseline;
  padding:30px 0;border-bottom:1px solid var(--line);
}
.ledger-row dt {font-family:var(--serif);font-size:20px;color:var(--accent);letter-spacing:.02em}
.ledger-name {font-size:21px;font-weight:500;letter-spacing:-.025em;color:var(--ink)}
.ledger-row dd {margin:0;font-size:14px;line-height:1.8;color:var(--muted)}

/* — Cards and people -------------------------------------------- */
.person,.info-card,.entity-card,.sitemap-card {
  border-radius:2px 28px 2px 2px;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);
}
.person:hover,.info-card:hover,.entity-card:hover {transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--champagne)}
.person h3,.info-card h3,.entity-card h3 {font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
.person h3 {font-size:31px}
.initials {font-family:var(--serif);font-size:23px;border:1px solid var(--champagne);background:transparent}
.brand-feature {border-radius:2px 42px 2px 2px}
.contact-form {border-radius:2px 34px 2px 2px}
.callout {border-radius:2px 72px 2px 2px;padding:66px 62px}
.capability-strip .capability {padding:28px 22px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.page-hero {padding:64px 0 84px}
.page-hero h1 {font-size:clamp(48px,5.8vw,84px)}
.error-page .error-number {font-size:130px}

/* — Entrance motion ---------------------------------------------
   Progressive: without JS every element stays visible. */
.js [data-reveal] {opacity:0;transform:translateY(22px)}
.js [data-reveal].is-visible {opacity:1;transform:none;transition:opacity .85s var(--ease),transform .85s var(--ease)}
.js [data-reveal][data-reveal-delay="1"].is-visible {transition-delay:.09s}
.js [data-reveal][data-reveal-delay="2"].is-visible {transition-delay:.18s}
.js [data-reveal][data-reveal-delay="3"].is-visible {transition-delay:.27s}

@media (max-width:1120px) {
  .glance {grid-template-columns:repeat(3,1fr)}
  .glance-item:nth-child(3) {border-right:0;padding-right:0}
  .glance-item:nth-child(4) {padding-left:0}
  .glance-item:nth-child(-n+3) {border-bottom:1px solid var(--line)}
  .callout {padding:52px 46px}
}
@media (max-width:900px) {
  .hero {padding-block:56px 48px}
  .ledger-row {grid-template-columns:52px 1fr;gap:10px 22px}
  .ledger-row dd {grid-column:2}
  .org-parent {padding:32px 30px 34px}
  .org-parent h3 {font-size:34px}
  .org-node {padding:26px 26px 28px}
  .org-node h3 {font-size:27px}
}
@media (max-width:680px) {
  .hero {padding:40px 0 44px}
  .hero-copy h1 {font-size:clamp(46px,12.2vw,68px);letter-spacing:-.022em}
  .hero-copy .lead {font-size:16px}
  .section {padding-block:64px}
  .section-heading {margin-bottom:34px}
  .glance {grid-template-columns:1fr 1fr}
  .glance-item {padding:26px 18px 28px;border-bottom:1px solid var(--line)}
  .glance-item:nth-child(odd) {padding-left:0}
  .glance-item:nth-child(even) {border-right:0;padding-right:0}
  .glance-item:last-child {grid-column:1/-1;border-bottom:0;padding-right:18px}
  .glance-value {font-size:23px}
  .org-branch {height:54px}
  .org-stem {height:54px}
  .org-rail,.org-drop {display:none}
  .org-children {grid-template-columns:1fr;gap:18px}
  .callout {padding:40px 28px}
  .chapter {gap:12px;margin-bottom:20px}
  .structure-note {margin-top:32px;text-align:left}
  .page-hero {padding:38px 0 52px}
  .ledger-row {padding:24px 0}
  .ledger-name {font-size:19px}
}

/* — Premium layer, second pass ---------------------------------- */
/* Display-scale subheads join the serif voice; working-scale ones stay sans. */
.brand-detail h3 {font-family:var(--serif);font-weight:400;letter-spacing:-.02em;font-size:42px;line-height:1.08}
.contact-form h2,.legal-copy h2,.sitemap-card h2 {letter-spacing:-.02em}

/* The structure diagram reads as a plate, not as floating cards. */
.structure {
  padding:58px 48px 54px;border:1px solid var(--line);border-radius:2px 56px 2px 2px;
  background:var(--surface);
}
.org-parent {width:min(560px,100%)}
.org-branch span {background:var(--champagne)}
.org-node {background:var(--paper)}
.structure-note {margin-top:36px}

/* Hero headline sits on two balanced lines now. */
.hero-copy h1 {max-width:15ch}

@media (max-width:900px) {
  .structure {padding:40px 28px 38px}
  .brand-detail h3 {font-size:34px}
}
@media (max-width:680px) {
  .structure {padding:30px 20px 28px;border-radius:2px 36px 2px 2px}
  .brand-detail h3 {font-size:36px}
  .hero-copy h1 {max-width:none}
}

/* Hero headline is sized to hold each line intact beside the visual. */
.hero-grid {grid-template-columns:1.14fr 1fr;gap:64px}
.hero-copy h1 {font-size:clamp(44px,4.7vw,67px);max-width:none}
@media (max-width:1120px) {.hero-copy h1 {font-size:clamp(44px,4.9vw,58px)}}
@media (max-width:900px) {.hero-copy h1 {font-size:46px}}
@media (max-width:680px) {.hero-copy h1 {font-size:clamp(42px,11vw,60px)}}
@media (max-width:360px) {.hero-copy h1 {font-size:38px}}

/* Connector lines stay delicate but must remain visible on paper. */
.org-branch span {background:color-mix(in srgb,var(--accent) 34%,var(--line))}
.visual-bottom p {max-width:215px}

/* The eyebrow is a <p>, so the section-heading paragraph rule was capping
   its width and resizing it. Scope that rule to the standfirst only. */
.section-heading>p {max-width:340px}
.section-heading .eyebrow,.section-heading .chapter .eyebrow {
  max-width:none;font-size:10px;line-height:1.5;color:var(--accent);
}
.section-heading .chapter {margin-bottom:18px}

/* Instrument Serif is narrower than the fallback stack, so the hero headline
   can carry more size while still holding each line intact. */
.hero-copy h1 {font-size:clamp(46px,5.1vw,73px)}
@media (max-width:1120px) {.hero-copy h1 {font-size:clamp(46px,5.3vw,62px)}}
@media (max-width:900px) {.hero-copy h1 {font-size:49px}}
@media (max-width:680px) {.hero-copy h1 {font-size:clamp(44px,11.5vw,64px)}}
@media (max-width:360px) {.hero-copy h1 {font-size:40px}}

/* Drop lines land on the centre of each child card, allowing for the grid gap. */
.structure {--org-gap:26px}
.org-children {gap:var(--org-gap)}
.org-rail {left:calc(25% - var(--org-gap)/4);right:calc(25% - var(--org-gap)/4)}
.org-drop.a {left:calc(25% - var(--org-gap)/4)}
.org-drop.b {left:calc(75% + var(--org-gap)/4)}
@media (max-width:680px) {.structure {--org-gap:18px}}

/* The closing callout was leaving a wide dead band between copy and button. */
.callout>div {flex:1 1 auto;max-width:780px}
.callout p {max-width:66ch}

/* On a dark ground the parent node has to sit above its plate, not below it. */
[data-bs-theme="dark"] .org-parent {
  background:linear-gradient(150deg,#294850,#17313a);
  border:1px solid color-mix(in srgb,var(--gold) 42%,transparent);
  box-shadow:0 34px 80px -52px rgba(0,0,0,.9);
}
[data-bs-theme="dark"] .org-node {background:var(--soft)}

/* — Responsive repairs -----------------------------------------
   The premium layer restates rules that the base sheet varies by
   breakpoint. Because this layer is last, those variants have to be
   restated here or the desktop values would leak down to phones. */
@media (max-width:1120px) {
  .hero-grid {gap:40px}
  .capability-strip .capability {padding:24px 16px;font-size:10px}
}
@media (max-width:900px) {
  .hero-grid {grid-template-columns:1.1fr .9fr;gap:32px}
  .hero-visual {border-radius:2px 70px 2px 2px}
  .capability-strip .capability {padding:22px 14px;font-size:10px;gap:9px}
}
@media (max-width:680px) {
  .hero-grid {grid-template-columns:1fr;gap:34px}
  .hero-visual {border-radius:2px 78px 2px 2px}
  .section-heading>p {max-width:none;margin-top:22px}
  .capability-strip .capability {padding:21px 13px;font-size:10px;gap:10px}
  .callout>div {max-width:none}
}

/* Final polish. */
.info-card h3 {font-size:28px}
input,select,textarea {border-radius:6px}
