/* TEOS — translucent layers, polished rims and restrained perspective. */
:root{--glass-rim:rgba(255,255,255,.8);--glass-shadow:0 18px 46px #203c3c12,inset 0 1px 1px #fff,inset 0 -1px 1px #55787822}
header{background:linear-gradient(115deg,#ffffff20,#ffffff08 45%,#ffffff25),#23332f63;border-color:#ffffff65;backdrop-filter:blur(26px) saturate(145%);-webkit-backdrop-filter:blur(26px) saturate(145%);box-shadow:0 12px 32px #001d2420,inset 0 1px 1px #ffffff8c,inset 0 -1px 1px #ffffff35}
header.scrolled{background:linear-gradient(115deg,#ffffffdc,#eff5f1ab);border-color:#ffffffdd;backdrop-filter:blur(28px) saturate(150%);box-shadow:var(--glass-shadow)}
.nav-cta,.blue,.dark{border:1px solid #ffffff67;background:linear-gradient(135deg,#9fc5c7ac,#4e8894d9);box-shadow:inset 0 1px 1px #ffffffbd,inset 0 -2px 2px #23495630,0 7px 20px #193e4322;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;text-shadow:0 1px 3px #173e4750}
.dark{background:linear-gradient(135deg,#577d80,#254c55)}.blue:hover,.nav-cta:hover{background:linear-gradient(135deg,#8ebbc1d9,#447b89e8)}.dark:hover{background:linear-gradient(135deg,#628c8e,#2a5660)}
.motion-toggle,.scroll-cue i{background:linear-gradient(135deg,#ffffff2b,#ffffff09);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-color:#ffffff65;box-shadow:inset 0 1px 1px #ffffff5c,0 5px 15px #001e2022}
.intro,.possibilities,.application{position:relative;isolation:isolate}
.possibilities{background:radial-gradient(ellipse at 82% 32%,#c3dce0aa,transparent 48%),radial-gradient(ellipse at 15% 90%,#e5d6bf70,transparent 60%),#eef0e9}
.application{background:radial-gradient(ellipse at 86% 20%,#bbd8dd85,transparent 38%),radial-gradient(ellipse at 38% 75%,#ddd6c27a,transparent 45%),var(--paper)}
.areas{display:grid;gap:13px;perspective:1200px}.areas>a,.areas>a:last-child{border:1px solid var(--glass-rim);border-radius:23px;padding:24px 23px;background:linear-gradient(125deg,#ffffff9e,#ffffff3b);box-shadow:var(--glass-shadow);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);align-items:center;overflow:hidden;rotate:0 1 0 var(--tilt-y,0deg);transition:rotate .65s var(--ease),box-shadow .45s,opacity 1s,transform 1s}
.areas>a:before{inset:0;z-index:-1;border-radius:inherit;transform:none;background:radial-gradient(ellipse at var(--glass-x,25%) var(--glass-y,10%),#ffffffd1,transparent 66%);opacity:.25;transition:opacity .4s}.areas>a:hover:before,.areas>a:focus-visible:before{transform:none;opacity:.85}
.areas>a:hover{padding:24px 23px;box-shadow:0 24px 48px #254b4b20,inset 0 1px 1px #fff,inset 0 -1px 1px #55787822}.areas>a>span{align-self:flex-start;margin-top:6px}.areas b{min-width:38px;height:38px;display:grid;place-items:center;border:1px solid #fff9;border-radius:50%;background:#ffffff5c;box-shadow:inset 0 1px 2px #fff,0 4px 12px #3458580a;color:#406d76}.areas p{color:#52635f}.areas h3{font-size:19px}
.work-grid{gap:28px}.work-grid>a{perspective:1200px}.work-grid .image-window{border-radius:28px;box-shadow:0 23px 38px -18px #27474166;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .6s var(--ease),box-shadow .6s;transform-style:preserve-3d}.work-grid .image-window:after{border-radius:inherit;border:1px solid #ffffff85;background:linear-gradient(130deg,#ffffff21,transparent 30%,transparent 75%,#ffffff25);box-shadow:inset 0 1px 3px #ffffffa6,inset 0 -1px 3px #fff5}.work-grid>a:hover .image-window{box-shadow:0 30px 45px -18px #27474180}.case-cursor{background:#ffffff57;border:1px solid #ffffffb3;backdrop-filter:blur(22px) saturate(160%);color:white;text-shadow:0 1px 3px #1b3229;box-shadow:inset 0 1px 2px #ffffffaa,0 10px 22px #17363326}
.form-shell{border:1px solid #ffffffeb;border-radius:30px;padding:34px;background:linear-gradient(125deg,#ffffffb8,#ffffff6e 55%,#f1f8f582);box-shadow:0 32px 70px -35px #365d6360,inset 0 1px 2px #fff,inset 0 -1px 1px #829d992c;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%)}
.steps{border:1px solid #ffffffa6;border-radius:18px;padding:6px;gap:5px;margin-bottom:32px;background:#d5e5e336;box-shadow:inset 0 1px 5px #4f73770c}.steps li{flex:1;padding:13px 8px;text-align:center;font-size:11px;border-radius:13px;color:#53615e}.steps li span{margin-bottom:5px;font-size:9px}.steps li[aria-current]{background:linear-gradient(140deg,#fffffff2,#ffffff8c);box-shadow:0 4px 12px #304b4810,inset 0 1px 1px #fff;color:#294e57}.steps li[aria-current]:after{display:none}
.fields input:not([type=file]),.fields select,.fields textarea{border-radius:13px;border:1px solid #bccdc9;background:#ffffffad;box-shadow:inset 0 2px 4px #29484605}.fields input:focus,.fields select:focus,.fields textarea:focus{box-shadow:0 0 0 4px #79a8b126,inset 0 1px 2px #fff;background:#fff}.fields label{color:#304641}.optional,.form-intro{color:#5b6c67}
.upload-card{position:relative;border:1px dashed #87aaa9;border-radius:19px;background:linear-gradient(130deg,#ffffff99,#dcecea57);padding:20px;box-shadow:inset 0 1px 1px white;transition:border-color .3s,background .3s}.upload-heading{display:flex;align-items:center;gap:13px;margin-bottom:14px}.upload-icon{display:grid;place-items:center;flex:0 0 42px;height:48px;border-radius:12px;background:linear-gradient(140deg,#fff,#d3e5e3);border:1px solid white;box-shadow:0 5px 12px #3d65631c;color:#497580;font-size:10px;letter-spacing:1px;font-weight:600;rotate:-7deg}.upload-heading label{font-size:13px;font-weight:500}.upload-heading small{display:block;font-size:11px;color:#5d716b;margin-top:4px}.fields input[type=file]{padding:0;border:0;background:none;border-radius:8px;min-height:0;margin:0;font-size:12px;width:100%;color:#50645f;box-shadow:none}.fields input[type=file]::file-selector-button{border:1px solid white;border-radius:30px;padding:10px 15px;margin-right:10px;background:#ffffffc9;box-shadow:0 3px 9px #42605c12;cursor:pointer;font:inherit;color:#325761}.upload-feedback{font-size:11px;line-height:1.5;color:#4e6b63;margin:11px 0 0;overflow-wrap:anywhere}.upload-card.has-file{border-style:solid;border-color:#83ada3;background:#f6fffaad}.upload-card.has-error{border-color:#a95b4d}.upload-card.has-error .upload-feedback{color:#934737}.remove-file{border:0;background:none;text-decoration:underline;color:#486b70;padding:8px 0 0;font-size:11px}.upload-card:focus-within{outline:3px solid #54808b;outline-offset:4px}
.manifesto{background:radial-gradient(ellipse at 30% 0%,#dae9e1,transparent 65%),linear-gradient(125deg,#b5d4d2,#95b6c2)}.manifesto:before{border:1px solid #fff9;box-shadow:inset 0 2px 4px #ffffffbf,inset 0 -4px 9px #4a717d26,0 22px 45px #577d8014,0 0 0 75px #ffffff0e,0 0 0 150px #ffffff0a}.application-meta span{border:1px solid #fff;border-radius:30px;padding:10px 14px;background:#ffffff85;box-shadow:inset 0 1px 2px #fff,0 4px 12px #304e4909}
body:not(.motion-on) .image-window{transform:none}body:not(.motion-on) .areas>a{rotate:none}
@supports not (backdrop-filter:blur(1px)){header{background:#354a45}header.scrolled{background:#f2f6f1}.form-shell,.areas>a{background:#f8fbf8}}
@media(max-width:1000px){.form-shell{padding:26px}.areas>a,.areas>a:hover{padding:21px 18px;gap:15px}}
@media(max-width:650px){.form-shell{padding:23px 18px;border-radius:25px}.areas>a,.areas>a:last-child,.areas>a:hover{padding:22px 18px;border-radius:20px;gap:14px;rotate:none}.areas h3{font-size:18px}.areas b{min-width:31px;height:31px;font-size:22px}.work-grid{gap:16px}.work-grid .image-window{border-radius:20px;transform:none}.upload-card{padding:16px}.steps li{font-size:10px}.steps{gap:3px}.application-meta{gap:9px}.application-meta span{padding:10px 12px}.fields input:not([type=file]),.fields select,.fields textarea{font-size:16px}.form-shell{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}}
@media(prefers-reduced-motion:reduce){.work-grid .image-window{transform:none!important}.areas>a{rotate:none!important}}
@media(prefers-contrast:more){.form-shell,.areas>a{background:#fff;border-color:#6d837b}.fields input,.fields select,.fields textarea{background:#fff;border-color:#52665e}header.scrolled{background:#fff}}
/* Mobile campaign gallery: native swipe, consistent framing and all projects. */
@media(max-width:650px){
 .work-grid{display:flex;gap:16px;padding:8px 6% 42px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:6vw;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#789a9b66 transparent;margin-bottom:32px;perspective:none}
 .work-grid>a,.work-grid>a:nth-child(2),.work-grid>a:nth-child(3){display:block;flex:0 0 90%;padding-top:0;scroll-snap-align:start;scroll-snap-stop:always}
 .work-grid .image-window{border-radius:20px;box-shadow:0 16px 24px -18px #27474166}
 .work-grid img{height:auto;aspect-ratio:4/5;object-fit:cover;transform:none}
 .work-grid .image-window .case-cursor{display:none}
 .work-grid a:hover img,.work-grid a:focus-visible img{transform:none}
 .work-grid a>div:not(.image-window){display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 2px 0;font-size:19px}
 .work-grid a>div:not(.image-window) span:last-child{display:inline;font-size:9px;letter-spacing:.8px;margin:0;padding:0}
 .motion-on .work-grid>a.reveal.pending{opacity:1;transform:none}
 .work-grid>a:focus-visible{outline-offset:4px}
}
.application{grid-template-areas:"intro form" "help form";grid-template-rows:auto 1fr;row-gap:24px}.application>aside{grid-area:intro}.application>.form-shell{grid-area:form}.application-help{grid-area:help;min-width:0}.application-help details:first-child{padding-top:0}.application aside>p:last-child{margin-bottom:0}
@media(max-width:650px){.application{grid-template-areas:"intro" "form" "help";grid-template-rows:auto;gap:22px;padding-top:44px;padding-bottom:44px}.application>aside>.eyebrow{display:none}.application>aside h2{font-size:33px;line-height:1.12;letter-spacing:-1.4px}.application aside>p:not(.eyebrow){font-size:14px;line-height:1.5;margin:10px 0 0}.application .form-shell{padding:20px 18px}.application .steps{margin-bottom:24px}.application .steps li{padding:10px 6px}.application legend{font-size:23px;letter-spacing:-.7px;margin-bottom:5px}.application .form-intro{font-size:11px;margin-bottom:24px}.application-help{margin-top:4px}.application-help details{padding:16px 0;font-size:12px}.application-help details:first-child{padding-top:16px}}
