@charset "UTF-8";
/* BRAND SYSTEM — the single source for colour, type, spacing and motion. */
:root {
  --paper:#fff; --ink:#192019; --muted:#60695f; --line:#dde3d8;
  --lime:#98ff03; --dark:#171f19; --surface:#f5f7f2; --green-text:#426d1a;
  --font:"Space Grotesk",Arial,sans-serif; --radius:8px; --ease:cubic-bezier(.2,.7,.2,1);
  --sc-1:4px; --sc-2:8px; --sc-3:12px; --sc-4:16px; --sc-5:24px; --sc-6:32px; --sc-7:48px; --sc-8:64px;
  --sc-measure:62ch;
  --sc-track-tight:-0.055em; --sc-track-display:-0.065em;
}

* { box-sizing:border-box; }

html { scroll-behavior:smooth; scroll-padding-top:32px; }

body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.7 var(--font); -webkit-font-smoothing:antialiased; }

body.menu-open { overflow:hidden; }

a { color:inherit; text-decoration:none; }

button,input,textarea,select { font:inherit; }

button,summary { cursor:pointer; }

button,a,input,textarea,select,summary { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }

button:disabled { cursor:wait; opacity:.65; }

img { display:block; max-width:100%; height:auto; }

h1,h2,h3,p { margin:0; }

h1,h2,h3 { font-weight:500; line-height:1.1; letter-spacing:var(--sc-track-tight); text-wrap:balance; }

p { color:var(--muted); text-wrap:pretty; max-width:var(--sc-measure); }

[hidden] { display:none!important; }

::selection { background:var(--lime); color:var(--ink); }

:focus-visible { outline:3px solid var(--green-text); outline-offset:5px; }

.wrap { width:calc(100% - 96px); max-width:1280px; margin-inline:auto; }

.eyebrow { font-size:12px; font-weight:500; line-height:1.5; letter-spacing:.09em; color:var(--ink); }

.small-note { font-size:13px; line-height:1.7; }

.small-note a { text-decoration:underline; text-underline-offset:3px; }

/* SCROLL-CRAFT SCRIMS & TASTE FLOOR */
.scrim-corner { position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 10% 90%, rgba(20,33,27,0.92) 0%, rgba(20,33,27,0.4) 45%, transparent 75%); }
.scrim-band { position:absolute; inset:auto 0 0 0; height:60%; pointer-events:none; background:linear-gradient(to top, rgba(20,33,27,0.95) 0%, rgba(20,33,27,0.5) 50%, transparent 100%); }
.scrim-column { position:absolute; inset:0 auto 0 0; width:55%; pointer-events:none; background:linear-gradient(to right, rgba(20,33,27,0.95) 0%, rgba(20,33,27,0.6) 60%, transparent 100%); }

.lime-text { color:var(--green-text); }

.status-dot { display:inline-block; width:7px; height:7px; background:var(--lime); border-radius:50%; margin-right:8px; }

.text-link { display:inline-flex; align-items:center; gap:12px; padding:9px 0; font-size:14px; border-bottom:1px solid var(--ink); }

.text-link:hover { color:var(--green-text); border-color:var(--green-text); }

.pill,.wpr-btn { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:52px; padding:15px 22px; border:0; border-radius:5px; background:var(--lime); color:var(--ink); font-size:14px; font-weight:500; line-height:1.4; transition:background .2s,transform .2s; }

.pill:hover,.wpr-btn:hover { background:#88e900; transform:translateY(-2px); }

.pill>span:not(.button-label) { padding-left:18px; border-left:1px solid #19201930; font-size:22px; line-height:1; }

.skip-link { position:fixed; left:20px; top:-100px; z-index:200; background:var(--lime); padding:15px; }

.skip-link:focus { top:10px; }

.round-arrow { display:grid; place-items:center; flex-shrink:0; width:46px; height:46px; border:1px solid var(--line); border-radius:50%; font-size:25px; transition:background .2s,transform .2s; }


/* NAVIGATION */
.studio-header { min-height:80px; margin:0; padding:0 max(48px,calc((100vw - 1280px)/2)); border-bottom:1px solid #ffffff15; background:rgba(17,28,23,0.92); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); color:#edf3e9; display:flex; align-items:center; gap:34px; position:sticky; top:0; z-index:100; transition:all .25s var(--ease); }

.wordmark { display:flex; align-items:center; width:190px; min-height:48px; flex-shrink:0; }
.wordmark img { width:100%; height:auto; }
.studio-header :focus-visible { outline-color:var(--lime); }

.brand-dot { display:inline-block; margin:3px 0 0 5px; vertical-align:top; font-size:14px; color:var(--green-text); letter-spacing:0; }

.studio-header>nav { display:flex; gap:28px; align-items:center; margin-left:auto; }

.studio-header nav a { font-size:14px; padding-block:10px; }

.studio-header nav a[aria-current] { text-decoration:underline; text-decoration-color:var(--lime); text-decoration-thickness:2px; text-underline-offset:8px; }

.studio-header nav a:hover { color:#c7f394; }

.header-cta { display:flex; align-items:center; gap:28px; padding:12px 20px; border-radius:5px; background:var(--lime); color:var(--ink); font-size:14px; min-height:46px; }

.header-cta:hover { background:#c0ff66; }

#menu-btn,.studio-menu,#anywhere-home { display:none; }


/* HERO */
.hero-next { padding-top:24px; }

.hero-meta { display:flex; justify-content:space-between; gap:20px; }

.hero-meta .eyebrow { font-size:10px; letter-spacing:.08em; }

.hero-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:48px; padding:46px 0 28px; align-items:stretch; }

.hero-copy { padding-top:12px; }

.hero-kicker { font-size:11px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:24px; }

.hero-copy h1 { font-size:clamp(50px,5.65vw,84px); line-height:1.06; letter-spacing:-.065em; }

.highlight-word { text-decoration:underline; text-decoration-color:var(--lime); text-decoration-thickness:.12em; text-underline-offset:.045em; text-decoration-skip-ink:none; }

.hero-description { font-size:16px; line-height:1.8; max-width:440px; margin-top:28px; }

.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:30px; }

.hero-work-link { display:inline-flex; gap:16px; align-items:center; font-size:14px; min-height:48px; border-bottom:1px solid #b2bca9; }

.hero-work-link span { font-size:21px; }

.hero-signoff { display:flex; align-items:center; gap:12px; margin-top:30px; }

.small-cross { font-size:28px; color:#506844; }

.hero-signoff p { font-size:12px; line-height:1.6; }

.hero-signoff strong { color:var(--ink); font-weight:400; }

.hero-visual { position:relative; min-height:540px; overflow:hidden; background:#131b13; border-radius:var(--radius); color:#fff; }

.hero-visual>img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center 46%; }

.hero-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#19201955,transparent 22%,transparent 57%,#121912eb); pointer-events:none; }

.visual-topline,.visual-bottom,.visual-label { position:absolute; z-index:1; left:25px; right:25px; }

.visual-topline { top:23px; text-shadow:0 1px 8px #0008; display:flex; justify-content:space-between; gap:16px; font-size:9px; letter-spacing:.09em; color:#dce5d8; }

.visual-topline i { display:inline-block; width:5px; height:5px; background:var(--lime); margin-right:5px; border-radius:50%; }

.visual-coordinate { display:none; }

.visual-bottom { bottom:70px; display:flex; align-items:end; justify-content:space-between; gap:16px; }

.visual-bottom p { color:#fff; font-size:36px; line-height:1.08; letter-spacing:-.05em; }

.visual-bottom p span { color:#c4d0bd; }

.visual-bottom a { flex-shrink:0; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--lime); color:var(--ink); font-size:29px; transition:transform .2s; }

.visual-bottom a:hover { transform:rotate(45deg); }

.visual-label { bottom:22px; padding-top:16px; border-top:1px solid #ffffff40; font-size:10px; letter-spacing:.1em; color:#dce5d8; }

.hero-foot { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 0 25px; border-top:1px solid var(--line); font-size:10px; letter-spacing:.09em; color:var(--muted); }

.hero-foot>span:last-child { display:flex; gap:16px; align-items:center; }

.hero-foot a { display:grid; place-items:center; width:35px; height:35px; color:var(--ink); font-size:23px; }

.discipline-strip { display:flex; align-items:center; justify-content:space-around; gap:20px; padding:20px 30px; background:var(--lime); font-size:12px; font-weight:500; letter-spacing:.05em; }

.discipline-strip b { font-size:21px; }

/* Two equal groups make the loop seamless at every viewport width. */
.discipline-strip.is-moving { position:relative; display:block; overflow:hidden; padding:0; letter-spacing:0; text-align:left; }
.discipline-track { display:flex; width:max-content; animation:discipline-drift 32s linear infinite; }
.discipline-viewport { overflow:hidden; margin-right:68px; }
.discipline-group { display:flex; align-items:center; justify-content:space-around; flex-shrink:0; gap:48px; width:max(100vw, 900px); min-height:86px; padding:20px 48px; }
.discipline-group span { white-space:nowrap; }
.discipline-strip .discipline-group b { display:block; font-size:25px; }
.discipline-toggle { position:absolute; right:12px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:44px; height:44px; border:1px solid #17241550; border-radius:50%; background:var(--lime); color:var(--ink); font-size:16px; }
.discipline-toggle[hidden] { display:none; }
.discipline-strip.is-paused .discipline-track { animation-play-state:paused; }
@keyframes discipline-drift { to { transform:translateX(-50%); } }
@media(max-width:760px) {
  .discipline-strip.is-moving { font-size:12px; }
  .discipline-group { width:780px; min-height:74px; gap:32px; padding-inline:32px; }
}
@media(prefers-reduced-motion:reduce) {
  .discipline-viewport { margin-right:0; }
  .discipline-track { width:100%; }
  .discipline-group { width:100%; flex-wrap:wrap; gap:16px 24px; padding:20px; }
  .discipline-group[aria-hidden=true] { display:none; }
}
@media(prefers-reduced-motion:no-preference) {
  .home-service-grid>a,.contact-icon,.capability { transition:background .25s,border-color .25s,transform .25s; }
  .text-link span,.pill>span:not(.button-label) { display:inline-block; transition:transform .25s; }
  #contact-form input,#contact-form textarea,#contact-form select { transition:border-color .2s,box-shadow .2s,background .2s; }
  .agent-demo-controls button,.project-filters button { transition:background .2s,color .2s,border-color .2s; }
  .faq-section details[open] p { animation:answer-enter .25s ease-out; }
  @keyframes answer-enter { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .home-service-grid>a:hover,.contact-icon:hover { transform:translateY(-4px); }
  .text-link:hover span,.pill:hover>span:not(.button-label) { transform:translate(2px,-2px); }
}


/* INTERACTIVE DEMONSTRATION */
.workflow-section { padding:80px 0; background:var(--dark); color:#fff; }

.workflow-layout { display:grid; grid-template-columns:1fr 1.04fr; gap:85px; align-items:center; }

.workflow-copy .eyebrow { color:#b0c3a3; }

.workflow-copy h2 { font-size:clamp(34px,3.8vw,53px); line-height:1.14; margin:23px 0; }

.workflow-copy>p:not(.eyebrow) { color:#b7c2b1; font-size:16px; max-width:430px; }

.workflow-controls { margin:30px 0 20px; }

.workflow-controls button { display:flex; align-items:center; gap:16px; width:100%; background:none; color:#bdc8b7; padding:17px 0; border:0; border-bottom:1px solid #ffffff25; text-align:left; font-size:15px; transition:color .2s; }

.workflow-controls button>span { color:#8a9b80; font-size:12px; }

.workflow-controls button b { margin-left:auto; font-weight:400; }

.workflow-controls button[aria-pressed="true"],.workflow-controls button[aria-pressed="true"]>span { color:var(--lime); }

.workflow-section :focus-visible { outline-color:var(--lime); }

.workflow-copy .workflow-disclaimer { font-size:12px; margin-top:24px; }

.workflow-demo { border:1px solid #46553e; border-radius:12px; background:#f8faf5; color:var(--ink); overflow:hidden; box-shadow:0 22px 80px #0002; }

.demo-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:18px 24px; border-bottom:1px solid var(--line); font-size:10px; letter-spacing:.06em; }

.demo-toolbar .status-dot { background:#528020; }

.demo-panel { padding:26px 28px; min-height:425px; }

.demo-panel+.demo-panel { border-top:1px solid var(--line); }

.demo-stage { font-size:10px; color:#587346; letter-spacing:.1em; }

.demo-avatar { width:40px; height:40px; display:grid; place-items:center; background:var(--lime); color:#24331a; border-radius:50%; font-size:13px; margin:22px 0 15px; }

.demo-panel h3 { font-size:25px; line-height:1.15; letter-spacing:-.035em; }

.demo-sender { font-size:12px; margin-top:7px; }

.demo-panel blockquote { margin:22px 0; padding:17px 18px; border:1px solid #dbe3d4; border-radius:6px; background:#fff; font-size:14px; line-height:1.75; color:#3c4933; }

.demo-tags { display:flex; gap:8px; flex-wrap:wrap; }

.demo-tags span { padding:4px 9px; font-size:11px; background:#e9f1e0; border-radius:3px; color:#405334; }

.demo-note { font-size:12px; line-height:1.65; margin-top:18px; }

.demo-checks { list-style:none; margin:20px 0; padding:0; }

.demo-checks li { display:flex; gap:10px; margin:10px 0; font-size:14px; }

.demo-checks li:before { content:"✓"; color:var(--green-text); }

.demo-footer { display:flex; justify-content:space-between; gap:15px; align-items:center; padding:15px 22px; border-top:1px solid var(--line); background:#f0f4eb; }

.demo-status { font-size:11px; max-width:200px; }

.demo-play { border:0; border-radius:4px; background:var(--ink); color:#fff; padding:10px 13px; min-height:44px; font-size:12px; white-space:nowrap; }

.demo-play span { margin-left:8px; }


/* SERVICE DIRECTORY */
.capabilities { padding-block:80px; }

.capability-heading { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:32px; }

.capability-heading h2 { font-size:clamp(39px,4.5vw,62px); margin-top:19px; }

.capability-heading>p { font-size:16px; max-width:375px; }

.service-filter { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:18px; border-bottom:1px solid var(--line); }

.service-filter button { background:transparent; color:#54614a; border:1px solid transparent; border-radius:5px; padding:11px 17px; min-height:45px; font-size:14px; transition:background .2s; }

.service-filter button:hover { background:#f0f5e9; }

.service-filter button[aria-pressed="true"] { background:var(--lime); color:var(--ink); }

.service-count { font-size:12px; margin-top:15px; }

.capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 28px; }

.capability { padding:28px 0; border-bottom:1px solid var(--line); min-width:0; }

.capability-art { width:100%; height:145px; object-fit:contain; border:1px solid #e4e9de; border-radius:6px; background:#f5f7f3; }

.capability-top { display:flex; justify-content:space-between; margin:17px 0 12px; font-size:11px; color:#67735d; }

.capability-top>svg { display:none; }

.capability h3 { font-size:26px; line-height:1.18; letter-spacing:-.045em; }

.capability h3 a { display:flex; justify-content:space-between; gap:16px; min-height:44px; }

.capability h3 a>span { font-size:22px; transition:transform .2s; flex-shrink:0; }

.capability h3 a:hover>span { transform:translate(3px,-3px); }

.capability-tagline { font-size:15px; color:#35442d; margin-top:15px; line-height:1.6; }

.capability-description { margin-top:10px; font-size:15px; line-height:1.8; }

.capability-deliverables { display:flex; flex-wrap:wrap; gap:6px 13px; padding:0; margin:22px 0 0; list-style:none; }

.capability-deliverables li { display:flex; align-items:center; gap:6px; font-size:12px; color:#55674a; }

.capability-deliverables li:before { content:""; width:4px; height:4px; background:#527e28; border-radius:50%; }

.capability-bottom { display:flex; justify-content:space-between; gap:25px; align-items:center; margin-top:28px; }

.capability-bottom p { font-size:14px; max-width:550px; }

.capability-bottom a { flex-shrink:0; }


/* CONTENT SECTIONS */
.explorations { display:grid; grid-template-columns:1fr 1fr; gap:90px; border-block:1px solid var(--line); padding-block:60px; }

.explorations h2 { font-size:clamp(36px,4vw,56px); margin:20px 0; }

.explorations>div>p:not(.eyebrow) { max-width:440px; font-size:16px; }

.explorations .text-link { margin-top:20px; }

.exploration-links a { display:block; position:relative; border-bottom:1px solid var(--line); padding:25px 40px 25px 0; }

.exploration-links a:first-child { border-top:1px solid var(--line); }

.exploration-links a>span { font-size:11px; letter-spacing:.06em; color:var(--muted); }

.exploration-links h3 { font-size:28px; margin-top:14px; }

.exploration-links b { position:absolute; right:0; top:44px; font-size:25px; font-weight:400; }

.exploration-links a:hover h3 { color:var(--green-text); }

.exploration-links .small-note { margin-top:20px; }

.section-heading { display:grid; grid-template-columns:.8fr 1.5fr 1fr; align-items:end; gap:25px; margin-bottom:40px; }

.section-heading>.eyebrow { align-self:start; }

.section-heading h2 { font-size:clamp(36px,4vw,58px); }

.section-heading>p:not(.eyebrow) { font-size:15px; }

.section-heading>a { justify-self:end; }

.process-section,.client-projects { padding-block:70px; }

.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }

.process-grid article { padding-top:25px; border-top:1px solid var(--line); }

.process-number { display:grid; place-items:center; width:38px; height:38px; background:var(--surface); border:1px solid var(--line); border-radius:4px; font-size:12px; }

.process-grid article:nth-child(2) .process-number { background:var(--lime); border-color:var(--lime); }

.process-grid h3 { font-size:26px; margin:24px 0 15px; }

.process-grid p { font-size:15px; line-height:1.85; }

.work-list { padding-bottom:76px; }

.work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }

.work-caption { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:22px 0; }

.work-caption h3 { font-size:28px; margin-top:10px; }

.work-caption .eyebrow { font-size:11px; }

.work-card:hover .round-arrow { background:var(--lime); border-color:var(--lime); transform:translate(2px,-2px); }

.client-project-image { width:100%; aspect-ratio:1.5; object-fit:cover; border:1px solid var(--line); border-radius:8px; }

.platform-feature { display:block; background:var(--lime); padding:45px; margin:35px 0; border-radius:8px; }

.platform-feature h2 { font-size:clamp(36px,5vw,66px); margin:24px 0; }

.platform-feature .pill { background:var(--ink); color:#fff; }

.platform-chips { display:flex; gap:12px; flex-wrap:wrap; }

.platform-chips span { background:#ffffffaa; padding:12px 20px; border-radius:4px; }

.founder-section { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:center; padding:25px 0 70px; }

.founder-profile { min-width:0; }
.founder-socials { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; visibility:hidden; opacity:0; transform:translateY(-6px); transition:opacity .2s,transform .2s; }
.founder-profile.is-socials-open .founder-socials { visibility:visible; opacity:1; transform:none; }
.founder-profile button.founder-photo { display:block; width:100%; padding:0; border:0; }
@media(prefers-reduced-motion:reduce) { .founder-socials { transition:none; transform:none; } }
.founder-socials a { display:flex; align-items:center; justify-content:center; gap:10px; flex:1 1 125px; min-height:48px; padding:12px 14px; border:1px solid var(--line); border-radius:6px; color:var(--ink); font-size:14px; font-weight:500; text-decoration:none; transition:background .2s; }
.founder-socials a:hover { background:var(--lime); }
.founder-socials a:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.founder-socials img { width:32px; height:32px; padding:3px; border-radius:6px; object-fit:contain; background:#181717; }
.founder-socials a[href*="linkedin.com"] img { background:#0a66c2; }
.team-section { padding-block:30px 80px; }
.team-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:32px; padding-top:32px; border-top:1px solid var(--line); }
.team-heading h2 { font-size:clamp(32px,4vw,48px); margin-top:12px; }
.team-heading>p { max-width:320px; font-size:15px; }
.team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.team-card { min-width:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--paper); }
.team-photo-placeholder { position:relative; display:grid; place-content:center; justify-items:center; gap:12px; aspect-ratio:4/4.5; background:var(--surface); color:var(--muted); }
.team-photo-placeholder svg { width:76px; height:76px; color:#9ba895; }
.team-photo-placeholder>span { font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.team-photo-placeholder .team-number { position:absolute; left:18px; top:16px; font-size:12px; color:var(--green-text); }
.team-card-copy { padding:22px; }
.team-photo { aspect-ratio:4/4.5; overflow:hidden; background:var(--surface); }
.team-photo img { width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.team-card h3 { font-size:23px; letter-spacing:-.035em; }
.team-role { margin-top:8px; font-size:12px; color:var(--green-text); }
.team-bio { margin-top:16px; font-size:14px; line-height:1.7; }
@media(max-width:1000px) { .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .team-heading { align-items:start; flex-direction:column; gap:18px; } .team-grid { grid-template-columns:1fr; } .team-section { padding-bottom:55px; } .team-photo-placeholder { aspect-ratio:4/3; } }
.founder-photo { overflow:hidden; position:relative; border-radius:8px; background:#e4eadd; }

.founder-photo img { width:100%; aspect-ratio:4/4.5; object-fit:cover; object-position:center 25%; }

.photo-label { position:absolute; left:20px; bottom:20px; background:#fff; color:#3b4a33; padding:10px 12px; font-size:10px; letter-spacing:.04em; }

.founder-copy h2 { font-size:clamp(36px,4vw,57px); margin:24px 0; }

.founder-copy>p:not(.eyebrow) { margin-bottom:18px; font-size:16px; }

.signature { border-top:1px solid var(--line); margin-top:27px; padding-top:20px; font-size:22px; letter-spacing:-.035em; }

.signature span { display:block; margin-top:6px; font-size:11px; letter-spacing:.08em; color:var(--muted); }

.founder-compact { grid-template-columns:.65fr 1.35fr; max-width:1080px; gap:70px; }

.founder-compact .founder-photo img { aspect-ratio:4/5; }

.founder-compact .founder-copy h2 { font-size:46px; }

.faq-section { display:grid; grid-template-columns:1fr 1.4fr; gap:65px; padding-block:50px 65px; border-top:1px solid var(--line); }

.faq-section h2 { font-size:43px; margin-top:22px; }

.faq-section details { border-bottom:1px solid var(--line); }

.faq-section details:first-child { border-top:1px solid var(--line); }

.faq-section summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; list-style:none; font-size:16px; }

.faq-section summary::-webkit-details-marker { display:none; }

.faq-section summary>span { display:grid; place-items:center; flex-shrink:0; width:30px; height:30px; border:1px solid var(--line); font-size:20px; transition:transform .2s; }

.faq-section details[open] summary>span { transform:rotate(45deg); background:var(--lime); }

.faq-section details>p { font-size:15px; line-height:1.8; padding:0 35px 22px 0; }


/* INQUIRY EXPERIENCE */
.contact-section { display:grid; grid-template-columns:1fr 1fr; gap:70px; border-top:1px solid var(--line); padding-block:70px; }

.contact-intro h1,.contact-intro h2 { font-size:clamp(46px,5.8vw,80px); margin:24px 0; line-height:1.04; }

.contact-intro>p:not(.eyebrow) { font-size:16px; max-width:400px; margin-bottom:24px; }

.contact-link { display:block; width:fit-content; padding:10px 0; font-size:15px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }

.contact-channels { display:flex; align-items:center; gap:14px; margin-top:28px; }
.contact-icon { display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; border:1px solid var(--line); border-radius:50%; background:#fff; transition:background .18s,border-color .18s; }
.contact-icon:hover { background:var(--surface); border-color:#9aac93; }
.contact-icon svg { flex-shrink:0; }
@media(prefers-reduced-motion:reduce) { .contact-icon { transition:none; } }

.contact-intro .small-note { margin-top:23px; font-size:13px!important; }
.contact-next { margin-top:30px; max-width:420px; border-top:1px solid var(--line); padding-top:22px; }
.contact-next>.eyebrow { font-size:11px; margin-bottom:16px; }
.contact-next ol { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.contact-next li { display:flex; align-items:baseline; gap:14px; color:var(--muted); font-size:14px; line-height:1.65; }
.contact-next li>span { font-size:11px; color:var(--green-text); }

#contact-form { align-self:start; border:1px solid var(--line); border-radius:8px; background:var(--surface); padding:30px; }

#contact-form label { display:block; margin-bottom:8px; font-size:13px; font-weight:500; color:#3b4933; }

.optional { margin-left:6px; color:#526049; font-weight:400; }

#contact-form input,#contact-form textarea,#contact-form select { width:100%; padding:13px 12px; border:1px solid #cbd5c2; background:#fff; color:var(--ink); border-radius:4px; font-size:16px; }

#contact-form textarea { min-height:132px; resize:vertical; margin-bottom:16px; }

#contact-form input:focus,#contact-form textarea:focus,#contact-form select:focus { border-color:#658a40; }

.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:22px; }

.field-hint { font-size:12px; margin:7px 0 22px; }

#contact-form .pill { width:100%; }

#contact-form .small-note { margin-top:18px; font-size:12px; }

.honeypot { display:none!important; }

#form-messages:not(:empty) { margin-top:18px; padding:13px; border:1px solid var(--line); border-radius:4px; font-size:14px; }

#form-messages.error { color:#852c21; background:#fff4ef; border-color:#d7a394; }

#form-messages.success { color:#335c15; background:#f0fae8; border-color:#a4c98a; }

.contact-page .contact-section { border-top:0; padding-top:60px; }

.contact-page .contact-intro h1 { font-size:clamp(46px,5.6vw,76px); }


/* INNER PAGES AND FOOTER */
.page-intro { padding:55px 0 45px; margin-bottom:45px; border-bottom:1px solid var(--line); }

.page-intro h1 { font-size:clamp(48px,7vw,100px); line-height:1.06; margin:25px 0; max-width:1050px; }

.intro-desc { font-size:18px; max-width:650px; }

.page-intro+.capabilities { padding-top:0; }

.detail-service { padding-block:45px 55px; border-bottom:1px solid var(--line); }

.detail-service h2 { font-size:clamp(35px,4vw,56px); margin:22px 0; }

.detail-service>p:not(.eyebrow) { font-size:17px; max-width:720px; }

.detail-deliverables { list-style:none; display:flex; flex-wrap:wrap; gap:10px 24px; padding:0; margin:25px 0; font-size:14px; color:var(--green-text); }

.service-example { max-width:720px; margin:28px 0; border-left:3px solid var(--lime); padding:5px 0 5px 22px; }

.service-example p:last-child { margin-top:10px; font-size:16px; }

.reading { max-width:820px; padding-bottom:70px; font-size:17px; line-height:1.9; }

.reading h2 { font-size:37px; margin:20px 0; }

.reading h3 { font-size:27px; margin:33px 0 15px; }

.reading p { margin-bottom:20px; }

.reading a:not(.wpr-btn) { text-decoration:underline; text-underline-offset:4px; }

.reading ul { color:var(--muted); }

.case-visual { max-width:1000px; margin-bottom:45px; }

.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding-bottom:70px; }

.journal-art { aspect-ratio:1.5; display:grid; place-items:center; position:relative; background:#eaf0e3; border-radius:6px; margin-bottom:22px; overflow:hidden; }

.journal-art>span { position:absolute; left:18px; top:12px; font-size:12px; }

.journal-art>b { font-size:130px; font-weight:400; line-height:1; transition:transform .4s var(--ease); }

.journal-card:hover .journal-art>b { transform:rotate(8deg); }

.art-02 { background:var(--dark); color:var(--lime); }

.art-03 { background:var(--lime); }

.journal-card h2 { font-size:29px; margin:15px 0; }

.journal-card>p:not(.eyebrow) { font-size:15px; }

.journal-card .text-link { margin-top:17px; }

.studio-footer { padding:32px 48px 25px; background:#111c17; color:#f1f5ed; border-top:3px solid var(--lime); }

.footer-topline,.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; font-size:13px; }

.footer-topline { padding-bottom:27px; border-bottom:1px solid #ffffff24; }
.footer-topline p { color:#c0cabc; }
.footer-topline>a { display:inline-flex; gap:24px; align-items:center; min-height:44px; }

.footer-topline .status-dot { background:var(--lime); }

.footer-main { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,.7fr) minmax(0,1fr); gap:65px; padding-block:52px; }
.footer-logo { display:block; max-width:360px; margin-bottom:26px; }
.footer-logo img { width:100%; height:auto; }
.footer-brand>p { color:#d5dfd0; font-size:19px; line-height:1.65; }
.footer-brand-note { display:block; margin-top:18px; color:#a6b3a6; font-size:12px; }
.footer-label { color:#a6b3a6; font-size:10px; letter-spacing:.12em; margin-bottom:18px; }
.footer-navigation { display:flex; flex-direction:column; align-items:flex-start; }
.footer-navigation>a { display:flex; justify-content:space-between; gap:35px; min-height:44px; width:100%; max-width:170px; font-size:14px; }
.footer-navigation>a span { color:#a6b3a6; }
.footer-connect>p:not(.footer-label) { color:#d5dfd0; font-size:17px; line-height:1.7; }
.studio-footer .contact-channels { margin-top:22px; gap:12px; }
.studio-footer .contact-icon { width:50px; height:50px; background:#1c2c22; border-color:#405143; }
.studio-footer .contact-icon:hover { background:#293d2d; border-color:#8aaa6d; }
.studio-footer .contact-icon svg { width:26px; }
.studio-footer a:hover:not(.contact-icon) { color:#c7f394; }
.studio-footer :focus-visible { outline-color:var(--lime); }


.footer-bottom { border-top:1px solid #ffffff24; padding-top:19px; color:#a6b3a6; font-size:12px; }

.footer-bottom>span { margin-right:auto; }

.scroll-top-btn { border:0; background:none; color:inherit; min-height:44px; padding:0; font-size:13px; }

.project-art{height:460px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;padding:35px;background:#283828}
.flow-art{background:radial-gradient(ellipse at 40% 10%,#435c32,#19291e 65%)}
.knowledge-art{background:#c3d0b2;background-image:linear-gradient(135deg,#dde5d0,#aab997)}
.art-caption{position:absolute;bottom:18px;left:22px;font-size:9px;letter-spacing:.17em;color:#d6e1cd}
.knowledge-art .art-caption{color:#354b2e}
.mock-window{width:88%;max-width:390px;border-radius:10px;box-shadow:0 25px 55px #0004;transform:rotate(-5deg);transition:transform .6s;background:#f7f9f3;color:var(--ink);font-family:var(--font)}
.work-card:hover .mock-window{transform:rotate(-2deg) translateY(-7px)}
.mock-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px;border-bottom:1px solid #d9e0d2;font-size:7px;letter-spacing:.08em}
.window-dots{color:#aab29f;font-size:8px}
.flow-label{font-size:8px;text-align:center;margin:20px 0}
.flow-label .status-dot{width:5px;height:5px}
.flow-nodes{display:flex;flex-direction:column;align-items:center;padding:0 30px 16px}
.flow-node{display:grid;grid-template-columns:26px 1fr;gap:1px 7px;padding:12px;width:100%;background:#fff;border:1px solid #d8dece;border-radius:5px}
.flow-node>span{grid-row:span 2;align-self:center;display:grid;place-items:center;border-radius:4px;background:#f1f4eb;height:26px;font-size:16px}
.flow-node strong{font-size:10px;font-weight:500}
.flow-node small{font-size:8px;color:#526049}
.flow-node.green-node{background:#dfffad;border-color:#9cbe6b}
.green-node>span{background:#98ff03}
.connector{font-size:15px;color:#879575;line-height:23px}
.mock-foot{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.1em;padding:12px 18px;border-top:1px solid #d8dece}
.chat-window{transform:rotate(5deg);max-width:370px}
.work-card:hover .chat-window{transform:rotate(2deg) translateY(-7px)}
.chat-body{padding:24px}
.chat-logo{font-size:33px;color:#579700;line-height:1}
.chat-body h3{font-size:24px;margin:12px 0 20px;line-height:1.1}
.chat-question{font-size:8px;margin-left:25px;background:#e9eddf;border-radius:8px 8px 0 8px;padding:13px}
.chat-answer{display:flex;gap:9px;margin:16px 0}
.chat-answer>span{font-size:19px}
.chat-answer p{font-size:9px;color:#394532}
.chat-answer small{display:block;font-size:7px;margin-top:9px;color:#5d732f}
.chat-input{display:flex;justify-content:space-between;border:1px solid #d3dac9;border-radius:5px;padding:12px;font-size:8px;color:#8c9481;margin-top:22px}
.chat-input span{background:var(--lime);padding:0 5px;color:var(--ink)}

/* Concept screens are HTML diagrams, not live interfaces. Keep them legible. */
.project-art { height:460px; border-radius:8px; }

.mock-window,.chat-window { transform:none; width:96%; max-width:440px; }

.work-card:hover .mock-window,.work-card:hover .chat-window { transform:translateY(-4px); }

.mock-toolbar,.mock-foot { font-size:10px; }

.flow-label { font-size:11px; }

.flow-node strong { font-size:14px; }

.flow-node small { font-size:12px; }

.flow-node { padding:14px; }

.chat-question { font-size:12px; }

.chat-answer p { font-size:12px; }

.chat-answer small,.chat-input { font-size:11px; }

.art-caption { font-size:10px; }

.case-visual .project-art { height:520px; }


/* RESPONSIVE COMPOSITION */
@media (min-width:1500px) {
  .studio-header { padding-inline:max(48px,calc((100vw - 1280px)/2)); }

  .studio-footer { padding-inline:max(48px,calc((100vw - 1280px)/2)); }

}

@media (max-width:1050px) {
  .wrap { width:calc(100% - 64px); }

  .studio-header { margin-inline:0; padding-inline:24px; gap:20px; }
  .wordmark { width:160px; }
  .studio-header>nav a { font-size:13px; }
  .header-cta { gap:14px; padding-inline:16px; }

  .studio-header>nav { gap:18px; }

  .hero-layout { gap:28px; }

  .hero-visual { min-height:530px; }

  .hero-copy h1 { font-size:5.8vw; }

  .hero-description { font-size:15px; }

  .hero-actions { gap:15px; }

  .workflow-layout { gap:40px; }

  .demo-panel { padding-inline:22px; }

  .capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; }

  .capability-art { height:160px; }

  .explorations { gap:45px; }

  .founder-section,.contact-section { gap:40px; }
  .contact-section .form-pair { grid-template-columns:1fr; gap:18px; }

  .section-heading { grid-template-columns:.65fr 1.5fr 1fr; }

  .journal-card h2 { font-size:26px; }

  .project-art { padding:20px; }

}

@media (max-width:760px) {
  html { scroll-padding-top:20px; }

  .wrap { width:calc(100% - 40px); }

  .studio-header { min-height:76px; margin-inline:0; padding-inline:20px; gap:12px; }

  .wordmark { width:140px; }

  .brand-dot { font-size:12px; }

  .studio-header>nav { display:none; }

  .header-cta { margin-left:auto; font-size:12px; gap:16px; padding:10px 13px; white-space:nowrap; }

  #menu-btn { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border:0; background:none; padding:0; font-size:0; color:#edf3e9; }

  #menu-btn>span { font-size:27px; }

  .studio-menu.show { display:flex; flex-direction:column; position:fixed; inset:0 0 0 auto; width:min(90vw,430px); height:100dvh; padding:25px; background:#111c17; color:#edf3e9; box-shadow:-25px 0 90px #0003; z-index:101; overflow-y:auto; }

  .close-icon-menu { align-self:end; border:1px solid #54624e; background:#233125; color:#edf3e9; padding:9px 15px; min-height:44px; border-radius:4px; }
  .menu-brand { width:210px; max-width:100%; margin:30px 0 4px; min-height:44px; display:flex; align-items:center; }
  .menu-brand img { width:100%; height:auto; }

  .studio-menu nav { display:flex; flex-direction:column; gap:9px; margin:25px 0; }

  .studio-menu nav a { font-size:29px; padding-block:7px; letter-spacing:-.045em; }

  .studio-menu>p { margin-top:auto; font-size:14px; color:#b9c7b4; }

  #anywhere-home.bgshow { display:block; position:fixed; inset:0; z-index:40; background:#17201670; }

  .hero-next { padding-top:20px; }

  .hero-meta .eyebrow { font-size:10px; }

  .hero-meta>.eyebrow:last-child { display:none; }

  .hero-layout { grid-template-columns:1fr; padding-top:28px; gap:28px; }

  .hero-copy { padding:0; }

  .hero-kicker { font-size:10px; margin-bottom:20px; }

  .hero-copy h1 { font-size:clamp(37px,11.2vw,76px); line-height:1.08; }

  .hero-description { font-size:16px; margin-top:24px; }

  .hero-actions { gap:18px; margin-top:23px; }

  .hero-actions .pill { padding:14px 17px; gap:15px; font-size:13px; }

  .hero-work-link { font-size:13px; gap:9px; }

  .hero-signoff { margin-top:22px; }

  .hero-visual { min-height:0; aspect-ratio:4 / 5; }

  .visual-topline { left:20px; right:20px; font-size:8px; }

  .visual-bottom { left:22px; right:22px; }

  .visual-bottom p { font-size:32px; }

  .visual-label { left:22px; right:22px; font-size:9px; }

  .hero-foot { font-size:9px; padding-block:12px 20px; }

  .hero-foot>span:first-child { max-width:130px; }

  .discipline-strip { font-size:9px; gap:10px; padding:17px 15px; letter-spacing:.02em; text-align:center; }

  .discipline-strip b { font-size:16px; }

  .discipline-strip b:last-child { display:none; }

  .workflow-section { padding-block:56px; }

  .workflow-layout { grid-template-columns:1fr; gap:30px; }

  .workflow-copy h2 { font-size:37px; margin:20px 0; }

  .workflow-copy>p:not(.eyebrow) { font-size:15px; }

  .workflow-controls { margin:20px 0; }

  .workflow-controls button { padding-block:15px; }

  .workflow-copy .workflow-disclaimer { margin-top:17px; }

  .demo-panel { padding:22px; min-height:440px; }

  .demo-toolbar { padding:16px 18px; font-size:9px; }

  .demo-footer { padding:13px 17px; gap:10px; flex-wrap:wrap; }

  .demo-status { font-size:11px; }

  .capabilities { padding-block:55px; }

  .capability-heading { display:block; margin-bottom:25px; }

  .capability-heading h2 { font-size:43px; margin-top:17px; }

  .capability-heading>p { font-size:15px; margin-top:22px; }

  .service-filter { gap:7px; }

  .service-filter button { font-size:13px; padding:10px 12px; border-color:var(--line); }

  .service-filter button[aria-pressed="true"] { border-color:var(--lime); }

  .capability-grid { grid-template-columns:1fr; }

  .capability { padding-block:25px; }

  .capability-art { height:153px; }

  .capability h3 { font-size:28px; }

  .capability h3 a { min-height:40px; }

  .capability-description { font-size:16px; }

  .capability-deliverables { margin-top:18px; gap:8px 13px; }

  .capability-deliverables li { font-size:12px; }

  .capability-bottom { flex-direction:column; align-items:start; gap:16px; }

  .explorations { grid-template-columns:1fr; gap:30px; padding-block:50px; }

  .explorations h2 { font-size:40px; }

  .exploration-links h3 { font-size:26px; }

  .section-heading { display:flex; flex-wrap:wrap; gap:22px; margin-bottom:30px; }

  .section-heading>.eyebrow { width:100%; }

  .section-heading h2 { font-size:39px; }

  .section-heading>p:not(.eyebrow) { font-size:15px; }

  .process-section,.client-projects { padding-block:55px; }

  .process-grid { grid-template-columns:1fr; gap:25px; }

  .process-grid article { display:grid; grid-template-columns:38px 1fr; gap:13px 17px; padding-top:22px; }

  .process-grid h3 { font-size:25px; margin:4px 0 0; }

  .process-grid p { grid-column:2; font-size:15px; }

  .founder-section { grid-template-columns:1fr; gap:28px; padding-bottom:55px; }

  .founder-photo img { aspect-ratio:4/4.1; }

  .founder-compact .founder-profile { max-width:340px; width:100%; }

  .founder-compact .founder-photo img { aspect-ratio:4/4.1; }

  .founder-compact .founder-copy h2,.founder-copy h2 { font-size:39px; margin:20px 0; }

  .founder-copy>p:not(.eyebrow) { font-size:16px; }

  .photo-label { font-size:9px; left:15px; bottom:15px; }

  .faq-section { grid-template-columns:1fr; gap:28px; padding-block:45px 55px; }

  .faq-section h2 { font-size:38px; margin-top:17px; }

  .faq-section summary { font-size:15px; gap:15px; }

  .faq-section details>p { padding-right:12px; }

  .contact-section { grid-template-columns:1fr; gap:25px; padding-block:55px; }

  .contact-intro h1,.contact-intro h2 { font-size:55px; margin-block:20px; }

  .contact-intro>p:not(.eyebrow) { font-size:16px; }

  #contact-form { padding:22px; }

  .form-pair { grid-template-columns:1fr; gap:20px; }

  .contact-page .contact-section { padding-top:34px; }

  .contact-page .contact-intro h1 { font-size:47px; }

  .contact-page .contact-intro .small-note { margin-top:12px; }

  .contact-page .contact-intro>p:not(.eyebrow) { margin-bottom:12px; }

  .page-intro { padding-block:37px; margin-bottom:35px; }

  .page-intro h1 { font-size:clamp(40px,10.5vw,72px); overflow-wrap:break-word; }

  .intro-desc { font-size:16px; }

  .detail-service { padding-block:32px 42px; }

  .detail-service h2 { font-size:36px; }

  .detail-service>p:not(.eyebrow) { font-size:16px; }

  .detail-deliverables { font-size:13px; gap:8px 18px; }

  .service-example { padding-left:18px; }

  .work-grid { grid-template-columns:1fr; gap:28px; }

  .work-caption h3 { font-size:26px; }

  .work-caption .eyebrow { font-size:10px; }

  .platform-feature { padding:28px; }

  .platform-feature h2 { font-size:38px; }

  .work-list { padding-bottom:55px; }

  .reading { font-size:16px; padding-bottom:55px; }

  .reading h2 { font-size:32px; }

  .reading h3 { font-size:25px; }

  .case-visual .project-art { height:460px; }

  .project-art { padding:20px; height:460px; }

  .mock-window { width:100%; }

  .flow-nodes { padding-inline:15px; }

  .flow-label { font-size:10px; }

  .flow-node strong { font-size:12px; }

  .flow-node small { font-size:10px; }

  .mock-toolbar,.mock-foot { font-size:8px; }

  .chat-body { padding:20px; }

  .journal-grid { grid-template-columns:1fr; gap:38px; padding-bottom:55px; }

  .journal-card h2 { font-size:30px; }

  .studio-footer { padding:26px 20px 20px; }

  .footer-topline { font-size:12px; align-items:start; gap:15px; }

  .footer-topline p { max-width:210px; }

  .footer-topline a { white-space:nowrap; }

  .footer-main { grid-template-columns:1fr 1fr; gap:36px 24px; padding-block:35px; }
  .footer-brand { grid-column:1/-1; }
  .footer-logo { max-width:290px; margin-bottom:22px; }
  .footer-brand>p { font-size:18px; }
  .footer-topline { flex-direction:column; gap:10px; padding-bottom:20px; }
  .footer-topline p { max-width:none; }
  .footer-connect>p:not(.footer-label) { font-size:14px; }

  .footer-bottom { flex-wrap:wrap; font-size:12px; gap:12px 22px; }

  .scroll-top-btn { font-size:12px; }

}

@media (max-width:360px) {
  .studio-header { gap:7px; }
  .wordmark { width:112px; }
  .header-cta { gap:8px; padding-inline:10px; }

  .header-cta { font-size:11px; padding-inline:10px; gap:10px; }

  .hero-actions { gap:12px; }

  .hero-actions .pill { padding-inline:13px; gap:10px; }

  .hero-work-link { font-size:12px; }

  .hero-visual { min-height:0; }

  .visual-topline { font-size:7px; }

  .workflow-copy h2 { font-size:33px; }

  .demo-panel { padding-inline:18px; }

  .demo-panel h3 { font-size:24px; }

  .contact-intro h2 { font-size:48px; }

  .contact-page .contact-intro h1 { font-size:43px; }

  .contact-link { font-size:14px; }

}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }

  *,*:before,*:after { animation:none!important; transition:none!important; }

  .hero-visual>img { transform:none; }

}


/* Navigation stays available when JavaScript is disabled. */
.fallback-nav{display:flex;flex-wrap:wrap;gap:8px 24px;padding:16px 24px;border-bottom:1px solid var(--line)}
.fallback-nav a{padding:8px 0;text-decoration:underline;text-underline-offset:4px}

/* PROJECT PORTFOLIO */
.portfolio-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:38px; }
.portfolio-heading h2 { font-size:clamp(40px,4.5vw,64px); margin-top:20px; }
.portfolio-heading>p { max-width:380px; font-size:16px; }
.portfolio-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; border-block:1px solid var(--line); padding:17px 0; margin-bottom:36px; }
.project-filters { display:flex; flex-wrap:wrap; gap:6px; }
.project-filters[hidden] { display:none; }
.project-filters button { background:transparent; border:0; border-radius:5px; color:var(--muted); padding:10px 15px; min-height:44px; cursor:pointer; font-size:13px; }
.project-filters button[aria-pressed="true"] { color:var(--ink); background:var(--lime); }
.project-filters button:hover { color:var(--ink); box-shadow:inset 0 0 0 1px var(--line); }
.project-filters button span { font-size:10px; margin-left:12px; }
.project-count { font-size:12px; color:var(--muted); }
.portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:54px 30px; }
.portfolio-card { min-width:0; }
.portfolio-card[hidden] { display:none; }
.portfolio-art { display:flex; position:relative; flex-direction:column; justify-content:space-between; aspect-ratio:1.44; padding:23px 25px 15px; overflow:hidden; border-radius:10px; background:#e4e9ef; color:#243841; }
.portfolio-art.studyspark { background:#dfebe7; }
.portfolio-art.dental-clinic { background:#dce9f1; }
.portfolio-art.wadaan { background:#ece6d9; }
.portfolio-art.is-workflow { background:#13211c; color:#bac9ae; }
.portfolio-art-meta,.preview-caption { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:9px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; }
.portfolio-art-meta>span:last-child { border:1px solid currentColor; border-radius:20px; padding:4px 8px; font-size:8px; }
.portfolio-art .portfolio-image { width:100%; height:auto; aspect-ratio:1.82; object-fit:cover; object-position:top; border-radius:5px; box-shadow:0 15px 35px #14251d26; transition:transform .35s; }
.portfolio-art.studyspark .portfolio-image { aspect-ratio:2.55; object-fit:contain; background:#040a0f; }
.portfolio-art.is-workflow .portfolio-image { aspect-ratio:1.6; object-fit:contain; box-shadow:none; border-radius:0; }
.portfolio-art:hover .portfolio-image { transform:translateY(-4px); }
.preview-caption { margin-top:10px; }
.preview-caption>span { font-size:23px; }
.portfolio-body { padding:23px 0 0; }
.portfolio-body>.eyebrow { font-size:9px; color:var(--muted); }
.portfolio-body h3 { margin:9px 0 12px; font-size:30px; letter-spacing:-.045em; }
.portfolio-body>p:not(.eyebrow) { max-width:540px; font-size:15px; line-height:1.75; }
.project-stack { display:flex; flex-wrap:wrap; gap:7px; list-style:none; padding:0; margin:20px 0; }
.project-stack li { border:1px solid var(--line); padding:3px 10px; border-radius:4px; font-size:11px; color:#566150; }
.portfolio-links { display:flex; justify-content:space-between; gap:18px; border-top:1px solid var(--line); padding-top:14px; font-size:13px; }
.portfolio-links a { display:inline-flex; align-items:center; min-height:44px; gap:12px; }
.portfolio-links a:hover,.project-actions a:hover { color:var(--green-text); }
.portfolio-end { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:54px; padding-top:25px; border-top:1px solid var(--line); }
.portfolio-end p { font-size:14px; }
.work-intro { padding-bottom:15px; }
.work-intro h1 { font-size:clamp(42px,5.7vw,80px); }
.work-intro-links { display:flex; flex-wrap:wrap; gap:25px; margin-top:30px; }
.workflow-library { background:var(--dark); color:#fff; padding:80px 0; }
.library-heading { display:flex; justify-content:space-between; align-items:center; gap:40px; margin-bottom:42px; }
.library-heading h2 { color:#f6f9f3; font-size:clamp(38px,4.5vw,62px); margin:20px 0; }
.library-heading .eyebrow { color:#b4d690; }
.library-heading p:not(.eyebrow) { color:#b5c1b0; max-width:570px; font-size:15px; }
.library-number { color:var(--lime); font-size:140px; letter-spacing:-.08em; line-height:1; }
.library-number span { display:block; font-size:10px; letter-spacing:.12em; color:#b7c7ac; margin-top:15px; }
.library-groups details { border-top:1px solid #40523b; padding:22px 0; }
.library-groups details:last-child { border-bottom:1px solid #40523b; }
.library-groups summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; cursor:pointer; list-style:none; min-height:48px; padding:10px 0; }
.library-groups summary::-webkit-details-marker { display:none; }
.library-groups summary>span:first-child { min-width:0; font-size:25px; line-height:1.35; letter-spacing:-.03em; }
.library-groups summary>span:last-child { display:flex; align-items:center; gap:22px; color:#a9bca0; font-size:12px; white-space:nowrap; }
.library-groups summary b { display:grid; place-items:center; width:32px; height:32px; border:1px solid #40523b; border-radius:50%; font-size:22px; line-height:1; font-weight:400; }
.library-groups details[open] summary b { transform:rotate(45deg); }
.library-groups details>p { color:#b5c1b0; font-size:14px; margin:15px 0 25px; }
.library-groups ul { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.library-groups li { display:flex; gap:14px; align-items:center; border-top:1px solid #30432e; padding:12px 0; font-size:13px; }
.library-groups li>span { color:#829775; font-size:10px; }
.library-groups li>a { flex:1; min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.library-groups li>a:hover { color:var(--lime); }
.library-groups small { color:#a9bca0; white-space:nowrap; font-size:10px; }
.library-note { color:#a9bca0; font-size:12px; margin-top:28px; max-width:720px; }
.project-intro { padding-block:35px 45px; }
.project-back { display:inline-block; padding:12px 0; margin-bottom:32px; font-size:13px; }
.project-intro h1 { font-size:clamp(42px,5.6vw,78px); max-width:970px; margin:22px 0; }
.project-lede { max-width:730px; font-size:19px; line-height:1.7; }
.project-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }
.project-actions a { border:1px solid var(--line); border-radius:5px; padding:12px 19px; font-size:14px; display:flex; gap:20px; align-items:center; }
.project-actions a:first-child { background:var(--lime); border-color:var(--lime); color:var(--ink); }
.project-facts { display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:25px; margin:45px 0 0; padding-top:22px; border-top:1px solid var(--line); }
.project-facts dt { color:var(--muted); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.project-facts dd { margin:10px 0 0; font-size:14px; }
.project-hero { margin-block:0 60px; }
.project-hero .portfolio-image { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:10px; }
.project-hero figcaption { display:flex; justify-content:space-between; gap:20px; font-size:11px; line-height:1.7; margin-top:13px; color:var(--muted); }
.project-hero figcaption span { flex-shrink:0; }
.project-story { display:grid; grid-template-columns:1fr 2fr; gap:55px; padding-bottom:55px; }
.project-story h2 { font-size:35px; margin-bottom:16px; }
.project-story p:not(.eyebrow) { max-width:730px; font-size:17px; line-height:1.9; }
.project-story h2:not(:first-child) { margin-top:35px; }
.project-features { padding-block:50px 70px; border-top:1px solid var(--line); }
.project-features>h2 { font-size:clamp(32px,4vw,48px); margin:20px 0 35px; }
.project-features>div { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.project-features article { border-top:1px solid var(--line); padding-top:20px; }
.project-features article>span { font-size:11px; color:var(--muted); }
.project-features h3 { font-size:24px; margin:20px 0 13px; }
.project-features p { font-size:15px; line-height:1.85; }
.project-next { display:grid; grid-template-columns:1.5fr 1fr; gap:55px; padding-block:45px 70px; border-top:1px solid var(--line); }
.project-next h2 { font-size:clamp(30px,3.5vw,44px); margin:16px 0 24px; }
.project-next>a { padding:25px; border-radius:8px; background:var(--surface); display:flex; flex-direction:column; justify-content:center; gap:18px; }
.project-next strong { font-size:28px; font-weight:500; letter-spacing:-.04em; }
.project-next>a>span:last-child { align-self:end; font-size:28px; }
@media(max-width:1000px) {
 .portfolio-art { padding:18px 18px 12px; }
 .portfolio-art-meta { font-size:8px; }
 .portfolio-art-meta>span:last-child { font-size:7px; }
 .project-facts { grid-template-columns:1fr 1fr; }
 .project-facts>div:last-child { grid-column:1/-1; }
}
@media(max-width:760px) {
 .client-projects { padding-block:50px; }
 .portfolio-heading { display:block; }
 .portfolio-heading>p { margin-top:22px; }
 .portfolio-grid { grid-template-columns:1fr; gap:38px; }
 .portfolio-toolbar { margin-bottom:25px; }
 .project-filters { gap:4px; }
 .project-filters button { padding:10px 12px; font-size:12px; }
 .portfolio-art { padding:18px 20px 12px; }
 .portfolio-body h3 { font-size:27px; }
 .portfolio-end { flex-direction:column; align-items:start; margin-top:35px; }
 .library-heading { align-items:start; }
 .library-number { font-size:70px; }
 .library-number span { font-size:8px; line-height:1.7; letter-spacing:0; }
 .library-groups summary>span:first-child { font-size:20px; }
 .library-groups summary>span:last-child { font-size:10px; }
 .library-groups summary { gap:12px; }
 .library-groups summary>span:last-child { gap:10px; }
 .library-groups ul { grid-template-columns:1fr; }
 .workflow-library { padding:55px 0; }
 .project-intro { padding-top:20px; }
 .project-intro h1 { font-size:44px; }
 .project-lede { font-size:17px; }
 .project-facts { gap:20px; }
 .project-facts dd { font-size:13px; }
 .project-hero figcaption { display:block; }
 .project-hero figcaption>span { display:block; margin-top:10px; }
 .project-story { grid-template-columns:1fr; gap:25px; }
 .project-story h2 { font-size:30px; }
 .project-story p:not(.eyebrow) { font-size:16px; }
 .project-features>div,.project-next { grid-template-columns:1fr; gap:30px; }
 .project-back { margin-bottom:20px; }
}
@media(prefers-reduced-motion:reduce) { .portfolio-art .portfolio-image { transition:none; } .portfolio-art:hover .portfolio-image { transform:none; } }
/* Keep every preview inside its frame at narrow and wide card sizes. */
.portfolio-art { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:14px; }
.portfolio-art .portfolio-image,.portfolio-art.studyspark .portfolio-image,.portfolio-art.is-workflow .portfolio-image { height:100%; min-height:0; aspect-ratio:auto; object-fit:contain; box-shadow:none; background:transparent; }
.portfolio-art .preview-caption { margin-top:0; }
.portfolio-art { grid-template-columns:minmax(0,1fr); justify-content:stretch; }

/* CURATED PROJECT SHOWCASES */
.featured-work { padding-block:80px; }
.featured-heading { margin-bottom:45px; }
.featured-heading h2 { margin:22px 0; font-size:clamp(38px,4.3vw,62px); max-width:850px; }
.featured-heading>p:last-child { font-size:16px; max-width:660px; line-height:1.8; }
.featured-project { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:50px; align-items:center; padding:40px 0; border-top:1px solid var(--line); }
.featured-project:last-child { border-bottom:1px solid var(--line); }
.featured-visual { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:20px; min-width:0; aspect-ratio:1.12; padding:25px; border-radius:12px; background:#dae7ee; color:#263e4b; overflow:hidden; }
.featured-visual-top,.featured-visual-bottom { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:10px; letter-spacing:.07em; }
.featured-visual-top>span:last-child { font-size:15px; }
.featured-visual-bottom>span { font-size:25px; }
.featured-visual .portfolio-image { width:100%; height:100%; min-height:0; object-fit:contain; border-radius:5px; transition:transform .25s; }
.featured-visual:hover .portfolio-image { transform:translateY(-4px); }
.featured-project.agent-orchestration .featured-visual { background:#101d1a; color:#b6cfbf; }
.featured-copy { min-width:0; }
.featured-copy>.eyebrow { color:var(--muted); font-size:12px; }
.featured-copy h3 { margin:20px 0; font-size:clamp(30px,3vw,43px); letter-spacing:-.045em; }
.featured-copy>p:not(.eyebrow) { font-size:16px; line-height:1.85; }
.featured-capabilities { margin:24px 0; padding:0; list-style:none; }
.featured-capabilities li { border-top:1px solid var(--line); padding:10px 0; font-size:14px; display:flex; gap:12px; align-items:center; }
.featured-capabilities li:before { content:'↗'; color:var(--green-text); }
.featured-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:25px; }
.featured-actions>a:not(.pill) { font-size:14px; display:inline-flex; align-items:center; gap:14px; min-height:44px; border-bottom:1px solid var(--line); }
@media(max-width:1000px) { .featured-project { gap:30px; grid-template-columns:1.15fr 1fr; } .featured-visual { aspect-ratio:.95; padding:20px; } }
@media(max-width:760px) { .featured-work { padding-block:55px; } .featured-project { grid-template-columns:1fr; padding-block:30px; gap:28px; } .featured-visual { aspect-ratio:1.12; } .featured-heading h2 { font-size:39px; } .featured-copy h3 { font-size:34px; margin-block:15px; } .featured-visual-top,.featured-visual-bottom { font-size:8px; } }
@media(prefers-reduced-motion:reduce) { .featured-visual .portfolio-image { transition:none; } .featured-visual:hover .portfolio-image { transform:none; } }
.agent-process { display:grid; grid-template-columns:1fr 1.6fr; gap:55px; padding-block:50px 70px; border-top:1px solid var(--line); }
.agent-process h2 { font-size:clamp(32px,3.6vw,48px); margin-top:20px; }
.agent-process ol { list-style:none; padding:0; margin:0; }
.agent-process li { display:flex; gap:25px; border-top:1px solid var(--line); padding:25px 0; }
.agent-process li>span { color:var(--green-text); font-size:12px; padding-top:7px; }
.agent-process h3 { font-size:25px; margin-bottom:12px; }
.agent-process li p { font-size:15px; line-height:1.85; }
.agent-source-map { padding-bottom:70px; }
.agent-source-map h2 { font-size:clamp(32px,3.6vw,48px); margin:20px 0; }
.agent-source-map>p:not(.eyebrow) { max-width:730px; font-size:15px; line-height:1.8; }
.agent-source-map figure { margin:30px 0 0; }
.agent-source-map img { display:block; width:100%; height:auto; border-radius:10px; }
.agent-source-map figcaption { margin-top:12px; font-size:12px; color:var(--muted); }
@media(max-width:760px) { .agent-process { grid-template-columns:1fr; gap:30px; padding-block:35px; } .agent-process li { gap:16px; } .agent-process h3 { font-size:23px; } .agent-source-map { padding-bottom:45px; } }
.featured-project.agent-orchestration .featured-visual { aspect-ratio:1; }
@media(max-width:760px) { .featured-project.agent-orchestration .featured-visual { aspect-ratio:.88; gap:12px; } }

/* Focused homepage and source-grounded case studies. */
.home-page .featured-work { padding-block:60px; }
.home-services { padding-block:70px; }
.home-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.home-service-grid>a { display:flex; flex-direction:column; align-items:flex-start; border-top:1px solid var(--line); padding:25px 0; }
.home-service-grid .eyebrow { font-size:10px; }
.home-service-grid h3 { font-size:29px; margin:24px 0 18px; }
.home-service-grid p { font-size:15px; margin-bottom:25px; }
.home-service-grid .text-link { margin-top:auto; font-size:13px; }
.case-evidence { border-top:1px solid var(--line); padding-block:45px 60px; }
.case-evidence h2 { font-size:clamp(30px,4vw,46px); margin:18px 0 30px; }
.case-evidence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.case-evidence h3 { font-size:22px; margin-bottom:14px; }
.case-evidence p { font-size:15px; line-height:1.85; }
.case-evidence-note { margin-top:28px; padding:20px; background:var(--surface); border-left:3px solid var(--green-text); }
.featured-status { display:inline-flex; border:1px solid var(--line); border-radius:30px; padding:5px 10px; font-size:11px; color:var(--green-text); margin-bottom:12px; }
.agent-demo { background:#14211b; color:#f1f6ef; padding-block:75px; }
.agent-demo-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.18fr); gap:65px; align-items:center; }
.agent-demo p { color:#c0cdc1; }
.agent-demo .eyebrow { color:#c0e897; font-size:11px; }
.agent-demo h2 { font-size:clamp(34px,4.2vw,58px); margin:22px 0; }
.agent-demo-copy>p:not(.eyebrow) { font-size:16px; line-height:1.85; max-width:490px; }
.agent-demo-copy>.agent-demo-disclaimer { font-size:13px!important; margin-top:20px; color:#b8cbb9; }
.agent-demo-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:28px 0 22px; }
.agent-demo-controls button { min-height:68px; padding:10px 8px; border:1px solid #607865; border-radius:6px; background:transparent; color:#d1dfcf; font-size:12px; text-align:left; }
.agent-demo-controls button span { display:block; margin-top:5px; }
.agent-demo-controls button[aria-pressed=true] { background:#d4f3af; border-color:#d4f3af; color:#14211b; }
.agent-demo-source { font-size:12px; text-decoration:underline; text-underline-offset:5px; }
.agent-demo-console { border:1px solid #405548; border-radius:14px; overflow:hidden; background:#1c3026; min-width:0; }
.agent-console-bar { padding:20px 25px; display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid #405548; font-size:9px; letter-spacing:.06em; }
.agent-demo-panels { padding:30px; min-height:385px; }
.agent-demo-panels article+article:not([hidden]) { margin-top:35px; padding-top:25px; border-top:1px solid #405548; }
.agent-demo.is-enhanced .agent-demo-panels article { margin-top:0; padding-top:0; border-top:0; }
/* Shared grid space keeps the footer still as walkthrough steps change. */
.agent-demo.is-enhanced .agent-demo-panels { display:grid; }
.agent-demo.is-enhanced [data-agent-panel] { grid-area:1 / 1; min-width:0; }
.agent-demo.is-enhanced [data-agent-panel][hidden] { display:block!important; visibility:hidden; pointer-events:none; }
.agent-demo .agent-stage { color:#c2e79f; font-size:10px; letter-spacing:.08em; }
.agent-demo h3 { font-size:29px; margin:14px 0 24px; }
.agent-message { padding:20px; background:#263f32; border:1px solid #46614e; border-radius:9px; }
.agent-message>span { display:block; color:#b7c9b7; font-size:9px; letter-spacing:.08em; margin-bottom:10px; }
.agent-message p { color:#f1f6ef; font-size:19px; line-height:1.55; }
.agent-message.reply { border-left:3px solid #b4ea7e; }
.agent-demo .agent-explanation { font-size:13px; line-height:1.8; margin:22px 0; }
.agent-route { color:#c2e79f; font-size:11px; }
.agent-demo.is-enhanced .agent-route { display:block; position:relative; padding-bottom:15px; }
.agent-demo.is-enhanced .agent-route::before { content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background:#46614e; }
.agent-demo.is-enhanced .agent-route::after { content:''; position:absolute; left:0; bottom:-2px; width:20px; height:6px; border-radius:3px; background:#c2e79f; }
@media(prefers-reduced-motion:no-preference) {
  .agent-demo.is-enhanced [data-agent-panel]:not([hidden]) .agent-route::after { animation:agent-signal 1.4s ease-in-out 2; }
  @keyframes agent-signal {
    0% { left:0; opacity:0; }
    15%,85% { opacity:1; }
    100% { left:calc(100% - 20px); opacity:0; }
  }
  .featured-visual .portfolio-image,.portfolio-art .portfolio-image { transition:transform .45s cubic-bezier(.2,.7,.2,1); }
  .featured-visual-bottom>span { transition:transform .3s ease; }
  .featured-visual:focus-visible .portfolio-image,.portfolio-art:focus-visible .portfolio-image { transform:scale(1.025); }
  .featured-visual:focus-visible .featured-visual-bottom>span { transform:translate(3px,-3px); }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .featured-visual:hover .portfolio-image,.portfolio-art:hover .portfolio-image { transform:scale(1.025); }
  .featured-visual:hover .featured-visual-bottom>span { transform:translate(3px,-3px); }
}
.agent-specialists { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; }
.agent-specialists>* { font-size:11px; border:1px solid #526654; padding:5px 9px; border-radius:4px; font-weight:400; }
.agent-specialists strong { background:#d4f3af; color:#14211b; border-color:#d4f3af; }
.agent-events>div { display:flex; align-items:center; gap:20px; padding:16px 0; border-top:1px solid #405548; }
.agent-events time { color:#c2e79f; font-size:17px; }
.agent-events small { display:block; color:#b7c9b7; font-size:11px; }
.agent-demo-footer { display:flex; justify-content:space-between; align-items:center; gap:15px; border-top:1px solid #405548; padding:18px 25px; }
.agent-demo-footer p { font-size:11px; }
.agent-demo-next { border:0; border-radius:5px; background:#d4f3af; color:#14211b; padding:12px 15px; font-size:12px; min-height:44px; }
.agent-demo :focus-visible { outline-color:#c2e79f; }
@media(max-width:900px) { .agent-demo-layout { gap:30px; } .agent-demo-panels { padding:22px; } }
@media(max-width:760px) {
 .home-service-grid,.case-evidence-grid,.agent-demo-layout { grid-template-columns:1fr; }
 .home-services { padding-block:50px; }
 .home-service-grid { gap:10px; }
 .home-service-grid h3 { max-width:340px; }
 .agent-demo { padding-block:50px; }
 .agent-demo h2 { font-size:40px; }
 .agent-demo h3 { font-size:26px; }
 .agent-demo-panels { min-height:390px; padding:22px 18px; }
 .agent-console-bar,.agent-demo-footer { padding:16px; }
 .agent-demo-footer { gap:8px; }
 .agent-message p { font-size:17px; }
 .case-evidence-grid { gap:25px; }
}

/* Launch polish: readable supporting text and layouts that survive narrow screens. */
.hero-visual.hero-project { display:flex; flex-direction:column; justify-content:center; gap:28px; padding:28px; min-height:0; background:#e9f1f4; color:var(--ink); aspect-ratio:auto; }
.hero-project::after { display:none; }
.hero-project-preview { display:block; overflow:hidden; }
.hero-project-preview img { width:100%; height:auto; }
.hero-project-caption { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.hero-project-caption h2 { font-size:30px; letter-spacing:0; margin-bottom:12px; }
.hero-project-caption p { font-size:15px; }
.hero-project>.text-link { align-self:flex-start; }
.hero-visual.hero-agent { background:#101d1a; color:#f1f6ef; gap:20px; }
.hero-agent-brand { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.hero-agent-brand>img { width:160px; height:auto; }
.hero-agent-brand .eyebrow { color:#c2e79f; font-size:11px; letter-spacing:0; }
.hero-agent .hero-project-preview img { max-height:285px; object-fit:contain; }
.hero-agent .hero-project-caption p { color:#c0cdc1; }
.hero-agent .round-arrow { border-color:#617366; background:var(--lime); color:var(--ink); }
.hero-agent>.text-link { border-color:#8fa382; font-size:13px; }
.hero-agent :focus-visible { outline-color:var(--lime); }
.page-intro { padding-block:38px 30px; margin-bottom:30px; }
.page-intro h1 { font-size:64px; letter-spacing:0; margin-block:20px; }
.work-intro+.client-projects { padding-top:20px; }
.library-heading>div { min-width:0; }
.library-number { flex-shrink:0; letter-spacing:0; }
.project-hero figcaption,.preview-caption,.portfolio-art-meta,.featured-visual-top,.featured-visual-bottom,
.agent-stage,.agent-route,.agent-console-bar,.agent-demo-footer p,.agent-message>span,
.hero-meta .eyebrow,.hero-kicker,.hero-foot,.contact-next>.eyebrow,.contact-next li>span { font-size:12px; letter-spacing:0; }
.agent-console-bar,.featured-visual-top,.featured-visual-bottom { flex-wrap:wrap; }
.contact-email { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:14px; min-width:0; }
.contact-email>a { font-size:14px; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:4px; }
.copy-email { min-width:44px; min-height:44px; padding:8px; border:1px solid currentColor; border-radius:4px; background:transparent; color:inherit; font-size:12px; }
.copy-status { flex-basis:100%; font-size:12px; }
.copy-status:empty { display:none; }
.field-error { color:#852c21; font-size:13px; margin:6px 0 14px; }
#contact-form [aria-invalid=true] { border-color:#a13d2e; box-shadow:0 0 0 1px #a13d2e; }
.message-count { font-size:12px; text-align:right; margin:-8px 0 18px; }
#form-messages:empty { display:none; }
.not-found { padding-block:80px; }
.not-found h1 { font-size:64px; letter-spacing:0; margin:20px 0; }
.not-found>p { max-width:550px; }
.not-found .hero-actions { flex-wrap:wrap; }
.handover { padding-block:35px 50px; border-top:1px solid var(--line); }
.handover h2 { font-size:36px; letter-spacing:0; margin:16px 0 24px; }
.handover-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.handover h3 { font-size:21px; letter-spacing:0; margin-bottom:12px; }
.handover p { font-size:15px; }
@media(max-width:760px) {
  .page-intro { padding-block:28px; margin-bottom:24px; }
  .page-intro h1,.not-found h1 { font-size:40px; }
  .handover-grid { grid-template-columns:1fr; }
  .hero-meta { flex-wrap:wrap; }
  .hero-foot { gap:16px; flex-wrap:wrap; }
  .featured-visual { gap:12px; }
}
@media(max-width:600px) {
  .library-heading { flex-direction:column; gap:24px; }
  .library-number { display:flex; align-items:center; gap:20px; font-size:64px; }
  .library-number span { margin:0; font-size:12px; }
}

.team-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.contact-form-jump { margin-top:20px; }
.capability-top,.project-stack li,.portfolio-body>.eyebrow,.project-facts dt { font-size:12px; }
.work-intro+.client-projects .portfolio-heading { gap:20px; }
.work-intro+.client-projects .portfolio-heading h2 { font-size:36px; }
.page-intro+.capabilities { padding-top:20px; }
@media(max-width:760px) {
  .page-intro { padding-block:24px; margin-bottom:12px; }
  .team-grid { grid-template-columns:1fr; }
  .work-intro+.client-projects .portfolio-heading h2 { font-size:30px; }
  .featured-work,.process-section,.founder-section { padding-block:40px; }
}

/* ==========================================================================
   SCROLL-CRAFT: DIMENSIONAL HERO DEPTH & KINETIC CRAFT
   ========================================================================== */
.hero-next { position:relative; }
.hero-meta, .hero-layout, .hero-foot { position:relative; z-index:1; }

/* Plane 0: Atmospheric blueprint lattice, topological wave canvas & ambient glow */
.hero-depth-ambient {
  position:absolute;
  inset:-30px -40px 10px -40px;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
  border-radius:16px;
  mask-image:radial-gradient(ellipse 85% 80% at 50% 50%, black 50%, rgba(0,0,0,0.5) 80%, transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 85% 80% at 50% 50%, black 50%, rgba(0,0,0,0.5) 80%, transparent 100%);
}
.hero-wave-canvas {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  pointer-events:none;
  opacity:0.85;
}
.hero-grid-lattice { position:absolute; inset:0; background-image:radial-gradient(rgba(25,32,25,0.08) 1px, transparent 1px); background-size:28px 28px; opacity:0.75; mask-image:radial-gradient(ellipse at 70% 45%, black 25%, transparent 75%); -webkit-mask-image:radial-gradient(ellipse at 70% 45%, black 25%, transparent 75%); }
.hero-radial-glow { position:absolute; inset:0; background:radial-gradient(circle at 72% 40%, rgba(152,255,3,0.12) 0%, rgba(152,255,3,0.02) 40%, transparent 70%); }

/* Plane 1: Kinetic Headline */
.kinetic-hero-title { margin:0; }
.kinetic-hero-title .hero-line { display:block; }

/* Plane 2: 3D Spatial Cluster */
.hero-spatial-stage {
  position:relative;
  z-index:2;
  perspective:1200px;
  transform-style:preserve-3d;
  box-shadow:0 30px 80px rgba(0,0,0,0.28), 0 0 0 1px rgba(255,255,255,0.08);
  transition:box-shadow .35s ease;
  will-change:transform;
}
.hero-spatial-stage:hover {
  box-shadow:0 36px 95px rgba(0,0,0,0.34), 0 0 0 1px rgba(152,255,3,0.2);
}
.hero-telemetry-badge {
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(25,40,32,0.85);
  border:1px solid rgba(194,231,159,0.3);
  padding:4px 10px;
  border-radius:20px;
  font-size:10px;
  color:#d6ebd0;
  letter-spacing:.05em;
}
.pulse-ring {
  width:7px;
  height:7px;
  background:var(--lime);
  border-radius:50%;
  position:relative;
  box-shadow:0 0 8px var(--lime);
}
.pulse-ring::after {
  content:'';
  position:absolute;
  inset:-3px;
  border:1px solid var(--lime);
  border-radius:50%;
  animation:ring-pulse 2s ease-out infinite;
}
@keyframes ring-pulse {
  0% { transform:scale(0.8); opacity:1; }
  100% { transform:scale(2.2); opacity:0; }
}

.spatial-subject-wrap {
  position:relative;
  transform-style:preserve-3d;
  transition:transform .2s ease-out;
}

.spatial-floating-card {
  position:absolute;
  z-index:4;
  background:rgba(20,33,26,0.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(194,231,159,0.28);
  border-radius:8px;
  padding:8px 13px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#f1f6ef;
  box-shadow:0 18px 40px rgba(0,0,0,0.45);
  pointer-events:none;
  transition:transform .25s ease-out;
}
.spatial-floating-card strong { display:block; font-size:11px; font-weight:500; color:#fff; }
.spatial-floating-card small { display:block; font-size:9px; color:#c2e79f; }
.spatial-badge-tools { top:16px; right:16px; }
.spatial-badge-status { bottom:16px; left:16px; }
.badge-icon { display:grid; place-items:center; width:22px; height:22px; background:rgba(152,255,3,0.18); color:var(--lime); border-radius:50%; font-size:11px; flex-shrink:0; }

@media(prefers-reduced-motion:no-preference) {
  .hero-spatial-stage {
    transform:rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  }
  .spatial-subject-wrap {
    transform:translate3d(var(--mx, 0px), var(--my, 0px), 15px);
  }
  .spatial-badge-tools {
    transform:translate3d(calc(var(--mx, 0px) * 1.8), calc(var(--my, 0px) * 1.8), 35px);
  }
  .spatial-badge-status {
    transform:translate3d(calc(var(--mx, 0px) * 1.4), calc(var(--my, 0px) * 1.4), 28px);
  }
}

@media(max-width:760px) {
  .spatial-floating-card { display:none; }
  .hero-depth-ambient { inset:-10px -10px 10px -10px; }
}

/* ==========================================================================
   SCROLL-CRAFT: PINNED LIVE SURFACE WALKTHROUGH & SCRUBBER
   ========================================================================== */
.agent-demo {
  position:relative;
}

@media(min-width:961px) and (prefers-reduced-motion:no-preference) {
  .agent-demo.is-scroll-pinned {
    min-height:220vh;
  }
  .agent-demo.is-scroll-pinned .agent-demo-layout {
    position:sticky;
    top:60px;
  }
}

.agent-scroll-hint {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  font-size:12px;
  color:#a5baa4;
  letter-spacing:.03em;
}
.scroll-mouse-icon {
  width:14px;
  height:20px;
  border:1.5px solid #a5baa4;
  border-radius:8px;
  position:relative;
  display:inline-block;
  flex-shrink:0;
}
.scroll-mouse-icon::after {
  content:'';
  position:absolute;
  top:3px;
  left:50%;
  transform:translateX(-50%);
  width:2px;
  height:4px;
  background:var(--lime);
  border-radius:1px;
  animation:scroll-nudge 1.6s ease-in-out infinite;
}
@keyframes scroll-nudge {
  0%, 100% { top:3px; opacity:1; }
  60% { top:9px; opacity:0.2; }
}

.agent-scrubber-track {
  position:relative;
  height:3px;
  background:#284234;
  border-radius:2px;
  overflow:visible;
  margin-top:10px;
}
.agent-scrubber-fill {
  height:100%;
  background:var(--lime);
  border-radius:2px;
  transition:width .25s cubic-bezier(.2,.7,.2,1);
  box-shadow:0 0 10px rgba(152,255,3,0.5);
}
.agent-scrubber-nodes {
  position:absolute;
  inset:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  pointer-events:none;
}
.scrubber-dot {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#263f32;
  border:1.5px solid #14211b;
  transition:background .25s, transform .25s, box-shadow .25s;
}
.scrubber-dot.is-active {
  background:var(--lime);
  transform:scale(1.35);
  box-shadow:0 0 8px rgba(152,255,3,0.7);
}

/* 3D Card Tilt for Portfolio Exhibits */
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .portfolio-art {
    perspective:1000px;
    transform-style:preserve-3d;
    transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease;
  }
  .portfolio-art:hover {
    transform:translateY(-4px);
    box-shadow:0 22px 60px rgba(0,0,0,0.12);
  }
}

/* ==========================================================================
   ENHANCED STUDIO POLISH: METRICS, HOME SERVICES & ACCORDION FAQ
   ========================================================================== */

/* STUDIO METRICS STRIP */
.metrics-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: center;
  padding: 38px 32px;
  margin-top: 48px;
  margin-bottom: 24px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.metric-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.metric-value {
  font-size: clamp(32px, 3.6vw, 44px);
  font-weight: 600;
  line-height: 1;
  color: var(--ink);
  letter-spacing: -0.04em;
}
.metric-plus, .metric-unit {
  color: var(--green-text);
  font-size: 0.8em;
  margin-left: 2px;
}
.metric-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.01em;
}
@media (max-width: 860px) {
  .metrics-strip { grid-template-columns: repeat(2, 1fr); gap: 28px; padding: 28px 24px; }
}
@media (max-width: 520px) {
  .metrics-strip { grid-template-columns: 1fr; gap: 22px; }
}

/* HOME SERVICES 3-CARD SHOWCASE */
.home-services { padding-block: 70px; }
.home-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 36px;
}
.home-service-grid a {
  display: flex;
  flex-direction: column;
  padding: 36px 30px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  transition: transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.home-service-grid a:hover {
  transform: translateY(-6px);
  border-color: #b9d892;
  box-shadow: 0 16px 36px rgba(25, 32, 25, 0.07);
}
.home-service-grid a h3 {
  font-size: 22px;
  line-height: 1.25;
  margin: 18px 0 12px;
  color: var(--ink);
}
.home-service-grid a p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--muted);
  flex-grow: 1;
}
.home-service-grid a .text-link {
  margin-top: 24px;
  align-self: flex-start;
  transition: transform .2s ease;
}
.home-service-grid a:hover .text-link {
  color: var(--green-text);
  border-color: var(--green-text);
  transform: translateX(4px);
}
@media (max-width: 920px) {
  .home-service-grid { grid-template-columns: 1fr; }
}

/* POLISHED ACCORDION FAQ */
/* POLISHED MINIMALIST CENTERED FAQ */
.faq-section {
  padding-block: 84px;
  border-top: 1px solid var(--line);
}
.faq-heading {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 48px;
}
.faq-heading .eyebrow {
  margin-bottom: 12px;
}
.faq-heading h2 {
  font-size: clamp(36px, 4.2vw, 54px);
  letter-spacing: -0.04em;
}
.faq-list {
  max-width: 780px;
  margin: 0 auto;
}
.faq-list details {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: var(--radius);
  margin-bottom: 12px;
  padding: 20px 24px;
  transition: border-color .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
}
.faq-list details:hover {
  border-color: #b9d892;
  box-shadow: 0 8px 24px rgba(25, 32, 25, 0.04);
}
.faq-list details[open] {
  border-color: var(--green-text);
  background: var(--paper);
  box-shadow: 0 12px 32px rgba(25, 32, 25, 0.05);
}
.faq-list summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-size: 18px;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: -0.02em;
  transition: color .2s ease;
}
.faq-list summary::-webkit-details-marker {
  display: none;
}
.faq-list summary:hover {
  color: var(--green-text);
}
.faq-list summary span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--paper);
  border: 1px solid var(--line);
  font-size: 17px;
  font-weight: 400;
  color: var(--muted);
  flex-shrink: 0;
  transition: transform .25s var(--ease), color .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
}
.faq-list details[open] summary span {
  transform: rotate(45deg);
  background: var(--lime);
  border-color: var(--lime);
  color: var(--ink);
}
.faq-list details p {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  font-size: 15px;
  line-height: 1.8;
  color: var(--muted);
}




