/* Contact (extends case-study-v2.css) */
@media(min-width:641px){.cs2 .n4 nav a[aria-current="page"]{outline:2px solid #141414;outline-offset:2px;}}
.ct{padding:clamp(150px,24vh,240px) 0 clamp(56px,9vh,96px);}
.ct__grid,.ct-form__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,28px);row-gap:48px;}
.ct__intro{grid-column:1/8;display:flex;flex-direction:column;gap:clamp(24px,4vh,40px);}
.ct h1{margin:0;font-weight:300;font-size:clamp(3rem,8vw,8rem);line-height:1;letter-spacing:-.055em;}
.ct h1 .m4{padding-bottom:.24em;margin-bottom:-.24em;}
.ct__intro p{margin:0;font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.55;color:#45453F;max-width:28em;text-wrap:pretty;}
.ct__side{grid-column:9/-1;align-self:end;display:flex;flex-direction:column;}
.ct__side>div{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-top:1px solid rgba(20,20,20,.16);}
.ct__side span{font-size:14px;color:#6E6E68;}
.ct__side a,.ct__side b{font-weight:400;font-size:clamp(1.1rem,1.5vw,1.35rem);letter-spacing:-.01em;}
.ct__side a{text-decoration:underline;text-decoration-color:rgba(20,20,20,.25);text-underline-offset:4px;}
.ct__side a:hover{text-decoration-color:#141414;opacity:1;}
.ct__side small{font-size:14px;line-height:1.5;color:#45453F;}
.ct-form{padding:clamp(56px,9vh,96px) 0 var(--sec);border-top:1px solid rgba(20,20,20,.16);}
.ct-form__note{grid-column:1/5;display:flex;flex-direction:column;gap:16px;}
.ct-form__note h2{margin:0 0 8px;font-weight:300;font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.15;letter-spacing:-.025em;text-wrap:balance;}
.ct-form__note p{margin:0;font-size:15px;line-height:1.6;color:#45453F;}
.ct-form__wrap{grid-column:6/-1;}
#ct-form{display:flex;flex-direction:column;gap:28px;}
.ct-f{display:flex;flex-direction:column;gap:10px;}
.ct-f label{font-size:15px;font-weight:600;}
.ct-f label em{font-style:normal;font-weight:400;color:#6E6E68;}
.ct-f input,.ct-f textarea{font:inherit;font-size:17px;color:#141414;background:#fff;border:1px solid rgba(20,20,20,.22);border-radius:0;padding:14px 16px;width:100%;transition:border-color .2s;}
.ct-f textarea{resize:vertical;min-height:140px;line-height:1.5;}
.ct-f input::placeholder,.ct-f textarea::placeholder{color:#7A7A74;}
.ct-f input:focus,.ct-f textarea:focus{outline:none;border-color:#141414;box-shadow:0 0 0 1px #141414;}
.ct-f [aria-invalid="true"]{border-color:#B3261E;}
.ct-chips{display:flex;flex-wrap:wrap;gap:8px;}
.ct-chip{font:inherit;font-size:14px;color:#141414;background:transparent;border:1px solid rgba(20,20,20,.22);border-radius:999px;padding:9px 16px;cursor:pointer;transition:background .2s,border-color .2s,color .2s;}
.ct-chip:hover{border-color:#141414;}
.ct-chip[aria-pressed="true"]{background:#141414;border-color:#141414;color:#fff;}
.ct-chip:active{scale:.97;}
.ct-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;color:#45453F;cursor:pointer;}
.ct-consent input{margin-top:3px;flex:none;width:18px;height:18px;accent-color:#141414;}
.ct-consent a{text-decoration:underline;text-underline-offset:3px;}
.ct-err{display:none;margin:0;font-size:14px;color:#B3261E;}
.ct-err.is-on{display:block;}
#ct-form .pill{align-self:flex-start;border:0;cursor:pointer;font:inherit;font-size:14px;font-weight:600;background:#141414;color:#fff;}
#ct-form .pill i{background:#fff;color:#141414;}
#ct-form .pill:disabled{opacity:.6;cursor:default;}
.ct-done{display:flex;flex-direction:column;gap:16px;padding-top:8px;}
.ct-done:focus{outline:none;}
.ct-done h2{margin:0;font-weight:300;font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;letter-spacing:-.03em;}
.ct-done p{margin:0;font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.6;color:#45453F;max-width:30em;}
@media(max-width:860px){.ct__intro,.ct__side,.ct-form__note,.ct-form__wrap{grid-column:1/-1;}}

.ct-ok{width:min(560px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:clamp(28px,5vw,48px);border:0;border-radius:0;background:#F4F3EF;color:#141414;box-shadow:0 30px 80px rgba(0,0,0,.25);}
.ct-ok[open]{display:flex;flex-direction:column;gap:16px;animation:ctOk .5s var(--ease,cubic-bezier(.2,.7,.2,1));}
.ct-ok::backdrop{background:rgba(10,10,10,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:ctFade .4s ease;}
.ct-ok h2{margin:0;padding-right:40px;font-weight:300;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;letter-spacing:-.03em;text-wrap:balance;}
.ct-ok p{margin:0;font-size:17px;line-height:1.6;color:#4A4A45;}
.ct-ok__x{position:absolute;top:16px;right:16px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(20,20,20,.07);color:#141414;font-size:24px;line-height:1;cursor:pointer;}
.ct-ok__x:hover{background:rgba(20,20,20,.14);}
.ct-ok__next{display:flex;flex-direction:column;margin-top:12px;}
.ct-ok__next span{font-size:14px;color:#6E6E68;padding-bottom:10px;}
.ct-ok__next a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid rgba(20,20,20,.16);font-size:clamp(1.15rem,2vw,1.35rem);letter-spacing:-.01em;}
.ct-ok__next a:last-child{border-bottom:1px solid rgba(20,20,20,.16);}
.ct-ok__next a i{font-style:normal;color:var(--o);transition:transform .3s;}
.ct-ok__next a:hover{opacity:1;}.ct-ok__next a:hover i{transform:translateX(4px);}
.ct-ok :focus-visible{outline:2px solid #141414;outline-offset:2px;}
@keyframes ctOk{from{opacity:0;transform:translateY(16px);}}
@keyframes ctFade{from{opacity:0;}}
@media(prefers-reduced-motion:reduce){.ct-ok[open],.ct-ok::backdrop{animation:none;}}
