/* Contact uses the storefront theme, with editorial cards from the supplied design. */
.contact-page{--contact-panel:#fff;--contact-border:#dcdad7;--contact-field:#faf9f7;max-width:1280px;margin:16px auto 0;padding-bottom:40px}
[data-theme="dark"] .contact-page{--contact-panel:#1a1a1c;--contact-border:#333337;--contact-field:#19191b}
.contact-page svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.contact-page .contact-kicker{font-size:11px;font-weight:700;letter-spacing:2.5px;line-height:1.5;margin-bottom:14px;color:var(--red)}
.contact-page h2{font-size:clamp(32px,3.8vw,50px);letter-spacing:-1.8px;line-height:1.06;margin-bottom:30px}
.contact-page h1 span,.contact-page h2>span,.contact-side-note>span{color:var(--red)}
.contact-hero{position:relative;min-height:430px;overflow:hidden;border:1px solid #702029;border-radius:22px;background:#09090b;color:#fff;isolation:isolate}
.contact-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.contact-hero-copy{position:relative;z-index:2;max-width:620px;min-height:430px;padding:80px 42px;background:linear-gradient(90deg,#000c,transparent)}
.contact-hero .contact-kicker{color:white}
.contact-hero h1{font-size:clamp(56px,7vw,92px);letter-spacing:-4px;line-height:1;margin:14px 0 20px}
.contact-hero-copy>p:not(.contact-kicker){max-width:370px;font-size:17px;line-height:1.6;text-wrap:pretty}
.contact-response{display:inline-flex;align-items:center;gap:10px;font-size:12px;padding:11px 16px;margin-top:24px;border:1px solid #ffffff45;border-radius:40px;background:#242428b8;max-width:100%}
.contact-inset{position:absolute;z-index:2;right:4%;top:18%;width:20%;margin:0;transform:rotate(-8deg)}
.contact-inset img{width:100%;height:auto;border:1px solid #ffffffab;border-radius:10px;aspect-ratio:4/5;object-fit:cover;box-shadow:0 20px 50px #0006}
.contact-inset figcaption{font-family:cursive;font-size:22px;position:absolute;right:-18px;top:-45px;transform:rotate(12deg);display:flex;align-items:center;gap:8px}
.contact-main-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:62px;margin-top:32px;align-items:center}
.contact-form-panel{border:1px solid var(--contact-border);border-radius:20px;padding:38px;background:linear-gradient(135deg,var(--contact-panel),var(--paper));min-width:0}
.contact-page form{display:grid;gap:20px}
.contact-page label{display:grid;gap:7px;font-size:13px;line-height:1.5;color:var(--ink)}
.contact-page label>span{display:contents}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
.contact-page input:not([type=checkbox]),.contact-page select,.contact-page textarea{display:block;box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--contact-border);background:var(--contact-field);color:var(--ink);font:inherit;font-size:16px;padding:12px 14px;border-radius:8px;min-height:46px}
.contact-page textarea{resize:vertical;line-height:1.6;min-height:130px;max-height:500px}
.contact-page input::placeholder,.contact-page textarea::placeholder{color:var(--muted);opacity:1}
.contact-page :is(input,textarea,select,summary):focus-visible{outline:2px solid var(--red);outline-offset:4px}
.contact-page .contact-consent{display:flex;align-items:flex-start;gap:10px;min-height:32px;font-size:12px}
.contact-consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--red);margin:1px 0 0}
.contact-page .contact-consent>span{display:block}
.contact-consent a{text-decoration:underline;text-underline-offset:3px}
.contact-submit{display:flex;align-items:center;gap:22px}
.contact-submit .button{flex:1;justify-content:center;min-height:50px;border:0;color:#fff}
.contact-handwritten{font-family:cursive;font-size:20px;line-height:1.2;transform:rotate(-8deg);max-width:110px}
#contact-status{font-size:13px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
#contact-status[data-state="error"]{color:#bc1621}[data-theme="dark"] #contact-status[data-state="error"]{color:#ff8990}
#contact-status[data-state="success"]{color:#157445}[data-theme="dark"] #contact-status[data-state="success"]{color:#8cdeb2}
.contact-retry{justify-self:start;background:none;color:var(--ink);border:0;text-decoration:underline;min-height:44px}
.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-details{padding:26px 18px;min-width:0;position:relative}
.contact-details::before{content:"";position:absolute;top:50px;bottom:150px;left:10px;width:65px;border-left:2px dashed var(--red);border-radius:50%;opacity:.7}
.contact-card{display:flex;align-items:center;gap:20px;padding:27px 24px;margin-bottom:40px;border:1px solid var(--contact-border);border-radius:14px;background:linear-gradient(130deg,var(--contact-panel),var(--paper));position:relative;transform:rotate(-5deg)}
.contact-card:nth-child(2){transform:rotate(4deg);margin-left:18px}
.contact-card:nth-child(3){transform:rotate(-7deg)}
.contact-card::before{content:"";position:absolute;left:-7px;bottom:18px;width:12px;height:12px;border:3px solid var(--paper);background:var(--red);border-radius:50%;box-shadow:0 0 0 1px var(--red)}
.contact-card-icon{width:50px;height:50px;display:grid;place-items:center;border:1px solid #777;border-radius:50%;flex-shrink:0}
.contact-card .contact-kicker{font-size:10px;color:var(--muted);margin-bottom:8px}
.contact-card div{min-width:0}.contact-card p,.contact-card a{overflow-wrap:anywhere;white-space:pre-line;font-size:16px}.contact-card a:hover{text-decoration:underline}
.contact-card h3{font-size:25px;line-height:1.15;margin-bottom:16px}
.contact-extra{font-size:14px;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;margin:20px 0}
.contact-side-note{display:block;font-size:clamp(24px,3vw,38px);line-height:1.15;font-weight:600;letter-spacing:-1px;margin-top:35px}
.contact-social{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;margin:95px 0 80px}
.contact-social-links{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:430px}
.contact-social-links a{display:flex;align-items:center;gap:13px;min-height:60px;border:1px solid var(--contact-border);border-radius:40px;padding:14px 22px;font-size:14px;transition:border-color .2s,background .2s}
.contact-social-links a:hover,.contact-outline:hover{border-color:var(--red);background:#f20d140a}
.contact-social-links a svg:last-child{width:15px;height:15px;margin-left:auto}
.contact-outline{border:1px solid var(--contact-border);margin-top:24px}
.contact-social-copy{color:var(--muted)}
.contact-collage{position:relative;height:340px;margin:10px 8px 20px}
.contact-collage img{position:absolute;object-fit:cover;border:1px solid #777;border-radius:10px;box-shadow:0 15px 35px #0003;width:55%;height:85%;transform:rotate(5deg);left:0;top:10%;object-position:70% center}
.contact-collage img:nth-child(2){width:44%;height:58%;left:42%;top:0;transform:rotate(-3deg);z-index:2}
.contact-collage img:nth-child(3){width:43%;height:53%;left:55%;top:43%;transform:rotate(-9deg)}
.contact-collage .contact-handwritten{position:absolute;bottom:-30px;left:10px;font-size:17px;max-width:140px}
.contact-faq{margin-bottom:32px}
.contact-faq-list{border:1px solid var(--contact-border);border-radius:20px;padding:10px 24px;background:linear-gradient(125deg,var(--contact-panel),var(--paper))}
.contact-faq details+details{border-top:1px solid var(--contact-border)}
.contact-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;min-height:75px;font-size:18px;font-weight:600;padding:20px 8px}
.contact-faq summary::-webkit-details-marker{display:none}
.contact-faq summary>span{width:30px;height:30px;position:relative;border-radius:50%;flex-shrink:0;color:var(--red)}
.contact-faq summary>span::before,.contact-faq summary>span::after{content:"";position:absolute;width:14px;height:2px;background:currentColor;left:8px;top:14px}
.contact-faq summary>span::after{transform:rotate(90deg)}
.contact-faq details[open] summary>span{background:var(--red);color:#fff}
.contact-faq details[open] summary>span::after{display:none}
.contact-faq details>p{padding:0 8px 26px;color:var(--muted);line-height:1.7;font-size:15px;white-space:pre-line;overflow-wrap:anywhere;max-width:950px}
.contact-cta{background:linear-gradient(115deg,#f20d14,#ff0019);color:#fff;border-radius:20px;padding:38px 44px;display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center;margin-top:32px}
.contact-cta .contact-kicker{color:#fff}
.contact-cta h2{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;font-style:italic;font-size:clamp(42px,5.5vw,72px);letter-spacing:-1px;margin:0}
.contact-cta h2>span{color:transparent;-webkit-text-stroke:1px #fff}
.contact-cta>div:last-child{justify-self:center;min-width:0}.contact-cta p{font-size:13px}.contact-email{display:block;font-size:19px;overflow-wrap:anywhere}.contact-cta .button{margin-top:20px;min-height:48px}
header nav a[aria-current="page"]:after{width:100%}
@media(max-width:1000px){.contact-main-grid{gap:30px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.contact-form-panel{padding:28px}.contact-inset{right:5%;width:23%}.contact-hero-copy{max-width:65%}.contact-hero h1{font-size:70px}.contact-card{padding:22px 16px;gap:12px}.contact-card-icon{width:40px;height:40px}.contact-social{gap:24px}.contact-social-links a{padding:14px}.contact-submit .contact-handwritten{display:none}}
@media(max-width:760px){.contact-page{margin-top:12px}.contact-main-grid{grid-template-columns:1fr;gap:10px}.contact-details{display:grid;grid-template-columns:1fr;gap:16px;padding:18px 6px}.contact-card,.contact-card:nth-child(2),.contact-card:nth-child(3){transform:none;margin:0;padding:24px}.contact-details::before{display:none}.contact-side-note{display:none}.contact-extra{margin:0 10px}.contact-social{margin:55px 0;grid-template-columns:1fr;gap:30px}.contact-collage{width:min(100%,480px);justify-self:center;height:320px}.contact-social-links{max-width:none}.contact-cta{grid-template-columns:1fr;padding:30px}.contact-cta>div:last-child{justify-self:start}.contact-inset{display:none}.contact-hero-copy{max-width:100%;min-height:420px;padding:200px 28px 30px;background:linear-gradient(0deg,#000e,#0003)}.contact-hero-image{object-position:68% center}.contact-hero h1{font-size:64px;letter-spacing:-2.5px}.contact-hero-copy>p:not(.contact-kicker){font-size:16px;max-width:370px}.contact-form-panel{padding:26px}.contact-page h2{letter-spacing:-1px}.contact-hero{border-radius:20px}}
@media(max-width:420px){.contact-fields{grid-template-columns:1fr;gap:16px}.contact-form-panel{padding:22px 18px}.contact-page h2{font-size:32px}.contact-hero-copy{padding-inline:22px}.contact-hero h1{font-size:58px}.contact-social-links{gap:10px}.contact-social-links a{gap:8px;font-size:13px;padding:12px}.contact-faq-list{padding:4px 14px}.contact-faq summary{font-size:16px}.contact-collage{height:260px}.contact-cta{padding:28px 22px}.contact-cta h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){.contact-page *{scroll-behavior:auto;transition:none!important}}

/* Staggered contact cards and four-photo editorial collage. Form styles are unchanged. */
.contact-details{align-self:start;padding:35px 24px 24px;display:flex;flex-direction:column;gap:42px}
.contact-details::before{top:95px;bottom:70px;left:20px;width:55px;border-left:2px dashed var(--red);transform:rotate(-8deg)}
.contact-card{--card-angle:-6deg;transform:rotate(var(--card-angle));margin:0 12px 0 0;min-height:124px;box-shadow:0 14px 32px #00000012;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.contact-card:nth-child(2){--card-angle:4deg;transform:rotate(var(--card-angle));margin:0 0 0 24px}
.contact-card:nth-child(3){--card-angle:-8deg;transform:rotate(var(--card-angle));margin:0 4px 0 10px}
.contact-card::before{box-shadow:0 0 0 1px var(--red),0 0 16px #f20d1450}
.contact-card-icon{background:radial-gradient(circle at 30% 20%,#ffffff0d,transparent);box-shadow:inset 0 0 0 5px #ffffff04}
.contact-extra{margin:0 10px}
.contact-social{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:30px;margin:80px 0 70px}
.contact-social h2{font-size:clamp(30px,3.2vw,44px);max-width:560px;letter-spacing:-1.6px}
.contact-social-links{gap:12px;max-width:390px}
.contact-social-links :is(a,.social-pending){display:flex;align-items:center;gap:12px;min-height:56px;border:1px solid var(--contact-border);border-radius:40px;padding:12px 20px;font-size:14px}
.contact-social-links a{transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}
.social-pending{color:var(--muted)}.social-pending small{display:block;font-size:10px;line-height:1.3;letter-spacing:.3px}
.contact-collage{height:355px;margin:10px 18px 35px 8px;isolation:isolate}
.contact-collage img{--photo-angle:5deg;left:2%;top:8%;width:47%;height:84%;transform:rotate(var(--photo-angle));z-index:2;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s}
.contact-collage img:nth-child(2){--photo-angle:-2deg;left:40%;top:0;width:37%;height:49%;transform:rotate(var(--photo-angle));z-index:4}
.contact-collage img:nth-child(3){--photo-angle:9deg;left:73%;top:11%;width:26%;height:40%;transform:rotate(var(--photo-angle));z-index:1}
.contact-collage img:nth-child(4){--photo-angle:-7deg;left:47%;top:40%;width:50%;height:61%;transform:rotate(var(--photo-angle));z-index:3;object-position:center}
.contact-collage .contact-handwritten{bottom:-30px;left:0;display:flex;gap:8px;max-width:155px}
@media(hover:hover) and (pointer:fine){
 .contact-card:hover,.contact-card:focus-within{transform:translateY(-9px) rotate(0deg);border-color:#e94750;box-shadow:0 22px 44px #0003,0 8px 28px #f20d1418}
 .contact-collage img:hover{transform:translateY(-10px) rotate(0deg) scale(1.025);z-index:5;border-color:#fb515e;box-shadow:0 25px 45px #0005}
 .contact-social-links a:hover{transform:translateY(-4px);box-shadow:0 8px 22px #f20d1415}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
 .contact-card,.contact-collage img{animation:contact-gentle-float 4s ease-in-out 1 both}
 .contact-card:nth-child(2),.contact-collage img:nth-child(2){animation-delay:.2s}
 .contact-card:nth-child(3),.contact-collage img:nth-child(4){animation-delay:.4s}
 @keyframes contact-gentle-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
}
@media(max-width:1000px){.contact-details{padding-inline:16px;gap:35px}.contact-card{padding:22px 16px}.contact-social{gap:22px}.contact-social-links :is(a,.social-pending){padding:12px 14px}.contact-collage{height:310px}}
@media(max-width:760px){.contact-details{display:flex;padding:26px 16px;gap:28px}.contact-card,.contact-card:nth-child(2),.contact-card:nth-child(3){min-height:110px;margin:0;transform:rotate(-2deg)}.contact-card:nth-child(2){transform:rotate(2deg);margin-left:12px}.contact-details::before{display:none}.contact-social{grid-template-columns:1fr;margin:50px 0 65px;gap:34px}.contact-social-links{max-width:430px}.contact-collage{width:calc(100% - 28px);max-width:480px;height:320px;margin:0 14px 28px;justify-self:center}}
@media(max-width:420px){.contact-card{padding:22px 18px}.contact-collage{height:260px}.contact-social-links :is(a,.social-pending){font-size:13px;gap:8px;padding:12px}.contact-social h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.contact-card,.contact-collage img,.contact-social-links a{animation:none;transition:none;translate:none}}
