:root {
  --paper: #f8f7f3;
  --white: #fffefb;
  --ink: #172f3d;
  --ink-muted: #4c606a;
  --copper: #bb7655;
  --copper-dark: #875039;
  --sage: #dde7e1;
  --sage-dark: #cddad3;
  --line: #d8dcd8;
  --form-line: #9da9ad;
  --shell: 1190px;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, 'Segoe UI', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font: 400 16px/1.65 var(--sans); -webkit-font-smoothing:antialiased; }
button, input, textarea, select {font:inherit;}
button {cursor:pointer;}
a {color:inherit; text-decoration:none; text-underline-offset: 4px;}
a:hover {color:var(--copper-dark);}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {outline:3px solid var(--copper-dark); outline-offset:4px;}
img,svg {max-width:100%;}
[hidden] {display:none !important;}
::selection {background:var(--sage-dark); color:var(--ink);}
h1,h2,h3,p,figure {margin-top:0;}
h1,h2,h3 {font-weight:400;}
h1,h2 {font-family:var(--serif); letter-spacing:-0.035em;}
h1 {font-size:clamp(3rem,5.35vw,5.3rem);line-height:1.085;}
h2 {font-size:clamp(2.15rem,3.55vw,3.55rem);line-height:1.12;}
h3 {font-family:var(--serif);font-size:1.6rem;line-height:1.23; letter-spacing:-.021em;}
p {color:var(--ink-muted);}
.shell {width:min(var(--shell), calc(100% - 80px)); margin-inline:auto;}
.visually-hidden {position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);white-space:nowrap;overflow:hidden;clip-path:inset(50%);}
.skip-link {position:fixed;z-index:9999;top:-100px;left:18px;background:var(--ink);color:#fff;padding:13px 20px;border-radius:3px;}
.skip-link:focus {top:14px;color:#fff;}
.prototype-banner {background:#e7e5df; color:#43545b; border-bottom:1px solid #d3d1cb;font-size:11px;letter-spacing:.035em;line-height:1.3;}
.prototype-banner .shell {display:flex;gap:22px;justify-content:space-between;align-items:center;min-height:27px;}
.prototype-banner__status {font-weight:800;letter-spacing:.11em;white-space:nowrap;color:#344651;}
.prototype-banner__status span {color:var(--copper-dark);font-size:8px;vertical-align:2px;margin-right:7px;}
.site-header {height:94px;position:sticky;top:0;z-index:50;background:rgba(248,247,243,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);}
.site-header__inner {height:100%;display:flex;align-items:center;gap:28px;justify-content:space-between;}
.wordmark {display:inline-flex;align-items:center;line-height:1;flex:none;color:var(--ink);}
.wordmark:hover {color:var(--ink);}
.wordmark__image {display:block;width:205px;height:auto;aspect-ratio:478 / 102;max-width:100%;}
/* Original Concept 02 symbol is secondary: header only below the existing menu breakpoint. */
.site-header .wordmark__symbol {display:none;width:48px;height:48px;flex:none;}
.primary-nav {display:flex;align-items:center;gap:clamp(16px,2.3vw,39px);margin-left:auto;}
.primary-nav a {font-size:13px;font-weight:600;position:relative;padding:8px 0;white-space:nowrap;}
.primary-nav a::after {content:'';position:absolute;height:2px;width:0;bottom:2px;left:0;background:var(--copper);transition:width .2s;}
.primary-nav a:hover::after,.primary-nav a[aria-current="page"]::after {width:100%;}
.primary-nav a[aria-current="page"] {color:var(--copper-dark);}
.header-action {margin-left:clamp(12px,2vw,28px);}
.btn {display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:50px;padding:14px 19px;border:1px solid transparent;border-radius:2px;font-size:13px;font-weight:700;line-height:1.1;transition:background .2s,color .2s,transform .2s;white-space:normal;text-align:left;}
.btn:hover {transform:translateY(-1px);}
.btn--primary {background:var(--ink);color:#fff;}
.btn--primary:hover {background:#294b5d;color:#fff;}
.btn--light {background:var(--paper);color:var(--ink);}
.btn--light:hover {background:#fff;color:var(--ink);}
.btn__arrow {font-size:17px;font-weight:400;line-height:1;}
.text-link,.arrow-link {display:inline-flex;gap:17px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:14px;font-weight:700;line-height:1.5;color:var(--ink);}
.text-link:hover,.arrow-link:hover {color:var(--copper-dark);}
.text-link span,.arrow-link span {font-size:18px;font-weight:400;}
.menu-toggle {display:none;}
.eyebrow {margin:0 0 25px;color:var(--copper-dark);text-transform:uppercase;letter-spacing:.17em;font-size:10.5px;font-weight:800;line-height:1.5;}
.eyebrow-rule {display:inline-block;width:23px;height:1px;background:var(--copper);vertical-align:middle;margin-right:10px;}
.eyebrow-divider {color:#aeb6b5;padding:0 4px;}
.hero {padding:94px 0 105px;}
.hero__grid {display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(28px,5vw,70px);align-items:center;}
.hero h1 {max-width:760px;margin:0 0 27px;}
.hero h1 em {font-style:normal;color:var(--copper-dark);}
.hero .lead {max-width:610px;margin-bottom:32px;}
.lead {font-size:clamp(1.13rem,1.65vw,1.38rem);line-height:1.65;color:var(--ink-muted);}
.action-row {display:flex;gap:27px;align-items:center;flex-wrap:wrap;}
.hero__footnote {display:flex;align-items:center;gap:10px;margin-top:57px;font-size:12px;color:#60717b;}
.dot {background:var(--copper);width:6px;height:6px;border-radius:50%;}
.interface-art {margin:0;position:relative;min-height:462px;}
.interface-art__plane {position:absolute;inset:0 0 30px 0;isolation:isolate;overflow:hidden;border:1px solid #dfe2dd;background:radial-gradient(circle at 66% 48%, #e2eae3 0%, #eff2ed 48%,#f5f5f0 100%);}
.art-grid {position:absolute;inset:0;background-image:linear-gradient(#bcc9c4 1px,transparent 1px),linear-gradient(90deg,#bcc9c4 1px,transparent 1px);background-size:42px 42px;opacity:.18;}
.art-orbit {border:1px solid rgba(93,126,114,.38);border-radius:50%;position:absolute;transform:translate(-50%,-50%);left:56%;top:49%;width:330px;height:330px;}
.art-orbit--two {width:510px;height:510px;border-color:rgba(93,126,114,.22);}
.art-axis {position:absolute;top:50%;left:0;width:100%;height:1px;background:#b3c4b9;transform:rotate(-29deg);opacity:.65;}
.art-axis--v {transform:rotate(61deg);}
.art-beacon {position:absolute;left:56%;top:50%;width:43px;height:43px;transform:translate(-50%,-50%);border:1px solid #879e91;border-radius:50%;background:var(--sage);display:grid;place-items:center;box-shadow:0 0 0 16px rgba(255,255,255,.34);}
.art-beacon span {display:block;width:10px;height:10px;border-radius:50%;background:var(--copper);}
.art-card {position:absolute;z-index:3;background:rgba(255,254,251,.97);border:1px solid #d7ded8;box-shadow:0 12px 36px rgba(22,45,60,.055);padding:16px 19px 16px;width:210px;display:flex;flex-direction:column;line-height:1.3;}
.art-card__num {font:700 9px/1.3 var(--sans);color:var(--copper-dark);letter-spacing:.14em;margin-bottom:11px;}
.art-card strong {font:400 19px/1.2 var(--serif);color:var(--ink);margin-bottom:7px;}
.art-card > span:last-child {font-size:11px;color:#6a7980;}
.art-card--strategy {top:37px;left:27px;}
.art-card--consents {right:10px;top:176px;}
.art-card--delivery {bottom:25px;left:44px;}
.interface-art figcaption {position:absolute;bottom:0;right:0;font:600 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#77857f;}
.section {padding:106px 0;}
.section-heading--split {display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:start;margin-bottom:55px;}
.section-heading h2 {max-width:790px;margin-bottom:23px;}
.section-heading p:not(.eyebrow) {max-width:620px;margin-bottom:0;}
.challenge {border-top:1px solid var(--line);}
.challenge-grid {display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}
.challenge-grid article {padding:31px 30px 0 0;min-height:170px;}
.challenge-grid article + article {border-left:1px solid var(--line);padding-left:32px;}
.line-marker {display:block;width:28px;height:2px;background:var(--copper);margin-bottom:24px;}
.challenge-grid h3 {font-size:23px;margin-bottom:12px;}
.challenge-grid p {font-size:14px;margin:0;max-width:320px;}
.services-preview {background:#f0f1eb;}
.section-headline {display:grid;grid-template-columns:1.55fr .8fr;gap:60px;align-items:end;margin-bottom:50px;}
.section-headline h2 {max-width:740px;margin:0;}
.section-headline > p {max-width:310px;font-size:15px;margin:0 0 8px;}
.service-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.service-card {display:flex;flex-direction:column;background:var(--white);border:1px solid #dce0da;padding:31px 30px 32px;min-height:385px;transition:box-shadow .2s,transform .2s;}
.service-card:hover {box-shadow:0 12px 30px rgba(23,47,61,.065);transform:translateY(-2px);}
.serial {font:400 40px/1 var(--serif);color:#c3cbc4;margin-bottom:37px;}
.service-card__tag {font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--copper-dark);font-weight:800;margin-bottom:12px;}
.service-card h3 {font-size:clamp(22px,2.05vw,28px);margin-bottom:18px;}
.service-card p:not(.service-card__tag) {font-size:14px;max-width:315px;}
.service-card .arrow-link {margin-top:auto;align-self:flex-start;}
.evidence-panel {background:var(--ink);}
.evidence-panel__grid {display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center;}
.evidence-panel h2,.evidence-panel p {color:#f3f3ee;}
.evidence-panel .eyebrow {color:#e3af92;}
.evidence-panel h2 {margin-bottom:25px;}
.evidence-panel p:not(.eyebrow) {color:#d1dade;font-size:15px;}
.evidence-panel .text-link {color:#fff;margin-top:11px;}
.evidence-panel .text-link:hover {color:#e7ad8b;}
.evidence-list {border-top:1px solid #55717d;}
.evidence-list [role="listitem"] {display:flex;align-items:center;gap:30px;border-bottom:1px solid #55717d;padding:27px 0;}
.evidence-list [role="listitem"] span {font:400 27px/1 var(--serif);color:#b3c3c9;}
.evidence-list [role="listitem"] strong {font-weight:500;color:#fff;font-size:16px;}
.evidence-list__note {font-size:12px;color:#bdcbd0;padding-top:20px;}
.process-steps {display:grid;grid-template-columns:repeat(3,1fr);gap:55px;border-top:1px solid var(--line);padding-top:32px;}
.process-steps span {display:inline-block;color:var(--copper-dark);font-weight:700;font-size:12px;letter-spacing:.1em;margin-bottom:20px;}
.process-steps h3 {margin-bottom:10px;}
.process-steps p {font-size:14px;max-width:300px;}
.principal-band {background:var(--sage);padding:79px 0;}
.principal-band__inner {display:grid;grid-template-columns:.5fr 1.55fr .48fr;gap:38px;align-items:center;}
.principal-band h2 {font-size:clamp(1.8rem,2.45vw,2.75rem);margin:0;}
.principal-band .eyebrow {margin-bottom:0;}
.principal-band .text-link {justify-self:end;white-space:nowrap;}
.closing-cta {background:#243e4c;padding:85px 0;}
.closing-cta__inner {display:flex;gap:40px;justify-content:space-between;align-items:center;}
.closing-cta h2 {font-size:clamp(2.2rem,3.1vw,3.15rem);max-width:760px;color:#fff;margin:0 0 18px;}
.closing-cta p:not(.eyebrow) {max-width:680px;color:#d9e1e4;margin:0;}
.eyebrow--light {color:#e6b89c;}
.site-footer {background:#142b37;color:#fff;}
.footer-top {display:grid;grid-template-columns:1.4fr .6fr .85fr;gap:70px;padding:76px 0 65px;}
.wordmark--footer {color:#fff;}
.wordmark--footer:hover {color:#fff;}
.footer-brand p {max-width:335px;margin-top:20px;color:#d2dadd;font-size:14px;}
.footer-nav {display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.footer-nav .eyebrow,.footer-note .eyebrow {color:#e6ae91;margin-bottom:11px;}
.footer-nav a {font-size:14px;color:#fff;}
.footer-nav a:hover {color:#e7b394;}
.footer-note p {color:#d2dadd;font-size:13px;margin:0;}
.footer-bottom {display:flex;justify-content:space-between;gap:20px;border-top:1px solid #48616d;padding:22px 0 28px;}
.footer-bottom small {font-size:11px;color:#c1cfd4;}
/* Shared interior page heroes */
.page-hero {padding:112px 0 105px;background:var(--paper);border-bottom:1px solid var(--line);}
.page-hero__grid {display:grid;grid-template-columns:1.15fr .75fr;gap:10%;align-items:end;}
.page-hero h1 {font-size:clamp(3.2rem,5.4vw,5.35rem);max-width:790px;margin-bottom:0;}
.page-hero__grid > div:nth-child(2) {padding-bottom:5px;}
.page-hero__grid > div:nth-child(2) p:last-child {margin-bottom:0;}
.page-hero__grid .lead {margin-bottom:22px;}
.page-hero__grid .btn {margin-top:18px;}
.service-intro {background:var(--sage);padding:24px 0;}
.service-intro .shell {display:flex;gap:40px;align-items:center;justify-content:space-between;}
.service-intro p {font-size:13.5px;margin:0;color:#354d56;}
.service-intro .text-link {white-space:nowrap;font-size:12px;}
.service-detail {padding:92px 0 98px;scroll-margin-top:110px;}
.service-detail--alt {background:#f0f2ed;}
.service-detail__heading {display:grid;grid-template-columns:1fr 2.08fr;gap:50px;padding-bottom:43px;border-bottom:1px solid var(--line);}
.service-detail__heading h2 {max-width:700px;margin:0;font-size:clamp(2.45rem,3.8vw,4rem);}
.service-detail__content {display:grid;grid-template-columns:1.05fr 1fr;gap:11%;padding-top:44px;}
.micro-title {margin:0 0 10px;color:var(--copper-dark);font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;}
.service-detail__intro > p:not(.micro-title) {font-size:16px;max-width:510px;}
.service-detail__intro .issue {font:400 clamp(1.4rem,2.3vw,2.05rem)/1.34 var(--serif);color:var(--ink);margin-bottom:34px;}
.service-detail__intro .btn {margin-top:14px;}
.service-detail__detail {display:grid;grid-template-columns:1fr;gap:27px;align-content:start;}
.service-detail__list {border-top:1px solid var(--line);padding-top:19px;}
.service-detail__list h3 {font:700 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.16em;margin-bottom:13px;color:var(--ink);}
.check-list,.output-list {list-style:none;padding:0;margin:0;}
.check-list li,.output-list li {position:relative;padding:6px 0 6px 22px;color:#465c67;font-size:14px;}
.check-list li::before {content:'—';position:absolute;left:0;color:var(--copper-dark);font-weight:bold;}
.output-list {display:flex;flex-wrap:wrap;gap:8px;}
.output-list li {border:1px solid #c5d1cb;background:#f8f9f5;padding:9px 12px;color:#314955;font-size:12px;}
.scope-note {font-size:12px;color:#60717b;border-left:2px solid var(--copper);padding-left:14px;max-width:460px;}
.mode-section {background:var(--sage);}
.mode-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:25px;}
.mode-grid article {padding:28px 23px;background:rgba(255,255,255,.56);min-height:205px;}
.mode-grid span {font:400 26px/1 var(--serif);color:#698477;}
.mode-grid h3 {margin:19px 0 10px;}
.mode-grid p {font-size:14px;}
/* Experience */
.experience-areas {background:#f0f2ed;}
.experience-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.experience-grid article {background:var(--white);border:1px solid #dbe2dc;padding:27px 27px 32px;min-height:400px;display:flex;flex-direction:column;}
.experience-grid__top {height:135px;display:flex;justify-content:space-between;position:relative;border-bottom:1px solid var(--line);margin-bottom:26px;}
.experience-grid__top > span:first-child {font-size:10px;font-weight:700;letter-spacing:.13em;color:var(--copper-dark);}
.outline-graphic {display:block;width:85px;height:85px;align-self:center;border:1px solid #baccc2;border-radius:50%;box-shadow:0 0 0 15px #edf3ee,0 0 0 16px #c1d2c8;}
.outline-graphic--two {border-radius:2px;transform:rotate(30deg);}
.outline-graphic--three {width:80px;height:80px;border-radius:50% 50% 0 0;}
.experience-grid h3 {margin:0 0 17px;}
.experience-grid p {font-size:14px;}
.experience-grid .arrow-link {margin-top:auto;align-self:flex-start;}
.proof-gate {background:var(--ink);}
.proof-gate__inner {display:grid;grid-template-columns:1.1fr 1fr;gap:12%;}
.proof-gate h2 {color:#fff;}
.proof-gate .eyebrow {color:#e0af90;}
.proof-gate p {color:#dae2e3;}
.small-note {font-size:12px !important;border-top:1px solid #b5c3c2;padding-top:18px;margin-top:23px;color:#667980;}
.proof-gate .small-note {border-color:#56727a;color:#bbd0d0;}
.attribution__inner {display:grid;grid-template-columns:1fr 2fr;gap:50px;}
.attribution__index {font:400 50px/1 var(--serif);color:var(--copper-dark);}
.attribution__index span {font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#7e8b87;}
.attribution h2 {margin-bottom:22px;}
.attribution p {max-width:650px;}
/* About */
.about-thesis {background:#f0f2ed;}
.about-thesis__grid {display:grid;grid-template-columns:1fr 1.05fr;gap:15%;}
.about-thesis h2 {max-width:610px;}
.about-thesis p:not(.eyebrow) {font-size:17px;}
.about-process__grid {display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.about-process__grid article {border-top:1px solid var(--line);padding-top:29px;}
.number-outline {font:400 47px/1 var(--serif);color:#9caeaa;display:block;margin-bottom:46px;}
.about-process__grid p {font-size:14px;max-width:315px;}
.about-attribution {background:var(--sage);}
.about-attribution__grid {display:grid;grid-template-columns:1fr 1.1fr;gap:14%;align-items:center;}
.about-attribution__art {height:460px;background:radial-gradient(circle,#e8efea,#d4e0d9);position:relative;border:1px solid #bccdc4;display:flex;flex-direction:column;justify-content:space-evenly;padding:45px 70px;overflow:hidden;}
.about-attribution__art span {position:relative;z-index:1;font:700 11px/1 var(--sans);letter-spacing:.18em;color:#4f6b60;}
.art-loop {position:absolute;width:480px;height:480px;top:50%;left:70%;transform:translate(-50%,-50%) rotate(45deg);border:1px solid #8eae9d;border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.13),0 0 0 56px #a7bfb1,0 0 0 115px rgba(255,255,255,.14);}
.about-attribution__grid h2 {margin-bottom:22px;}
.about-attribution__grid .text-link {margin-top:17px;}
/* Contact */
.page-hero--contact {padding-bottom:80px;}
.contact-content {padding:83px 0 118px;}
.contact-grid {display:grid;grid-template-columns:.86fr 1.14fr;gap:10%;align-items:start;}
.demo-banner {display:flex;gap:16px;background:#e6ece7;border:1px solid #cad7cf;padding:19px;margin-bottom:68px;}
.demo-banner__icon {display:grid;place-items:center;border-radius:50%;width:25px;height:25px;flex:none;font:700 14px/1 var(--sans);border:1px solid #678376;color:#435e50;}
.demo-banner strong {font-size:13px;}
.demo-banner p {font-size:12px;line-height:1.65;margin:4px 0 0;}
.contact-aside h2 {font-size:clamp(2.2rem,3.3vw,3.3rem);max-width:460px;}
.contact-aside > p {max-width:390px;}
.contact-aside__topics {border-top:1px solid var(--line);margin-top:56px;padding-top:23px;}
.contact-aside__topics .eyebrow {margin-bottom:19px;}
.contact-aside__topics a {display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:14px 0;font-size:13px;font-weight:600;}
.contact-aside__topics a span {font-size:18px;font-weight:400;}
.form-panel {background:#fffefb;border:1px solid #dfe1dc;padding:38px clamp(24px,3vw,48px) 45px;}
.form-panel .eyebrow {margin-bottom:15px;}
.form-panel h2 {font-size:clamp(2.1rem,3vw,3rem);margin-bottom:14px;}
.form-panel__desc {font-size:13px;margin-bottom:22px;}
.form-row {display:grid;grid-template-columns:1fr 1fr;gap:17px;}
.field {display:flex;flex-direction:column;margin-bottom:19px;}
.field label {font-size:12px;font-weight:700;color:var(--ink);margin-bottom:7px;}
.field label span[aria-hidden="true"] {color:var(--copper-dark);}
.field .optional {color:#68777e;font-weight:400;font-size:11px;margin-left:5px;}
.field input,.field select,.field textarea {width:100%;border:1px solid var(--form-line);border-radius:2px;padding:12px 12px;background:#fff;color:var(--ink);min-height:47px;}
.field textarea {resize:vertical;min-height:132px;}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"] {border:2px solid #a34031;background:#fff8f6;}
.field-hint {color:#5f6e75;font-size:11px;line-height:1.6;margin-top:7px;}
.field-error {color:#982e22;font-size:12px;min-height:0;line-height:1.5;}
.field-error:not(:empty) {margin-top:5px;}
.form-disclaimer {font-size:12px;line-height:1.6;background:#f0f2ed;padding:14px 16px;color:#53646a;}
.form-actions {display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:23px;}
.form-actions span {font-size:12px;color:#697880;}
.form-status {margin-top:18px;font-size:13px;line-height:1.5;color:var(--ink);}
.form-status--error {color:#982e22;}
.form-status--success {color:#285d41;}
.context-pill {background:#edf2ee;border-left:3px solid #557669;padding:11px 14px;font-size:12px;margin-bottom:23px;color:#415961;}
@media (max-width: 1120px) {
  .shell {width:min(var(--shell), calc(100% - 56px));}
  .header-action .btn {padding:12px 13px;gap:12px;}
  .site-header__inner {gap:18px;}
  .primary-nav {gap:17px;}
  .hero {padding:76px 0 85px;}
  .interface-art {min-height:400px;}
  .art-card {width:170px;padding:13px;}
  .art-card--strategy {left:9px;}
  .art-card--consents {right:8px;}
  .art-card--delivery {left:24px;}
  .art-card strong {font-size:16px;}
  .principal-band__inner {grid-template-columns:1fr 2.3fr;}
  .principal-band .text-link {grid-column:2;justify-self:start;}
}
@media (max-width: 900px) {
  html {scroll-padding-top:80px;}
  .site-header {height:78px;}
  .wordmark__image {width:196px;}
  /* Same 900px cutoff as the existing compact navigation; no layout redesign. */
  .site-header .wordmark__image {display:none;}
  .site-header .wordmark__symbol {display:block;}
  .site-header .wordmark {min-width:48px;min-height:48px;justify-content:center;}
  .header-action {display:none;}
  .menu-toggle {display:inline-flex;align-items:center;gap:13px;border:1px solid var(--line);background:transparent;padding:10px 13px;min-height:44px;color:var(--ink);font-size:13px;font-weight:700;}
  .menu-toggle__lines {display:flex;flex-direction:column;gap:5px;}
  .menu-toggle__lines i {height:2px;width:19px;display:block;background:var(--ink);transition:transform .2s;}
  .site-header.nav-open .menu-toggle__lines i:first-child {transform:translateY(3.5px) rotate(45deg);}
  .site-header.nav-open .menu-toggle__lines i:last-child {transform:translateY(-3.5px) rotate(-45deg);}
  .primary-nav {position:absolute;top:100%;left:0;right:0;display:none;background:var(--paper);border-bottom:1px solid var(--line);padding:20px max(28px, calc((100vw - var(--shell))/2)) 27px;box-shadow:0 18px 25px rgba(30,52,62,.07);flex-direction:column;align-items:stretch;gap:0;}
  .primary-nav a {font-size:17px;padding:11px 0;border-bottom:1px solid var(--line);}
  .primary-nav a:last-child {border-bottom:0;}
  .site-header.nav-open .primary-nav,.no-js .primary-nav {display:flex;}
  .no-js .site-header {height:auto;}
  .no-js .site-header__inner {flex-wrap:wrap;padding-block:13px;}
  .no-js .primary-nav {position:static;width:100%;box-shadow:none;border:0;padding:0;}
  .no-js .menu-toggle {display:none;}
  .hero__grid,.page-hero__grid {grid-template-columns:1fr;gap:35px;}
  .hero h1 {max-width:680px;}
  .hero__footnote {margin-top:31px;}
  .interface-art {min-height:365px;max-width:620px;width:100%;}
  .art-orbit {width:280px;height:280px;}
  .art-orbit--two {width:450px;height:450px;}
  .section {padding:82px 0;}
  .section-heading--split,.section-headline,.service-detail__heading {grid-template-columns:1fr;gap:16px;}
  .section-headline {align-items:start;}
  .section-headline > p {max-width:580px;}
  .service-cards {grid-template-columns:repeat(2,1fr);}
  .service-cards .service-card:last-child {grid-column:1 / -1;min-height:290px;}
  .service-card {min-height:350px;}
  .service-card .serial {margin-bottom:26px;}
  .principal-band__inner {grid-template-columns:1fr;gap:20px;}
  .principal-band .text-link {grid-column:auto;justify-self:start;}
  .evidence-panel__grid,.about-thesis__grid,.about-attribution__grid {gap:50px;grid-template-columns:1fr 1fr;}
  .process-steps {gap:24px;}
  .page-hero {padding:80px 0;}
  .page-hero h1 {max-width:790px;}
  .page-hero__grid > div:nth-child(2) {max-width:700px;}
  .service-detail__content {gap:45px;}
  .experience-grid {gap:12px;}
  .experience-grid article {padding:21px;}
  .experience-grid h3 {font-size:1.45rem;}
  .contact-grid {gap:40px;}
  .footer-top {gap:35px;}
}
@media (max-width: 680px) {
  .shell {width:calc(100% - 40px);}
  .prototype-banner .shell {min-height:33px;gap:12px;}
  .prototype-banner {font-size:9px;}
  .prototype-banner span:last-child {text-align:right;}
  .site-header {height:73px;}
  .wordmark__image {width:min(190px, 50vw);}
  .hero {padding:61px 0 71px;}
  .hero h1,.page-hero h1 {font-size:clamp(2.68rem,11vw,4.4rem);line-height:1.08;}
  .hero .lead {font-size:17px;}
  .hero__eyebrow {font-size:9.5px;}
  .eyebrow {margin-bottom:19px;}
  .action-row {align-items:flex-start;gap:20px;}
  .action-row .btn {width:100%;justify-content:space-between;}
  .hero__footnote {font-size:11px;margin-top:25px;}
  .interface-art {min-height:345px;}
  .interface-art__plane {inset:0 0 28px;}
  .art-orbit {width:230px;height:230px;}
  .art-orbit--two {width:380px;height:380px;}
  .art-card {width:155px;padding:11px 12px;}
  .art-card--strategy {top:17px;left:11px;}
  .art-card--consents {top:134px;right:5px;}
  .art-card--delivery {left:18px;bottom:15px;}
  .art-card__num {font-size:8px;margin-bottom:7px;}
  .art-card strong {font-size:15px;margin-bottom:3px;}
  .art-card > span:last-child {font-size:10px;}
  .interface-art figcaption {font-size:9px;}
  .section {padding:72px 0;}
  .section-heading--split {margin-bottom:36px;gap:7px;}
  .section h2 {font-size:clamp(2.15rem,8.7vw,3rem);}
  .challenge-grid,.service-cards,.evidence-panel__grid,.process-steps,.mode-grid,.experience-grid,.proof-gate__inner,.attribution__inner,.about-thesis__grid,.about-process__grid,.about-attribution__grid,.contact-grid,.footer-top {grid-template-columns:1fr;}
  .challenge-grid article {padding:25px 0 25px;min-height:0;}
  .challenge-grid article + article {border-left:0;border-top:1px solid var(--line);padding-left:0;}
  .section-headline {margin-bottom:30px;gap:16px;}
  .service-cards .service-card:last-child {grid-column:auto;min-height:335px;}
  .service-card {min-height:330px;padding:27px;}
  .serial {margin-bottom:26px;}
  .evidence-panel__grid {gap:39px;}
  .evidence-list [role="listitem"] {padding:21px 0;gap:22px;}
  .process-steps {gap:0;padding-top:0;}
  .process-steps article {border-bottom:1px solid var(--line);padding:25px 0 22px;}
  .process-steps article:last-child {border-bottom:none;}
  .process-steps span {margin-bottom:12px;}
  .principal-band {padding:66px 0;}
  .principal-band h2 {font-size:clamp(1.9rem,8vw,2.55rem);}
  .closing-cta {padding:72px 0;}
  .closing-cta__inner {flex-direction:column;gap:30px;align-items:flex-start;}
  .closing-cta .btn {width:100%;min-width:250px;}
  .closing-cta__inner > div:last-child {width:100%;}
  .footer-top {gap:32px;padding:59px 0 49px;}
  .footer-bottom {flex-direction:column;gap:6px;padding:18px 0 24px;}
  .page-hero {padding:68px 0;}
  .page-hero__grid {gap:25px;}
  .page-hero .lead {font-size:18px;}
  .service-intro .shell {display:block;}
  .service-intro .text-link {margin-top:15px;white-space:normal;}
  .service-detail {padding:71px 0 77px;scroll-margin-top:85px;}
  .service-detail__heading {padding-bottom:26px;}
  .service-detail__heading h2 {font-size:clamp(2.25rem,9vw,3rem);}
  .service-detail__content {grid-template-columns:1fr;gap:44px;padding-top:30px;}
  .service-detail__intro .issue {font-size:1.55rem;}
  .service-detail__intro > p:not(.micro-title) {font-size:15px;}
  .service-detail__detail {gap:25px;}
  .mode-grid {gap:12px;}
  .mode-grid article {min-height:0;}
  .experience-grid {gap:13px;}
  .experience-grid article {min-height:350px;}
  .experience-grid__top {height:113px;}
  .proof-gate__inner {gap:15px;}
  .attribution__inner {gap:15px;}
  .attribution__index {font-size:36px;}
  .about-thesis__grid,.about-attribution__grid {gap:28px;}
  .about-process__grid {gap:0;}
  .about-process__grid article {padding:24px 0;}
  .number-outline {margin-bottom:20px;}
  .about-attribution__art {height:330px;}
  .contact-content {padding:58px 0 87px;}
  .contact-grid {gap:43px;}
  .demo-banner {margin-bottom:37px;}
  .contact-aside__topics {margin-top:33px;}
  .form-panel {padding:27px 20px 33px;}
  .form-row {grid-template-columns:1fr;gap:0;}
  .form-actions .btn {width:100%;}
}
@media (max-width: 380px) {
  .shell {width:calc(100% - 32px);}
  .hero h1,.page-hero h1 {font-size:2.56rem;}
  .art-card {width:141px;}
  .art-card--strategy {left:2px;}
  .art-card--consents {right:2px;}
  .art-card--delivery {left:6px;}
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto;}
  *,*::before,*::after {transition:none !important;animation:none !important;}
}
@media (forced-colors:active) {
  .btn,.menu-toggle,.service-card,.art-card,.form-panel {border:1px solid CanvasText;}
  .primary-nav a[aria-current="page"] {text-decoration:underline;}
}

/* COM-05-006: two approved text-only experience cards and email-first/legal utility. */
.case-studies {background:#f8f7f3;}
.case-card-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.case-card {background:#fffefb;border:1px solid #dbe2dc;padding:32px 33px;min-width:0;}
.case-card .eyebrow {font-size:10px;margin-bottom:20px;}
.case-card h3 {margin-bottom:10px;font-size:clamp(1.8rem,2.8vw,2.6rem);}
.case-card__subtitle {font-weight:700;font-size:13px;color:var(--copper-dark);margin-bottom:23px;}
.case-card > p:last-child {font-size:15px;line-height:1.75;}
.email-contact-panel__label {font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#536a70;margin:24px 0 7px;}
.email-contact-panel__address {font:400 clamp(1.07rem,2.6vw,1.6rem)/1.3 var(--sans);margin:0 0 26px;overflow-wrap:anywhere;word-break:normal;}
.email-contact-panel__address a {color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--copper-dark);}
.email-contact-panel__address a:hover {color:var(--copper-dark);}
.email-contact-panel .form-disclaimer {margin:26px 0 21px;}
.legal-review {background:#f8f7f3;}
.legal-review__inner {max-width:900px;}
.legal-review .demo-banner {margin-bottom:42px;}
.legal-review h2 {font-size:clamp(1.6rem,3vw,2.2rem);margin:36px 0 13px;}
.legal-review p {font-size:15px;line-height:1.8;}
.legal-review a {text-decoration:underline;text-underline-offset:3px;}
.legal-review__close {border-top:1px solid var(--line);margin-top:40px;padding-top:22px;font-weight:600;}
@media (max-width:680px) {
  .case-card-grid {grid-template-columns:1fr;gap:14px;}
  .case-card {padding:25px 22px;}
  .case-card h3 {font-size:1.8rem;}
  .legal-review .demo-banner {margin-bottom:27px;}
}

/* WEBSITE-05: approved Contact (direct email above working Formspree form). */
.email-contact-panel .email-contact-panel__address {margin-top:10px;margin-bottom:15px;}
.contact-divider {border:0;border-top:1px solid var(--line);margin:34px 0 29px;}
.email-contact-panel .contact-form-heading {font-size:clamp(1.7rem,2.7vw,2.35rem);}
.contact-form-intro {margin:0 0 27px;}
.be-enquiry-form {display:block;}
.be-enquiry-form .form-row {grid-template-columns:repeat(2,minmax(0,1fr));}
.be-enquiry-form .field {min-width:0;}
.be-enquiry-form button[disabled] {opacity:.65;cursor:wait;}
.be-enquiry-form .form-status {min-height:1.4em;margin-top:16px;}
.be-enquiry-form .form-status:empty {display:none;}
.be-enquiry-form .form-honeypot {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.contact-privacy-note {border-top:1px solid var(--line);margin:26px 0 0;padding-top:18px;font-size:12px;line-height:1.65;color:#53646a;}
.contact-privacy-note a {text-decoration:underline;text-underline-offset:3px;}
@media (max-width:680px) {.be-enquiry-form .form-row {grid-template-columns:1fr;gap:0;} }
