/* Project detail and contact controls. Native dialog and native form semantics stay intact. */
.case-dialog,.sm-sections-ready .case-dialog{max-height:92dvh;width:min(1060px,calc(100vw - 32px));}
.dialog-layout{min-height:0;max-height:92dvh;grid-template-columns:.9fr 1.1fr;}
.dialog-image,.sm-sections-ready .dialog-image{min-height:0;height:100%;align-self:stretch;}
.dialog-image img{min-height:100%;}
.dialog-image .dialog-ci{gap:24px;font-size:clamp(25px,3.4vw,42px);}
.dialog-image .dialog-ci span{padding-bottom:22px;border-bottom:1px solid #a8cbbd33;}
.dialog-trajectory{display:flex;flex-direction:column;justify-content:center;gap:24px;min-height:100%;width:100%;padding:35px;color:#e8eee0;background:radial-gradient(ellipse at 80% 10%,#465f46,#243a2b 65%);}
.dialog-image:has(.dialog-trajectory),.sm-sections-ready .dialog-image:has(.dialog-trajectory){padding:0;}
.dialog-trajectory>span{font-size:9px;letter-spacing:.16em;color:#c4d1b8;}
.dialog-trajectory strong{font-family:var(--serif);font-size:clamp(40px,4.6vw,65px);font-weight:400;line-height:1.05;letter-spacing:-.04em;}
.dialog-trajectory p{font-size:18px;margin:0;}
.dialog-trajectory small{max-width:280px;padding-top:22px;border-top:1px solid #a9bea155;font-size:12px;line-height:1.6;color:#c1d0bb;}
.dialog-content,.sm-sections-ready .dialog-content{max-height:92dvh;padding:26px 32px 28px;overscroll-behavior:contain;}
.dialog-toolbar{flex-shrink:0;position:sticky;top:-26px;z-index:2;background:#fff;padding-block:8px;}
.dialog-toolbar button{flex-shrink:0;min-width:44px;min-height:44px;cursor:pointer;}
.dialog-kicker{margin-top:20px;font-size:9px;line-height:1.6;}
.dialog-content h2{font-size:clamp(32px,4vw,48px);margin-top:12px;}
.dialog-content>p{font-size:13px;line-height:1.75;}
.case-status{align-self:flex-start;margin-top:20px;padding:7px 10px;border:1px solid #c8d8ce;border-radius:99px;color:#3e6552;font-size:10px;font-weight:650;line-height:1.4;}
.case-facts{margin:22px 0 0;padding:0;display:grid;gap:16px;}
.case-facts>div{padding-top:15px;border-top:1px solid #e2e8e1;}
.case-facts dt{font-size:10px;font-weight:750;letter-spacing:.06em;color:#365540;}
.case-facts dd{margin:6px 0 0;font-size:12px;line-height:1.7;color:#56635b;}
.dialog-proof{margin-top:22px;padding-top:18px;}
.dialog-proof p{font-size:12px;line-height:1.7;margin-bottom:0;}
.case-actions{display:grid;gap:8px;margin-top:24px;}
.case-contact,.case-explore{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:999px;padding:13px 18px;font-size:12px;font-weight:700;text-decoration:none;line-height:1.5;cursor:pointer;}
.case-contact{border:1px solid #283f32;background:#283f32;color:#fff;}
.case-explore{border:1px solid #d4ded4;background:#f5f7f2;color:#314e3c;}
.case-credits{margin-top:18px;font-size:11px;line-height:1.65;color:#66766a;}
.case-credits summary{padding:10px 0;cursor:pointer;font-weight:650;}
.case-credits p{margin:3px 0 10px;}
.case-credits a{display:inline-block;padding:5px 0;color:#365a45;text-underline-offset:3px;}
.case-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:14px;border-top:1px solid #e1e7de;}
.case-navigation button{background:none;border:0;color:#415b49;min-height:44px;padding:8px 4px;font-family:inherit;font-size:11px;font-weight:650;line-height:1.5;cursor:pointer;}
.case-navigation span{font-size:10px;color:#697a6e;}
.brief-context{padding:11px 13px;border:1px solid #cad9ce;border-radius:8px;background:#f1f5ed;font-size:12px!important;color:#42624c!important;}
.brief-context[hidden],.prepared-brief[hidden]{display:none;}
.contact-form .form-submit{min-height:52px;cursor:pointer;}
.contact-form .form-submit:disabled{opacity:.55;cursor:not-allowed;}
.brief-copy,.brief-email{min-height:44px;border-radius:99px;padding:11px 15px;font-size:12px;font-weight:650;cursor:pointer;}
.brief-email{border:1px solid #b5c5b5;background:#f5f8f0;color:#2e4c38;}
.brief-copy{border:0;background:transparent;color:#47644f;text-decoration:underline;text-underline-offset:4px;}
.contact-form #form-status{line-height:1.65;color:#57685c;font-size:12px;margin:0;}
.brief-direct{display:block;padding:12px 0 0;border-top:1px solid #e0e8dc;font-size:11px;color:#385742;text-underline-offset:4px;line-height:1.6;}
.prepared-brief{font-size:12px!important;line-height:1.6;}
.case-contact:hover,.contact-form .form-submit:hover{background:#365843;}
.case-explore:hover,.brief-email:hover{background:#eaf0e4;}
.case-dialog button:focus-visible,.case-dialog a:focus-visible,.case-credits summary:focus-visible,.brief-copy:focus-visible,.brief-email:focus-visible,.brief-direct:focus-visible,#brief-title:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset);}
#brief-title:focus:not(:focus-visible){outline:none;}
.contact-form .field-error{margin:-6px 0 0;color:#a1301d;font-size:13px;font-weight:600;line-height:1.5;}
.contact-form [aria-invalid="true"]{border-color:#a1301d;}
@media(max-width:760px){
  .case-dialog,.sm-sections-ready .case-dialog{width:calc(100vw - 20px);max-height:93dvh;overflow:auto;}
  .dialog-layout{max-height:none;display:block;}
  .dialog-image,.sm-sections-ready .dialog-image{height:250px;min-height:0;}
  .dialog-image img,.sm-sections-ready .dialog-image img{height:100%;min-height:0;object-fit:cover;}
  .dialog-image .dialog-ci{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px;font-size:22px;}
  .dialog-image .dialog-ci span{padding-bottom:14px;}
  .dialog-trajectory{padding:22px;gap:12px;}
  .dialog-trajectory strong{font-size:35px;}
  .dialog-trajectory p{font-size:14px;}
  .dialog-trajectory small{padding-top:10px;font-size:11px;}
  .dialog-content,.sm-sections-ready .dialog-content{max-height:none;overflow:visible;min-height:0;padding:12px 20px 24px;}
  .dialog-toolbar{top:0;margin:-12px -20px 0;padding:8px 20px;border-bottom:1px solid #e9eee7;}
  .case-status{margin-top:16px;}
  .dialog-kicker{margin-top:16px;}
  .dialog-content h2{font-size:35px;}
}
@media(prefers-reduced-motion:reduce){.case-dialog[open]{animation:none;}}
