:root {
  --paper:#f7f8f3; --forest:#12382e; --green:#39b74c; --accent:#187b39;
  --muted:#5c7165; --line:#d1ddd2; --radius:28px; --font:Arial,Helvetica,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; background:var(--paper); color:var(--forest); font-family:var(--font); -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
button { color:inherit; cursor:pointer; }
a,button,input,select,textarea { -webkit-tap-highlight-color:transparent; outline-offset:5px; }
:focus-visible { outline:2px solid var(--accent); }
img,svg { display:block; max-width:100%; }
img { height:auto; }
h1,h2,h3,h4,p { margin:0; }
h1,h2,h3,h4 { font-weight:700; }
h1,h2 { text-wrap:balance; }
h2 { font-size:clamp(42px,4.4vw,68px); line-height:1.04; letter-spacing:-.06em; }
p { line-height:1.7; }
[hidden] { display:none!important; }
.wrap { width:calc(100% - 112px); max-width:1440px; margin-inline:auto; }
.section { padding-block:112px; }
.accent { color:var(--accent); }
.eyebrow,.page-index { display:block; font-size:10px; line-height:1.7; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow { margin-bottom:24px; }
.muted { color:var(--muted); }
.skip-link { position:fixed; left:15px; top:15px; z-index:100; padding:13px 20px; background:var(--forest); color:#fff; transform:translateY(-160%); border-radius:30px; }
.skip-link:focus { transform:translateY(0); }
.site-header { background:var(--paper); z-index:20; min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:32px; border-bottom:1px solid var(--line); position:relative; }
.brand-logo { display:block; flex:0 0 64px; width:64px; height:64px; border-radius:16px; background:var(--green); overflow:hidden; transition:transform .25s; }
.brand-logo img { width:100%; height:100%; object-fit:cover; }
.brand-logo:hover { transform:rotate(-4deg); }
.desktop-nav { display:flex; align-items:center; gap:32px; margin-left:auto; }
.desktop-nav a { position:relative; padding:14px 0; font-size:12px; font-weight:600; white-space:nowrap; }
.desktop-nav a:not(.nav-cta):after { content:''; position:absolute; left:0; bottom:6px; width:100%; height:2px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.desktop-nav a:not(.nav-cta):hover:after,.desktop-nav a[aria-current=page]:not(.nav-cta):after { transform:scaleX(1); }
.desktop-nav a[aria-current=page]:not(.nav-cta) { color:var(--accent); }
.desktop-nav .nav-cta[aria-current=page] { background:var(--green); color:var(--forest); }
.desktop-nav .nav-cta,.button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; padding:18px 24px; border:1px solid transparent; border-radius:100px; font-size:12px; line-height:1.3; font-weight:600; transition:background .2s,color .2s,transform .2s,box-shadow .2s; }
.desktop-nav .nav-cta { padding:16px 22px; margin-left:9px; background:var(--forest); color:#fff; }
.nav-cta span,.button span,.card-arrow,.process-arrow { display:inline-block; transition:transform .25s; }
.desktop-nav .nav-cta:hover,.button-dark:hover { background:var(--green); color:var(--forest); transform:translateY(-2px); }
.nav-cta:hover span,.button:hover span { transform:translate(3px,-2px); }
.button-dark { background:var(--forest); color:#fff; }
.button-light { background:var(--paper); color:var(--forest); }
.button-light:hover { background:var(--green); transform:translateY(-2px); }
.button-outline { border-color:var(--forest); background:transparent; color:var(--forest); }
.button-outline:hover { background:#e3efe0; transform:translateY(-2px); }
.text-link { display:inline-flex; align-items:center; gap:22px; padding:8px 0; border-bottom:1px solid currentColor; font-size:12px; font-weight:600; line-height:1.5; transition:color .2s; }
.text-link:hover { color:var(--accent); }
.menu-toggle,.mobile-nav { display:none; }
.hero { padding-top:34px; }
.hero-topline { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.hero-topline .eyebrow { margin:0; }
.hero-topline .eyebrow:before { content:''; width:7px; height:7px; display:inline-block; margin-right:9px; border-radius:50%; background:var(--green); }
.hero-topline>span:last-child { font-size:9px; letter-spacing:.1em; color:var(--muted); }
.hero-layout { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:64px; padding-block:42px 55px; }
.hero-copy h1 { font-size:clamp(76px,9.7vw,150px); line-height:.94; letter-spacing:-.075em; white-space:nowrap; margin-left:-7px; }
.hero-copy>p { font-size:18px; line-height:1.5; letter-spacing:-.025em; margin-top:31px; max-width:430px; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:25px; margin-top:31px; }
.hero-actions .button { padding:18px 22px; gap:22px; }
.hero-actions .text-link { font-size:11px; }
.hero-mosaic { display:grid; grid-template-columns:1fr .828fr; gap:13px; min-width:0; }
.hero-scene { grid-column:1/-1; border-radius:var(--radius); }
.hero-logo-tile { overflow:hidden; border-radius:var(--radius); aspect-ratio:1; background:var(--green); }
.hero-logo-tile img { width:100%; height:100%; object-fit:cover; }
.hero-object { border-radius:var(--radius); }
.hero-brand-note { grid-column:1/-1; font-size:7px; letter-spacing:.11em; line-height:1.7; text-align:right; margin-top:1px; color:var(--muted); }
.moodboard-crop { position:relative; overflow:hidden; min-width:0; isolation:isolate; }
.moodboard-crop>.moodboard-source { position:absolute; height:auto; max-width:none; }
.moodboard-workspace { aspect-ratio:830/395; }
.moodboard-workspace>.moodboard-source { width:162.650603%; left:-5.060241%; top:-10.632911%; }
.moodboard-tote { aspect-ratio:394/476; }
.moodboard-tote>.moodboard-source { width:342.639594%; left:-231.979696%; top:-8.823529%; }
.hero-bottom { display:flex; justify-content:space-between; align-items:center; gap:45px; border-top:1px solid var(--line); padding-block:25px 35px; }
.hero-bottom>span { font-size:9px; letter-spacing:.12em; }
.hero-bottom>p { font-size:12px; color:var(--muted); max-width:460px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:60px; margin-bottom:46px; }
.section-heading>p { max-width:390px; font-size:14px; color:var(--muted); }
.split-layout { display:grid; grid-template-columns:1fr 1fr; gap:112px; }
.split-layout>div>p,.split-layout>p { font-size:16px; color:var(--muted); line-height:1.8; }
.split-layout>div>p+p { margin-top:20px; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:56px; }
.principles article,.principle { padding-top:24px; border-top:1px solid var(--line); }
.principles h3,.collaboration-grid h3 { font-size:24px; letter-spacing:-.045em; line-height:1.15; margin-bottom:13px; }
.principles p,.collaboration-grid p { font-size:13px; line-height:1.8; color:var(--muted); max-width:345px; }
.dark-section { background:var(--forest); color:#fff; }
.dark-section .eyebrow { color:#c5d9cd; }
.dark-section .accent { color:var(--green); }
.dark-section .section-heading>p { color:#c5d9cd; }
.dark-section :focus-visible { outline-color:#fff; }
.service-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.service-card { display:flex; flex-direction:column; position:relative; padding:30px; min-height:350px; border:1px solid #3d5d4e; border-radius:24px; background:#173f32; transition:background .25s,transform .25s; }
.service-card:hover { background:#214e3c; transform:translateY(-4px); }
.service-number { display:block; font-size:10px; letter-spacing:.1em; color:var(--green); margin-bottom:37px; }
.service-title { font-size:31px; line-height:1.09; letter-spacing:-.05em; padding-right:10px; margin-bottom:20px; }
.service-card p { font-size:12px; line-height:1.8; color:#c5d9cd; }
.tag-list { list-style:none; margin:23px 0 0; padding:0; display:flex; gap:7px; flex-wrap:wrap; }
.tag-list li,.tag-list span { font-size:8px; line-height:1.4; padding:6px 9px; border:1px solid #698672; border-radius:20px; }
.card-arrow { position:absolute; right:28px; top:25px; font-size:25px; line-height:1; }
.service-card:hover .card-arrow { transform:translate(4px,-3px); }
.service-card .text-link { margin-top:auto; align-self:flex-start; color:#fff; }
.section-actions { margin-top:35px; }
.coming-soon-panel { display:grid; grid-template-columns:.95fr 1.15fr; border-radius:var(--radius); overflow:hidden; background:#e8f0e4; }
.coming-soon-art { display:flex; align-items:center; justify-content:center; background:var(--green); min-width:0; }
.coming-soon-art img { width:100%; height:100%; object-fit:cover; }
.coming-soon-copy { padding:60px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.status-badge { display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border:1px solid #aec8af; border-radius:20px; font-size:8px; letter-spacing:.09em; font-weight:600; text-transform:uppercase; }
.status-badge:before { content:''; width:5px; height:5px; border-radius:50%; background:var(--accent); }
.coming-soon-copy h2,.coming-soon-copy h3 { font-size:clamp(35px,4vw,59px); line-height:1.03; letter-spacing:-.06em; margin:27px 0 22px; }
.coming-soon-copy p { font-size:13px; color:var(--muted); line-height:1.8; max-width:430px; }
.coming-soon-copy .text-link,.coming-soon-copy .button { margin-top:25px; }
.process-section { border-top:1px solid var(--line); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.process-step { position:relative; border-top:1px solid var(--line); padding-top:23px; }
.step-number { display:block; font-size:10px; font-weight:600; letter-spacing:.12em; color:var(--accent); margin-bottom:39px; }
.process-arrow { position:absolute; right:0; top:18px; font-size:23px; }
.process-step h3 { font-size:24px; letter-spacing:-.045em; margin-bottom:13px; }
.process-step>p { font-size:12px; color:var(--muted); line-height:1.8; }
.process-step .step-output { font-size:10px; line-height:1.7; color:var(--forest); border-top:1px solid var(--line); margin-top:21px; padding-top:14px; }
.closing-cta { background:#e7f2e4; border-radius:38px 38px 0 0; }
.cta-layout { display:grid; grid-template-columns:1.45fr 1fr; align-items:end; gap:90px; }
.cta-layout h2 { font-size:clamp(61px,7.2vw,108px); line-height:.99; letter-spacing:-.07em; }
.cta-layout>div>p { font-size:15px; color:var(--muted); max-width:350px; margin-bottom:27px; }
.cta-layout .button { min-width:235px; }
.site-footer { background:var(--forest); color:#fff; padding-top:52px; }
.footer-top { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.footer-top .brand-logo { width:74px; height:74px; flex-basis:74px; border-radius:18px; }
.footer-email { font-size:clamp(28px,4.2vw,62px); line-height:1.15; letter-spacing:-.05em; overflow-wrap:anywhere; }
.footer-email:hover { color:var(--green); }
.footer-links { display:flex; gap:30px; padding:34px 0 32px; font-size:12px; }
.footer-links a:hover,.footer-links a[aria-current=page] { text-decoration:underline; text-underline-offset:5px; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:30px; border-top:1px solid #3d5d4e; padding:25px 0 29px; font-size:9px; line-height:1.7; color:#c5d9cd; }
.footer-bottom a:hover { color:#fff; text-decoration:underline; }
.site-footer :focus-visible { outline-color:#fff; }
.page-hero { padding-block:74px 85px; border-bottom:1px solid var(--line); }
.page-hero .page-index { color:var(--muted); margin-bottom:32px; }
.page-hero h1,.project-intro h1 { font-size:clamp(68px,8.8vw,132px); line-height:.96; letter-spacing:-.07em; max-width:1100px; }
.page-lead { font-size:20px; letter-spacing:-.025em; line-height:1.6; color:var(--muted); max-width:690px; margin-top:29px; }
.service-jump-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:35px; }
.service-jump-links a { font-size:11px; padding:12px 17px; border:1px solid #b8cdbb; border-radius:30px; transition:background .2s; }
.service-jump-links a:hover { background:#deedda; }
.service-detail { border-bottom:1px solid var(--line); }
.service-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.service-detail h2 { font-size:clamp(42px,4.2vw,64px); }
.service-detail h3 { font-size:17px; letter-spacing:-.025em; margin-bottom:15px; }
.service-detail .service-number { color:var(--accent); margin-bottom:25px; }
.service-detail p { font-size:14px; color:var(--muted); line-height:1.8; }
.service-detail h2+p { margin-top:25px; }
.deliverable-list { list-style:none; padding:0; margin:0; }
.deliverable-list li { font-size:13px; line-height:1.7; padding:12px 0 12px 23px; border-top:1px solid var(--line); position:relative; }
.deliverable-list li:before { content:'↗'; position:absolute; left:0; color:var(--accent); }
.service-context { padding:25px 28px; background:#eaf1e5; border-radius:20px; margin-top:29px; }
.service-context h3,.service-context strong { font-size:11px; display:block; margin-bottom:10px; }
.service-context p { font-size:12px; }
.outcome { margin-top:24px; padding-top:21px; border-top:1px solid var(--line); }
.outcome strong { display:block; color:var(--forest); font-size:11px; margin-bottom:8px; }
.service-cta { margin-top:25px; }
.about-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:62px; align-items:center; }
.about-hero-grid h1 { font-size:clamp(65px,7.2vw,108px); }
.about-hero-grid .page-lead { font-size:17px; }
.about-visual { border-radius:var(--radius); }
.about-principles { border-bottom:1px solid var(--line); }
.collaboration-grid { display:grid; grid-template-columns:1fr 1fr; gap:112px; }
.collaboration-grid article { padding-top:25px; border-top:1px solid var(--line); }
.collaboration-grid .eyebrow { color:#c5d9cd; margin-bottom:26px; }
.portfolio-coming-soon { padding-block:72px 112px; }
.work-approach-list { list-style:none; margin:35px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.work-approach-list>li,.work-approach-list>article { padding-top:25px; border-top:1px solid var(--line); }
.work-approach-list h3 { font-size:23px; letter-spacing:-.04em; margin-bottom:13px; }
.work-approach-list p { font-size:13px; color:var(--muted); line-height:1.8; }
.project-page { padding-block:75px 112px; }
.project-layout { display:grid; grid-template-columns:.94fr 1.06fr; gap:95px; align-items:start; }
.project-intro { position:sticky; top:38px; }
.project-intro h1 { font-size:clamp(67px,7.7vw,112px); }
.project-intro .page-lead { font-size:17px; }
.project-intro .text-link { margin-top:28px; }
.project-intro .contact-detail { margin-top:40px; font-size:13px; line-height:1.8; }
.inquiry-card { background:#fff; border:1px solid var(--line); border-radius:30px; padding:40px; }
.inquiry-card>h2 { font-size:28px; letter-spacing:-.045em; margin-bottom:13px; }
.required-note { font-size:10px; color:var(--muted); line-height:1.7; margin-bottom:26px; }
.inquiry-form { display:flex; flex-direction:column; gap:28px; }
.form-section { border:0; border-top:1px solid var(--line); margin:0; padding:24px 0 0; min-width:0; display:flex; flex-direction:column; gap:19px; }
.form-section legend { padding:0 12px 0 0; font-size:13px; font-weight:600; line-height:1.7; letter-spacing:-.02em; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.field { display:flex; flex-direction:column; gap:8px; min-width:0; font-size:11px; line-height:1.6; font-weight:600; }
.field label { font-size:11px; font-weight:600; }
.field-hint { display:block; font-size:10px; font-weight:400; color:var(--muted); line-height:1.6; }
input,select,textarea { width:100%; min-width:0; border:1px solid #bdcec0; background:#fff; border-radius:9px; padding:13px 14px; font-size:13px; font-weight:400; line-height:1.5; color:var(--forest); }
input::placeholder,textarea::placeholder { color:#7c8d80; opacity:1; }
input:focus,select:focus,textarea:focus { border-color:var(--accent); outline:2px solid #187b3933; outline-offset:1px; }
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true] { border-color:#a33e30; }
textarea { resize:vertical; min-height:135px; }
select { cursor:pointer; min-height:47px; }
.consent { display:flex; align-items:flex-start; gap:11px; font-size:11px; font-weight:400; line-height:1.7; color:var(--muted); }
.consent input { width:16px; height:16px; margin:2px 0 0; flex:0 0 16px; accent-color:var(--accent); }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.submit-button { width:100%; min-height:55px; border:0; }
.submit-button:disabled { cursor:wait; opacity:.65; transform:none; }
.form-status { font-size:12px; line-height:1.75; overflow-wrap:anywhere; }
.form-status:empty { display:none; }
.form-status:not(:empty) { background:#eef4e9; border:1px solid #c8dec6; border-radius:12px; padding:16px 18px; }
.form-status[data-state=error],.form-status.error { color:#862d21; background:#fff0eb; border-color:#e7b9aa; }
.form-status[data-state=success],.form-status.success { color:var(--forest); background:#e7f2e4; }
.form-note { font-size:10px; line-height:1.75; color:var(--muted); }
.light-accent { color:var(--green); }
.circle-link { display:grid; place-items:center; width:41px; height:41px; flex:0 0 41px; border:1px solid var(--line); border-radius:50%; font-size:21px; transition:background .2s,border-color .2s; }
.circle-link:hover { background:var(--green); border-color:var(--green); }
.section-copy p { font-size:15px; color:var(--muted); line-height:1.8; }
.section-copy p.large-copy { font-size:23px; line-height:1.5; letter-spacing:-.03em; color:var(--forest); margin-bottom:22px; }
.section-copy .text-link { margin-top:26px; }
.principles article>span { display:block; font-size:10px; letter-spacing:.1em; color:var(--accent); margin-bottom:26px; }
.service-card-link { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:11px; font-weight:600; line-height:1.5; margin-top:auto; padding-top:28px; }
.service-card-link span { font-size:18px; }
.service-card { min-height:422px; }
.step-output>span { display:block; font-size:7px; letter-spacing:.09em; color:var(--muted); margin-bottom:7px; }
.step-output>p { font-size:11px; line-height:1.6; color:var(--forest); }
.footer-symbol { display:block; width:74px; height:74px; flex:0 0 74px; border-radius:18px; overflow:hidden; }
.footer-symbol img { width:100%; height:100%; object-fit:cover; }
.footer-contact { min-width:0; }
.footer-contact .eyebrow { margin-bottom:13px; color:#c5d9cd; font-size:8px; }
.footer-email { display:inline-block; }
.footer-email span { display:inline-block; font-size:.6em; vertical-align:middle; margin-left:10px; }
.deliverable-list li { padding-block:18px; }
.deliverable-list h3 { font-size:16px; margin-bottom:5px; }
.deliverable-list p { font-size:12px; }
.service-context .eyebrow { font-size:8px; margin-bottom:11px; }
.service-detail-intro p.large-copy { font-size:22px; color:var(--forest); line-height:1.5; letter-spacing:-.035em; margin-bottom:18px; }
.image-caption { position:absolute; bottom:15px; left:16px; padding:7px 10px; font-size:6px; letter-spacing:.1em; border-radius:20px; color:var(--forest); background:#f7f8f3eb; }
.dark-section .section-copy p { color:#c5d9cd; max-width:none; }
.dark-section .section-copy p.large-copy { color:#fff; }
.collaboration-list { list-style:none; padding:0; margin:28px 0 0; }
.collaboration-list li { font-size:12px; color:#c5d9cd; padding:13px 0 13px 22px; border-top:1px solid #3d5d4e; line-height:1.7; position:relative; }
.collaboration-list li:before { content:'↗'; position:absolute; left:0; color:var(--green); }
.work-approach-list>span { display:block; border-top:1px solid var(--line); padding-top:17px; font-size:11px; line-height:1.7; }
.project-contact { margin-top:34px; }
.project-contact .eyebrow { font-size:8px; margin-bottom:10px; }
.project-contact>a { font-size:14px; font-weight:600; letter-spacing:-.02em; overflow-wrap:anywhere; }
.what-next { margin-top:39px; border-top:1px solid var(--line); padding-top:25px; max-width:420px; }
.what-next h2 { font-size:25px; letter-spacing:-.04em; margin-bottom:13px; }
.what-next p { font-size:13px; color:var(--muted); line-height:1.8; }
.what-next .text-link { margin-top:20px; }
.inquiry-success h2 { font-size:49px; line-height:1.02; letter-spacing:-.06em; margin-bottom:24px; }
.inquiry-success>p { font-size:13px; color:var(--muted); line-height:1.8; margin-top:16px; }
.inquiry-success a:not(.button),.form-note a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.inquiry-success .button { margin-top:27px; }
@media(max-width:1100px) {
  .wrap { width:calc(100% - 72px); } .section { padding-block:88px; }
  .site-header { min-height:98px; } .brand-logo { width:58px; height:58px; flex-basis:58px; border-radius:15px; }
  .desktop-nav { gap:25px; } .desktop-nav a { font-size:11px; } .desktop-nav .nav-cta { padding:15px 18px; gap:20px; margin-left:0; }
  .hero-layout { gap:34px; } .hero-copy h1 { font-size:clamp(71px,9.3vw,108px); } .hero-copy>p { font-size:16px; }
  .hero-actions { gap:18px; } .hero-actions .button { font-size:11px; padding:17px 19px; gap:20px; } .hero-actions .text-link { font-size:10px; }
  .hero-mosaic { gap:11px; } .hero-scene,.hero-logo-tile,.hero-object { border-radius:24px; }
  .split-layout,.service-detail-grid { gap:60px; } .section-heading { gap:40px; } .section-heading>p { font-size:13px; max-width:310px; }
  .principles,.collaboration-grid,.work-approach-list { gap:28px; } .service-cards { gap:17px; } .service-card { padding:25px; min-height:360px; }
  .service-title { font-size:27px; } .service-card p { font-size:11px; } .card-arrow { right:23px; top:23px; } .tag-list { gap:6px; } .tag-list li,.tag-list span { font-size:7px; }
  .coming-soon-copy { padding:42px; } .coming-soon-copy h2,.coming-soon-copy h3 { font-size:44px; } .process-grid { gap:23px; } .process-step h3 { font-size:22px; }
  .collaboration-grid { gap:60px; } .cta-layout { gap:60px; } .cta-layout h2 { font-size:clamp(58px,7.4vw,88px); } .about-hero-grid { gap:38px; } .about-hero-grid h1 { font-size:clamp(65px,7.3vw,88px); }
  .project-layout { gap:48px; grid-template-columns:.9fr 1.1fr; } .project-intro h1 { font-size:clamp(62px,7vw,86px); } .inquiry-card { padding:30px; } .form-row { gap:14px; }
}
@media(max-width:760px) {
  html { scroll-padding-top:18px; } .wrap { width:calc(100% - 40px); } .section { padding-block:70px; } h2 { font-size:clamp(40px,7.8vw,58px); }
  .site-header { min-height:85px; } .brand-logo { width:52px; height:52px; flex-basis:52px; border-radius:13px; } .desktop-nav { display:none; }
  .menu-toggle { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; width:43px; height:43px; border:0; background:transparent; padding:10px; margin-right:-9px; }
  .menu-toggle span { display:block; width:23px; height:1px; background:var(--forest); transition:transform .2s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); } .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .mobile-nav { display:flex; flex-direction:column; position:absolute; left:-20px; right:-20px; top:calc(100% + 1px); padding:15px 25px 24px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 15px 22px #12382e0b; }
  .mobile-nav a { padding:16px 0; font-size:20px; font-weight:600; letter-spacing:-.035em; border-bottom:1px solid var(--line); } .mobile-nav a[aria-current=page] { color:var(--accent); } .mobile-nav .nav-cta { border-bottom:0; }
  .hero { padding-top:27px; } .hero-topline { gap:15px; } .hero-topline .eyebrow { font-size:8px; letter-spacing:.07em; } .hero-topline>span:last-child { font-size:7px; letter-spacing:.04em; }
  .hero-layout { grid-template-columns:1fr; gap:34px; padding-block:30px 36px; } .hero-copy h1 { font-size:clamp(78px,14.1vw,108px); margin-left:-5px; }
  .hero-copy>p { margin-top:24px; font-size:17px; } .hero-actions { gap:23px; margin-top:25px; } .hero-actions .button { font-size:11px; padding:17px 20px; } .hero-actions .text-link { font-size:11px; }
  .hero-mosaic { gap:12px; } .hero-scene,.hero-logo-tile,.hero-object { border-radius:26px; } .hero-brand-note { font-size:7px; text-align:left; }
  .hero-bottom { align-items:flex-start; gap:23px; padding-block:23px 29px; } .hero-bottom>span { font-size:8px; max-width:130px; line-height:1.7; } .hero-bottom>p { font-size:11px; max-width:320px; }
  .section-heading { display:block; margin-bottom:33px; } .section-heading>p { font-size:13px; margin-top:23px; max-width:500px; } .eyebrow { margin-bottom:22px; }
  .split-layout { grid-template-columns:1fr; gap:28px; } .split-layout>div>p,.split-layout>p { font-size:15px; } .principles { grid-template-columns:1fr; gap:28px; margin-top:38px; }
  .principles article,.principle { padding-top:22px; } .principles h3 { font-size:25px; } .principles p { font-size:13px; max-width:540px; }
  .service-cards { grid-template-columns:1fr; gap:16px; } .service-card { padding:29px; min-height:0; } .service-number { margin-bottom:30px; } .service-title { font-size:32px; max-width:80%; margin-bottom:18px; }
  .service-card p { font-size:13px; max-width:520px; } .service-card .tag-list { margin-top:23px; } .tag-list li,.tag-list span { font-size:8px; } .service-card .text-link { margin-top:25px; } .card-arrow { right:28px; top:26px; }
  .coming-soon-panel { grid-template-columns:1fr; } .coming-soon-art { aspect-ratio:1.6; } .coming-soon-art img { width:100%; height:100%; object-fit:cover; } .coming-soon-copy { padding:36px 29px 40px; }
  .coming-soon-copy h2,.coming-soon-copy h3 { font-size:clamp(40px,7.6vw,55px); } .coming-soon-copy p { font-size:13px; max-width:540px; }
  .process-grid { grid-template-columns:1fr 1fr; gap:34px 25px; } .step-number { margin-bottom:30px; } .process-step h3 { font-size:24px; } .process-step>p { font-size:12px; } .process-step .step-output { font-size:10px; }
  .closing-cta { border-radius:28px 28px 0 0; } .cta-layout { grid-template-columns:1fr; gap:31px; } .cta-layout h2 { font-size:clamp(58px,11.1vw,82px); } .cta-layout>div>p { max-width:500px; font-size:14px; margin-bottom:24px; }
  .footer-symbol { width:62px; height:62px; flex-basis:62px; border-radius:15px; } .site-footer { padding-top:36px; } .footer-top { gap:30px; } .footer-top .brand-logo { width:62px; height:62px; flex-basis:62px; border-radius:15px; } .footer-email { font-size:clamp(23px,4.6vw,37px); }
  .footer-links { flex-wrap:wrap; gap:14px 25px; font-size:11px; padding-block:29px; } .footer-bottom { display:flex; flex-wrap:wrap; gap:10px 24px; font-size:8px; padding-block:21px 25px; }
  .page-hero { padding-block:51px 61px; } .page-hero .page-index { margin-bottom:28px; } .page-hero h1 { font-size:clamp(61px,11.7vw,88px); } .page-lead { font-size:17px; margin-top:24px; max-width:560px; }
  .service-jump-links { gap:9px; margin-top:29px; } .service-jump-links a { font-size:10px; padding:11px 14px; } .service-detail-grid { grid-template-columns:1fr; gap:34px; }
  .service-detail h2 { font-size:clamp(43px,8.2vw,60px); } .service-detail p { font-size:13px; } .service-context { padding:25px; margin-top:25px; } .service-context p { font-size:12px; }
  .about-hero-grid { grid-template-columns:1fr; gap:33px; } .about-hero-grid h1 { font-size:clamp(60px,11.2vw,85px); } .about-hero-grid .page-lead { font-size:17px; } .about-visual { border-radius:26px; }
  .collaboration-grid { grid-template-columns:1fr; gap:30px; } .work-approach-list { grid-template-columns:1fr 1fr; gap:23px; } .collaboration-grid h3,.work-approach-list h3 { font-size:25px; } .collaboration-grid p,.work-approach-list p { max-width:560px; }
  .portfolio-coming-soon { padding-block:55px 70px; } .project-page { padding-block:51px 70px; } .project-layout { grid-template-columns:1fr; gap:39px; } .project-intro { position:static; }
  .project-intro h1 { font-size:clamp(66px,12.7vw,94px); } .project-intro .page-lead { font-size:17px; max-width:530px; } .project-intro .contact-detail { margin-top:27px; }
  .inquiry-card { padding:30px; border-radius:26px; } .inquiry-card>h2 { font-size:30px; } .form-row { gap:17px; } .form-section { padding-top:23px; } input,select,textarea { font-size:16px; padding:12px 13px; }
}
@media(max-width:420px) {
  .hero-copy h1 { font-size:clamp(64px,15.2vw,78px); } .hero-topline>span:last-child { font-size:6px; } .hero-topline .eyebrow { font-size:7px; }
  .hero-copy>p { font-size:16px; } .hero-actions { gap:19px; } .hero-actions .button { font-size:10px; padding:17px 18px; gap:18px; } .hero-actions .text-link { font-size:10px; }
  .hero-mosaic { gap:10px; } .hero-scene,.hero-logo-tile,.hero-object { border-radius:22px; } .hero-brand-note { font-size:6px; } .hero-bottom { display:block; } .hero-bottom>span { display:block; max-width:none; margin-bottom:12px; }
  .service-card { padding:26px; } .service-title { font-size:29px; } .service-card p { font-size:12px; } .coming-soon-copy { padding:30px 25px 35px; } .coming-soon-copy h2,.coming-soon-copy h3 { font-size:39px; }
  .process-grid { grid-template-columns:1fr; gap:28px; } .process-step { padding-top:22px; } .step-number { margin-bottom:25px; } .process-step h3 { font-size:25px; } .process-step>p { font-size:13px; }
  .footer-symbol { width:53px; height:53px; flex-basis:53px; } .section-copy p.large-copy { font-size:21px; } .work-approach-list { gap:21px; } .work-approach-list>span { font-size:10px; } .cta-layout h2 { font-size:clamp(52px,13.6vw,65px); } .footer-top { align-items:flex-start; gap:20px; } .footer-top .brand-logo { width:53px; height:53px; flex-basis:53px; } .footer-email { font-size:clamp(19px,5vw,25px); padding-top:10px; }
  .footer-links { gap:15px 22px; } .page-hero h1 { font-size:clamp(54px,13.2vw,66px); } .page-lead { font-size:16px; } .about-hero-grid h1 { font-size:clamp(53px,12.8vw,65px); }
  .project-intro h1 { font-size:clamp(61px,14.7vw,76px); } .inquiry-card { padding:27px 23px; border-radius:24px; } .form-row { grid-template-columns:1fr; gap:19px; } .inquiry-form { gap:26px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; } *,*:before,*:after { animation:none!important; transition:none!important; }
}/* Keep service and process details comfortable to read at every viewport. */
.service-card p,.process-step>p { font-size:14px; }
.service-card .tag-list li { font-size:11px; }
.deliverable-list p,.service-context p { font-size:14px; }
.step-output>span { font-size:9px; }
.step-output>p { font-size:12px; }
.field { font-size:12px; }
.field-hint { font-size:11px; }
.consent,.form-note { font-size:12px; }
.coming-soon-panel[href] { transition:transform .25s,box-shadow .25s; }
.coming-soon-panel[href]:hover { transform:translateY(-3px); box-shadow:0 16px 36px #12382e12; }
@media(max-width:760px) { .service-card .tag-list li { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .coming-soon-panel[href]:hover { transform:none; } }