:root {
  color-scheme: light;
  --emet-ivory: #F8F5EE;
  --emet-paper: #FFFDF9;
  --emet-paper-warm: #F3EDE1;
  --emet-graphite: #171716;
  --emet-ink-soft: #49453F;
  --emet-taupe: #80786C;
  --emet-gold: #C99A4A;
  --emet-gold-light: #E8C986;
  --emet-gold-dark: #9B6B25;
  --emet-line: rgba(155, 107, 37, .22);
  --emet-success: #668D69;
  --emet-warning: #B77B34;
  --emet-danger: #A95F5F;
  --paper: var(--emet-ivory);
  --paper-deep: var(--emet-paper-warm);
  --white: var(--emet-paper);
  --ink: var(--emet-graphite);
  --muted: var(--emet-taupe);
  --gold: var(--emet-gold);
  --gold-dark: var(--emet-gold-dark);
  --gold-soft: color-mix(in srgb, var(--emet-gold-light) 68%, var(--emet-paper));
  --line: var(--emet-line);
  --night: var(--emet-graphite);
  --success-soft: color-mix(in srgb, var(--emet-success) 12%, var(--emet-paper));
  --success-dark: color-mix(in srgb, var(--emet-success) 70%, var(--emet-graphite));
  --gold-panel: color-mix(in srgb, var(--emet-paper-warm) 72%, var(--emet-paper));
  --paper-soft: color-mix(in srgb, var(--emet-gold-light) 14%, var(--emet-paper));
  --paper-gold: color-mix(in srgb, var(--emet-gold-light) 28%, var(--emet-paper));
  --ink-gold: color-mix(in srgb, var(--emet-gold-dark) 82%, var(--emet-graphite));
  --ink-muted: color-mix(in srgb, var(--emet-taupe) 76%, var(--emet-graphite));
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --sans: Inter, "Aptos", "Segoe UI", system-ui, sans-serif;
  --shell: 1240px;
  --ease: cubic-bezier(.2, .75, .25, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--emet-gold-light); color: var(--emet-graphite); }
:focus-visible { outline: 3px solid var(--emet-gold-dark); outline-offset: 3px; }
.shell { width: min(calc(100% - 64px), var(--shell)); margin-inline: auto; }
.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; z-index: 100; top: 10px; left: 10px; padding: 10px 14px; color: var(--white); background: var(--night); border-radius: 6px; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; z-index: 30; top: 0; border-bottom: 1px solid rgba(63, 56, 43, .1); background: rgba(247,244,237,.94); backdrop-filter: blur(16px); }
.nav-row { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: none; font-size: 14px; font-weight: 650; letter-spacing: .09em; white-space: nowrap; }
.brand-logo { display: block; width: 158px; height: auto; }
.brand-light { font-weight: 440; letter-spacing: .06em; }
.brand-mark { position: relative; width: 27px; height: 23px; display: inline-block; border-left: 2px solid var(--gold); border-radius: 55% 0 0 0; transform: skew(-18deg); }
.brand-mark::after { position: absolute; content: ""; left: 5px; top: 5px; width: 18px; height: 14px; border-top: 1.5px solid var(--gold); border-radius: 50%; transform: rotate(-22deg); }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(10px, 2vw, 31px); margin-left: auto; }
.nav-link { padding: 9px 12px; border-radius: 99px; font-size: 13px; color: var(--emet-taupe); transition: background .18s var(--ease), color .18s var(--ease); }
.nav-link:hover, .nav-link.active { background: var(--paper-deep); color: var(--ink); }
.nav-contact { padding-inline: 4px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.nav-contact:hover { color: var(--gold-dark); }
.menu-toggle { display: none; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; border: 1px solid transparent; border-radius: 999px; font-size: 14px; font-weight: 620; text-align: center; cursor: pointer; transition: transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease); }
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button-gold { color: var(--white); background: linear-gradient(135deg, var(--emet-gold), var(--emet-gold-dark)); box-shadow: 0 8px 20px rgba(126, 89, 34, .19); }
.button-gold:hover { background: linear-gradient(135deg, var(--emet-gold), var(--emet-gold-dark)); box-shadow: 0 11px 25px rgba(126, 89, 34, .25); }
.button-outline { border-color: var(--emet-gold-light); color: var(--emet-ink-soft); background: rgba(255,254,250,.52); }
.button-outline:hover { border-color: var(--gold); background: var(--white); }
.button-text { color: var(--emet-ink-soft); background: transparent; }
.button-text:hover { background: var(--paper-deep); }
.button-small { min-height: 42px; padding: 10px 17px; font-size: 13px; }
.button-light { color: var(--night); background: var(--paper); }
.button-light:hover { background: var(--white); }
.button-light-outline { border-color: rgba(255,255,255,.48); color: var(--white); background: transparent; }
.button-light-outline:hover { background: rgba(255,255,255,.1); }

.hero { min-height: 620px; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); align-items: center; gap: 32px; padding-block: 66px 58px; }
.hero-copy { position: relative; z-index: 1; padding-block: 10px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 19px; color: var(--emet-taupe); font-size: 11px; font-weight: 680; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.eyebrow-line { width: 23px; height: 1px; display: inline-block; background: var(--gold); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 440; letter-spacing: -.045em; }
h1 { max-width: 680px; margin-bottom: 22px; font-size: clamp(52px, 4.8vw, 68px); line-height: .99; }
h1 .hero-title-second { white-space: nowrap; }
h1 em, h2 em { color: var(--gold); font-weight: 420; }
.hero-subtitle { max-width: 600px; margin-bottom: 12px; font-family: var(--serif); font-size: clamp(21px, 2.2vw, 26px); line-height: 1.34; }
.hero-description { max-width: 485px; margin-bottom: 27px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.hero-callback { display: flex; align-items: center; flex-wrap: wrap; gap: 9px 15px; max-width: 680px; margin: 13px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.hero-callback-button { min-height: 42px; padding: 9px 15px; font-size: 13px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 19px 23px; margin-top: 35px; }
.trust-item { display: flex; align-items: center; gap: 10px; }
.trust-symbol { width: 33px; height: 33px; display: grid; flex: none; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--gold-dark); background: var(--white); font-family: var(--serif); font-size: 13px; }
.trust-item strong, .trust-item small { display: block; }
.trust-item strong { font-size: 12px; font-weight: 630; }
.trust-item small { margin-top: 2px; color: var(--emet-taupe); font-size: 11px; }

.hero-visual { position: relative; min-height: 500px; display: grid; place-items: center; isolation: isolate; color: var(--emet-gold); }
.hero-visual::before { position: absolute; z-index: -2; inset: 8% 6%; content: ""; border-radius: 50%; background: radial-gradient(ellipse, rgba(229,214,181,.4), rgba(247,244,237,0) 68%); }
.flow-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.flow-card { position: absolute; z-index: 2; width: 156px; min-height: 118px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 14px; border: 1px solid rgba(215,202,177,.76); border-radius: 16px; color: var(--ink); background: rgba(255,254,250,.9); box-shadow: 0 14px 34px rgba(72,58,33,.055); text-align: center; }
.flow-card strong { font-size: 14px; font-weight: 600; }
.flow-card small { max-width: 130px; color: var(--emet-taupe); font-size: 11px; line-height: 1.35; }
.flow-card-create { top: 9%; left: 1%; }
.flow-card-automate { top: 9%; right: 1%; }
.flow-card-build { bottom: 9%; left: 1%; }
.flow-card-connect { bottom: 9%; right: 1%; }
.flow-icon { position: relative; width: 24px; height: 20px; display: block; color: var(--gold); }
.icon-window { border: 1.6px solid currentColor; border-radius: 3px; }
.icon-window::before { position: absolute; inset: 4px 0 auto; content: ""; border-top: 1px solid currentColor; }
.icon-window::after { position: absolute; top: 1px; left: 3px; width: 2px; height: 2px; border-radius: 50%; content: ""; background: currentColor; box-shadow: 4px 0 currentColor; }
.icon-link { width: 17px; height: 17px; border: 1.7px solid currentColor; border-radius: 4px; transform: rotate(-45deg); }
.icon-link::before, .icon-link::after { position: absolute; width: 11px; height: 7px; border: 1.4px solid currentColor; border-radius: 6px; content: ""; background: var(--white); }
.icon-link::before { top: -5px; left: 7px; }.icon-link::after { right: 7px; bottom: -5px; }
.icon-code { font-size: 16px; font-weight: 550; letter-spacing: -.08em; }
.icon-nodes i { position: absolute; width: 7px; height: 7px; border: 1.5px solid currentColor; border-radius: 50%; background: var(--white); }
.icon-nodes i:nth-child(1) { top: 1px; left: 9px; }.icon-nodes i:nth-child(2) { bottom: 1px; left: 2px; }.icon-nodes i:nth-child(3) { right: 2px; bottom: 1px; }
.icon-nodes::before, .icon-nodes::after { position: absolute; top: 10px; left: 7px; width: 12px; height: 1px; content: ""; background: currentColor; transform: rotate(58deg); }
.icon-nodes::after { left: 5px; transform: rotate(-58deg); }
.flow-center { position: relative; z-index: 3; width: 126px; height: 100px; display: grid; place-items: center; border: 1px solid var(--emet-gold-light); border-radius: 22px; color: var(--emet-ink-soft); background: var(--paper-soft); box-shadow: 0 10px 26px rgba(100,75,35,.1); font-family: var(--serif); font-size: 19px; line-height: 1.1; text-align: center; }
.flow-center strong { color: var(--gold-dark); font-weight: 600; }
.center-orbit { position: absolute; inset: -9px; border: 1px solid rgba(181,135,61,.19); border-radius: 26px; transform: rotate(9deg); }
.visual-caption { position: absolute; bottom: -10px; left: 50%; display: flex; align-items: center; gap: 8px; width: max-content; margin: 0; color: var(--emet-taupe); font-size: 11px; transform: translateX(-50%); }
.visual-caption span { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }

.section { padding-block: 104px; }
.section-surface { background: rgba(255,254,250,.72); border-block: 1px solid rgba(226,219,206,.58); }
.section-heading { max-width: 680px; margin-bottom: 44px; }
.section-heading .eyebrow { margin-bottom: 14px; }
h2 { margin-bottom: 17px; font-size: clamp(40px, 5vw, 59px); line-height: 1.03; }
.section-heading > p:last-child { max-width: 590px; margin-bottom: 0; color: var(--muted); font-size: 16px; }
.section-heading-row { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 55px; }
.section-heading-row > p { max-width: 380px; margin-bottom: 5px; }
.entry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.entry-card { min-height: 238px; padding: 28px 29px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.entry-card-featured { border-color: var(--emet-gold-light); background: linear-gradient(145deg, var(--white), var(--paper-deep)); }
.entry-number, .offer-index { color: var(--emet-gold-dark); font-size: 10px; font-weight: 680; letter-spacing: .14em; }
.entry-card h3 { margin: 27px 0 9px; font-family: var(--serif); font-size: 27px; font-weight: 450; letter-spacing: -.025em; }
.entry-card p { min-height: 50px; margin-bottom: 19px; color: var(--muted); font-size: 16px; }
.inline-link, .text-link { padding: 0; border: 0; color: var(--emet-gold-dark); background: transparent; font-size: 13px; font-weight: 640; text-align: left; cursor: pointer; }
.inline-link:hover, .text-link:hover { color: var(--emet-ink-soft); text-decoration: underline; text-underline-offset: 4px; }

#capacites { padding-top: 111px; padding-bottom: 115px; }
.capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px 15px; }
.capability-card { min-height: 78px; display: flex; align-items: center; gap: 15px; padding: 13px 16px; border: 1px solid transparent; border-bottom-color: var(--line); background: transparent; text-align: left; cursor: pointer; transition: border-color .18s var(--ease), background .18s var(--ease), transform .18s var(--ease); }
.capability-card:hover { border-color: var(--line); border-radius: 12px; background: var(--white); transform: translateY(-2px); }
.cap-icon { width: 42px; height: 42px; display: grid; flex: none; place-items: center; border: 1px solid var(--line); border-radius: 13px; color: var(--emet-gold-dark); background: var(--paper-soft); font-family: var(--serif); font-size: 16px; }
.capability-card > span:nth-child(2) { flex: 1; }.capability-card strong, .capability-card small { display: block; }
.capability-card strong { font-size: 14px; font-weight: 620; }.capability-card small { margin-top: 3px; color: var(--muted); font-size: 14px; }
.cap-plus { color: var(--emet-taupe); font-family: var(--serif); font-size: 22px; }
.capability-note { display: flex; align-items: center; gap: 13px; margin-top: 24px; padding: 17px 20px; border-radius: 10px; background: var(--paper-deep); }
.capability-note p { margin: 0; font-size: 14px; }

.work-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.work-card { min-width: 0; overflow: hidden; padding-bottom: 25px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }
.work-art { position: relative; height: 224px; display: grid; place-items: center; overflow: hidden; border-bottom: 1px solid var(--line); }
.orvan-art { color: var(--emet-gold-light); background: radial-gradient(ellipse at 52% 40%, var(--emet-ink-soft) 0, var(--emet-graphite) 61%, var(--emet-graphite) 100%); }
.orvan-word { position: relative; z-index: 1; color: var(--paper-deep); font-family: var(--serif); font-size: clamp(38px,6vw,66px); letter-spacing: .11em; }
.art-label { position: absolute; z-index: 1; bottom: 25px; color: var(--emet-gold-light); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }
.art-path { position: absolute; width: 72%; height: 70%; border: 1px solid rgba(225,196,137,.2); border-radius: 50%; transform: rotate(-26deg); }
.art-path::before, .art-path::after { position: absolute; content: ""; border: 1px solid rgba(225,196,137,.2); border-radius: 50%; }
.art-path::before { inset: 14% -8%; transform: rotate(44deg); }.art-path::after { inset: -12% 18%; transform: rotate(-37deg); }
.art-node { position: absolute; z-index: 1; width: 9px; height: 9px; border: 1px solid var(--emet-gold-light); border-radius: 50%; background: var(--emet-graphite); box-shadow: 0 0 0 6px rgba(237,207,147,.09); }
.art-node-a { top: 28%; left: 25%; }.art-node-b { top: 57%; right: 21%; }.art-node-c { bottom: 23%; left: 40%; }
.martha-art { background: linear-gradient(135deg, var(--paper-deep), var(--paper) 54%, var(--paper-deep)); color: var(--emet-gold); }
.martha-monogram { position: relative; z-index: 2; color: var(--emet-graphite); font-family: var(--serif); font-size: 89px; font-weight: 400; letter-spacing: -.08em; }
.martha-art .art-label { color: var(--emet-gold-dark); }.orbit { position: absolute; width: 72%; height: 57%; border: 1px solid rgba(173,137,75,.29); border-radius: 50%; transform: rotate(-22deg); }
.orbit-two { width: 50%; height: 90%; transform: rotate(48deg); }.martha-dot { position: absolute; z-index: 2; width: 7px; height: 7px; border-radius: 50%; background: var(--emet-gold); box-shadow: 0 0 0 5px rgba(178,138,72,.14); }.martha-dot-a { top: 30%; left: 30%; }.martha-dot-b { right: 27%; bottom: 31%; }
.work-card > h3, .work-card > p, .work-card > .inline-link { margin-inline: 25px; }
.work-meta { display: flex; align-items: center; gap: 11px; margin: 20px 25px 10px; color: var(--emet-taupe); font-size: 11px; }
.status-pill { padding: 5px 9px; border-radius: 99px; font-size: 13px; font-weight: 620; }
.status-live { color: var(--success-dark); background: var(--success-soft); }.status-dev { color: var(--emet-gold-dark); background: var(--paper-deep); }
.work-card h3 { margin-top: 0; margin-bottom: 6px; font-family: var(--serif); font-size: 27px; font-weight: 450; }
.work-card p { min-height: 47px; margin-bottom: 15px; color: var(--muted); font-size: 16px; }

#offres { padding-top: 112px; padding-bottom: 116px; }
.offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 15px; align-items: stretch; }
.offer-card { display: flex; flex-direction: column; min-width: 0; padding: 27px 25px 25px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.offer-highlight { border-color: var(--emet-gold-light); background: linear-gradient(150deg,var(--white),var(--paper-deep)); box-shadow: 0 12px 28px rgba(90,71,39,.06); }
.offer-card h3 { margin: 25px 0 8px; font-family: var(--serif); font-size: 27px; font-weight: 450; }.offer-card > p { min-height: 69px; margin-bottom: 16px; color: var(--muted); font-size: 16px; }
.price { display: flex; align-items: baseline; gap: 7px; margin-bottom: 4px; }.price strong { font-family: var(--serif); font-size: 32px; font-weight: 480; }.price strong small { font-family: var(--sans); font-size: 12px; font-weight: 540; }.price > span { color: var(--muted); font-size: 14px; }.price-sub { padding-bottom: 12px; border-bottom: 1px solid var(--line); }.price-sub strong { font-size: 24px; }.price-neutral { min-height: 53px; margin-bottom: 8px; }.price-neutral strong { font-size: 23px; }
.offer-card ul { display: grid; gap: 9px; margin: 18px 0 23px; padding: 0; list-style: none; color: var(--emet-taupe); font-size: 14px; }.offer-card li { position: relative; padding-left: 20px; }.offer-card li::before { position: absolute; top: .55em; left: 0; width: 8px; height: 4px; border-bottom: 1px solid var(--gold); border-left: 1px solid var(--gold); content: ""; transform: rotate(-45deg); }.offer-card .button { width: 100%; margin-top: auto; }

.method-section { color: var(--paper-deep); background: var(--night); }.method-shell { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(45px, 9vw, 130px); padding-block: 100px; }.eyebrow-light { color: var(--emet-gold-light); }.method-intro h2 { margin-bottom: 20px; color: var(--white); font-size: clamp(44px,5.5vw,66px); }.method-intro h2 em { color: var(--emet-gold-light); }.method-intro > p:not(.eyebrow) { max-width: 400px; margin-bottom: 24px; color: var(--emet-taupe); font-size: 16px; }.method-list { display: grid; align-content: center; margin: 0; padding: 0; list-style: none; }.method-list li { display: flex; align-items: center; gap: 21px; min-height: 82px; border-bottom: 1px solid rgba(255,255,255,.15); }.method-list li:first-child { border-top: 1px solid rgba(255,255,255,.15); }.method-list li > span { color: var(--emet-gold-light); font-family: var(--serif); font-size: 17px; }.method-list strong, .method-list small { display: block; }.method-list strong { font-size: 16px; font-weight: 590; }.method-list small { margin-top: 4px; color: var(--emet-taupe); font-size: 14px; }

.local-section { padding-block: 94px 105px; }.local-card { min-height: 390px; display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--paper-deep); }.local-map { position: relative; min-height: 390px; overflow: hidden; background: radial-gradient(ellipse at 48% 49%,rgba(212,191,151,.68),rgba(225,216,196,.18) 60%,rgba(242,235,221,.04)); }.local-map::before, .local-map::after { position: absolute; inset: 0; content: ""; opacity: .43; background-image: linear-gradient(36deg,transparent 47%,rgba(160,137,95,.3) 47.2%,transparent 47.7%),linear-gradient(125deg,transparent 57%,rgba(160,137,95,.23) 57.2%,transparent 57.7%); background-size: 110px 88px, 148px 130px; }.map-ring { position: absolute; top: 50%; left: 50%; width: 290px; height: 290px; border: 1px solid rgba(157,126,73,.25); border-radius: 50%; transform: translate(-50%,-50%); }.map-ring-b { width: 208px; height: 208px; }.map-line { position: absolute; top: 50%; left: 18%; width: 67%; height: 1px; background: rgba(157,126,73,.38); transform: rotate(-27deg); }.map-line-b { transform: rotate(32deg); }.map-point { position: absolute; top: 48%; left: 49%; width: 14px; height: 14px; border: 3px solid var(--white); border-radius: 50%; background: var(--emet-gold-dark); box-shadow: 0 0 0 9px rgba(168,122,52,.2); }.map-label { position: absolute; right: 13%; bottom: 13%; color: var(--emet-gold-dark); font-family: var(--serif); font-size: 24px; letter-spacing: .14em; }
.local-copy { display: flex; flex-direction: column; align-items: start; justify-content: center; padding: clamp(30px,5vw,68px); }.local-copy .eyebrow { margin-bottom: 13px; }.local-copy h2 { margin-bottom: 15px; font-size: clamp(39px,4.5vw,53px); }.local-copy > p:not(.eyebrow) { max-width: 430px; color: var(--emet-taupe); font-size: 16px; }.response-note { display: flex; align-items: flex-start; gap: 9px; margin-block: 5px 21px; font-size: 14px!important; }.response-dot { width: 7px; height: 7px; flex: none; margin-top: 6px; border-radius: 50%; background: var(--emet-gold-dark); }
.closing-cta { color: var(--white); background: linear-gradient(120deg,var(--emet-graphite),var(--emet-graphite)); }.closing-inner { padding-block: 91px 96px; text-align: center; }.closing-inner .eyebrow { justify-content: center; }.closing-inner h2 { margin: 0 auto 15px; color: var(--white); font-size: clamp(43px,6vw,68px); }.closing-inner h2 em { color: var(--emet-gold-light); }.closing-inner > p:not(.eyebrow) { max-width: 570px; margin: 0 auto 25px; color: var(--emet-taupe); font-size: 16px; }.closing-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.site-footer { border-top: 1px solid rgba(61,56,46,.14); background: var(--paper); }.footer-grid { min-height: 102px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }.footer-brand { font-size: 12px; }.footer-grid p, .footer-grid > a:not(.brand), .footer-note { margin: 0; color: var(--emet-taupe); font-size: 12px; }.footer-grid > a:not(.brand):hover { color: var(--gold-dark); }

.flow-dialog { width: min(620px, calc(100vw - 28px)); max-height: min(90vh, 900px); padding: 0; overflow: auto; border: 1px solid var(--line); border-radius: 18px; color: var(--ink); background: var(--paper); box-shadow: 0 30px 80px rgba(28,25,19,.25); }
.flow-dialog::backdrop { background: rgba(29,27,23,.62); backdrop-filter: blur(4px); }.dialog-close-form { position: sticky; z-index: 3; top: 0; height: 0; display: flex; justify-content: flex-end; }.dialog-close { width: 42px; height: 42px; margin: 15px 15px 0 0; border: 1px solid var(--line); border-radius: 50%; color: var(--emet-taupe); background: var(--white); font-size: 25px; line-height: 1; cursor: pointer; }.dialog-content { padding: 38px clamp(23px,6vw,48px) 40px; }.dialog-content .eyebrow { margin-bottom: 12px; }.dialog-content h2 { margin-bottom: 11px; font-size: 39px; }.dialog-description, #project-dialog-copy { margin-bottom: 25px; color: var(--muted); font-size: 16px; }.request-form { display: grid; gap: 16px; }.request-form label { display: grid; gap: 7px; color: var(--emet-ink-soft); font-size: 13px; font-weight: 610; }.request-form input:not([type=checkbox]), .request-form textarea, .request-form select { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--white); font-size: 14px; font-weight: 430; }.request-form textarea { min-height: 120px; resize: vertical; }.request-form input::placeholder, .request-form textarea::placeholder { color: var(--emet-taupe); }.form-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.consent-label { display: flex!important; grid-template-columns: auto 1fr; align-items: start; gap: 10px!important; color: var(--emet-taupe)!important; font-size: 12px!important; font-weight: 450!important; }.consent-label input { width: 17px; height: 17px; flex: none; margin: 1px 0 0; accent-color: var(--gold-dark); }.form-note { margin: -4px 0 0; color: var(--emet-taupe); font-size: 14px; line-height: 1.5; }.form-submit { width: 100%; }.form-result { margin: 0; color: var(--success-dark); font-size: 16px; }.small-dialog { width: min(500px, calc(100vw - 28px)); }.small-dialog .dialog-content { padding-top: 54px; }.small-dialog .button { margin-top: 4px; }

@media (min-width: 1440px) { .hero { min-height: 680px; }.hero-visual { min-height: 550px; } }
@media (max-width: 1080px) { .shell { width: min(calc(100% - 48px), var(--shell)); }.main-nav { gap: 8px; }.nav-link { padding-inline: 9px; font-size: 13px; }.nav-contact { display: none; }.hero { grid-template-columns: minmax(0,1.28fr) minmax(0,.72fr); gap: 16px; }.hero-visual { min-height: 450px; }.flow-card { width: 139px; min-height: 108px; }.trust-row { gap: 15px; }.trust-item small { font-size: 10px; } }
@media (max-width: 820px) { .shell { width: min(calc(100% - 40px), var(--shell)); }.nav-row { min-height: 70px; gap: 13px; }.menu-toggle { width: 42px; height: 42px; display: grid; flex: none; place-items: center; margin-left: auto; border: 1px solid var(--line); border-radius: 50%; background: var(--white); cursor: pointer; }.menu-icon, .menu-icon::before, .menu-icon::after { width: 17px; height: 1.5px; display: block; position: relative; background: var(--ink); transition: transform .2s var(--ease); }.menu-icon::before, .menu-icon::after { position: absolute; left: 0; content: ""; }.menu-icon::before { top: -5px; }.menu-icon::after { top: 5px; }.menu-toggle[aria-expanded=true] .menu-icon { background: transparent; }.menu-toggle[aria-expanded=true] .menu-icon::before { top: 0; transform: rotate(45deg); }.menu-toggle[aria-expanded=true] .menu-icon::after { top: 0; transform: rotate(-45deg); }.main-nav { position: absolute; top: 69px; right: 0; left: 0; display: none; align-items: stretch; gap: 3px; padding: 12px 20px 18px; border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 15px 25px rgba(37,33,25,.09); }.main-nav.is-open { display: flex; flex-direction: column; }.nav-link { padding: 12px 14px; font-size: 14px; }.nav-contact { display: block; padding: 11px 14px; font-size: 13px; }.header-cta { margin-left: 0; }.hero { min-height: initial; grid-template-columns: 1fr; gap: 16px; padding-block: 63px 42px; }.hero-copy { max-width: 710px; }.hero-title-second { white-space: normal!important; }.hero-visual { width: min(100%, 580px); min-height: 470px; justify-self: center; }.section { padding-block: 80px; }.section-heading-row { align-items: start; flex-direction: column; gap: 0; }.entry-card { padding: 23px; }.entry-card h3 { margin-top: 22px; }.method-shell { grid-template-columns: .85fr 1.15fr; gap: 35px; padding-block: 76px; }.local-card { grid-template-columns: .9fr 1.1fr; }.local-map { min-height: 350px; }.local-copy { padding: 32px; }.footer-grid { flex-wrap: wrap; padding-block: 22px; } }
@media (max-width: 600px) { html { scroll-padding-top: 72px; }.shell { width: min(calc(100% - 36px), var(--shell)); }.nav-row { min-height: 66px; }.brand { gap: 8px; font-size: 12px; }.brand-logo { width: 130px; }.brand-mark { width: 23px; height: 20px; }.menu-toggle { order: 3; width: 39px; height: 39px; margin-left: 0; }.header-cta { min-height: 39px; padding: 8px 13px; font-size: 13px; }.main-nav { top: 65px; }.hero { padding-top: 49px; }.eyebrow { font-size: 10px; letter-spacing: .15em; }.hero h1 { font-size: clamp(46px, 12vw, 63px); }.hero-subtitle { font-size: 21px; }.hero-description { font-size: 16px; }.hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.hero-actions .button:first-child { grid-column: 1 / -1; }.hero-actions .button { min-height: 47px; padding-inline: 12px; font-size: 13px; }.trust-row { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 24px; }.trust-item small { font-size: 13px; }.hero-visual { min-height: 350px; margin-top: 8px; }.flow-lines { inset: 4% 0; }.flow-card { width: 119px; min-height: 93px; gap: 4px; padding: 9px; border-radius: 12px; }.flow-card strong { font-size: 12px; }.flow-card small { font-size: 13px; }.flow-card-create { top: 6%; left: 0; }.flow-card-automate { top: 6%; right: 0; }.flow-card-build { bottom: 8%; left: 0; }.flow-card-connect { right: 0; bottom: 8%; }.flow-center { width: 106px; height: 86px; font-size: 17px; }.visual-caption { bottom: -1px; font-size: 10px; }.section { padding-block: 67px; }.section-heading { margin-bottom: 30px; }.section-heading h2, h2 { font-size: clamp(37px, 10vw, 49px); }.section-heading > p:last-child { font-size: 16px; }.entry-grid { grid-template-columns: 1fr; gap: 10px; }.entry-card { min-height: 0; padding: 21px 22px; }.entry-card h3 { margin-top: 18px; font-size: 25px; }.entry-card p { min-height: 0; margin-bottom: 14px; }.capability-grid { grid-template-columns: 1fr; gap: 3px; }.capability-card { min-height: 72px; }.capability-card small { font-size: 14px; }.capability-note { align-items: flex-start; padding: 14px; }.capability-note p { font-size: 14px; }.work-grid { grid-template-columns: 1fr; gap: 14px; }.work-art { height: 190px; }.work-card > h3, .work-card > p, .work-card > .inline-link { margin-inline: 20px; }.work-meta { margin-inline: 20px; }.work-card h3 { font-size: 25px; }.work-card p { min-height: 0; }.offer-grid { grid-template-columns: 1fr; gap: 11px; }.offer-card { padding: 23px 22px; }.offer-card h3 { margin-top: 19px; }.offer-card > p { min-height: 0; }.offer-card ul { margin-block: 15px 20px; }.method-shell { grid-template-columns: 1fr; gap: 32px; padding-block: 66px; }.method-intro h2 { font-size: 49px; }.method-list li { min-height: 75px; }.method-list strong { font-size: 14px; }.local-section { padding-block: 66px; }.local-card { grid-template-columns: 1fr; }.local-map { min-height: 208px; }.map-ring { width: 220px; height: 220px; }.map-ring-b { width: 158px; height: 158px; }.local-copy { padding: 28px 23px 28px; }.local-copy h2 { font-size: 43px; }.local-copy .button { width: 100%; }.closing-inner { padding-block: 66px 72px; }.closing-inner h2 { font-size: 48px; }.closing-inner > p:not(.eyebrow) { font-size: 16px; }.closing-actions { display: grid; }.footer-grid { display: grid; grid-template-columns: 1fr; gap: 12px; padding-block: 25px; }.footer-note { font-size: 11px; }.dialog-content { padding: 43px 20px 28px; }.dialog-content h2 { font-size: 33px; }.form-two { grid-template-columns: 1fr; gap: 15px; }.request-form { gap: 15px; }.dialog-close { margin: 10px 10px 0 0; } }
@media (max-width: 375px) { .shell { width: calc(100% - 30px); }.brand { font-size: 11px; }.brand-logo { width: 116px; }.header-cta { padding-inline: 10px; font-size: 10px; }.hero h1 { font-size: 43px; }.hero-visual { min-height: 320px; }.flow-card { width: 105px; min-height: 87px; }.flow-center { width: 94px; height: 78px; font-size: 16px; }.hero-actions .button { font-size: 12px; }.trust-item strong { font-size: 11px; }.local-copy { padding-inline: 20px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; } }

.email-fallback { color: var(--emet-gold-dark); font-size: 13px; font-weight: 640; text-align: center; text-decoration: underline; text-underline-offset: 3px; }
.email-fallback[hidden] { display: none; }
.request-form input[type="file"] { padding: 8px!important; font-size: 12px!important; }
.request-form input[type="file"]::file-selector-button { margin-right: 10px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; color: var(--emet-ink-soft); background: var(--paper); cursor: pointer; }

.request-step[hidden], .request-wizard-progress[hidden], .request-wizard-controls[hidden], [data-wizard-next][hidden], [data-wizard-submit][hidden] { display: none!important; }
.request-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.request-step legend { grid-column: 1 / -1; margin-bottom: 2px; color: var(--emet-graphite); font-family: var(--serif); font-size: clamp(23px, 3vw, 31px); font-weight: 500; }
.request-wizard-progress { display: grid; gap: 12px; }
.request-wizard-progress > p { margin: 0; color: var(--emet-taupe); font-size: 13px; }
.request-wizard-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.request-wizard-steps li { color: var(--emet-taupe); font-size: 12px; }
.request-wizard-steps li[aria-current="step"] { color: var(--emet-graphite); font-weight: 700; }
.request-wizard-track { height: 4px; overflow: hidden; border-radius: 999px; background: var(--emet-paper-warm); }
.request-wizard-track span { display: block; width: 25%; height: 100%; border-radius: inherit; background: var(--emet-gold-dark); transition: width 180ms ease; }
.request-wizard-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.request-wizard-controls > span { color: var(--emet-taupe); font-size: 13px; }
.request-review { display: grid; gap: 16px; }
.request-review-summary { display: grid; grid-template-columns: minmax(100px, .4fr) 1fr; gap: 8px 14px; margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.request-review-summary:empty { display: none; }
.request-review-summary dt { color: var(--emet-taupe); font-size: 13px; }
.request-review-summary dd { min-width: 0; margin: 0; color: var(--emet-graphite); font-size: 14px; overflow-wrap: anywhere; }

@media (max-width: 600px) {
  .request-wizard-steps { gap: 4px; }
  .request-wizard-steps li { font-size: 10px; }
  .request-wizard-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .request-wizard-controls > span { grid-column: 1 / -1; grid-row: 1; text-align: center; }
  .request-wizard-controls .button { width: 100%; min-height: 46px; }
  .request-review-summary { grid-template-columns: 1fr; gap: 3px; }
  .request-review-summary dd { margin-bottom: 8px; }
}
.estimator-section { border-block: 1px solid var(--line); background: var(--paper-deep); }
.estimator-section .section-heading { margin-bottom: 34px; }
.estimator-card { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(280px,.72fr); gap: 28px; padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); box-shadow: 0 16px 34px rgba(63,54,39,.045); }
.estimator-form { display: grid; align-content: start; gap: 17px; }
.estimator-form > label, .estimator-form .form-two label { display: grid; gap: 7px; color: var(--emet-ink-soft); font-size: 13px; font-weight: 610; }
.estimator-form select { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--white); font-size: 14px; font-weight: 430; }
.module-options { min-width: 0; margin: 0; padding: 0; border: 0; }
.module-options legend { margin-bottom: 10px; color: var(--emet-ink-soft); font-size: 13px; font-weight: 610; }
.module-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.module-grid label { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--emet-taupe); background: var(--white); font-size: 12px; cursor: pointer; }
.module-grid label:has(input:checked) { border-color: var(--emet-gold-light); color: var(--emet-ink-soft); background: var(--paper-soft); }
.module-grid input { width: 16px; height: 16px; margin: 0; accent-color: var(--gold-dark); }
.estimate-result { display: flex; flex-direction: column; align-items: start; padding: 24px; border: 1px solid var(--paper-deep); border-radius: 13px; background: var(--paper-soft); }
.result-kicker { color: var(--emet-gold-dark); font-size: 10px; font-weight: 670; letter-spacing: .16em; text-transform: uppercase; }
.estimate-result h3 { margin: 15px 0 7px; font-family: var(--serif); font-size: 25px; font-weight: 460; }
.estimate-result > p { min-height: 85px; margin-bottom: 12px; color: var(--emet-taupe); font-size: 13px; }
.estimate-rule { display: flex; align-items: flex-start; gap: 10px; margin: auto 0 19px; padding-top: 15px; border-top: 1px solid var(--line); }
.validation-mark { width: 22px; height: 22px; display: grid; flex: none; place-items: center; border-radius: 50%; color: var(--success-dark); background: var(--success-soft); font-size: 12px; }
.estimate-rule p { margin: 0; color: var(--emet-taupe); font-size: 12px; }
.estimate-result .button { width: 100%; }
@media (max-width: 820px) { .estimator-card { grid-template-columns: 1fr; }.estimate-result > p { min-height: 0; } }
@media (max-width: 600px) { .estimator-card { gap: 20px; padding: 17px; }.module-grid { grid-template-columns: 1fr; }.estimate-result { padding: 20px; } }

.button-gold { color: var(--emet-graphite); }
.button:focus-visible, .nav-link:focus-visible, .nav-contact:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--emet-gold-dark); outline-offset: 3px; }
.content-page { min-height: 68vh; }
.page-hero { padding-block: clamp(52px, 8vw, 108px) 42px; }
.page-hero h1 { max-width: 900px; margin: 14px 0 22px; font-family: var(--serif); font-size: clamp(42px, 6vw, 70px); font-weight: 430; line-height: 1.04; letter-spacing: -.045em; }
.page-lead { max-width: 760px; margin: 0 0 24px; color: var(--emet-ink-soft); font-size: clamp(17px, 2vw, 20px); line-height: 1.65; }
.page-hero > p:not(.eyebrow):not(.page-lead) { max-width: 720px; color: var(--muted); line-height: 1.7; }
.page-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding-bottom: 70px; }
.content-card { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: 0 12px 28px rgba(63,54,39,.035); }
.content-card h2 { margin: 0 0 12px; font-family: var(--serif); font-size: 28px; font-weight: 460; }
.content-card p, .content-card li { color: var(--emet-ink-soft); font-size: 15px; line-height: 1.7; }
.content-card ul, .content-card ol { display: grid; gap: 9px; padding-left: 22px; }
.draft-notice, .notice-soft { padding: 15px 18px; border: 1px solid rgba(183,123,52,.3); border-radius: 12px; color: var(--emet-ink-soft); background: rgba(232,201,134,.18); line-height: 1.55; }
.draft-notice { max-width: 760px; margin: 20px 0; }
.form-section { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr); align-items: start; gap: 24px; padding-bottom: 80px; }
.callback-form-section { grid-template-columns: minmax(0, 760px); justify-content: center; }
.callback-hours { max-width: 720px; margin: -9px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.callback-form-section .form-card { width: 100%; }
.callback-form-section .form-card textarea { min-height: 88px; }
.form-optional { color: var(--muted); font-size: 12px; font-weight: 450; }
.form-card { display: grid; gap: 20px; padding: clamp(20px, 3vw, 36px); border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: 0 16px 36px rgba(63,54,39,.05); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 17px; }
.form-grid > label, .form-card > label:not(.consent-label), .form-card label:has(select), .form-card label:has(input[type="file"]) { display: grid; align-content: start; gap: 7px; color: var(--emet-ink-soft); font-size: 13px; font-weight: 620; }
.form-card input:not([type="checkbox"]):not([type="file"]), .form-card select, .form-card textarea { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid rgba(73,69,63,.22); border-radius: 10px; color: var(--emet-graphite); background: #fffefa; font: inherit; font-size: 15px; font-weight: 430; }
.form-card textarea { min-height: 92px; resize: vertical; line-height: 1.55; }
.form-card input[type="file"] { width: 100%; min-height: 44px; padding: 8px; border: 1px dashed rgba(155,107,37,.4); border-radius: 10px; background: #fffefa; color: var(--emet-ink-soft); }
.form-card small { color: var(--muted); font-size: 12px; font-weight: 420; line-height: 1.5; }
.field-full { grid-column: 1 / -1; }
.consent-label { display: flex; align-items: flex-start; gap: 10px; color: var(--emet-ink-soft); font-size: 13px; line-height: 1.55; }
.consent-label input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--gold-dark); }
.consent-label a { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 3px; }
.form-note { margin: -7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.form-submit { justify-self: start; }
.form-side-note { position: sticky; top: 110px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper-soft); }
.form-side-note h2 { font-family: var(--serif); font-size: 27px; font-weight: 450; line-height: 1.2; }
.form-side-note p:not(.eyebrow) { color: var(--muted); line-height: 1.7; }
.alert-error { padding: 14px 16px; border: 1px solid rgba(169,95,95,.4); border-radius: 11px; color: #6f3333; background: rgba(169,95,95,.08); }
.alert-error ul { margin: 8px 0 0; padding-left: 20px; }
.alert-success { margin-block: 12px; padding: 12px 16px; border: 1px solid rgba(102,141,105,.35); border-radius: 10px; color: #294c2d; background: rgba(102,141,105,.1); }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.estimator-intro { display: grid; align-content: start; gap: 14px; padding: 18px; }
.estimator-intro > strong { font-family: var(--serif); font-size: 29px; font-weight: 460; }
.estimator-intro p { color: var(--muted); line-height: 1.65; }
.estimate-rule-wide { margin-block: 22px; }
.capability-grid-wide { grid-template-columns: repeat(2, minmax(0,1fr)); }
.work-card .work-art { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.work-card .art-label { z-index: 1; bottom: 16px; }
.project-abstract { display: flex; min-height: 240px; max-width: 760px; flex-direction: column; align-items: center; justify-content: center; gap: 12px; margin-top: 36px; border: 1px solid var(--line); border-radius: 20px; color: var(--gold-dark); background: radial-gradient(circle at 50% 50%, var(--paper-gold), var(--paper-soft) 60%, var(--white)); }
.project-abstract span { font-family: var(--serif); font-size: 42px; }
.project-abstract small { color: var(--muted); }
.success-page { min-height: 55vh; }
.footer-links { display: flex; flex-wrap: wrap; gap: 16px; }

.admin-body { min-height: 100vh; background: #f4f1e9; }
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 240px minmax(0,1fr); }
.admin-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 24px; padding: 25px 16px; border-right: 1px solid var(--line); background: #fbf9f4; }
.admin-sidebar .brand { padding: 0 8px; }
.admin-sidebar nav { display: grid; gap: 4px; overflow-y: auto; }
.admin-sidebar nav a, .admin-public-link { padding: 10px 12px; border-radius: 9px; color: var(--emet-ink-soft); font-size: 13px; text-decoration: none; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.is-current { color: var(--emet-graphite); background: var(--paper-gold); }
.admin-public-link { margin-top: auto; border: 1px solid var(--line); }
.admin-main { min-width: 0; }
.admin-topbar { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px clamp(20px,4vw,48px); border-bottom: 1px solid var(--line); background: var(--white); }
.admin-topbar .eyebrow { margin: 0 0 4px; }
.admin-topbar > div:last-child { display: flex; align-items: center; gap: 18px; color: var(--muted); font-size: 13px; }
.admin-topbar form { display: inline; }
.admin-quiet-button { padding: 7px 11px; border: 1px solid var(--line); border-radius: 8px; background: transparent; color: var(--ink); cursor: pointer; }
.admin-content { display: grid; gap: 20px; padding: 28px clamp(20px,4vw,48px) 60px; }
.admin-flash { margin: 18px clamp(20px,4vw,48px) 0; }
.admin-panel, .admin-stat { min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); box-shadow: 0 10px 28px rgba(63,54,39,.035); }
.admin-panel h2 { margin: 0 0 14px; font-family: var(--serif); font-size: 26px; font-weight: 450; }
.admin-panel p { color: var(--muted); line-height: 1.6; }
.admin-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.admin-stat { display: grid; gap: 12px; color: var(--ink); text-decoration: none; }
.admin-stat span { color: var(--muted); font-size: 12px; }
.admin-stat strong { font-family: var(--serif); font-size: 32px; font-weight: 450; }
.admin-stat.is-warning { border-color: rgba(183,123,52,.4); background: rgba(232,201,134,.15); }
.admin-two-col { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 18px; }
.admin-panel-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.admin-panel-heading h2 { margin-bottom: 0; }
.admin-panel-heading p, .admin-panel-heading span { margin: 0; color: var(--muted); font-size: 12px; }
.admin-list-row { display: flex; justify-content: space-between; gap: 12px; padding: 13px 0; border-top: 1px solid rgba(155,107,37,.12); color: var(--ink); text-decoration: none; }
.admin-list-row span:first-child { display: grid; gap: 4px; }
.admin-list-row small, .admin-table-wrap small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.admin-status { align-self: flex-start; padding: 5px 8px; border-radius: 999px; background: var(--paper-soft); color: var(--muted); font-size: 11px; }
.status-pending { color: #6b4c22; background: rgba(232,201,134,.35); }
.admin-empty { padding: 12px 0; }
.admin-readiness ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 20px; padding-left: 19px; color: var(--muted); }
.admin-table-wrap { width: 100%; overflow-x: auto; }
.admin-table-wrap table { width: 100%; border-collapse: collapse; text-align: left; font-size: 13px; }
.admin-table-wrap th, .admin-table-wrap td { min-width: 100px; padding: 12px 10px; border-bottom: 1px solid rgba(155,107,37,.15); vertical-align: top; }
.admin-table-wrap th { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.admin-table-wrap a { color: var(--gold-dark); text-underline-offset: 2px; }
.admin-description { min-width: 260px; max-width: 420px; white-space: normal; }
.admin-button { min-height: 38px; padding: 8px 12px; border: 1px solid var(--emet-gold-light); border-radius: 9px; color: var(--emet-graphite); background: var(--paper-gold); font: inherit; font-size: 12px; cursor: pointer; }
.admin-inline-form { display: flex; flex-wrap: wrap; gap: 6px; }
.admin-inline-form select, .admin-form-grid input, .admin-form-grid select, .admin-form-grid textarea, .admin-offer input { min-height: 40px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: #fffefa; font: inherit; font-size: 13px; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin-top: 18px; }
.admin-form-grid > label, .admin-offer label:not(.consent-label) { display: grid; align-content: start; gap: 6px; color: var(--emet-ink-soft); font-size: 12px; font-weight: 620; }
.admin-form-grid .field-full { grid-column: 1 / -1; }
.admin-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.admin-offer { display: grid; align-content: start; gap: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.admin-offer h3 { margin: 0; font-family: var(--serif); font-size: 21px; font-weight: 450; }
.admin-offer p { margin: 0; font-size: 12px; }
.admin-record { padding: 13px 0; border-top: 1px solid var(--line); }
.admin-login { width: min(100% - 36px, 480px); display: grid; gap: 20px; margin: 9vh auto; }
.admin-login h1 { margin: 0; font-family: var(--serif); font-size: 44px; font-weight: 450; line-height: 1.07; }
.admin-login-form label { display: grid; gap: 7px; color: var(--muted); font-size: 13px; }
.admin-login-form input { min-height: 46px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 9px; font: inherit; }
.admin-login .admin-public-link { margin: 0; }
.admin-two-col > .admin-panel { min-width: 0; }
@media (max-width: 1050px) { .admin-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }.admin-card-grid { grid-template-columns: 1fr; }.form-side-note { position: static; } }
@media (max-width: 760px) { .page-sections, .form-section, .admin-shell, .admin-two-col { grid-template-columns: 1fr; }.form-side-note { order: -1; }.admin-sidebar { position: static; height: auto; padding: 14px; border-right: 0; border-bottom: 1px solid var(--line); }.admin-sidebar nav { grid-template-columns: repeat(3,minmax(0,1fr)); max-height: 210px; }.admin-sidebar nav a { padding: 8px; font-size: 11px; }.admin-sidebar .admin-public-link { display: none; }.admin-topbar { min-height: 72px; padding-inline: 16px; }.admin-topbar > div:last-child { display: grid; gap: 5px; text-align: right; }.admin-content { gap: 14px; padding: 16px 14px 42px; }.admin-flash { margin-inline: 14px; }.admin-readiness ul { grid-template-columns: 1fr; }.admin-form-grid, .form-grid, .capability-grid-wide { grid-template-columns: 1fr; }.field-full { grid-column: auto; }.admin-cards { grid-template-columns: 1fr 1fr; }.admin-panel { padding: 16px; }.form-submit { justify-self: stretch; }.page-hero { padding-top: 48px; }.page-sections { padding-bottom: 50px; } }
@media (max-width: 420px) { .admin-cards { grid-template-columns: 1fr; }.admin-sidebar nav { grid-template-columns: repeat(2,minmax(0,1fr)); }.admin-topbar strong { font-size: 13px; }.page-hero h1 { font-size: 39px; }.content-card { padding: 20px; } }

/* Public offer pages */
.benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.benefit-grid > .content-card { min-width: 0; }
.problem-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.problem-card { display: flex; flex-direction: column; min-width: 0; min-height: 258px; }
.problem-kicker { margin-bottom: 15px; color: var(--emet-gold-dark); font-size: 10px; font-weight: 680; letter-spacing: .12em; line-height: 1.5; text-transform: uppercase; }
.problem-card h3 { margin: 0 0 11px; font-family: var(--serif); font-size: clamp(23px, 2.25vw, 30px); font-weight: 450; letter-spacing: -.025em; line-height: 1.18; }
.problem-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.problem-card .problem-proof { margin-top: auto; padding-top: 17px; border-top: 1px solid var(--line); font-size: 12px; }
.problem-card .problem-proof strong { color: var(--emet-ink-soft); }
.problem-card .problem-link { margin-top: 10px; }
.benefit-number { width: 38px; height: 38px; display: inline-grid; place-items: center; margin-bottom: 20px; border: 1px solid var(--line); border-radius: 50%; color: var(--gold-dark); background: var(--paper-soft); font-size: 11px; letter-spacing: .08em; }
.offer-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.offer-disclaimer { max-width: 840px; margin: 22px 0 0; padding: 14px 17px; border-left: 2px solid var(--emet-gold); color: var(--muted); background: rgba(232,201,134,.13); font-size: 14px; line-height: 1.6; }
.founder-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); align-items: center; gap: clamp(28px, 6vw, 82px); }
.founder-hero > div > p:not(.eyebrow) { max-width: 690px; color: var(--emet-ink-soft); line-height: 1.7; }
.founder-price-card { padding: clamp(22px, 3vw, 34px); border: 1px solid var(--emet-gold-light); border-radius: 18px; background: linear-gradient(150deg, var(--white), var(--paper-deep)); box-shadow: 0 15px 38px rgba(90,71,39,.07); }
.founder-price-card > p:not(.founder-price) { color: var(--muted); font-size: 14px; line-height: 1.65; }
.founder-price { margin: 12px 0 8px; color: var(--emet-graphite); font-family: var(--serif); font-size: clamp(43px, 5vw, 62px); line-height: 1; }
.founder-price small { font-family: var(--sans); font-size: 14px; }
.founder-price-taxed { margin: 0 0 15px; color: var(--emet-gold-dark); font-size: 14px; font-weight: 640; }
.module-catalogue { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.module-catalogue-card { min-width: 0; display: flex; align-items: flex-start; gap: 15px; padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.module-catalogue-card > span { color: var(--gold-dark); font-family: var(--serif); font-size: 18px; }
.module-catalogue-card h3, .catalogue-card h3 { margin: 0 0 6px; font-family: var(--serif); font-size: 21px; font-weight: 460; }
.module-catalogue-card p, .catalogue-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.routine-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr); align-items: center; gap: clamp(28px, 6vw, 80px); }
.routine-layout > div > p:not(.eyebrow) { color: var(--emet-ink-soft); line-height: 1.7; }
.routine-layout .content-card { min-width: 0; }
.scope-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 26px; max-width: 1050px; margin: 0 0 24px; padding: 0; list-style: none; }
.scope-list li { position: relative; padding: 13px 15px 13px 34px; border: 1px solid var(--line); border-radius: 10px; color: var(--emet-ink-soft); background: var(--white); font-size: 14px; line-height: 1.55; }
.scope-list li::before { position: absolute; top: 21px; left: 15px; width: 7px; height: 7px; border-radius: 50%; background: var(--emet-gold); content: ""; }
.delivery-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: delivery; }
.delivery-list li { display: grid; align-content: start; gap: 8px; min-height: 130px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); counter-increment: delivery; }
.delivery-list li::before { color: var(--gold-dark); font-size: 11px; letter-spacing: .12em; content: "ÉTAPE 0" counter(delivery); }
.delivery-list strong { font-family: var(--serif); font-size: 19px; font-weight: 460; }
.delivery-list span { color: var(--muted); font-size: 13px; line-height: 1.55; }
.catalogue-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.catalogue-card { min-width: 0; padding: 23px; }
.martha-note { padding-block: 76px; border-block: 1px solid var(--line); background: var(--paper-deep); }
.martha-note-inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: clamp(28px, 7vw, 100px); }
.martha-note-inner h2 { max-width: 520px; margin: 0; font-size: clamp(38px, 4.8vw, 58px); }
.martha-note-inner > div:last-child p { max-width: 700px; color: var(--emet-ink-soft); line-height: 1.75; }
.module-choice-fieldset { min-width: 0; margin: 0; padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.module-choice-fieldset legend { padding-inline: 5px; color: var(--emet-graphite); font-size: 14px; font-weight: 650; }
.founder-module-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.form-card .check-card { min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; color: var(--emet-ink-soft); background: var(--white); cursor: pointer; font-size: 13px; font-weight: 500; }
.form-card .check-card:has(input:checked) { border-color: var(--emet-gold); background: rgba(232,201,134,.16); }
.form-card .check-card input { width: 17px; height: 17px; flex: none; margin: 0; accent-color: var(--gold-dark); }
.form-card .check-card span { line-height: 1.35; }
@media (max-width: 1000px) { .benefit-grid, .catalogue-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }.delivery-list { grid-template-columns: repeat(2, minmax(0,1fr)); }.founder-hero { grid-template-columns: minmax(0,1fr) minmax(230px,.72fr); gap: 25px; } }
@media (max-width: 760px) { .founder-hero, .routine-layout, .martha-note-inner { grid-template-columns: 1fr; }.founder-price-card { max-width: 520px; }.scope-list { grid-template-columns: 1fr; }.module-catalogue { grid-template-columns: 1fr; }.offer-grid-two { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .benefit-grid, .problem-grid, .catalogue-grid, .delivery-list, .founder-module-options { grid-template-columns: 1fr; }.problem-card { min-height: 0; }.founder-hero { gap: 22px; }.founder-price-card { padding: 22px; }.module-catalogue-card { padding: 16px; }.catalogue-card { padding: 20px; }.martha-note { padding-block: 60px; }.module-choice-fieldset { padding: 13px; }.form-card .check-card { min-height: 44px; } }

/* EMET midnight-blue identity: public pages only. */
body:not(.admin-body) {
  --emet-ivory: #0B1220;
  --emet-paper: #10192A;
  --emet-paper-warm: #142039;
  --emet-ink-soft: #DCE3EE;
  --emet-taupe: #AAB5C5;
  --emet-gold: #111111;
  --emet-gold-light: #050505;
  --emet-gold-dark: #050505;
  --emet-line: rgba(255, 255, 255, .14);
  --emet-success: #D3DCE8;
  --emet-warning: #C8D2E0;
  --paper: #0B1220;
  --paper-deep: #142039;
  --white: #10192A;
  --ink: #F4F7FB;
  --muted: #AAB5C5;
  --gold: #111111;
  --gold-dark: #050505;
  --gold-soft: rgba(255, 255, 255, .07);
  --line: rgba(255, 255, 255, .14);
  --night: #0B1220;
  --success-soft: rgba(255, 255, 255, .09);
  --success-dark: #E1E7F0;
  --gold-panel: #111C30;
  --paper-soft: #111C30;
  --paper-gold: #16233B;
  --ink-gold: #F4F7FB;
  --ink-muted: #AAB5C5;
  color-scheme: dark;
  color: var(--ink);
  background: var(--paper);
}
body:not(.admin-body) ::selection { color: #050505; background: #F4F7FB; }
body:not(.admin-body) :focus-visible { outline-color: #F4F7FB; }
body:not(.admin-body) .site-header { border-bottom-color: rgba(255, 255, 255, .12); background: rgba(11, 18, 32, .97); }
body:not(.admin-body) .site-header .brand-logo { filter: brightness(0) invert(1); }
body:not(.admin-body) .site-footer .brand-logo { filter: brightness(0); }
body:not(.admin-body) .site-header .brand { color: #F4F7FB; }
body:not(.admin-body) .site-header .nav-link,
body:not(.admin-body) .site-header .nav-contact { color: #F4F7FB; }
body:not(.admin-body) .site-header .nav-link:hover,
body:not(.admin-body) .site-header .nav-link.active { color: #FFFFFF; background: #142039; }
body:not(.admin-body) .site-header :focus-visible { outline-color: #FFFFFF; }
body:not(.admin-body) .site-header .header-cta { border-color: #F4F7FB; color: #050505; background: #F4F7FB; }
body:not(.admin-body) .site-header .header-cta:hover { border-color: #FFFFFF; background: #FFFFFF; }
body:not(.admin-body) .main-nav { border-bottom-color: rgba(255, 255, 255, .14); background: #0B1220; box-shadow: 0 15px 25px rgba(0, 0, 0, .3); }
body:not(.admin-body) .menu-toggle { border-color: rgba(255, 255, 255, .35); color: #FFFFFF; background: #10192A; }
body:not(.admin-body) .menu-icon,
body:not(.admin-body) .menu-icon::before,
body:not(.admin-body) .menu-icon::after { background: #FFFFFF; }
body:not(.admin-body) .menu-icon { background: #FFFFFF; }
body:not(.admin-body) .menu-icon::before { background: #FFFFFF; }
body:not(.admin-body) .menu-toggle[aria-expanded=true] .menu-icon { background: transparent; }
body:not(.admin-body) h1 em,
body:not(.admin-body) h2 em { color: #FFFFFF; background-color: transparent; }
body:not(.admin-body) .hero-visual { color: #F4F7FB; }
body:not(.admin-body) .hero-visual::before { background: radial-gradient(ellipse, rgba(255, 255, 255, .08), transparent 68%); }
body:not(.admin-body) .flow-card { border-color: #E9EDF2; color: #050505; background: #F4F7FB; box-shadow: 0 14px 34px rgba(0, 0, 0, .24); }
body:not(.admin-body) .flow-card small { color: #606B7B; }
body:not(.admin-body) .flow-center { border-color: #F4F7FB; color: #050505; background: #F4F7FB; box-shadow: 0 10px 26px rgba(0, 0, 0, .28); }
body:not(.admin-body) .flow-center strong { color: #050505; }
body:not(.admin-body) .center-orbit { border-color: rgba(255, 255, 255, .22); }
body:not(.admin-body) .section-surface { border-color: rgba(255, 255, 255, .08); background: #0E1829; }
body:not(.admin-body) .entry-card,
body:not(.admin-body) .offer-card,
body:not(.admin-body) .work-card,
body:not(.admin-body) .content-card,
body:not(.admin-body) .founder-price-card,
body:not(.admin-body) .estimator-card,
body:not(.admin-body) .form-card,
body:not(.admin-body) .module-catalogue-card,
body:not(.admin-body) .scope-list li,
body:not(.admin-body) .delivery-list li { border-color: rgba(255, 255, 255, .13); background: #10192A; }
body:not(.admin-body) .entry-card-featured,
body:not(.admin-body) .offer-highlight,
body:not(.admin-body) .founder-price-card { border-color: rgba(255, 255, 255, .2); background: linear-gradient(145deg, #142039, #10192A); box-shadow: 0 12px 28px rgba(0, 0, 0, .22); }
body:not(.admin-body) .entry-number,
body:not(.admin-body) .offer-index { color: #FFFFFF; }
body:not(.admin-body) .problem-kicker { color: #F4F7FB; }
body:not(.admin-body) .benefit-number,
body:not(.admin-body) .trust-symbol { border-color: rgba(255, 255, 255, .24); color: #FFFFFF; }
body:not(.admin-body) .problem-card .problem-proof { border-top-color: rgba(255, 255, 255, .14); }
body:not(.admin-body) .problem-card .problem-proof strong { color: #F4F7FB; }
body:not(.admin-body) .inline-link,
body:not(.admin-body) .text-link { color: #F4F7FB; }
body:not(.admin-body) .inline-link:hover,
body:not(.admin-body) .text-link:hover { color: #FFFFFF; }
body:not(.admin-body) .capability-card:hover { background: #10192A; }
body:not(.admin-body) .cap-icon { border-color: #F4F7FB; color: #050505; background: #F4F7FB; }
body:not(.admin-body) .capability-note { border-color: rgba(255, 255, 255, .12); background: #111C30; }
body:not(.admin-body) .orvan-art { color: #F4F7FB; background: radial-gradient(ellipse at 52% 40%, #1A2940 0, #0B1220 70%); }
body:not(.admin-body) .orvan-word { color: #F4F7FB; }
body:not(.admin-body) .art-label { color: #DCE3EE; }
body:not(.admin-body) .art-path,
body:not(.admin-body) .art-path::before,
body:not(.admin-body) .art-path::after { border-color: rgba(255, 255, 255, .2); }
body:not(.admin-body) .art-node { border-color: #F4F7FB; background: #0B1220; box-shadow: 0 0 0 6px rgba(255, 255, 255, .08); }
body:not(.admin-body) .martha-art { color: #F4F7FB; background: linear-gradient(135deg, #142039, #0B1220 54%, #142039); }
body:not(.admin-body) .martha-monogram { color: #F4F7FB; }
body:not(.admin-body) .martha-art .art-label { color: #DCE3EE; }
body:not(.admin-body) .orbit { border-color: rgba(255, 255, 255, .2); }
body:not(.admin-body) .martha-dot { background: #F4F7FB; box-shadow: 0 0 0 5px rgba(255, 255, 255, .1); }
body:not(.admin-body) .status-live,
body:not(.admin-body) .status-dev { border-color: rgba(255, 255, 255, .16); color: #E1E7F0; background: rgba(255, 255, 255, .08); }
body:not(.admin-body) .button-gold { color: #FFFFFF; border-color: rgba(255, 255, 255, .42); box-shadow: 0 8px 20px rgba(0, 0, 0, .19); }
body:not(.admin-body) .button-gold:hover { box-shadow: 0 11px 25px rgba(0, 0, 0, .25); }
body:not(.admin-body) .button-outline { border-color: rgba(255, 255, 255, .4); color: #F4F7FB; background: rgba(255, 255, 255, .05); }
body:not(.admin-body) .button-outline:hover { border-color: #F4F7FB; background: rgba(255, 255, 255, .1); }
body:not(.admin-body) .button-text { color: #DCE3EE; }
body:not(.admin-body) .button-light { border-color: #F4F7FB; color: #050505; background: #F4F7FB; }
body:not(.admin-body) .button-light:hover { background: #FFFFFF; }
body:not(.admin-body) .button-light-outline { border-color: rgba(255, 255, 255, .45); color: #F4F7FB; background: transparent; }
body:not(.admin-body) .button-light-outline:hover { border-color: #FFFFFF; background: rgba(255, 255, 255, .1); }
body:not(.admin-body) .offer-card li::before { border-color: #F4F7FB; }
body:not(.admin-body) .method-section { color: #F4F7FB; background: #0B1220; }
body:not(.admin-body) .eyebrow-light,
body:not(.admin-body) .method-intro h2 em,
body:not(.admin-body) .method-list li > span { color: #FFFFFF; }
body:not(.admin-body) .local-card { border-color: rgba(255, 255, 255, .14); background: #10192A; }
body:not(.admin-body) .local-map { background: radial-gradient(ellipse at 48% 49%, #1A2940, #10192A 65%, #0B1220); }
body:not(.admin-body) .local-map::before,
body:not(.admin-body) .local-map::after { background-image: linear-gradient(36deg, transparent 47%, rgba(255,255,255,.1) 47.2%, transparent 47.7%), linear-gradient(125deg, transparent 57%, rgba(255,255,255,.08) 57.2%, transparent 57.7%); }
body:not(.admin-body) .map-ring { border-color: rgba(255, 255, 255, .2); }
body:not(.admin-body) .map-line { background: rgba(255, 255, 255, .24); }
body:not(.admin-body) .map-point { border-color: #0B1220; background: #F4F7FB; box-shadow: 0 0 0 9px rgba(255, 255, 255, .12); }
body:not(.admin-body) .map-label { color: #F4F7FB; }
body:not(.admin-body) .response-dot { background: #F4F7FB; }
body:not(.admin-body) .martha-note { border-color: rgba(255, 255, 255, .1); background: #10192A; }
body:not(.admin-body) .closing-cta { background: #0B1220; }
body:not(.admin-body) .site-footer { border-top-color: rgba(0, 0, 0, .12); background: #F4F7FB; color: #050505; }
body:not(.admin-body) .footer-grid p,
body:not(.admin-body) .footer-grid > a:not(.brand),
body:not(.admin-body) .footer-note { color: #4B5563; }
body:not(.admin-body) .footer-grid > a:not(.brand):hover { color: #050505; }
body:not(.admin-body) .draft-notice,
body:not(.admin-body) .notice-soft,
body:not(.admin-body) .offer-disclaimer { border-color: rgba(255, 255, 255, .16); color: #DCE3EE; background: rgba(255, 255, 255, .06); }
body:not(.admin-body) .offer-disclaimer { border-left-color: #F4F7FB; }
body:not(.admin-body) .alert-success { border-color: rgba(255, 255, 255, .18); color: #E1E7F0; background: rgba(255, 255, 255, .07); }
body:not(.admin-body) .project-abstract { border-color: rgba(255, 255, 255, .14); color: #F4F7FB; background: radial-gradient(circle at 50% 50%, #1A2940, #111C30 60%, #10192A); }
body:not(.admin-body) .founder-price { color: #F4F7FB; }
body:not(.admin-body) .module-catalogue-card > span,
body:not(.admin-body) .delivery-list li::before { color: #FFFFFF; }
body:not(.admin-body) .module-choice-fieldset legend,
body:not(.admin-body) .request-step legend,
body:not(.admin-body) .request-wizard-steps li[aria-current=step],
body:not(.admin-body) .request-review-summary dd { color: #F4F7FB; }
body:not(.admin-body) .form-card .check-card:has(input:checked) { border-color: rgba(255, 255, 255, .32); color: #F4F7FB; background: rgba(255, 255, 255, .1); }
body:not(.admin-body) .module-grid label:has(input:checked) { border-color: rgba(255, 255, 255, .35); color: #F4F7FB; background: rgba(255, 255, 255, .1); }
body:not(.admin-body) .module-grid input,
body:not(.admin-body) .consent-label input,
body:not(.admin-body) .form-card .check-card input { accent-color: #050505; }
body:not(.admin-body) .form-card input:not([type=checkbox]):not([type=file]),
body:not(.admin-body) .form-card select,
body:not(.admin-body) .form-card textarea { border-color: #C8CED8; color: #101318; background: #F8F9FB; }
body:not(.admin-body) .form-card input[type=file] { border-color: #AAB3C0; color: #283242; background: #F8F9FB; }
body:not(.admin-body) .form-card input[type=file]::file-selector-button { border-color: #B7C0CC; color: #050505; background: #E9EDF2; }

.callback-shortcut { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 800px; margin-top: 21px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper-soft); }
.callback-shortcut strong { display: block; color: var(--ink); font-size: 15px; font-weight: 650; }
.callback-shortcut p { margin: 4px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.callback-shortcut .button { flex: none; }
body:not(.admin-body) .callback-shortcut { border-color: rgba(255,255,255,.15); background: #10192A; }
body:not(.admin-body) .callback-shortcut strong { color: #F4F7FB; }
body:not(.admin-body) .callback-shortcut p { color: #B7C1D0; }
@media (max-width: 620px) { .callback-shortcut { align-items: stretch; flex-direction: column; gap: 12px; }.callback-shortcut .button { width: 100%; } }

body:not(.admin-body) .closing-inner h2 em { color: #FFFFFF; }
body:not(.admin-body) .project-feature-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(280px, .75fr); align-items: center; gap: clamp(30px, 6vw, 78px); }
body:not(.admin-body) .project-feature-copy > p:not(.eyebrow) { color: var(--muted); line-height: 1.7; }
body:not(.admin-body) .project-logo-panel { position: relative; min-width: 0; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(16, 25, 42, .12); border-radius: 16px; color: #050505; background: #F4F7FB; box-shadow: 0 18px 44px rgba(0, 0, 0, .22); }
body:not(.admin-body) .project-logo-panel img { width: 100%; height: 100%; display: block; object-fit: contain; }
body:not(.admin-body) .project-feature-logo { width: 100%; height: 300px; padding: 12px; }
body:not(.admin-body) .project-feature-logo.martha-logo-panel { width: min(100%, 320px); height: 380px; justify-self: center; padding: 6px; }
body:not(.admin-body) .project-feature-logo.orvan-logo-panel img { object-fit: cover; transform: scale(1.55); }
body:not(.admin-body) .project-brand-art { height: auto; aspect-ratio: 1 / 1; padding: 0; background: #F4F7FB; }
body:not(.admin-body) .project-brand-art .project-logo-panel { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
body:not(.admin-body) .project-brand-art .martha-logo-panel { width: 100%; height: 100%; }
body:not(.admin-body) .project-brand-art .martha-logo-panel img { width: auto; height: 100%; max-width: 100%; min-width: 0; min-height: 0; object-fit: contain; transform: scale(1.1); }
body:not(.admin-body) .project-brand-art .orvan-logo-panel img { object-fit: cover; transform: scale(1.08); }
body:not(.admin-body) .project-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 25px; }
body:not(.admin-body) .project-actions > span { color: var(--muted); font-size: 13px; }
body:not(.admin-body) .project-links { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-inline: 25px; }
body:not(.admin-body) .project-links .inline-link { margin: 0; }
body:not(.admin-body) .case-study-note { max-width: 840px; margin: 24px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
body:not(.admin-body) .orvan-case-figure { min-width: 0; margin: 0; }
body:not(.admin-body) .orvan-case-image { display: block; overflow: hidden; border: 1px solid rgba(255, 255, 255, .14); border-radius: 18px; background: #080C13; box-shadow: 0 24px 55px rgba(0, 0, 0, .24); }
body:not(.admin-body) .orvan-case-image img { display: block; width: 100%; height: auto; }
body:not(.admin-body) .orvan-case-image:focus-visible { outline: 3px solid #FFFFFF; outline-offset: 4px; }
body:not(.admin-body) .orvan-case-figure figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 20px; margin-top: 13px; color: var(--muted); font-size: 13px; line-height: 1.6; }
body:not(.admin-body) .orvan-case-figure figcaption span { color: var(--ink); white-space: nowrap; }
body:not(.admin-body) .orvan-case-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 46px; }
body:not(.admin-body) .orvan-case-step { min-width: 0; padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: #111C30; }
body:not(.admin-body) .orvan-case-step .benefit-number { display: block; margin-bottom: 22px; color: #FFFFFF; font-size: 13px; letter-spacing: .12em; }
body:not(.admin-body) .orvan-case-step h3 { margin: 0 0 10px; font-family: var(--serif); font-size: clamp(24px, 2.5vw, 31px); font-weight: 450; line-height: 1.16; }
body:not(.admin-body) .orvan-case-step p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
body:not(.admin-body) .orvan-case-detail { display: grid; grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr); align-items: center; gap: clamp(30px, 6vw, 78px); }
body:not(.admin-body) .orvan-case-detail-copy { max-width: 480px; }
body:not(.admin-body) .orvan-case-detail-copy h2 { margin: 10px 0 20px; font-size: clamp(38px, 4.4vw, 60px); }
body:not(.admin-body) .orvan-case-detail-copy p:not(.eyebrow) { color: var(--muted); line-height: 1.7; }
body:not(.admin-body) .orvan-case-detail-copy .inline-link { display: inline-block; margin-top: 12px; }
@media (max-width: 820px) {
    body:not(.admin-body) .orvan-case-steps { grid-template-columns: 1fr; gap: 10px; margin-top: 30px; }
    body:not(.admin-body) .orvan-case-step { padding: 22px; }
    body:not(.admin-body) .orvan-case-step .benefit-number { margin-bottom: 12px; }
    body:not(.admin-body) .orvan-case-detail { grid-template-columns: 1fr; }
    body:not(.admin-body) .orvan-case-detail-copy { max-width: 680px; }
}
body:not(.admin-body) .offer-card-preview { width: calc(100% + 50px); display: block; aspect-ratio: 1.5; overflow: hidden; margin: -27px -25px 21px; border-bottom: 1px solid rgba(16, 25, 42, .1); border-radius: 13px 13px 0 0; background: #F4F7FB; }
body:not(.admin-body) .offer-card-preview img { width: 100%; height: 100%; display: block; object-fit: cover; }
body:not(.admin-body) .offer-mockup-layout { display: grid; grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr); align-items: center; gap: clamp(28px, 6vw, 78px); }
body:not(.admin-body) .offer-mockup-layout-custom { grid-template-columns: minmax(270px, .68fr) minmax(0, 1.32fr); }
body:not(.admin-body) .offer-mockup-copy > p:not(.eyebrow) { color: var(--muted); line-height: 1.7; }
body:not(.admin-body) .offer-mockup-copy .offer-disclaimer { margin-top: 20px; }
body:not(.admin-body) .offer-mockup-frame { min-width: 0; margin: 0; padding: 9px; overflow: hidden; border: 1px solid rgba(16, 25, 42, .12); border-radius: 18px; background: #F4F7FB; box-shadow: 0 20px 52px rgba(0, 0, 0, .24); }
body:not(.admin-body) .offer-mockup-frame img { width: 100%; height: auto; display: block; border-radius: 10px; }
body:not(.admin-body) .offer-mockup-frame figcaption { padding: 10px 8px 3px; color: #303846; font-size: 12px; line-height: 1.5; }
@media (max-width: 760px) {
    body:not(.admin-body) .project-feature-hero,
    body:not(.admin-body) .offer-mockup-layout,
    body:not(.admin-body) .offer-mockup-layout-custom { grid-template-columns: 1fr; gap: 26px; }
    body:not(.admin-body) .project-feature-logo { width: min(100%, 480px); height: 250px; justify-self: start; }
    body:not(.admin-body) .project-feature-logo.martha-logo-panel { width: min(100%, 260px); height: 320px; justify-self: center; }
    body:not(.admin-body) .project-feature-logo.orvan-logo-panel { height: 220px; }
    body:not(.admin-body) .offer-card-preview { width: calc(100% + 44px); margin: -23px -22px 18px; }
    body:not(.admin-body) .project-links { margin-inline: 20px; }
}

.footer-cookie-button { padding: 0; border: 0; color: inherit; background: transparent; font: inherit; font-size: 12px; text-align: left; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cookie-banner { position: fixed; z-index: 1000; right: 18px; bottom: 18px; left: 18px; width: min(960px, calc(100% - 36px)); display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-inline: auto; padding: 24px 26px; border: 1px solid rgba(16, 25, 42, .16); border-radius: 16px; color: var(--ink); background: var(--paper); box-shadow: 0 22px 60px rgba(2, 9, 21, .28); }
.cookie-banner[hidden] { display: none; }
.cookie-banner-copy { max-width: 540px; }
.cookie-banner-copy .eyebrow { margin-bottom: 8px; }
.cookie-banner-copy h2, .cookie-dialog-content h2 { margin-bottom: 8px; font-family: var(--serif); font-size: clamp(25px, 3vw, 32px); font-weight: 450; letter-spacing: -.03em; }
.cookie-banner-copy > p:last-child, .cookie-dialog-content > p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.cookie-banner-actions, .cookie-dialog-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cookie-banner-actions .button, .cookie-dialog-actions .button { min-height: 42px; padding: 10px 14px; font-size: 12px; }
.cookie-dialog { width: min(580px, calc(100vw - 30px)); max-height: min(90vh, 760px); padding: 0; overflow: auto; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); background: var(--paper); box-shadow: 0 24px 70px rgba(2, 9, 21, .3); }
.cookie-dialog::backdrop { background: rgba(4, 10, 21, .58); backdrop-filter: blur(3px); }
.cookie-dialog-content { padding: 30px; }
.cookie-dialog-content .eyebrow { margin-bottom: 9px; }
.cookie-choice { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 13px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.cookie-choice strong, .cookie-choice small { display: block; }
.cookie-choice strong { font-size: 14px; font-weight: 630; }
.cookie-choice small { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.cookie-choice label { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.cookie-choice input { width: 19px; height: 19px; accent-color: var(--gold-dark); }
.cookie-choice-required label { color: var(--emet-taupe); font-size: 11px; }
.cookie-providers { margin-top: 16px; padding: 13px 15px; border-radius: 9px; color: var(--emet-ink-soft); background: var(--paper-deep); font-size: 12px; line-height: 1.5; }
.cookie-providers ul { display: flex; flex-wrap: wrap; gap: 5px 18px; margin: 6px 0 0; padding-left: 18px; }
.cookie-dialog-actions { justify-content: flex-end; margin-top: 20px; }
@media (max-width: 760px) {
    .cookie-banner { align-items: stretch; flex-direction: column; gap: 17px; padding: 20px; }
    .cookie-banner-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .cookie-banner-actions [data-cookie-reject] { grid-column: 1; grid-row: 1; }
    .cookie-banner-actions [data-cookie-accept] { grid-column: 2; grid-row: 1; }
    .cookie-banner-actions [data-cookie-customize] { grid-column: 1 / -1; grid-row: 2; }
    .cookie-dialog-content { padding: 24px 20px; }
    .cookie-choice { align-items: flex-start; }
    .cookie-dialog-actions { display: grid; grid-template-columns: 1fr; }
}

body:not(.admin-body) .hero-product-preview { min-width: 0; margin: 0; padding: 12px; border: 1px solid rgba(244, 247, 251, .2); border-radius: 22px; background: #111C30; box-shadow: 0 28px 65px rgba(0, 0, 0, .23); }
body:not(.admin-body) .hero-product-image { overflow: hidden; border-radius: 14px; background: #0B1220; }
body:not(.admin-body) .hero-product-image img { display: block; width: 100%; height: auto; }
body:not(.admin-body) .hero-product-preview figcaption { padding: 14px 5px 4px; color: #D1D9E5; font-size: 12px; line-height: 1.5; text-align: center; }
body:not(.admin-body) .request-optional-details { min-width: 0; margin-top: 7px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-deep); }
body:not(.admin-body) .request-optional-details summary { color: var(--ink); font-size: 15px; font-weight: 650; cursor: pointer; }
body:not(.admin-body) .request-optional-details[open] summary { margin-bottom: 16px; }
body:not(.admin-body) .request-optional-details > .form-note { margin-bottom: 18px; }
@media (max-width: 820px) { body:not(.admin-body) .hero-product-preview { width: min(100%, 640px); justify-self: center; } }
@media (max-width: 600px) { body:not(.admin-body) .hero-product-preview { padding: 7px; border-radius: 15px; } body:not(.admin-body) .hero-product-image { border-radius: 10px; } body:not(.admin-body) .hero-product-preview figcaption { padding-inline: 8px; } }

/* EMET's public assistant and its illustrative homepage preview. */
.hero-chat-invite { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 13px; max-width: 670px; margin-top: 23px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.2); border-radius: 15px; background: #142039; }
.hero-chat-invite-icon, .emet-chat-identity-mark, .emet-chat-welcome-mark { display: grid; place-items: center; color: #0B1220; background: #F4F7FB; font-size: 24px; line-height: 1; }
.hero-chat-invite-icon { width: 40px; height: 40px; border-radius: 12px; }
.hero-chat-invite p { display: grid; gap: 2px; margin: 0; }
.hero-chat-invite p strong { color: #F4F7FB; font-size: 13px; }
.hero-chat-invite p span { color: #B8C4D4; font-size: 12px; line-height: 1.4; }
.hero-chat-invite-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 38px; padding: 8px 13px; border: 1px solid #F4F7FB; border-radius: 99px; color: #0B1220; background: #F4F7FB; cursor: pointer; font-size: 12px; font-weight: 700; white-space: nowrap; }
.hero-chat-invite-button:hover { color: #0B1220; background: #FFFFFF; }
.emet-assistant-preview-section { border-block: 1px solid rgba(255,255,255,.1); background: #0E1829; }
.emet-assistant-preview-layout { display: grid; grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr); align-items: center; gap: clamp(32px, 7vw, 95px); }
.emet-assistant-preview-copy h2 { max-width: 540px; margin-bottom: 20px; }
.emet-assistant-preview-copy > p:not(.eyebrow) { max-width: 530px; color: #B8C4D4; line-height: 1.7; }
.emet-assistant-preview-copy .emet-assistant-preview-note { margin: 22px 0; padding-left: 15px; border-left: 2px solid #F4F7FB; font-size: 13px; }
.emet-assistant-preview-window { min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-radius: 22px; background: #10192A; box-shadow: 0 28px 64px rgba(0,0,0,.27); }
.emet-assistant-preview-header { display: flex; align-items: center; gap: 12px; padding: 17px 20px; border-bottom: 1px solid rgba(255,255,255,.13); }
.emet-assistant-preview-header > span:first-child { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: #0B1220; background: #F4F7FB; font-size: 21px; }
.emet-assistant-preview-header > div { display: grid; gap: 1px; }
.emet-assistant-preview-header strong { font-size: 13px; }
.emet-assistant-preview-header small { color: #AAB5C5; font-size: 11px; }
.emet-assistant-preview-header > span:last-child { margin-left: auto; color: #AAB5C5; font-size: 25px; line-height: 1; }
.emet-assistant-preview-feed { display: grid; justify-items: start; gap: 16px; min-height: 300px; padding: 26px 23px; }
.emet-assistant-preview-bubble { max-width: 88%; padding: 15px 18px; border-radius: 17px; }
.emet-assistant-preview-bubble small { display: block; margin-bottom: 7px; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.emet-assistant-preview-bubble p { margin: 0; font-size: 14px; line-height: 1.55; }
.emet-assistant-preview-bubble-user { justify-self: end; border-bottom-right-radius: 5px; color: #0B1220; background: #F4F7FB; }
.emet-assistant-preview-bubble-user small { color: #4B5563; }
.emet-assistant-preview-bubble-ai { border: 1px solid rgba(255,255,255,.17); border-bottom-left-radius: 5px; background: #142039; }
.emet-assistant-preview-bubble-ai small { color: #B8C4D4; }
.emet-assistant-preview-compose { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 16px 16px; padding: 8px 8px 8px 17px; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; color: #AAB5C5; background: #0B1220; font-size: 13px; }
.emet-assistant-preview-compose span:last-child { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; color: #0B1220; background: #F4F7FB; font-size: 21px; }

.emet-chat-launcher { position: fixed; z-index: 900; right: 23px; bottom: 23px; display: flex; align-items: center; gap: 11px; min-height: 62px; padding: 8px 11px 8px 9px; border: 1px solid rgba(255,255,255,.48); border-radius: 18px; color: #0B1220; background: #F4F7FB; box-shadow: 0 16px 38px rgba(0,0,0,.32); cursor: pointer; text-align: left; }
.emet-chat-launcher:hover { background: #FFFFFF; transform: translateY(-2px); }
.emet-chat-launcher-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: #F4F7FB; background: #0B1220; font-size: 26px; line-height: 1; }
.emet-chat-launcher-copy { display: grid; line-height: 1.25; }
.emet-chat-launcher-copy small { color: #4B5563; font-size: 11px; }
.emet-chat-launcher-copy strong { font-size: 14px; }
.emet-chat-launcher-arrow { align-self: flex-start; margin-left: 5px; font-size: 15px; }
body.emet-chat-open { overflow: hidden; }
.emet-chat-dialog { position: fixed; inset: auto 23px 23px auto; width: min(460px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 46px); margin: 0; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: 22px; color: #F4F7FB; background: #10192A; box-shadow: 0 32px 75px rgba(0,0,0,.45); color-scheme: dark; }
.emet-chat-dialog::backdrop { background: rgba(3,8,16,.62); backdrop-filter: blur(3px); }
.emet-chat-shell { height: min(720px, calc(100dvh - 46px)); display: flex; flex-direction: column; min-height: 0; }
.emet-chat-header { display: flex; align-items: center; gap: 11px; flex: none; min-height: 71px; padding: 13px 16px; border-bottom: 1px solid rgba(255,255,255,.12); background: #0B1220; }
.emet-chat-identity-mark { width: 37px; height: 37px; flex: none; border-radius: 11px; font-size: 22px; }
.emet-chat-identity { display: grid; gap: 1px; min-width: 0; }
.emet-chat-identity strong { font-size: 15px; line-height: 1.2; }
.emet-chat-identity small { color: #AAB5C5; font-size: 11px; line-height: 1.3; }
.emet-chat-close { width: 37px; height: 37px; display: grid; flex: none; place-items: center; margin-left: auto; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: #F4F7FB; background: #142039; cursor: pointer; font-size: 26px; line-height: 1; }
.emet-chat-close:hover { background: #1A2940; }
.emet-chat-conversation { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.emet-chat-feed { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 22px 18px 25px; scroll-behavior: smooth; }
.emet-chat-welcome { padding: 21px; border: 1px solid rgba(255,255,255,.13); border-radius: 19px; background: #142039; }
.emet-chat-welcome-mark { width: 40px; height: 40px; margin-bottom: 17px; border-radius: 12px; }
.emet-chat-welcome-kicker { margin: 0 0 8px; color: #B8C4D4; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.emet-chat-welcome h2 { margin: 0 0 11px; font-family: var(--serif); font-size: 29px; font-weight: 450; line-height: 1.1; }
.emet-chat-welcome p:last-child { margin: 0; color: #C6D0DE; font-size: 13px; line-height: 1.55; }
.emet-chat-message { display: flex; align-items: flex-end; gap: 9px; margin-top: 17px; }
.emet-chat-message-avatar { width: 27px; height: 27px; display: grid; flex: none; place-items: center; border-radius: 9px; color: #0B1220; background: #F4F7FB; font-size: 15px; }
.emet-chat-message-content { max-width: min(87%, 350px); padding: 11px 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 15px 15px 15px 4px; background: #142039; }
.emet-chat-message-content small { display: block; margin-bottom: 5px; color: #B8C4D4; font-size: 10px; font-weight: 700; }
.emet-chat-message-content p { margin: 0; font-size: 13px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.emet-chat-message-assistant .emet-chat-message-content { border-left: 2px solid #C9A866; background: linear-gradient(145deg, #18253B, #142039 68%); }
.emet-chat-message-assistant .emet-chat-message-content p + p { margin-top: 10px; }
.emet-chat-message-content h3 { margin: 13px 0 7px; color: #F4F7FB; font-family: var(--serif); font-size: 17px; font-weight: 500; line-height: 1.25; }
.emet-chat-message-content ul, .emet-chat-message-content ol { display: grid; gap: 6px; margin: 8px 0 2px; padding-left: 20px; color: #E3E9F1; font-size: 13px; line-height: 1.5; }
.emet-chat-message-content li::marker { color: #C9A866; }
.emet-chat-message-content strong { color: #FFFFFF; font-weight: 700; }
.emet-chat-message-user { justify-content: flex-end; }
.emet-chat-message-user .emet-chat-message-content { border-color: #F4F7FB; border-radius: 15px 15px 4px 15px; color: #0B1220; background: #F4F7FB; }
.emet-chat-message-user .emet-chat-message-content small { color: #4B5563; }
.emet-chat-typing-dots { display: inline-flex; gap: 4px; align-items: center; min-height: 16px; }
.emet-chat-typing-dots span { width: 5px; height: 5px; border-radius: 50%; background: #F4F7FB; animation: emet-chat-typing 1.1s infinite ease-in-out; }
.emet-chat-typing-dots span:nth-child(2) { animation-delay: .16s; }
.emet-chat-typing-dots span:nth-child(3) { animation-delay: .32s; }
@keyframes emet-chat-typing { 0%, 65%, 100% { opacity: .4; transform: translateY(0); } 32% { opacity: 1; transform: translateY(-4px); } }
.emet-chat-alert { flex: none; margin: 0 15px 10px; padding: 12px 14px; border: 1px solid rgba(255,205,205,.3); border-radius: 11px; color: #FFEAEA; background: #3A2029; font-size: 12px; line-height: 1.5; }
.emet-chat-alert p { margin: 0 0 7px; }
.emet-chat-alert button { margin: 0 14px 0 0; padding: 0; border: 0; color: #FFFFFF; background: transparent; cursor: pointer; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.emet-chat-alert a { color: #FFFFFF; text-decoration: underline; text-underline-offset: 2px; }
.emet-chat-human-handoff { flex: none; padding: 12px 18px; border-top: 1px solid rgba(255,255,255,.12); background: #142039; }
.emet-chat-human-handoff p { margin: 0 0 8px; color: #C6D0DE; font-size: 11px; line-height: 1.45; }
.emet-chat-human-handoff button { display: inline-flex; align-items: center; gap: 7px; padding: 0; border: 0; color: #FFFFFF; background: transparent; cursor: pointer; font-size: 12px; font-weight: 700; }
.emet-chat-human-handoff button:hover { text-decoration: underline; }
.emet-chat-composer { flex: none; padding: 12px 16px 13px; border-top: 1px solid rgba(255,255,255,.12); background: #0B1220; }
.emet-chat-compose-row { display: flex; align-items: flex-end; gap: 8px; padding: 7px; border: 1px solid rgba(255,255,255,.24); border-radius: 16px; background: #10192A; }
.emet-chat-compose-row:focus-within { border-color: #F4F7FB; }
.emet-chat-compose-row textarea { width: 100%; max-height: 150px; min-height: 36px; padding: 8px; resize: none; border: 0; outline: 0; color: #F4F7FB; background: transparent; font-size: 13px; line-height: 1.45; }
.emet-chat-compose-row textarea::placeholder { color: #AAB5C5; }
.emet-chat-compose-row textarea:disabled { opacity: .62; cursor: not-allowed; }
.emet-chat-send { width: 38px; height: 38px; display: grid; flex: none; place-items: center; border: 0; border-radius: 11px; color: #0B1220; background: #F4F7FB; cursor: pointer; font-size: 25px; line-height: 1; }
.emet-chat-send:hover { background: #FFFFFF; }
.emet-chat-send:disabled, .emet-chat-handoff-submit:disabled { opacity: .55; cursor: wait; }
.emet-chat-ai-notice { display: flex; align-items: flex-start; gap: 8px; margin-top: 10px; color: #C6D0DE; font-size: 10px; line-height: 1.4; }
.emet-chat-ai-notice input, .emet-chat-contact-consent input { width: 16px; height: 16px; flex: none; margin: 0; accent-color: #F4F7FB; }
.emet-chat-ai-notice a, .emet-chat-contact-consent a { text-decoration: underline; text-underline-offset: 2px; }
.emet-chat-compose-hint { margin: 5px 0 0; color: #AAB5C5; font-size: 10px; text-align: right; }
.emet-chat-handoff-form { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 22px 24px; }
.emet-chat-back { margin-bottom: 18px; padding: 0; border: 0; color: #DCE3EE; background: transparent; cursor: pointer; font-size: 12px; }
.emet-chat-back:hover { text-decoration: underline; }
.emet-chat-handoff-form h2, .emet-chat-handoff-success h2 { margin: 0 0 10px; font-family: var(--serif); font-size: 30px; font-weight: 450; line-height: 1.15; }
.emet-chat-handoff-form > p { color: #B8C4D4; font-size: 12px; line-height: 1.55; }
.emet-chat-handoff-form > label:not(.emet-chat-contact-consent) { display: grid; gap: 5px; margin-top: 12px; font-size: 12px; font-weight: 650; }
.emet-chat-handoff-fields[hidden], .emet-chat-review[hidden] { display: none !important; }
.emet-chat-optional { color: #AAB5C5; font-size: 10px; font-weight: 400; }
.emet-chat-handoff-form input:not([type=checkbox]), .emet-chat-handoff-form select { width: 100%; min-height: 40px; padding: 9px 11px; border: 1px solid rgba(255,255,255,.25); border-radius: 9px; color: #F4F7FB; background: #0B1220; font-size: 13px; }
.emet-chat-handoff-form input:focus-visible, .emet-chat-handoff-form select:focus-visible { outline: 2px solid #F4F7FB; outline-offset: 2px; }
.emet-chat-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.emet-chat-contact-consent { display: flex; align-items: flex-start; gap: 9px; margin-top: 17px; color: #C6D0DE; font-size: 11px; line-height: 1.45; }
.emet-chat-handoff-error { margin-top: 12px; padding: 11px; border: 1px solid rgba(255,205,205,.3); border-radius: 9px; color: #FFEAEA; background: #3A2029; font-size: 12px; }
.emet-chat-handoff-submit { width: 100%; min-height: 45px; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 17px; padding: 10px; border: 1px solid #F4F7FB; border-radius: 11px; color: #0B1220; background: #F4F7FB; cursor: pointer; font-size: 12px; font-weight: 700; }
.emet-chat-handoff-submit:hover { background: #FFFFFF; }
.emet-chat-review { margin-top: 18px; padding: 17px; border: 1px solid rgba(201,168,102,.48); border-radius: 14px; background: linear-gradient(145deg, #17243A, #111B2B); }
.emet-chat-review-kicker { margin: 0 0 6px; color: #D7BA7E; font-size: 9px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.emet-chat-review h3 { margin: 0 0 15px; font-family: var(--serif); font-size: 22px; font-weight: 450; line-height: 1.2; }
.emet-chat-review h3:focus { outline: none; }
.emet-chat-review-details { display: grid; gap: 8px; margin: 0; }
.emet-chat-review-details > div { display: grid; grid-template-columns: minmax(90px, .7fr) minmax(0, 1.3fr); gap: 12px; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.1); }
.emet-chat-review-details dt { color: #AAB5C5; font-size: 10px; }
.emet-chat-review-details dd { min-width: 0; margin: 0; color: #F4F7FB; font-size: 11px; font-weight: 650; overflow-wrap: anywhere; }
.emet-chat-review-summary { margin-top: 13px; padding: 12px; border-radius: 10px; color: #E3E9F1; background: #0B1220; }
.emet-chat-review-summary strong { display: block; margin-bottom: 6px; color: #D7BA7E; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.emet-chat-review-summary p { max-height: 130px; margin: 0; overflow: auto; font-size: 11px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.emet-chat-review-note { margin: 12px 0 0; color: #AAB5C5; font-size: 10px; line-height: 1.45; }
.emet-chat-review-actions { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 9px; margin-top: 13px; }
.emet-chat-review-actions .emet-chat-handoff-submit { margin: 0; }
.emet-chat-review-edit { min-height: 42px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 10px; color: #F4F7FB; background: transparent; cursor: pointer; font-size: 11px; }
.emet-chat-review-edit:hover { background: rgba(255,255,255,.07); }
.emet-chat-handoff-fallback { display: block; margin-top: 13px; color: #C6D0DE; font-size: 11px; text-align: center; text-decoration: underline; text-underline-offset: 2px; }
.emet-chat-handoff-success { flex: 1; display: grid; align-content: center; justify-items: start; padding: 30px; }
.emet-chat-handoff-success > span { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 13px; color: #0B1220; background: #F4F7FB; font-size: 26px; }
.emet-chat-handoff-success p { color: #C6D0DE; font-size: 14px; line-height: 1.55; }
.emet-chat-handoff-success button { min-height: 39px; margin-top: 10px; padding: 8px 17px; border: 1px solid #F4F7FB; border-radius: 9px; color: #0B1220; background: #F4F7FB; cursor: pointer; }
.emet-chat-dialog [hidden] { display: none !important; }
@media (max-width: 820px) { .emet-assistant-preview-layout { grid-template-columns: 1fr; } .emet-assistant-preview-copy { max-width: 680px; } .emet-assistant-preview-window { width: min(100%, 650px); } }
@media (max-width: 600px) {
  .hero-chat-invite { grid-template-columns: 36px minmax(0, 1fr); padding: 12px; }
  .hero-chat-invite-icon { width: 36px; height: 36px; }
  .hero-chat-invite-button { grid-column: 1 / -1; width: 100%; }
  .emet-assistant-preview-feed { min-height: 0; padding: 17px 14px; }
  .emet-assistant-preview-bubble { max-width: 95%; padding: 12px 14px; }
  .emet-chat-launcher { right: 13px; bottom: 13px; min-height: 52px; padding: 6px 9px 6px 6px; border-radius: 15px; }
  .emet-chat-launcher-mark { width: 39px; height: 39px; }
  .emet-chat-launcher-copy strong { font-size: 12px; }
  .emet-chat-dialog { inset: 0; width: 100vw; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; }
  .emet-chat-shell { height: 100dvh; }
  .emet-chat-header { padding-top: calc(12px + env(safe-area-inset-top)); }
  .emet-chat-feed { padding: 16px 14px 20px; }
  .emet-chat-composer { padding-bottom: calc(11px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .emet-chat-typing-dots span { animation: none; } .emet-chat-feed { scroll-behavior: auto; } }

/* Campaign artwork and the Martha case study. */
body:not(.admin-body) .campaign-work-art { isolation: isolate; background: #111C30; }
body:not(.admin-body) .campaign-work-art img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; }
body:not(.admin-body) .campaign-work-label { position: absolute; z-index: 2; right: 12px; bottom: 12px; padding: 6px 9px; border: 1px solid rgba(255,255,255,.35); border-radius: 99px; color: #FFFFFF; background: rgba(11,18,32,.78); font-size: 9px; font-weight: 650; letter-spacing: .06em; line-height: 1.2; }
body:not(.admin-body) .martha-feature-hero { align-items: center; }
body:not(.admin-body) .martha-campaign-figure { min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: #F8F5EE; box-shadow: 0 26px 65px rgba(0,0,0,.27); }
body:not(.admin-body) .martha-campaign-figure img { width: 100%; height: auto; display: block; }
body:not(.admin-body) .martha-campaign-figure figcaption { padding: 11px 15px 13px; color: #354052; background: #F8F5EE; font-size: 11px; line-height: 1.5; }
body:not(.admin-body) .martha-domain-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
body:not(.admin-body) .martha-domain-card { min-width: 0; padding: 25px; border: 1px solid var(--line); border-radius: 15px; background: #111C30; }
body:not(.admin-body) .martha-domain-card .benefit-number { display: block; margin-bottom: 25px; color: #FFFFFF; font-size: 12px; letter-spacing: .13em; }
body:not(.admin-body) .martha-domain-card h3 { margin: 0 0 10px; font-family: var(--serif); font-size: clamp(22px, 2.25vw, 28px); font-weight: 450; line-height: 1.18; }
body:not(.admin-body) .martha-domain-card p { margin: 0 0 16px; color: var(--muted); font-size: 14px; line-height: 1.65; }
body:not(.admin-body) .martha-domain-card small { color: #D7BA7E; font-size: 10px; letter-spacing: .04em; line-height: 1.55; }
body:not(.admin-body) .martha-architecture-flow { display: grid; gap: 9px; margin: 35px 0 0; padding: 0; list-style: none; counter-reset: architecture; }
body:not(.admin-body) .martha-architecture-flow li { display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: start; gap: 15px; padding: 19px 21px; border: 1px solid var(--line); border-radius: 13px; background: #111C30; }
body:not(.admin-body) .martha-architecture-flow li > span { color: #FFFFFF; font-size: 12px; letter-spacing: .12em; }
body:not(.admin-body) .martha-architecture-flow li div { display: grid; gap: 5px; }
body:not(.admin-body) .martha-architecture-flow strong { font-family: var(--serif); font-size: 22px; font-weight: 450; }
body:not(.admin-body) .martha-architecture-flow small { color: var(--muted); font-size: 14px; line-height: 1.6; }
body:not(.admin-body) .martha-architecture-caption { max-width: 860px; margin: 21px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
body:not(.admin-body) .martha-status-panel { padding: clamp(26px, 5vw, 55px); border: 1px solid rgba(255,255,255,.17); border-radius: 20px; background: linear-gradient(135deg, #142039, #0B1220 72%); }
body:not(.admin-body) .martha-status-panel h2 { max-width: 680px; }
body:not(.admin-body) .martha-status-panel > p:not(.eyebrow) { max-width: 850px; color: #C6D0DE; line-height: 1.75; }
body:not(.admin-body) .orvan-campaign-figure img { width: 100%; height: auto; display: block; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: #080C13; box-shadow: 0 24px 55px rgba(0,0,0,.24); }
body:not(.admin-body) .hero-chat-invite-icon img,
body:not(.admin-body) .emet-assistant-preview-mark img,
body:not(.admin-body) .emet-chat-launcher-mark img,
body:not(.admin-body) .emet-chat-identity-mark img,
body:not(.admin-body) .emet-chat-message-avatar img { position: absolute; top: -17.5%; left: 0; width: auto; height: 135%; max-width: none; display: block; }
body:not(.admin-body) .hero-chat-invite-icon,
body:not(.admin-body) .emet-assistant-preview-mark,
body:not(.admin-body) .emet-chat-launcher-mark,
body:not(.admin-body) .emet-chat-identity-mark,
body:not(.admin-body) .emet-chat-message-avatar { position: relative; }
body:not(.admin-body) .emet-assistant-preview-mark { width: 36px; height: 36px; display: grid; flex: none; place-items: center; overflow: hidden; border-radius: 10px; background: #0B1220; }
body:not(.admin-body) .emet-chat-launcher-mark,
body:not(.admin-body) .emet-chat-identity-mark,
body:not(.admin-body) .emet-chat-message-avatar { overflow: hidden; }
body:not(.admin-body) .emet-chat-identity-mark { background: #0B1220; }
body:not(.admin-body) .emet-chat-welcome-kicker { color: #D7BA7E; }
body:not(.admin-body) .emet-chat-launcher { width: 60px; min-height: 60px; justify-content: center; padding: 6px; border-radius: 18px; }
body:not(.admin-body) .emet-chat-launcher-copy,
body:not(.admin-body) .emet-chat-launcher-arrow { display: none; }
@media (max-width: 820px) {
    body:not(.admin-body) .martha-domain-grid { grid-template-columns: 1fr; }
    body:not(.admin-body) .martha-domain-card { padding: 22px; }
    body:not(.admin-body) .martha-domain-card .benefit-number { margin-bottom: 14px; }
}
@media (max-width: 600px) {
    body:not(.admin-body) .campaign-work-label { right: 8px; bottom: 8px; padding: 5px 7px; font-size: 8px; }
    body:not(.admin-body) .martha-campaign-figure { border-radius: 14px; }
    body:not(.admin-body) .martha-campaign-figure figcaption { padding: 9px 11px 11px; font-size: 10px; }
    body:not(.admin-body) .martha-architecture-flow li { grid-template-columns: 33px minmax(0,1fr); gap: 10px; padding: 16px; }
    body:not(.admin-body) .martha-architecture-flow strong { font-size: 20px; }
    body:not(.admin-body) .martha-architecture-flow small { font-size: 13px; }
    body:not(.admin-body) .emet-chat-launcher { right: 13px; bottom: 13px; width: 54px; min-height: 54px; }
    body:not(.admin-body) .emet-chat-launcher-mark { width: 40px; height: 40px; }
}


/* Real Martha and ORVAN application captures and the EMET assistant robot. */
body:not(.admin-body) .work-martha .campaign-work-art { background: #F8F5EE; }
body:not(.admin-body) .work-orvan .campaign-work-art { background: #E8E8E6; }
body:not(.admin-body) .martha-campaign-figure { display: flex; flex-direction: column; align-items: center; }
body:not(.admin-body) .martha-campaign-figure img { width: auto; max-width: 100%; height: min(72vh, 640px); object-fit: contain; }
body:not(.admin-body) .martha-conversation-figure { margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: #F8F5EE; box-shadow: 0 24px 55px rgba(0,0,0,.2); }
body:not(.admin-body) .martha-conversation-figure img { display: block; width: 100%; max-height: 700px; object-fit: contain; background: #F8F5EE; }
body:not(.admin-body) .martha-conversation-figure figcaption { padding: 12px 16px 14px; color: #354052; background: #F8F5EE; font-size: 12px; line-height: 1.55; }
body:not(.admin-body) .orvan-promo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
body:not(.admin-body) .orvan-promo-figure { min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: #080C13; box-shadow: 0 24px 55px rgba(0,0,0,.2); }
body:not(.admin-body) .orvan-promo-figure img { display: block; width: 100%; height: min(72vh, 680px); object-fit: contain; background: #080C13; }
body:not(.admin-body) .orvan-promo-figure figcaption { padding: 12px 15px 14px; color: #D1D9E5; background: #111C30; font-size: 12px; line-height: 1.55; }
body:not(.admin-body) .hero-chat-invite-icon,
body:not(.admin-body) .emet-chat-message-avatar { border: 1px solid rgba(215,186,126,.3); background: #0B1220; }
body:not(.admin-body) .hero-chat-invite-icon img,
body:not(.admin-body) .emet-assistant-preview-mark img,
body:not(.admin-body) .emet-chat-launcher-mark img,
body:not(.admin-body) .emet-chat-identity-mark img,
body:not(.admin-body) .emet-chat-message-avatar img { position: static; inset: auto; width: 100%; height: 100%; max-width: none; display: block; object-fit: cover; object-position: center top; }
@media (max-width: 760px) {
    body:not(.admin-body) .orvan-promo-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    body:not(.admin-body) .orvan-promo-figure img { height: min(72vh, 620px); }
}
@media (max-width: 600px) {
    body:not(.admin-body) .martha-campaign-figure img { height: min(72vh, 560px); }
    body:not(.admin-body) .martha-conversation-figure { border-radius: 14px; }
    body:not(.admin-body) .martha-conversation-figure figcaption,
    body:not(.admin-body) .orvan-promo-figure figcaption { padding: 10px 12px 12px; font-size: 11px; }
}

/* Homepage: keep the main and secondary offer actions aligned on small screens. */
body:not(.admin-body) .hero-copy > .hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 9px;
    width: min(100%, 560px);
}
body:not(.admin-body) .hero-copy > .hero-actions > .button {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 12px 16px;
    line-height: 1.35;
    white-space: normal;
}
@media (max-width: 600px) {
    body:not(.admin-body) .hero-copy > .hero-actions {
        grid-template-columns: minmax(0, 1fr);
    }
    body:not(.admin-body) .hero-copy > .hero-actions > .button:first-child {
        grid-column: auto;
    }
    body:not(.admin-body) .hero-copy > .hero-actions > .button {
        min-height: 50px;
        font-size: 14px;
    }
}

/* Align portfolio titles with their labels and supporting copy. */
body:not(.admin-body) .work-card > h2 {
    margin: 0 25px 6px;
    font-family: var(--serif);
    font-size: 27px;
    font-weight: 450;
    line-height: 1.2;
}
body:not(.admin-body) .portfolio-context-note {
    max-width: 920px;
    margin: 28px 0 0;
    padding: 16px 18px;
    border-left: 2px solid #F4F7FB;
    color: #DCE3EE;
    background: rgba(255, 255, 255, .06);
    font-size: 14px;
    line-height: 1.7;
}
@media (max-width: 600px) {
    body:not(.admin-body) .work-card > h2 {
        margin-inline: 20px;
        font-size: 25px;
    }
    body:not(.admin-body) .portfolio-context-note {
        margin-top: 20px;
        padding: 14px 15px;
        font-size: 13px;
    }
}

/* Unified, tactile controls for the midnight-blue EMET interface. */
body:not(.admin-body) .button {
    min-height: 48px;
    gap: 10px;
    padding: 12px 19px;
    border-radius: 13px;
    font-size: 14px;
    font-weight: 650;
    letter-spacing: -.012em;
    line-height: 1.25;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .08), 0 8px 22px rgba(0, 0, 0, .18);
    transition: transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);
}

body:not(.admin-body) .button > span[aria-hidden="true"] {
    display: inline-block;
    transition: transform .18s var(--ease);
}

body:not(.admin-body) .button:hover {
    transform: translateY(-2px);
}

body:not(.admin-body) .button:hover > span[aria-hidden="true"] {
    transform: translateX(3px);
}

body:not(.admin-body) .button:active {
    transform: translateY(0) scale(.985);
}

body:not(.admin-body) .button-gold,
body:not(.admin-body) .button-light {
    border-color: rgba(255, 255, 255, .92);
    color: #0B1220;
    background: linear-gradient(180deg, #FFFFFF 0%, #E6EBF2 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), 0 1px 0 rgba(255, 255, 255, .12), 0 9px 24px rgba(0, 0, 0, .22);
}

body:not(.admin-body) .button-gold:hover,
body:not(.admin-body) .button-light:hover {
    border-color: #FFFFFF;
    color: #0B1220;
    background: #FFFFFF;
    box-shadow: inset 0 1px 0 #FFFFFF, 0 12px 28px rgba(0, 0, 0, .27);
}

body:not(.admin-body) .button-outline,
body:not(.admin-body) .button-light-outline {
    border-color: rgba(244, 247, 251, .28);
    color: #F4F7FB;
    background: rgba(20, 32, 57, .68);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045), 0 5px 15px rgba(0, 0, 0, .12);
}

body:not(.admin-body) .button-outline:hover,
body:not(.admin-body) .button-light-outline:hover {
    border-color: rgba(244, 247, 251, .58);
    color: #FFFFFF;
    background: #18253B;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 8px 20px rgba(0, 0, 0, .2);
}

body:not(.admin-body) .button-text {
    border-color: transparent;
    color: #E3E9F1;
    background: transparent;
    box-shadow: none;
}

body:not(.admin-body) .button-text:hover {
    color: #FFFFFF;
    background: rgba(255, 255, 255, .07);
    box-shadow: none;
}

body:not(.admin-body) .button-small {
    min-height: 44px;
    padding: 10px 15px;
    border-radius: 12px;
    font-size: 13px;
}

body:not(.admin-body) .button:disabled,
body:not(.admin-body) .button[aria-disabled="true"] {
    transform: none;
    cursor: not-allowed;
    opacity: .56;
    box-shadow: none;
}

body:not(.admin-body) .button:focus-visible,
body:not(.admin-body) button:focus-visible {
    outline: 2px solid #FFFFFF;
    outline-offset: 3px;
}

body:not(.admin-body) .header-cta {
    min-height: 44px;
    padding-inline: 16px;
    border-radius: 12px;
}

body:not(.admin-body) .menu-toggle {
    width: 46px;
    height: 46px;
    border-color: rgba(244, 247, 251, .2);
    border-radius: 13px;
    background: linear-gradient(160deg, #15223A, #10192A);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 4px 12px rgba(0, 0, 0, .16);
    transition: border-color .18s var(--ease), background .18s var(--ease), transform .18s var(--ease);
}

body:not(.admin-body) .menu-toggle:hover {
    transform: translateY(-1px);
    border-color: rgba(244, 247, 251, .44);
    background: #1A2942;
}

body:not(.admin-body) .dialog-close,
body:not(.admin-body) .emet-chat-close {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(244, 247, 251, .2);
    border-radius: 13px;
    color: #F4F7FB;
    background: #142039;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
    transition: transform .18s var(--ease), border-color .18s var(--ease), background .18s var(--ease);
}

body:not(.admin-body) .dialog-close:hover,
body:not(.admin-body) .emet-chat-close:hover {
    transform: translateY(-1px);
    border-color: rgba(244, 247, 251, .48);
    background: #1A2942;
}

body:not(.admin-body) .hero-chat-invite-button,
body:not(.admin-body) .emet-chat-send,
body:not(.admin-body) .emet-chat-handoff-submit {
    border: 1px solid rgba(255, 255, 255, .92);
    border-radius: 12px;
    color: #0B1220;
    background: linear-gradient(180deg, #FFFFFF, #E6EBF2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), 0 6px 16px rgba(0, 0, 0, .18);
    transition: transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);
}

body:not(.admin-body) .hero-chat-invite-button {
    min-height: 44px;
    padding: 10px 15px;
}

body:not(.admin-body) .hero-chat-invite-button:hover,
body:not(.admin-body) .emet-chat-send:hover,
body:not(.admin-body) .emet-chat-handoff-submit:hover {
    transform: translateY(-1px);
    border-color: #FFFFFF;
    background: #FFFFFF;
    box-shadow: inset 0 1px 0 #FFFFFF, 0 9px 20px rgba(0, 0, 0, .23);
}

body:not(.admin-body) .emet-chat-send {
    width: 42px;
    height: 42px;
    font-size: 24px;
}

body:not(.admin-body) .emet-chat-handoff-submit {
    min-height: 46px;
    font-size: 13px;
    font-weight: 700;
}

body:not(.admin-body) .emet-chat-review-edit {
    min-height: 44px;
    padding: 9px 13px;
    border-color: rgba(244, 247, 251, .24);
    border-radius: 12px;
    background: rgba(255, 255, 255, .035);
    transition: background .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease);
}

body:not(.admin-body) .emet-chat-review-edit:hover {
    transform: translateY(-1px);
    border-color: rgba(244, 247, 251, .5);
    background: rgba(255, 255, 255, .09);
}

body:not(.admin-body) .emet-chat-human-handoff button,
body:not(.admin-body) .emet-chat-back,
body:not(.admin-body) .emet-chat-handoff-success button {
    min-height: 40px;
    padding: 8px 11px;
    border: 1px solid rgba(244, 247, 251, .2);
    border-radius: 11px;
    color: #F4F7FB;
    background: rgba(255, 255, 255, .035);
    transition: transform .18s var(--ease), border-color .18s var(--ease), background .18s var(--ease);
}

body:not(.admin-body) .emet-chat-human-handoff button:hover,
body:not(.admin-body) .emet-chat-back:hover,
body:not(.admin-body) .emet-chat-handoff-success button:hover {
    transform: translateY(-1px);
    border-color: rgba(244, 247, 251, .46);
    background: rgba(255, 255, 255, .09);
    text-decoration: none;
}

body:not(.admin-body) .request-form input[type="file"]::file-selector-button,
body:not(.admin-body) .form-card input[type="file"]::file-selector-button {
    min-height: 36px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 10px;
    color: #F4F7FB;
    background: #142039;
    font: inherit;
    font-size: 12px;
    font-weight: 650;
    cursor: pointer;
    transition: background .18s var(--ease), border-color .18s var(--ease);
}

body:not(.admin-body) .request-form input[type="file"]::file-selector-button:hover,
body:not(.admin-body) .form-card input[type="file"]::file-selector-button:hover {
    border-color: rgba(255, 255, 255, .48);
    background: #1A2942;
}

@media (max-width: 600px) {
    body:not(.admin-body) .header-cta {
        min-height: 44px;
        padding-inline: 12px;
        font-size: 12px;
    }

    body:not(.admin-body) .hero-actions .button {
        min-height: 50px;
        border-radius: 12px;
    }
}

/* Announce the dated Founder Edition launch without competing with the hero CTA. */
body:not(.admin-body) .launch-notice {
    max-width: 560px;
    margin: 0 0 22px;
    padding: 13px 16px;
    border: 1px solid rgba(244, 247, 251, .2);
    border-left: 3px solid #F4F7FB;
    border-radius: 12px;
    color: #DCE3EE;
    background: #111C30;
    font-size: 13px;
    line-height: 1.55;
}
body:not(.admin-body) .launch-notice p { margin: 0; }
body:not(.admin-body) .launch-notice p + p { margin-top: 5px; }
body:not(.admin-body) .launch-notice-date { color: #FFFFFF; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
body:not(.admin-body) .launch-notice strong { color: #FFFFFF; font-weight: 700; }

body:not(.admin-body) .founder-pricing-calendar {
    margin: 34px 0 0;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 18px;
    color: #F4F7FB;
    background: linear-gradient(145deg, #111C30, #0E1728);
}
body:not(.admin-body) .founder-pricing-calendar.is-compact { margin-top: 22px; }
body:not(.admin-body) .founder-pricing-calendar-heading { max-width: 680px; }
body:not(.admin-body) .founder-pricing-calendar-heading .eyebrow { color: #DCE3EE; }
body:not(.admin-body) .founder-pricing-calendar-heading h2 { margin: 7px 0 10px; color: #F4F7FB; font-family: var(--serif); font-size: clamp(27px, 3.5vw, 39px); font-weight: 450; line-height: 1.1; }
body:not(.admin-body) .founder-pricing-calendar-heading h2 em { color: #FFFFFF; }
body:not(.admin-body) .founder-pricing-calendar-heading > p:last-child,
body:not(.admin-body) .founder-pricing-calendar-note { color: #C4CDDA; font-size: 14px; line-height: 1.65; }
body:not(.admin-body) .founder-pricing-stages { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 22px 0 0; padding: 0; list-style: none; }
body:not(.admin-body) .founder-pricing-stage { display: flex; min-height: 133px; flex-direction: column; align-items: flex-start; gap: 7px; padding: 14px 13px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 12px; background: rgba(255, 255, 255, .035); }
body:not(.admin-body) .founder-pricing-stage.is-active,
body:not(.admin-body) .founder-pricing-stage.is-opening { border-color: rgba(255, 255, 255, .58); background: rgba(255, 255, 255, .09); }
body:not(.admin-body) .founder-pricing-stage.is-final { border-style: double; }
body:not(.admin-body) .founder-pricing-stage-number { color: #C4CDDA; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
body:not(.admin-body) .founder-pricing-stage > strong { color: #FFFFFF; font-family: var(--serif); font-size: 25px; font-weight: 500; line-height: 1; }
body:not(.admin-body) .founder-pricing-stage-period { color: #E0E5EC; font-size: 12px; line-height: 1.4; }
body:not(.admin-body) .founder-pricing-stage small { margin-top: auto; color: #C4CDDA; font-size: 10px; font-weight: 650; }
body:not(.admin-body) .founder-pricing-calendar-note { margin: 16px 0 0; }
@media (max-width: 1000px) { body:not(.admin-body) .founder-pricing-stages { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px) {
    body:not(.admin-body) .founder-pricing-calendar { padding: 19px; }
    body:not(.admin-body) .founder-pricing-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 17px; }
    body:not(.admin-body) .founder-pricing-stage { min-height: 125px; padding: 12px 10px; }
    body:not(.admin-body) .founder-pricing-stage > strong { font-size: 23px; }
    body:not(.admin-body) .founder-pricing-stage-period { font-size: 11px; }
}

/* Audit 2026-10-29 : le bouton flottant de l'assistant ne recouvre plus le pied de page ; surtitre aligné sur mobile. */
body:not(.admin-body) .site-footer { padding-bottom: 76px; }
@media (max-width: 720px) {
    body:not(.admin-body) .hero .eyebrow-line { display: none; }
}

/* Lot B P1 : premier écran mobile, 03/11/2026 */
body:not(.admin-body) .founder-hero {
    grid-template-areas: "head card" "copy card" "notes card";
}
body:not(.admin-body) .founder-hero-head { grid-area: head; }
body:not(.admin-body) .founder-price-card { grid-area: card; }
body:not(.admin-body) .founder-hero-copy { grid-area: copy; }
body:not(.admin-body) .founder-hero-notes { grid-area: notes; }
body:not(.admin-body) .founder-hero-notes > p { color: var(--muted); font-size: 14px; line-height: 1.65; }

@media (max-width: 760px) {
    body:not(.admin-body) .founder-hero {
        grid-template-columns: 1fr;
        grid-template-areas: "head" "card" "copy" "notes";
        gap: 12px;
    }
}

@media (max-width: 600px) {
    body:not(.admin-body) .hero { padding-top: 24px; }
    body:not(.admin-body) .hero .eyebrow { margin-bottom: 12px; }
    body:not(.admin-body) .founder-hero { padding-top: 24px; }
    body:not(.admin-body) .founder-hero h1 { margin: 0 0 12px; }
    body:not(.admin-body) .hero h1 {
        margin-bottom: 12px;
        font-size: 34px;
        line-height: 1.05;
    }
    body:not(.admin-body) .hero-subtitle { font-size: 18px; }
    body:not(.admin-body) .launch-notice { padding: 10px 12px; }

    body:not(.admin-body) .founder-hero h1 { font-size: 34px; }
    body:not(.admin-body) .founder-hero .eyebrow,
    body:not(.admin-body) .founder-price-card .offer-index { display: none; }
    body:not(.admin-body) .founder-price-card { padding: 14px; }
    body:not(.admin-body) .founder-price { margin: 0 0 4px; }
    body:not(.admin-body) .founder-price-taxed { margin: 0 0 6px; }
    body:not(.admin-body) .founder-price-card > p:not(.founder-price) { margin: 0 0 6px; }

    body:not(.admin-body) .cookie-banner {
        gap: 10px;
        padding: 14px;
    }
    body:not(.admin-body) .cookie-banner-copy .eyebrow {
        margin-bottom: 4px;
        font-size: 10px;
    }
    body:not(.admin-body) .cookie-banner-copy h2 {
        margin-bottom: 6px;
        font-size: 20px;
        line-height: 1.15;
    }
    body:not(.admin-body) .cookie-banner-copy > p:last-child {
        font-size: 13px;
        line-height: 1.4;
    }
    body:not(.admin-body) .cookie-banner-actions { gap: 6px; }
    body:not(.admin-body) .cookie-banner-actions .button {
        min-height: 40px;
        padding: 8px 10px;
    }
}

/* A quiet introduction to EMET, with a decorative midnight sky. */
body:not(.admin-body) .home-hero-neutral {
    position: relative;
    display: grid;
    min-height: 680px;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    padding-block: 100px 120px;
    background: #0B1220;
    text-align: center;
}
body:not(.admin-body) .home-hero-neutral::after {
    position: absolute;
    z-index: -1;
    inset: auto 0 0;
    height: 120px;
    content: "";
    background: linear-gradient(transparent, #0B1220);
    pointer-events: none;
}
body:not(.admin-body) .home-hero-neutral-inner { position: relative; max-width: 1000px; }
body:not(.admin-body) .home-hero-eyebrow {
    margin: 0 0 30px;
    color: #AAB5C5;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .32em;
}
body:not(.admin-body) .home-hero-neutral h1 {
    max-width: 920px;
    margin: 0 auto 28px;
    color: #F4F7FB;
    font-size: clamp(58px, 6vw, 84px);
    line-height: 1.08;
    letter-spacing: -.045em;
    text-wrap: balance;
}
body:not(.admin-body) .home-hero-neutral h1 em { color: #DCE3EE; font-weight: inherit; }
body:not(.admin-body) .home-hero-intro {
    max-width: 470px;
    margin: 0 auto 38px;
    color: #AAB5C5;
    font-size: 18px;
    line-height: 1.75;
    text-wrap: balance;
}
body:not(.admin-body) .home-hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
body:not(.admin-body) .home-hero-actions .button { min-height: 50px; gap: 18px; padding: 13px 23px; font-size: 14px; }
body:not(.admin-body) .home-hero-actions .button-gold { border-color: #F4F7FB; color: #0B1220; background: #F4F7FB; box-shadow: none; }
body:not(.admin-body) .home-hero-actions .button-gold:hover { border-color: #FFFFFF; background: #FFFFFF; }
body:not(.admin-body) .home-hero-actions .button-outline { border-color: rgba(244,247,251,.24); color: #DCE3EE; background: transparent; }
body:not(.admin-body) .home-hero-actions .button-outline:hover { border-color: rgba(244,247,251,.6); background: rgba(244,247,251,.04); }
body:not(.admin-body) .home-hero-sky {
    position: absolute;
    z-index: -2;
    inset: 0;
    overflow: hidden;
    background: radial-gradient(ellipse at 50% 35%, rgba(70,101,151,.12), transparent 67%);
    pointer-events: none;
}
body:not(.admin-body) .home-hero-stars { position: absolute; inset: -24px; background-repeat: repeat; }
body:not(.admin-body) .home-hero-stars-far {
    opacity: .75;
    background-image: var(--emet-starfield);
    background-size: 960px 720px;
    animation: emet-sky-drift 48s ease-in-out infinite alternate;
}
body:not(.admin-body) .home-hero-stars-near {
    opacity: .8;
    background-image: var(--emet-starfield);
    background-size: 1440px 1080px;
    background-position: 270px -180px;
    animation: emet-sky-drift 36s ease-in-out -18s infinite alternate-reverse;
}
body:not(.admin-body) .home-hero-glint { position: absolute; top: 22%; left: 17%; width: 11px; height: 11px; opacity: .35; animation: emet-star-glow 12s ease-in-out infinite alternate; }
body:not(.admin-body) .home-hero-glint::before { position: absolute; inset: 0; content: ""; background: #DCE3EE; clip-path: polygon(50% 0, 58% 40%, 100% 50%, 58% 60%, 50% 100%, 42% 60%, 0 50%, 42% 40%); }
body:not(.admin-body) .home-hero-glint::after { position: absolute; inset: -5px; content: ""; background: radial-gradient(circle, rgba(220,227,238,.2), transparent 65%); }
body:not(.admin-body) .home-hero-glint:nth-last-child(2) { top: 64%; left: 85%; animation-delay: -4s; }
body:not(.admin-body) .home-hero-glint:last-child { top: 81%; left: 35%; animation-delay: -8s; }
@keyframes emet-sky-drift { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(10px, -16px, 0); } }
@keyframes emet-star-glow { from { opacity: .15; } to { opacity: .55; } }
@media (max-width: 820px) {
    body:not(.admin-body) .home-hero-neutral { min-height: 600px; padding-block: 76px 100px; }
    body:not(.admin-body) .home-hero-neutral h1 { max-width: 680px; font-size: clamp(48px, 7.7vw, 64px); }
}
@media (max-width: 600px) {
    body:not(.admin-body) .home-hero-neutral { min-height: 0; padding-block: 30px 80px; }
    body:not(.admin-body) .home-hero-eyebrow { margin-bottom: 22px; font-size: 9px; }
    body:not(.admin-body) .home-hero-neutral h1 { max-width: 420px; margin-bottom: 20px; font-size: clamp(38px, 10vw, 48px); line-height: 1.1; }
    body:not(.admin-body) .home-hero-intro { max-width: 340px; margin-bottom: 26px; font-size: 16px; line-height: 1.65; }
    body:not(.admin-body) .home-hero-actions { flex-wrap: nowrap; gap: 8px; }
    body:not(.admin-body) .home-hero-actions .button { min-height: 48px; gap: 7px; padding: 12px 13px; font-size: 12px; }
}
@media (max-width: 340px) {
    body:not(.admin-body) .home-hero-actions { gap: 6px; }
    body:not(.admin-body) .home-hero-actions .button { gap: 5px; padding-inline: 10px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
    body:not(.admin-body) .home-hero-stars,
    body:not(.admin-body) .home-hero-glint { animation: none; }
}

/* The shared star pattern sits in blue backgrounds, below all page content. */
body:not(.admin-body) {
    --emet-starfield: url('../images/emet-starfield-v1.svg');
    background-image: var(--emet-starfield);
    background-size: 960px 720px;
    background-position: center top;
}
body:not(.admin-body) :is(
    .site-header, .main-nav, .section-surface, .method-section, .martha-note,
    .closing-cta, .entry-card, .offer-card, .work-card, .content-card,
    .estimator-card, .form-card, .module-catalogue-card,
    .capability-note, .local-card, .form-side-note,
    .launch-notice, .founder-pricing-stage, .callback-shortcut,
    .request-optional-details, .notice-soft, .draft-notice,
    .martha-architecture-card, .martha-status-note
),
body:not(.admin-body) .scope-list li,
body:not(.admin-body) .delivery-list li {
    background-image: var(--emet-starfield);
    background-size: 960px 720px;
    background-position: center top;
}
body:not(.admin-body) :is(.entry-card-featured, .offer-highlight, .founder-price-card) {
    background-image: var(--emet-starfield), linear-gradient(145deg, #142039, #10192A);
    background-size: 960px 720px, auto;
    background-position: center top;
}
body:not(.admin-body) .founder-pricing-calendar {
    background-image: var(--emet-starfield), linear-gradient(145deg, #111C30, #0E1728);
    background-size: 960px 720px, auto;
    background-position: center top;
}
