/* Somateka contact editorial v1 — honest routes instead of placeholder requisites. */
.contact-v1{background:#ede7dc;color:#202622}
.contact-hero{background:#e9e2d6}
.contact-hero-grid{display:grid;grid-template-columns:minmax(420px,.86fr) minmax(540px,1.14fr);min-height:760px;padding-block:54px}
.contact-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:58px clamp(48px,7vw,108px) 58px 0}
.contact-kicker,.contact-section-head>div>span,.contact-form-copy>span,.contact-boundaries>div>header>span{display:block;margin:0 0 23px;color:#944c3d;font-size:12px;font-weight:650;letter-spacing:.065em;text-transform:uppercase}
.contact-hero h1{max-width:8ch;margin:0;font-family:var(--ed-serif);font-size:clamp(76px,8.2vw,126px);font-weight:500;letter-spacing:-.07em;line-height:.84}
.contact-hero .lead{max-width:44rem;margin:38px 0 0;color:#535c56;font-size:18px;line-height:1.74}
.contact-primary{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;width:270px;margin-top:42px;padding:17px 18px 16px;background:#994b3a;color:#fff;font-size:14px;font-weight:650;text-decoration:none}.contact-primary:hover{background:#7f3c30}.contact-primary span{font-size:18px}
.contact-hero-visual{position:relative;min-width:0;margin:0;overflow:hidden;background:#17231f}.contact-hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,13,.03) 42%,rgba(10,17,14,.82))}.contact-hero-visual img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(1.06)}
.contact-hero-visual figcaption{position:absolute;z-index:1;right:0;bottom:0;left:0;display:grid;grid-template-columns:210px 1fr;gap:30px;align-items:start;padding:31px 34px;color:#f6f1e8}.contact-hero-visual figcaption span{color:#e4ad96;font-size:11px;font-weight:650;letter-spacing:.055em;text-transform:uppercase}.contact-hero-visual figcaption p{max-width:29rem;margin:0;color:rgba(255,255,255,.78);font-size:14px;line-height:1.55}

.contact-routes{padding:122px 0 132px;background:#f1ebe1}
.contact-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.48fr);gap:clamp(60px,9vw,145px);align-items:end;margin-bottom:58px}.contact-section-head h2{max-width:12ch;margin:0;font-family:var(--ed-serif);font-size:clamp(52px,5.6vw,82px);font-weight:500;letter-spacing:-.057em;line-height:.97}.contact-section-head>p{margin:0;color:#555e58;font-size:17px;line-height:1.7}
.contact-route-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #858b85;border-left:1px solid #858b85}
.contact-route-grid article{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(280px,1.28fr);min-height:430px;border-right:1px solid #858b85;border-bottom:1px solid #858b85;background:#e9e2d7}
.contact-route-grid figure{position:relative;min-width:0;margin:0;overflow:hidden;background:#1c2925}.contact-route-grid figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,22,19,.04),rgba(14,22,19,.36))}.contact-route-grid img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.03);transition:transform .7s cubic-bezier(.2,.75,.2,1)}.contact-route-grid article:hover img{transform:scale(1.025)}
.contact-route-grid article>div{display:flex;flex-direction:column;padding:34px 33px 31px}.contact-route-grid small{color:#934a3a;font-size:12px;font-weight:650;letter-spacing:.055em;text-transform:uppercase}.contact-route-grid h3{max-width:13ch;margin:26px 0 18px;font-family:var(--ed-serif);font-size:35px;font-weight:500;letter-spacing:-.042em;line-height:1.02}.contact-route-grid p{margin:0;color:#515b55;font-size:16px;line-height:1.65}.contact-route-grid a{width:max-content;max-width:100%;margin-top:auto;padding-top:27px;padding-bottom:3px;border-bottom:1px solid currentColor;color:#823f32;font-size:14px;font-weight:650;text-decoration:none}

.contact-form-section{padding:124px 0 132px;background:#213a34;color:#f6f1e8}
.contact-form-grid{display:grid;grid-template-columns:minmax(360px,.76fr) minmax(540px,1.24fr);gap:clamp(75px,11vw,170px);align-items:start}
.contact-form-copy{position:sticky;top:145px}.contact-form-copy>span{color:#e0a88f}.contact-form-copy h2{max-width:12ch;margin:0;color:#f6f1e8;font-family:var(--ed-serif);font-size:clamp(52px,5.5vw,79px);font-weight:500;letter-spacing:-.058em;line-height:.97}.contact-form-copy>p{max-width:37rem;margin:32px 0 0;color:rgba(246,241,232,.78);font-size:17px;line-height:1.72}
.contact-form-copy ol{margin:42px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.28);list-style:none}.contact-form-copy li{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.78);font-size:14px;line-height:1.52}.contact-form-copy li b{color:#e0a88f;font-family:var(--ed-serif);font-size:18px;font-weight:500}
.contact-form{margin:0;padding:42px 44px 39px;background:#eee7dc;color:#202622}.contact-form.portal-form label{color:#5d625d}.contact-form.portal-form input,.contact-form.portal-form select,.contact-form.portal-form textarea{min-height:54px;border-color:#9a9d97;background:#f8f3ea;color:#202622}.contact-form.portal-form textarea{min-height:180px}.contact-form.portal-form input:focus,.contact-form.portal-form select:focus,.contact-form.portal-form textarea:focus{border-color:#984a39;box-shadow:0 0 0 2px rgba(152,74,57,.12)}
.contact-submit{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;min-height:56px;padding:15px 18px;border:0;background:#994b3a;color:#fff;font:650 14px/1.2 var(--ed-sans);cursor:pointer}.contact-submit:hover{background:#7d3a2e}.contact-submit:disabled{cursor:wait;opacity:.65}.contact-submit span{font-size:19px}.contact-form .form-ok{min-height:1.5em;color:#7e3e32;font-size:13px}.contact-form .form-ok a{color:inherit}.contact-form-note{margin:0;padding-top:17px;border-top:1px solid #b8b7b0;color:#686e69;font-size:12px;line-height:1.55}
.contact-form .consent{font-size:13px;line-height:1.48}.contact-form .consent a{color:#71382e;text-decoration-color:rgba(113,56,46,.45);text-underline-offset:3px}.contact-form .consent a:hover{color:#51261f}

.contact-boundaries{padding:113px 0 124px;background:#e6dfd4}.contact-boundaries>div>header{display:grid;grid-template-columns:180px 1fr;gap:34px;align-items:end;margin-bottom:47px}.contact-boundaries>div>header>span{margin:0}.contact-boundaries h2{margin:0;font-family:var(--ed-serif);font-size:clamp(48px,5vw,73px);font-weight:500;letter-spacing:-.05em;line-height:1}
.contact-boundaries>div>div{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #898e88;border-left:1px solid #898e88}.contact-boundaries article{min-height:235px;padding:34px;border-right:1px solid #898e88;border-bottom:1px solid #898e88}.contact-boundaries b{font-family:var(--ed-serif);font-size:29px;font-weight:500;line-height:1.05}.contact-boundaries p{max-width:32rem;margin:48px 0 0;color:#515b55;font-size:16px;line-height:1.65}

@media(max-width:1080px){.contact-hero-grid{grid-template-columns:1fr;min-height:0}.contact-hero-copy{min-height:660px}.contact-hero-visual{min-height:670px}.contact-route-grid{grid-template-columns:1fr}.contact-form-grid{grid-template-columns:1fr;gap:70px}.contact-form-copy{position:static;max-width:750px}}
@media(max-width:760px){
  .contact-hero-grid{padding-block:0}.contact-hero-copy{min-height:0;padding:82px 0 76px}.contact-hero h1{font-size:77px}.contact-hero .lead{font-size:17px}.contact-primary{width:100%}.contact-hero-visual{min-height:520px;margin-inline:calc(50% - 50vw)}.contact-hero-visual figcaption{grid-template-columns:1fr;gap:10px;padding:25px 20px}
  .contact-routes{padding:84px 0 94px}.contact-section-head{grid-template-columns:1fr;gap:23px;margin-bottom:40px}.contact-section-head h2{font-size:49px}.contact-route-grid article{grid-template-columns:1fr;min-height:0}.contact-route-grid figure{height:320px}.contact-route-grid article>div{min-height:330px;padding:27px 23px}.contact-route-grid h3{font-size:32px}
  .contact-form-section{padding:84px 0 92px}.contact-form-grid{gap:48px}.contact-form-copy h2{font-size:48px}.contact-form{padding:31px 21px 30px}.contact-form.portal-form .row2{grid-template-columns:1fr}
  .contact-boundaries{padding:82px 0 92px}.contact-boundaries>div>header{grid-template-columns:1fr;gap:13px}.contact-boundaries>div>div{grid-template-columns:1fr}.contact-boundaries article{min-height:210px;padding:28px 23px}.contact-boundaries p{margin-top:30px}
}
@media(prefers-reduced-motion:reduce){.contact-route-grid img{transition:none}.contact-route-grid article:hover img{transform:none}}
