/* Contact · single page stylesheet · 2026-10-14
   Replaces bundles/contact.css, contact-simple-r40.css, contact-convergence-r41.css,
   contact-art-dtp-20261013.css and the JS-injected contact-continuity-r42.css.
   Only declarations that take effect in some reachable state are kept (default,
   ?intent=brief, carried context, ?sent=1, no-JS, form error/submitting, mobile and
   funding menus, hover/focus, every breakpoint), in their original cascade order.
   Loads after the shell CSS; !important stays only where dropping it would change a
   computed value. */
:root{--green-700:#1a6440;--gold:#b78b28;--forest:var(--green-700);--serif:"Playfair Display",Georgia,serif;--sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI", sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--ease:var(--cv-ease-enter);--type-body-large:clamp(1.125rem,1.25vw,1.35rem);--type-body:clamp(0.96rem,0.92vw,1.02rem);--type-copy-leading:1.55;--paper:#f7f8f4;--muted:#4e5550;--close-accent:#b7df62}
*,
::after,
::before{box-sizing:border-box}
.skip-link:focus-visible{outline-color:var(--close-accent)}
main[tabindex="-1"]:focus{outline:0}
body{margin:0;font-family:var(--sans);font-size:var(--type-body);line-height:var(--type-copy-leading);overflow-x:clip}
a,
button{color:inherit}
a{text-decoration:none}
button{border:0;background:0 0;cursor:pointer;font:inherit}
img{display:block;max-width:100%;color:transparent}
:focus-visible{outline:2px solid var(--forest);outline-offset:4px}
/* Shell .skip-link keeps its pill radius when focused. */
:focus-visible:not(:where(.skip-link)){border-radius:4px}
@media (prefers-reduced-motion:reduce){
*,
::after,
::before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.hero-title,
h1,
h2,
h3{text-wrap:balance}
.hero-copy{text-wrap:pretty}
.hero-title em{font-family:var(--serif);font-style:italic}
.hero-copy{font-weight:400}
.section-kicker{display:inline-flex;align-items:center;gap:10px}
body.mobile-menu-open{overscroll-behavior:none}
@media (max-width:680px){
.hero-copy,
.hero-title{transition-delay:.08s}
}
.hero-media-banner{isolation:isolate}
main:not(#home)>.hero.visual-hero .section-kicker{letter-spacing:.075em}
main:not(#home)>.hero.visual-hero .container.hero-content{padding-top:clamp(72px,7vw,104px);padding-bottom:clamp(72px,7vw,104px)}
main:not(#home)>.hero.visual-hero .hero-copy{font-size:var(--type-body-large);line-height:1.6}
main:not(#home)>.hero.visual-hero .hero-media-banner{border-radius:0;box-shadow:none}
main:not(#home)>.hero.visual-hero .hero-media-banner img{min-height:0}
@media (max-width:760px){
main:not(#home)>.hero.visual-hero .container.hero-content{padding-top:clamp(34px,6vh,52px);padding-bottom:clamp(34px,6vh,52px)}
main:not(#home)>.hero.visual-hero .hero-copy{font-size:.94rem;line-height:1.45}
}
@media (max-width:700px) and (max-height:720px){
main:not(#home)>.hero.visual-hero .container.hero-content{padding-top:24px;padding-bottom:24px}
main:not(#home)>.hero.visual-hero .hero-copy{font-size:.88rem;line-height:1.36}
}
body,
html{max-width:100%}
body:not(.page-insights) main:not(#home)>.hero.visual-hero{border-bottom:0}
body:not(.page-insights) main:not(#home)>.hero.visual-hero .container.hero-content{display:grid;padding-block:0}
body:not(.page-insights) main:not(#home)>.hero.visual-hero .container.hero-content>div:first-child{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:clamp(16px,2vw,24px)}
body.main-page:not(.page-home):not(.page-insights) main>.hero.visual-hero .hero-copy,
body.main-page:not(.page-home):not(.page-insights) main>.hero.visual-hero .hero-title,
body.main-page:not(.page-home):not(.page-insights) main>.hero.visual-hero .section-kicker,
body:not(.page-insights) main:not(#home)>.hero.visual-hero .hero-copy,
body:not(.page-insights) main:not(#home)>.hero.visual-hero .section-kicker{margin:0;text-align:left}
body:not(.page-insights) main:not(#home)>.hero.visual-hero .hero-title{margin:0;text-wrap:balance;text-align:left}
.hero .hero-title,
.hero .section-kicker{margin-inline:auto}
.hero .hero-copy{margin-inline:auto}
body:is(.page-field-systems,.page-advisory,.page-farms,.page-about,.page-contact) main:not(#home)>.hero.visual-hero{margin-bottom:0;display:flex;align-items:center;padding-block:clamp(48px,6vh,72px)}
body:is(.page-field-systems,.page-advisory,.page-farms,.page-about,.page-contact) main:not(#home)>.hero.visual-hero .container.hero-content{align-content:center}
@media (max-width:720px){
body:is(.page-field-systems,.page-advisory,.page-farms,.page-about,.page-contact) main:not(#home)>.hero.visual-hero{padding-block:clamp(24px,5vh,40px)}
}
html{scroll-padding-top:calc(var(--global-nav-height) + 72px);scroll-behavior:smooth;overflow-x:hidden;background:var(--paper);font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis:none;font-kerning:normal}
@media (max-width:700px){
:root{--type-copy-leading:1.6}
}
body:not(.project-theme) .image-caption span{min-width:0}
body.main-page:not(.page-home):not(.page-insights) main>.hero.visual-hero{margin:0;border:0}
body.main-page:not(.page-home):not(.page-insights) main>.hero.visual-hero .container.hero-content>div:first-child{min-width:0}
body.main-page:not(.page-home):not(.page-insights) main>.hero.visual-hero .hero-title{font-family:var(--serif);font-weight:400;letter-spacing:-.052em}
body.main-page:not(.page-home):not(.page-insights) main>.hero.visual-hero .hero-copy{color:var(--muted)}
body:not(.project-theme) .image-caption{position:static;width:100%;max-width:none;border-radius:0;box-shadow:none;font-family:var(--sans);font-weight:400;letter-spacing:0;text-transform:none;backdrop-filter:none}
body:not(.project-theme) .image-caption strong{margin:0}
body.main-page:not(.page-home) .hero-media-banner{position:relative;width:100%;grid-template-rows:minmax(0,1fr) auto;align-self:center;min-width:0;overflow:visible;border:0;background:0 0;flex-direction:column;aspect-ratio:auto}
body.main-page:not(.page-home) .hero-media-banner>:is(img,a,.hero-photo-frame){width:100%;overflow:hidden;border:0;background:#dfe5de;flex:0 0 auto}
body.main-page:not(.page-home) .hero-media-banner>.hero-photo-frame>img{display:block;width:100%;object-fit:cover;border:0;border-radius:inherit;background:0 0;box-shadow:none}
body.main-page:not(.page-home) .hero-media-banner::after{content:none}
@media (max-width:620px){
body.main-page:not(.page-home) .hero-media-banner>figcaption.image-caption{grid-template-columns:1fr}
body.main-page:not(.page-home):not(.page-insights) .visual-hero :is(.hero-content,.hero-grid,.hero-content>div:first-child,.hero-grid>div:first-child){min-width:0;width:100%}
body.main-page:not(.page-home):not(.page-insights) .visual-hero .hero-title{width:100%}
body.main-page:not(.page-home):not(.page-insights) .visual-hero .hero-copy{width:100%}
}
body.main-page:not(.page-home) .hero-media-banner>.hero-photo-frame>img{height:100%;aspect-ratio:3/2}
body.main-page:not(.page-home){--hero-glow-light:rgba(255,255,255,0.68);--hero-grain:rgba(20,35,25,0.16)}
body.main-page.page-contact{--hero-surface-base:#edf4f0;--hero-surface-end:#e7efeb;--hero-glow-primary:rgba(94,159,149,0.25);--hero-glow-secondary:rgba(210,190,148,0.17)}
body.main-page:not(.page-home) main:not(#home)>.hero.visual-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--main-hero-background,radial-gradient(ellipse at 14% 18%,var(--hero-glow-primary)0,transparent 38%),radial-gradient(ellipse at 88% 24%,var(--hero-glow-secondary)0,transparent 42%),radial-gradient(ellipse at 72% 58%,var(--hero-glow-light)0,transparent 38%),linear-gradient(180deg,var(--hero-surface-base) 0%,var(--hero-surface-end) 100%))}
body.main-page:not(.page-home) main:not(#home)>.hero.visual-hero::before{content:var(--main-hero-grain-content,"");position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,var(--hero-grain)0 .55px,transparent .7px);background-size:9px 9px;opacity:.1;mask-image:linear-gradient(115deg,rgba(0,0,0,.72),transparent 76%);-webkit-mask-image:linear-gradient(115deg,rgba(0,0,0,.72),transparent 76%)}
body.main-page:not(.page-home) main:not(#home)>.hero.visual-hero>*{position:relative;z-index:1}
@media (max-width:700px){
body.main-page:not(.page-home) main:not(#home)>.hero.visual-hero{background:radial-gradient(ellipse at 18% 9%,var(--hero-glow-primary)0,transparent 34%),radial-gradient(ellipse at 84% 64%,var(--hero-glow-secondary)0,transparent 38%),linear-gradient(180deg,var(--hero-surface-base) 0%,var(--hero-surface-end) 100%)}
}
body.main-page:not(.page-home) main .section-kicker{margin-bottom:0}
.funding-mobile-menu__detail[hidden]{display:none}
@media (max-width:1120px){
.funding-mobile-menu{display:block;margin:2px 0 8px;padding:12px 0 8px;border-bottom:1px solid rgba(23,24,19,.08)}
.funding-mobile-menu__head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:8px 0 6px}
.funding-mobile-menu__label{font-family:var(--mono,"JetBrains Mono",monospace);font-size:.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(20,23,20,.65)}
.funding-mobile-menu__head small{font-family:var(--mono,"JetBrains Mono",monospace);font-size:.625rem;color:rgba(20,23,20,.62)}
.funding-mobile-menu__list{display:grid}
.funding-mobile-menu__priority{min-height:46px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:0;border:0;border-top:1px solid rgba(23,24,19,.065);background:transparent;color:rgba(20,23,20,.74);text-align:left;font:500 .9rem/1.25 var(--sans,"Inter",sans-serif)}
.funding-mobile-menu__priority small{font-family:var(--mono,"JetBrains Mono",monospace);font-size:.625rem;font-weight:500;color:rgba(20,23,20,.62)}
.funding-mobile-menu__priority.is-active{color:#16382a}
.funding-mobile-menu__detail{padding:12px 0 8px;border-top:1px solid rgba(23,24,19,.08)}
.funding-mobile-menu__detail p{display:grid;gap:5px;margin:0;color:rgba(20,23,20,.62);font-size:.76rem;line-height:1.4}
.funding-mobile-menu__detail p strong{color:#16382a;font-size:.8rem}
.funding-mobile-menu__detail p em{font-style:normal;font-family:var(--mono,"JetBrains Mono",monospace);font-size:.625rem;letter-spacing:.02em;color:rgba(20,23,20,.62)}
.funding-mobile-menu__detail a{display:inline-flex!important;min-height:44px!important;align-items:center!important;margin-top:4px!important;padding:7px 0 0!important;border:0!important;color:#16382a!important;font-size:.78rem!important;font-weight:600!important}
}
:root{--cultivera-type-label-floor:.78rem;--cultivera-type-functional-leading:1.45;--cultivera-type-label-track:.055em;--cultivera-space-editorial-section:clamp(3.5rem, 5.5vw, 5rem);--cultivera-space-editorial-section-mobile:3.5rem}
:root{--award-type-label-floor:var(--cultivera-type-label-floor);--award-type-functional-leading:var(--cultivera-type-functional-leading);--award-type-label-track:var(--cultivera-type-label-track)}
body.main-page:not(.page-home):not(.page-insights) :is(.mono, .section-kicker, .section-label, .eyebrow),
body.page-contact :is(.brief-field label, .form-field label, .brief-destination, .route-number, .copy-status, .submission-note){font-size:var(--award-type-label-floor)!important;line-height:var(--award-type-functional-leading);letter-spacing:var(--award-type-label-track)}
body.main-page:not(.page-home):not(.page-insights) .image-caption strong{font-size:var(--award-type-label-floor)}
:root{--award-density-section-main:var(--cultivera-space-editorial-section)}
body:is(.page-about, .page-advisory, .page-contact, .page-farms) main > section:not(.hero):not(.closing-section):not(.section-before-closing){padding-block:var(--award-density-section-main)}
@media (max-width: 760px){
:root{--award-density-section-main:var(--cultivera-space-editorial-section-mobile)}
}
body :is(.btn, .button, .copy-brief, .project-action, button)[disabled]{transform:none!important}
body.page-contact{--contact-paper-2:#faf9f4;--contact-ink:#111611;--contact-green:#123b2b;--contact-green-2:#1f5d42;--contact-muted:rgba(17,22,17,.62);background:var(--contact-paper-2);color:var(--contact-ink)}
body.page-contact main{background:var(--contact-paper-2)}
body.page-contact .section-kicker{margin:0 0 14px;color:var(--contact-green-2);font:600 .67rem/1.35 var(--mono);text-transform:uppercase}
body.page-contact .contact-hero .hero-title em{color:var(--green-700);font-weight:400}
body.page-contact .contact-primary,
body.page-contact .submit-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border:1px solid var(--contact-ink);border-radius:999px;background:var(--contact-ink);color:#fff;font:600 .76rem/1 var(--mono);letter-spacing:.01em;transition:transform 220ms var(--ease),background 220ms var(--ease),border-color 220ms var(--ease)}
body.page-contact .contact-primary:hover,
body.page-contact .contact-primary:focus-visible,
body.page-contact .submit-button:hover,
body.page-contact .submit-button:focus-visible{background:var(--contact-green);border-color:var(--contact-green);transform:translateY(-1px)}
body.page-contact .hero-media-banner{gap:12px}
body.page-contact .hero-media-banner>.hero-photo-frame{border-radius:0;box-shadow:none}
body.page-contact .hero-media-banner>.hero-photo-frame>img{transform:scale(1.055);transform-origin:50% 65%}
body.page-contact .hero-media-banner>figcaption.image-caption{display:grid;grid-template-columns:1fr;gap:4px;align-items:start;padding:0;border:0;background:transparent;color:rgba(17,22,17,.56);font-size:.73rem;line-height:1.45}
body.page-contact .hero-media-banner>figcaption.image-caption strong{color:var(--contact-green-2);font:600 .625rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
body.page-contact .hero-media-banner>figcaption.image-caption span{max-width:48ch}
body.page-contact .honeypot{position:absolute;left:-9999px;width:1px!important;height:1px;opacity:0}
body.page-contact #sendAnother{min-height:44px;padding:0;border-bottom:1px solid currentColor;color:var(--contact-green-2);font:600 .72rem/1.2 var(--mono)}
@media (max-width:980px){
body.page-contact .hero-media-banner{max-width:760px}
}
@media (max-width:700px){
body.page-contact .hero-media-banner>.hero-photo-frame{border-radius:0}
body.page-contact .hero-media-banner>figcaption.image-caption{grid-template-columns:1fr;gap:5px}
}
body.page-contact[data-art-thesis="field-note-brief"] .contact-hero-copy{position:relative}
body.page-contact[data-art-thesis="field-note-brief"] .contact-hero-copy::before{position:absolute;left:0;top:6px;bottom:6px;width:1px;background:linear-gradient(180deg,rgba(23,63,50,.36),rgba(23,63,50,.12));pointer-events:none}
body.page-contact[data-art-thesis="field-note-brief"] .contact-hero-copy::after{position:absolute;left:-4px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--contact-green-2);box-shadow:0 0 0 5px rgba(237,244,240,.94)}
@media (max-width:700px){
body.page-contact[data-art-thesis="field-note-brief"] .contact-hero-copy::before,
body.page-contact[data-art-thesis="field-note-brief"] .contact-hero-copy::after{display:none}
}
body.page-contact .simple-contact-section{background:#f5f6f0}
body.page-contact .simple-contact-heading{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.page-contact .simple-brief-form{margin:0;padding:0;border-top:1px solid rgba(17,22,17,.26)}
body.page-contact .simple-brief-grid{display:grid;align-items:start}
body.page-contact .simple-brief-main,
body.page-contact .simple-brief-identity,
body.page-contact .simple-send-zone{min-width:0}
body.page-contact .simple-brief-identity{display:grid;gap:23px}
body.page-contact .simple-brief-form .form-field{display:grid;gap:9px;min-width:0}
body.page-contact .simple-brief-form .form-field label{color:var(--contact-green-2,#315b48);font:600 .8125rem/1.4 var(--mono,"JetBrains Mono",monospace);letter-spacing:.075em;text-transform:uppercase}
body.page-contact .simple-brief-form .form-field label span{font-weight:500;letter-spacing:0;text-transform:none}
body.page-contact .simple-brief-form input,
body.page-contact .simple-brief-form textarea{width:100%;border:0;border-bottom:1px solid rgba(17,22,17,.28);border-radius:0;outline:0;background:transparent;color:var(--contact-ink,#111611);font:400 1rem/1.5 var(--sans,"Inter",sans-serif);transition:border-color 160ms ease,box-shadow 160ms ease}
body.page-contact .simple-brief-form input{min-height:48px;padding:8px 0 10px}
body.page-contact .simple-brief-form textarea{padding:13px 14px 18px;resize:vertical}
body.page-contact .simple-brief-form .form-field :is(input,textarea){border:1px solid #8e9d90;background:#fafbf7;padding-inline:14px}
body.page-contact .simple-brief-form .form-field :is(input,textarea):focus{border-color:var(--contact-green-2,#315b48);outline:2px solid var(--contact-green-2,#315b48);outline-offset:2px;box-shadow:none}
body.page-contact .simple-next-step{grid-column:1/-1;max-width:42ch;margin:0 0 6px;color:#4e5550;font-size:.9rem;line-height:1.5}
body.page-contact .simple-brief-form input:focus,
body.page-contact .simple-brief-form textarea:focus{border-bottom-color:var(--contact-green-2,#315b48);box-shadow:0 1px 0 var(--contact-green-2,#315b48)}
body.page-contact .simple-send-zone{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 18px;align-items:center}
body.page-contact .simple-send-zone .submit-button{min-width:138px;min-height:48px;margin:0}
body.page-contact .simple-send-zone .submit-button:disabled{opacity:.58;cursor:wait}
body.page-contact .simple-email-fallback{min-height:44px;display:inline-flex;align-items:center;justify-self:start;color:var(--contact-green-2,#315b48);font-size:.82rem;font-weight:600;text-decoration:none;text-underline-offset:4px}
body.page-contact .simple-email-fallback:hover,
body.page-contact .simple-email-fallback:focus-visible{text-decoration:underline}
body.page-contact .simple-send-zone .form-status{grid-column:1/-1;min-height:0;margin:3px 0 0;color:var(--contact-green-2,#315b48);font-size:.82rem;line-height:1.45}
body.page-contact .simple-send-zone .form-status:empty{display:none}
body.page-contact .simple-send-zone .form-status.is-error{color:#8d2d36}
body.page-contact .simple-send-zone .privacy-note{grid-column:1/-1;margin:3px 0 0;color:#555b54;line-height:1.5}
body.page-contact .simple-success-panel{margin:0;padding:clamp(34px,4vw,48px) 0 0;border:0}
body.page-contact .simple-success-panel[hidden]{display:none}
body.page-contact .simple-success-panel h3{font-family:var(--serif,"Playfair Display",serif);font-weight:400;letter-spacing:-.04em}
body.page-contact .simple-success-panel p{margin:0 0 24px;color:var(--contact-muted,#5f665f)}
body.page-contact .simple-success-panel button{border:0;background:transparent;cursor:pointer}
body.page-contact .simple-success-panel button:hover,
body.page-contact .simple-success-panel button:focus-visible{text-decoration:underline;text-underline-offset:5px}
@media (min-width:981px){
body.page-contact .hero-media-banner>.hero-photo-frame img{object-position:center 52%}
}
@media (max-width:820px){
body.page-contact .simple-brief-identity{gap:20px}
body.page-contact .simple-send-zone{grid-template-columns:1fr;gap:6px}
body.page-contact .simple-send-zone .submit-button{justify-self:start;min-width:142px}
body.page-contact .simple-send-zone .form-status,
body.page-contact .simple-send-zone .privacy-note{grid-column:1}
}
@media (prefers-reduced-motion:reduce){
body.page-contact .simple-brief-form input,
body.page-contact .simple-brief-form textarea{transition:none}
}
@media (min-width:981px){
body.page-contact .contact-hero .hero-content{transform:none}
body.page-contact .contact-hero-copy{align-self:center}
body.page-contact .contact-hero .hero-title{font-size:clamp(3.35rem,4.15vw,4.75rem)!important;line-height:.93!important}
body.page-contact .contact-hero .hero-copy{margin-top:0!important;font-size:clamp(1rem,1.2vw,1.125rem)!important}
body.page-contact .hero-media-banner{display:grid!important;align-content:center;align-self:center!important;height:auto;min-height:0;margin:0!important}
body.page-contact .hero-media-banner>figcaption.image-caption{margin:0;padding-top:10px}
body.page-contact .contact-hero{min-height:0!important;height:auto;padding:clamp(84px,9.5vh,92px) 0 16px!important}
body.page-contact .contact-hero .hero-content{align-items:center!important;min-height:0!important}
body.page-contact .hero-media-banner>.hero-photo-frame{height:clamp(200px,18vw,240px)!important;max-height:none;aspect-ratio:16/9;border-radius:0}
body.page-contact .simple-contact-section{padding:16px 0 clamp(48px,6vh,64px)!important}
body.page-contact .simple-brief-identity{gap:18px}
}
body.page-contact .contact-hero .hero-title{max-width:11.5ch!important}
body.page-contact #route{scroll-margin-top:calc(var(--global-nav-height,64px) + 14px)}
@media (max-width:980px){
body.page-contact .contact-hero{min-height:0!important;height:auto;padding:clamp(68px,9vw,88px) 0 22px!important}
body.page-contact .contact-hero .hero-content{display:grid!important;grid-template-columns:1fr!important;gap:clamp(14px,3vw,22px)!important;align-items:start!important;min-height:0!important;transform:none}
body.page-contact .contact-hero .hero-title{max-width:9ch!important;font-size:clamp(2.65rem,8vw,4rem)!important;line-height:.94!important}
body.page-contact .contact-hero .hero-copy{margin-top:10px!important}
body.page-contact .hero-media-banner{display:grid!important;align-content:start;height:auto!important;min-height:0!important;margin:0!important}
body.page-contact .hero-media-banner>.hero-photo-frame{height:clamp(150px,32vw,220px)!important;min-height:0;max-height:none;aspect-ratio:auto}
body.page-contact .hero-media-banner>.hero-photo-frame img{object-position:center 52%}
body.page-contact .hero-media-banner>figcaption.image-caption{margin:0;padding-top:7px}
body.page-contact .simple-contact-section{padding:clamp(24px,4vw,38px) 0 62px!important}
body.page-contact .simple-brief-grid{grid-template-columns:1fr;padding-top:16px}
}
@media (min-width:700px) and (max-width:980px){
body.page-contact .contact-hero{padding:78px 0 30px!important}
body.page-contact .contact-hero .hero-content{align-items:center!important}
body.page-contact .contact-hero .hero-title{max-width:none!important;font-size:clamp(3rem,6.2vw,3.75rem)!important}
body.page-contact .hero-media-banner>.hero-photo-frame{height:clamp(210px,28vw,250px)!important}
}
@media (max-width:420px){
body.page-contact .contact-hero{padding:62px 0 16px!important}
body.page-contact .contact-hero .hero-content{gap:12px!important}
body.page-contact .contact-hero .hero-title{font-size:clamp(2.5rem,11vw,3rem)!important}
body.page-contact .contact-hero .hero-copy{font-size:1rem!important}
body.page-contact .hero-media-banner>.hero-photo-frame{height:128px!important}
body.page-contact .hero-media-banner>figcaption.image-caption span{display:none}
body.page-contact .hero-media-banner>figcaption.image-caption{min-height:0;padding-top:6px}
body.page-contact .simple-contact-section{padding:22px 0 56px!important}
body.page-contact .simple-brief-grid{padding-top:12px}
}
body.page-contact .simple-brief-form .form-field label span{color:rgba(17,22,17,.62)}
body.page-contact .simple-brief-form :is(input,textarea)::placeholder{color:rgba(17,22,17,.55)}
body.page-contact{--contact-edge:min(calc(100% - 44px),var(--cv-shell-max,1280px));--contact-cols:minmax(0,1.12fr) minmax(360px,.88fr);--contact-gap:clamp(48px,6vw,96px)}
@media (min-width:700px) and (max-width:980px){
body.page-contact{--contact-cols:minmax(0,1fr) minmax(280px,.92fr);--contact-gap:clamp(28px,4vw,44px)}
}
@media (max-width:720px){
body.page-contact{--contact-edge:calc(100% - 40px)}
}
body.page-contact .contact-hero .container,
body.page-contact .simple-contact-container{width:var(--contact-edge)!important;max-width:none;margin-inline:auto;padding-inline:0}
body.page-contact[data-art-thesis] .contact-hero-copy{justify-self:start!important;padding-left:0;max-width:none}
body.page-contact .contact-hero .hero-copy{max-width:36ch!important}
body.page-contact[data-art-thesis] .contact-hero-copy::before,
body.page-contact[data-art-thesis] .contact-hero-copy::after{content:none}
body.page-contact .contact-hero{box-shadow:none!important}
body.page-contact .contact-hero::after{content:"";position:absolute;inset:auto 0 0;height:clamp(56px,8vw,96px);background:linear-gradient(180deg,rgba(245,246,240,0),#f5f6f0);pointer-events:none;z-index:-1}
body.page-contact .simple-contact-section{border-top:0}
@media (min-width:700px){
body.page-contact .contact-hero .hero-content{grid-template-columns:var(--contact-cols)!important;gap:var(--contact-gap)!important}
body.page-contact .simple-contact-section{padding-top:clamp(24px,2.6vw,36px)!important}
body.page-contact .simple-brief-grid{grid-template-columns:var(--contact-cols);grid-template-areas:"brief who" ". send";gap:0 var(--contact-gap);align-items:stretch;padding-top:clamp(18px,2vw,26px)}
body.page-contact .simple-brief-form .simple-brief-main{grid-area:brief;grid-template-rows:auto minmax(185px,1fr)}
body.page-contact .simple-brief-main textarea{height:auto;min-height:0;align-self:stretch}
body.page-contact .simple-brief-identity{grid-area:who}
body.page-contact .simple-send-zone{grid-area:send;padding-top:28px}
body.page-contact .brief-context{grid-template-columns:var(--contact-cols)!important;gap:var(--contact-gap)!important}
}
body.page-contact .brief-context + .simple-brief-form{border-top:0}
@media (max-width:699px){
body.page-contact .simple-brief-grid{gap:30px}
body.page-contact .simple-brief-form textarea{min-height:0;height:176px}
body.page-contact.is-brief-request .simple-brief-form textarea{height:128px}
body.page-contact .simple-send-zone{padding-top:4px}
}
body.page-contact .simple-send-zone .privacy-note{font-size:.75rem;max-width:54ch}
body.page-contact .simple-success-panel{max-width:none;padding-top:clamp(26px,3vw,40px);background:transparent;box-shadow:none}
body.page-contact .simple-success-panel h3{max-width:16ch;margin:10px 0 14px;font-size:clamp(2.1rem,3.3vw,3.35rem);line-height:1}
body.page-contact .simple-success-panel p{max-width:44ch;margin-bottom:18px}
body.page-contact .simple-contact-noscript{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:0 0 26px;padding:0;border:0;background:transparent;box-shadow:none}
body.page-contact .simple-contact-noscript strong{flex-basis:100%;color:var(--contact-green-2,#315b48);font:600 .8125rem/1.4 var(--mono,"JetBrains Mono",monospace);letter-spacing:.075em;text-transform:uppercase}
body.page-contact .simple-contact-noscript p{margin:0}
body.page-contact .brief-context{display:grid;margin:0 0 22px;padding:17px 0 19px;border-block:1px solid rgba(20,23,20,.14)}
body.page-contact .brief-context__lead span{display:block;color:var(--forest,#1a6440);font:600 .625rem/1.35 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}
body.page-contact .brief-context__lead strong{display:block;margin-top:8px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.25rem,1.8vw,1.75rem);font-weight:500;line-height:1.08;letter-spacing:-.025em}
body.page-contact .brief-context__details{display:grid;gap:7px;align-content:start}
body.page-contact .brief-context__details p{margin:0;color:#4e5550;font-size:.86rem;line-height:1.55}
body.page-contact .brief-context__details p strong{color:#141714;font-weight:600}
body.page-contact .brief-context__question{padding-top:6px;color:#27332c!important}
@media (max-width:700px){
body.page-contact .brief-context{grid-template-columns:1fr;gap:10px;margin-bottom:18px;padding:14px 0 16px}
body.page-contact .brief-context__lead strong{margin-top:5px;font-size:1.35rem}
body.page-contact .brief-context__details p{font-size:.82rem}
}

/* Scene programme batch 1 · 2026-10-27. On phones the email alternative sits above the form,
   so it shows in the first view; inline errors name the field; carried context can be removed. */
body.page-contact .simple-contact-alt{display:none;margin:0 0 14px;color:#4e5550;font-size:.88rem;line-height:1.45}
body.page-contact .simple-contact-alt .simple-email-fallback{font-size:inherit}
@media (max-width:760px){
body.page-contact .simple-contact-alt{display:block}
}
body.page-contact .simple-brief-form .field-error{margin:0;color:#8d2d36;font-size:.82rem;line-height:1.45}
body.page-contact .simple-brief-form .field-error[hidden]{display:none}
body.page-contact .simple-brief-form .form-field [aria-invalid="true"]{border-color:#8d2d36;box-shadow:0 0 0 1px #8d2d36}
body.page-contact .simple-brief-form .form-field [aria-invalid="true"]:focus{border-color:#8d2d36;outline-color:#8d2d36}
body.page-contact .brief-context{position:relative}
body.page-contact .brief-context__remove{justify-self:start;min-height:44px;padding:0;border:0;background:transparent;color:#315b48;font:600 .78rem/1 var(--sans,"Inter",sans-serif);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@media (min-width:700px){
body.page-contact .brief-context__remove{position:absolute;top:10px;right:0}
}

/* Combined review: identity-first project document requests, matching DOM order. */
@media(min-width:700px){
  body.page-contact.is-brief-request .simple-brief-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"who brief" "send brief"}
}
@media(max-width:699px){
  body.page-contact.is-brief-request .simple-brief-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  body.page-contact.is-brief-request .simple-brief-identity{order:0}
  body.page-contact.is-brief-request .simple-brief-main{order:1}
  body.page-contact.is-brief-request .simple-send-zone{order:2}
}
