
/* STOK START A PROJECT | photographic editorial contact, 2026 */
.contact-main{background:#fff;color:#40363e;overflow:hidden}
.contact-main .display-serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:-.055em}
.contact-main .eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.contact-main .muted{color:#817b83}
.contact-main .contact-hero{display:grid;grid-template-columns:52% 48%;min-height:565px;padding:0 0 0 5.5%;border-bottom:1px solid #e3e0e3}
.contact-main .contact-masthead{display:flex;flex-direction:column;justify-content:space-between;padding:63px 9% 49px 0;position:relative;z-index:1}
.contact-main .contact-h1{font-size:clamp(94px,10.8vw,172px);line-height:.77;margin:0 -24% 0 0;position:relative;z-index:2}
.contact-main .contact-h1 em{font-weight:400;font-style:italic}
.contact-main .contact-lead{font-size:13px;line-height:1.9;max-width:390px;margin-top:32px}
.contact-main .contact-smallnote{font-size:10px;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between;max-width:450px;gap:20px;margin-bottom:40px}
.contact-main .contact-hero-photo{position:relative;min-height:565px;background:#f2f2f4;overflow:hidden}
.contact-main .contact-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 53%}
.contact-main .contact-image-tag{position:absolute;bottom:0;right:0;background:#fff;color:#40363e;font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:12px 18px}
.contact-main .contact-content{display:grid;grid-template-columns:36% 64%;gap:0;padding-top:103px;padding-bottom:108px;align-items:start}
.contact-main .contact-sidebar{padding-right:15%;position:sticky;top:35px}
.contact-main .contact-sidebar h2{font-size:clamp(64px,6.2vw,103px);line-height:.82;margin:30px 0 25px}
.contact-main .contact-sidebar h2 em{font-style:italic;font-weight:400}
.contact-main .contact-sidebar p{font-size:12px;line-height:1.95;max-width:290px;color:#585159}
.contact-main .contact-sidebar .direct-email{display:inline-block;font-size:12px;margin-top:32px;border-bottom:1px solid #40363e;padding-bottom:5px;overflow-wrap:anywhere}
.contact-main .contact-sidebar .side-facts{padding-top:60px;margin-top:56px;border-top:1px solid #e3e0e3;display:grid;grid-template-columns:1fr;gap:27px}
.contact-main .side-facts strong{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;display:block;margin-bottom:8px}
.contact-main .side-facts span{font-size:11px;line-height:1.85;color:#69646b;display:block;max-width:280px}
.contact-main .contact-form-wrap{padding:0 0 0 7%;border-left:1px solid #e3e0e3;min-width:0}
.contact-main .form-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}
.contact-main .form-heading h2{font-size:clamp(49px,5.8vw,85px);line-height:.87}
.contact-main .form-heading p{font-size:10px;line-height:1.8;max-width:160px;color:#817b83;text-align:right}
.contact-main .form-switch{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dedbde;border-bottom:1px solid #dedbde;margin:31px 0 35px}
.contact-main .form-switch button{font-size:12px;color:#777079;background:none;border:0;display:flex;align-items:center;gap:11px;text-align:left;padding:20px 14px 21px 0;cursor:pointer;transition:color .2s}
.contact-main .form-switch button+button{border-left:1px solid #dedbde;padding-left:25px}
.contact-main .form-switch button[aria-selected='true']{font-weight:600;color:#40363e}
.contact-main .switch-dot{width:10px;height:10px;border:1px solid #a6a0a7;border-radius:50%;display:inline-flex;flex:none}
.contact-main .form-switch button[aria-selected='true'] .switch-dot{background:#40363e;border-color:#40363e;box-shadow:inset 0 0 0 2px #fff}
.contact-main .assist-intro{padding:22px 24px;background:#f2f2f4;margin-bottom:30px;display:none}
.contact-main .assist-intro strong{font-size:12px;font-weight:500;display:block;margin-bottom:9px}
.contact-main .assist-intro p{font-size:11px;line-height:1.85;color:#666069}
.contact-main .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:27px;row-gap:23px}
.contact-main .field{min-width:0}
.contact-main .field.full{grid-column:1/-1}
.contact-main label.field-label{font-size:10px;letter-spacing:.08em;display:block;font-weight:500;margin-bottom:9px}
.contact-main .field .optional{font-size:9px;color:#928b93;letter-spacing:0;font-weight:400}
.contact-main .field input,.contact-main .field select,.contact-main .field textarea{display:block;width:100%;background:#fff;border:0;border-bottom:1px solid #c6c1c6;border-radius:0;padding:11px 0 15px;color:#40363e;font-size:12px;line-height:1.6;box-shadow:none;outline:0;min-height:44px}
.contact-main .field textarea{height:105px;resize:vertical;min-height:95px}
.contact-main .field input::placeholder,.contact-main .field textarea::placeholder{color:#969098}
.contact-main .field select{appearance:none;cursor:pointer;padding-right:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath stroke='%2340363e' stroke-width='1.4' d='m1 1 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center}
.contact-main .field input:focus,.contact-main .field select:focus,.contact-main .field textarea:focus{border-bottom-color:#40363e;box-shadow:0 1px 0 0 #40363e}
.contact-main .field .helper{font-size:10px;color:#817b83;line-height:1.6;margin-top:8px}
.contact-main .pack-message{background:#f2f2f4;padding:16px 20px;display:none;margin-top:28px;font-size:11px;line-height:1.8}
.contact-main .pack-message strong{font-weight:600}
.contact-main .form-end{padding-top:31px;margin-top:28px;border-top:1px solid #e3e0e3}
.contact-main .form-end p{font-size:10px;color:#817b83;line-height:1.85;margin-bottom:20px}
.contact-main .send-row{display:flex;align-items:center;gap:19px;flex-wrap:wrap}
.contact-main .send-cta{border:1px solid #40363e;background:#40363e;color:#fff;padding:17px 25px;font-size:11px;cursor:pointer;font-weight:500}
.contact-main .send-cta:hover{background:#292228}
.contact-main .copy-cta{background:none;border:none;border-bottom:1px solid #40363e;padding:7px 0;font-size:11px;cursor:pointer;color:#40363e}
.contact-main .form-status{font-size:11px;line-height:1.85;color:#59515c;margin-top:19px;min-height:0}
.contact-main .form-status:empty{display:none}
.contact-main .form-status[role='alert']{font-weight:500}
.contact-main .contact-outro{padding-top:75px;padding-bottom:80px;background:#f2f2f4;display:grid;grid-template-columns:59% 41%;align-items:center}
.contact-main .outro-big{font-size:clamp(59px,7.5vw,120px);line-height:.85}
.contact-main .outro-big em{font-weight:400;font-style:italic}
.contact-main .outro-text{padding-left:15%;max-width:440px}
.contact-main .outro-text p{font-size:12px;line-height:1.9;margin-top:14px}
.contact-main .outro-text .direct-email{font-size:12px;text-decoration:underline;text-underline-offset:6px;display:inline-block;margin-top:25px}
.contact-main input:focus-visible,.contact-main select:focus-visible,.contact-main textarea:focus-visible,.contact-main button:focus-visible,.contact-main a:focus-visible{outline:2px solid #40363e;outline-offset:3px}
.contact-main .visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.contact-main .contact-hero{min-height:530px}.contact-main .contact-masthead{padding-top:52px}.contact-main .contact-h1{font-size:clamp(80px,11vw,135px)}.contact-main .contact-hero-photo{min-height:530px}.contact-main .contact-content{grid-template-columns:35% 65%}.contact-main .contact-form-wrap{padding-left:6%}.contact-main .contact-sidebar h2{font-size:70px}}
@media(max-width:700px){.contact-main .contact-hero{display:flex;flex-direction:column;padding-left:0;min-height:0}.contact-main .contact-masthead{padding:42px 5.5% 34px;min-height:385px}.contact-main .contact-smallnote{margin-bottom:38px}.contact-main .contact-h1{font-size:clamp(93px,16vw,136px);line-height:.78;margin:0}.contact-main .contact-lead{font-size:12px;margin-top:30px}.contact-main .contact-hero-photo{height:340px;min-height:0}.contact-main .contact-image-tag{font-size:8px}.contact-main .contact-content{grid-template-columns:1fr;padding-top:69px;padding-bottom:70px}.contact-main .contact-sidebar{position:static;padding:0 0 50px;border-bottom:1px solid #e3e0e3}.contact-main .contact-sidebar h2{font-size:clamp(72px,13vw,96px);margin:21px 0 25px}.contact-main .contact-sidebar .side-facts{display:none}.contact-main .contact-sidebar .direct-email{margin-top:17px}.contact-main .contact-form-wrap{border-left:0;padding:48px 0 0}.contact-main .form-heading h2{font-size:clamp(53px,10.5vw,81px)}.contact-main .contact-outro{grid-template-columns:1fr;gap:22px;padding-top:65px;padding-bottom:72px}.contact-main .outro-text{padding:0;max-width:100%}.contact-main .outro-big{font-size:clamp(75px,13.5vw,110px)}.contact-main .outro-text .direct-email{margin-top:20px}}
@media(max-width:420px){.contact-main .contact-h1{font-size:clamp(84px,16vw,110px)}.contact-main .form-grid{grid-template-columns:1fr;row-gap:21px}.contact-main .field.full{grid-column:1}.contact-main .form-switch button{font-size:11px}.contact-main .form-switch button+button{padding-left:15px}.contact-main .contact-masthead{min-height:345px}.contact-main .contact-sidebar h2{font-size:75px}}
@media(prefers-reduced-motion:reduce){.contact-main *{scroll-behavior:auto!important;transition:none!important}}

/* SIMPLIFIED THREE-FIELD ENQUIRY - STOK London */
.contact-main .simple-form-grid{row-gap:29px}
.contact-main .simple-form-end{margin-top:34px;padding-top:27px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.contact-main .simple-form-end .send-cta{padding:19px 38px;min-width:220px;letter-spacing:.10em;transition:background .18s}
.contact-main .send-cta[disabled]{opacity:.6;cursor:wait}
.contact-main .enquiry-context{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#817b83;margin:10px 0 35px}
.contact-main .enquiry-context[hidden]{display:none}
.contact-main .simple-form-end p{margin:0}
.contact-main .simple-form-end .form-privacy{font-size:10px;color:#777078;line-height:1.65;margin-top:5px}
.contact-main .simple-form-end .form-demo-disclosure{font-size:10px;color:#817b83;line-height:1.7;max-width:450px}
.contact-main .simple-form-end .form-status{font-size:11px;color:#40363e;line-height:1.75}
.contact-main .submission-success{border-top:1px solid #e3e0e3;padding:55px 0 50px;min-height:410px}
.contact-main .submission-success[hidden]{display:none}
.contact-main .submission-success h2{font-size:clamp(74px,8vw,130px);line-height:.91;letter-spacing:-.06em;margin:28px 0 25px}
.contact-main .submission-success h2 em{font-weight:400}
.contact-main .success-message{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,3.2vw,45px);line-height:1.17;max-width:490px}
.contact-main .success-prototype-note{font-size:11px;line-height:1.8;color:#817b83;max-width:470px;margin-top:35px}
.contact-main .reset-cta{margin-top:32px;border:0;border-bottom:1px solid #40363e;background:none;color:#40363e;font-size:11px;letter-spacing:.08em;cursor:pointer;padding:8px 0}
@media(max-width:700px){.contact-main .contact-content{padding-top:60px;padding-bottom:70px}.contact-main .contact-sidebar{padding-bottom:31px}.contact-main .contact-form-wrap{padding-top:36px}.contact-main .submission-success{min-height:320px;padding-top:42px}.contact-main .submission-success h2{font-size:86px}.contact-main .simple-form-grid{row-gap:22px}}
@media(max-width:420px){.contact-main .simple-form-end .send-cta{width:100%}}

/* Direct contact and office locations, editorial treatment */
.contact-main .contact-methods{margin:32px 0 0;padding:0;border-top:1px solid #e3e0e3;max-width:360px}
.contact-main .contact-method{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:baseline;gap:16px;padding:17px 0;border-bottom:1px solid #e3e0e3}
.contact-main .contact-method dt{font-size:10px;letter-spacing:.13em;font-weight:600;color:#8a838b}
.contact-main .contact-method dd{margin:0;font-size:clamp(11px,1.15vw,15px);line-height:1.5;overflow-wrap:anywhere}
.contact-main .contact-method a{border-bottom:1px solid transparent;transition:border-color .2s}
.contact-main .contact-method a:hover{border-color:#40363e}
.contact-main .contact-offices{background:#f2f2f4;padding-top:63px;padding-bottom:80px}
.contact-main .offices-kicker{display:flex;justify-content:space-between;align-items:center;gap:20px}
.contact-main .offices-heading{font-size:clamp(64px,6.2vw,103px);line-height:.9;margin:28px 0 50px}
.contact-main .offices-heading em{font-weight:400}
.contact-main .offices-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #d9d5da}
.contact-main .office-entry{padding:30px 8% 0 0;min-width:0}
.contact-main .office-entry+.office-entry{border-left:1px solid #d9d5da;padding-left:9%}
.contact-main .office-entry h3{font-size:clamp(35px,3.25vw,53px);line-height:1.05;margin:0 0 23px;letter-spacing:-.04em}
.contact-main .office-entry address{font-style:normal;font-size:12px;line-height:1.9;color:#534b55}
.contact-main .office-map{display:inline-flex;font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-top:26px;padding-bottom:5px;border-bottom:1px solid #7b747d;gap:14px}
.contact-main .office-map:hover{border-color:#40363e}
@media(max-width:700px){
 .contact-main .contact-methods{max-width:100%;margin-top:24px}
 .contact-main .contact-sidebar{padding-bottom:37px}
 .contact-main .contact-offices{padding-top:52px;padding-bottom:65px}
 .contact-main .offices-heading{margin:25px 0 35px;font-size:77px}
 .contact-main .offices-grid{grid-template-columns:1fr}
 .contact-main .office-entry{padding:27px 0 34px}
 .contact-main .office-entry+.office-entry{border-left:0;border-top:1px solid #d9d5da;padding:31px 0 0}
 .contact-main .office-entry h3{font-size:45px}
 .contact-main .offices-kicker .muted{display:none}
}
