/* Contact follows TINTIN's shared ivory, red, display type, and stock icons. */
.contact-main{padding:168px var(--gutter) 96px;background:#fff;color:#571b22}
.contact-main [hidden]{display:none!important}
.contact-heading{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:64px;align-items:end;margin-bottom:60px}
.contact-eyebrow{display:flex;align-items:center;gap:10px;font:700 10px/1.6 var(--sans);letter-spacing:.14em;color:#8a5e55}
.contact-heading .contact-eyebrow{color:#b11f2a;margin-bottom:28px}
.contact-heading h1{font:900 clamp(52px,6.2vw,104px)/1.1 var(--tintin-display);font-synthesis:none;letter-spacing:0;text-transform:uppercase;margin:0;color:#571b22}
.contact-heading h1>span{display:block;white-space:nowrap}
.contact-intro{padding-bottom:9px;max-width:350px}
.contact-intro>.commerce-icon{width:43px;height:43px;color:#e31e26;margin-bottom:23px}
.contact-intro p{font:400 17px/1.8 var(--sans);color:#82645a}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5.4vw,86px);align-items:start}
.contact-location{min-width:0;border-radius:24px;overflow:hidden;background:#f4f3e2}
.contact-map-shell{height:390px;position:relative;background:#e6e3ce}
.contact-map-shell iframe{display:block;width:100%;height:100%;border:0}
.contact-location-copy{padding:34px 36px 38px}
.contact-location-copy .contact-eyebrow>.commerce-icon{width:20px;height:20px;color:#b11f2a;flex:none}
.contact-location h2,.contact-form-heading h2{font:400 clamp(35px,3.1vw,49px)/1.08 var(--serif);letter-spacing:-.045em;margin:23px 0 24px;color:#571b22}
.contact-place-name{font:700 14px/1.6 var(--sans);margin-bottom:9px}
.contact-location address{font:400 14px/1.85 var(--sans);color:#82645a}
.contact-map-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;margin-top:22px;font:700 13px/1.6 var(--sans);color:#b11f2a;text-decoration:underline;text-underline-offset:5px}
.contact-map-link>.commerce-icon{width:18px;height:18px;flex:none}
.contact-message{min-width:0;padding-top:3px}
.contact-channels{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:25px;padding-bottom:34px;border-bottom:1px solid #571b2226}
.contact-channel{display:flex;align-items:flex-start;gap:12px;min-width:0}
.contact-channel>.commerce-icon{width:24px;height:24px;color:#b11f2a;flex:none;margin-top:1px}
.contact-channel>div{min-width:0}
.contact-channel .contact-eyebrow{font-size:9px;margin-bottom:10px}
.contact-channel a{font:700 15px/1.6 var(--sans);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere;display:inline-block;min-height:27px}
.contact-channel p{font:400 13px/1.8 var(--sans);color:#82645a}
.contact-form-heading{margin:36px 0 27px}
.contact-form-heading h2{margin:0 0 18px}
.contact-form-heading>p{font:400 14px/1.8 var(--sans);color:#82645a}
.contact-form{display:grid;gap:25px}
.contact-name-email{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.contact-field{min-width:0}
.contact-field label{display:block;font:700 12px/1.6 var(--sans);margin-bottom:10px}
.contact-field label>span{color:#e31e26}
.contact-field :is(input,textarea){display:block;width:100%;max-width:100%;min-width:0;padding:14px 16px;border:1px solid #d5c1b9;border-radius:12px;color:#571b22;background:#fff;font:400 15px/1.6 var(--sans);box-shadow:none;min-height:52px;outline:none}
.contact-field textarea{height:164px;min-height:150px;resize:vertical}
.contact-field :is(input,textarea)::placeholder{color:#9a8176}
.contact-field :is(input,textarea):focus{border-color:#b11f2a;box-shadow:0 0 0 2px #b11f2a18}
.contact-field :is(input,textarea)[aria-invalid=true]{border-color:#b11f2a}
.contact-primary{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;width:fit-content;max-width:100%;padding:14px 25px;border-radius:30px;background:#e31e26;color:#fff9e8;font:700 13px/1.6 var(--sans);text-align:center;transition:background .2s}
.contact-primary:hover{background:#c91b25}
.contact-primary>.commerce-icon{width:20px;height:20px;flex:none}
.contact-form-note{font:400 11px/1.8 var(--sans);color:#96796e;max-width:440px}
.contact-ready{padding:27px;background:#f4f3e2;border-radius:18px;margin-top:25px}
.contact-ready>.contact-eyebrow{font-size:9px;margin-bottom:16px}
.contact-ready h3{font:400 30px/1.15 var(--serif);letter-spacing:-.035em;margin:0 0 15px}
.contact-ready>p{font:400 13px/1.8 var(--sans);color:#82645a}
.contact-ready-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px}
.contact-ready-actions .contact-primary{font-size:12px;gap:14px;min-height:47px;padding:12px 20px}
.contact-copy{font:700 12px/1.6 var(--sans);color:#571b22;min-height:44px;text-decoration:underline;text-underline-offset:5px;padding:8px 0}
#contact-copy-text{width:100%;max-width:100%;margin-top:20px;padding:15px;background:#fff;border:1px solid #d5c1b9;border-radius:10px;font:400 13px/1.7 var(--sans);color:#571b22;resize:vertical}
.contact-feedback{font:400 12px/1.75 var(--sans);color:#8a5e55;margin-top:18px}
.contact-feedback:empty{display:none}
@media(min-width:1700px){.contact-main{max-width:1920px;margin:auto}.contact-map-shell{height:460px}.contact-location-copy{padding:40px}.contact-channels{gap:35px}.contact-channel a{font-size:17px}.contact-field textarea{height:190px}}
@media(max-width:1100px){.contact-main{padding-top:145px}.contact-heading{gap:38px;margin-bottom:48px}.contact-intro p{font-size:15px}.contact-layout{gap:36px}.contact-map-shell{height:350px}.contact-location-copy{padding:30px 27px}.contact-channels{grid-template-columns:1fr;gap:23px;padding-bottom:28px}.contact-channel .contact-eyebrow{margin-bottom:6px}.contact-channel a{font-size:16px}.contact-form-heading{margin-top:29px}.contact-name-email{grid-template-columns:1fr;gap:23px}.contact-form{gap:23px}}
@media(max-width:850px){.contact-heading{grid-template-columns:1fr;gap:28px}.contact-heading h1{font-size:clamp(50px,8.3vw,74px)}.contact-intro{display:flex;gap:20px;max-width:520px;padding:0}.contact-intro>.commerce-icon{width:34px;height:34px;margin:3px 0 0;flex:none}.contact-intro p{font-size:15px}.contact-layout{grid-template-columns:1fr;gap:44px}.contact-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-map-shell{height:100%;min-height:380px}.contact-location-copy{align-self:center;padding:32px 27px}.contact-location h2{font-size:37px}.contact-channels{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}.contact-name-email{grid-template-columns:1fr 1fr}.contact-form-heading h2{font-size:43px}.contact-field textarea{height:170px}}
@media(max-width:600px){.contact-main{padding:125px 23px 62px}.contact-heading{gap:25px;margin-bottom:37px}.contact-heading .contact-eyebrow{font-size:9px;margin-bottom:24px}.contact-heading h1{font-size:clamp(32px,10vw,58px);line-height:1.12}.contact-intro{gap:17px}.contact-intro>.commerce-icon{width:30px;height:30px;margin-top:3px}.contact-intro p{font-size:14px;line-height:1.8}.contact-layout{gap:36px}.contact-location{display:block;border-radius:20px}.contact-map-shell{height:300px;min-height:0}.contact-location-copy{padding:28px 25px 29px}.contact-location h2{font-size:36px;margin:21px 0 23px}.contact-location .contact-eyebrow{font-size:9px}.contact-location address{font-size:13px;line-height:1.85}.contact-place-name{font-size:13px}.contact-map-link{font-size:12px;margin-top:19px;gap:13px}.contact-channels{gap:20px;grid-template-columns:1fr;padding-bottom:27px}.contact-channel{gap:13px}.contact-channel>.commerce-icon{width:24px;height:24px}.contact-channel .contact-eyebrow{font-size:9px;margin-bottom:7px}.contact-channel a{font-size:17px}.contact-form-heading{margin:29px 0 24px}.contact-form-heading h2{font-size:36px}.contact-form-heading>p{font-size:14px;line-height:1.75}.contact-name-email{grid-template-columns:1fr;gap:23px}.contact-form{gap:23px}.contact-field :is(input,textarea){font-size:16px;padding:14px;min-height:52px}.contact-field textarea{height:160px}.contact-primary{font-size:13px;gap:20px;min-height:50px;padding:13px 23px}.contact-form-note{font-size:11px;line-height:1.8}.contact-ready{padding:24px 22px}.contact-ready h3{font-size:29px}.contact-ready-actions{gap:13px}.contact-ready-actions .contact-primary{font-size:12px;padding:12px 17px;gap:12px}.contact-copy{font-size:12px}.contact-feedback{font-size:12px}}
@media(max-width:360px){.contact-main{padding-inline:18px}.contact-heading h1{font-size:30px}.contact-location-copy{padding:26px 22px}.contact-location h2,.contact-form-heading h2{font-size:33px}.contact-map-shell{height:270px}}
@media(prefers-reduced-motion:reduce){.contact-primary{transition:none}}

/* Map and contact information share one compact two-column composition. */
.contact-main{padding-top:145px;padding-bottom:65px}
.contact-heading{display:block;margin-bottom:30px}
.contact-heading h1{font-size:clamp(40px,4.2vw,66px)}
.contact-heading h1>span{display:inline}.contact-heading h1>span+span:before{content:' '}
.contact-heading .contact-eyebrow{margin-bottom:12px}.contact-intro{display:none}
.contact-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:stretch}
.contact-location{display:block;background:transparent;min-height:700px}
.contact-map-shell{height:100%;min-height:700px}
.contact-location-copy{padding:0 0 20px}
.contact-location-copy h2{font:400 28px/1.15 var(--serif);margin:10px 0 14px;letter-spacing:-.03em}
.contact-location-copy h2 br{display:none}
.contact-location-copy address{font:400 14px/1.65 var(--sans);color:#82645a}
.contact-map-link{margin-top:9px}.contact-place-name{margin-bottom:5px}
.contact-channels{padding-bottom:18px;gap:20px}.contact-form-heading{margin:20px 0}
.contact-form-heading h2{font-size:31px;margin-bottom:9px}.contact-form-heading h2 br{display:none}
.contact-form{gap:16px}.contact-name-email{grid-template-columns:1fr 1fr;gap:15px}
.contact-field textarea{height:120px;min-height:120px}.contact-field label{margin-bottom:6px}
@media(max-width:850px){.contact-main{padding-top:125px}.contact-layout{grid-template-columns:1fr;gap:26px}.contact-location{min-height:0}.contact-map-shell{height:360px;min-height:0}.contact-heading h1{font-size:44px}.contact-message{padding:0}}
@media(max-width:600px){.contact-heading h1{font-size:36px}.contact-name-email{grid-template-columns:1fr}.contact-channels{grid-template-columns:1fr 1fr}.contact-channel a{font-size:13px}.contact-map-shell{height:320px}.contact-location-copy{padding:0 0 20px}}

/* Two balanced contact frames. */
.contact-channels{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-bottom:0;border-bottom:0}
.contact-channel{border:1px solid #571b2226;border-radius:14px;padding:20px 17px;min-height:126px;gap:13px;align-items:center}
.contact-channel>.commerce-icon{width:34px;height:34px;margin:0}
.contact-channel .contact-eyebrow{margin-bottom:8px}
.contact-channel a{font-size:14px;overflow-wrap:anywhere}
.contact-channel p{font-size:13px;line-height:1.6}
@media(max-width:1100px){.contact-channels{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-channel{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 15px;min-height:144px}}
@media(max-width:850px){.contact-channel{flex-direction:row;align-items:center;min-height:126px}}
@media(max-width:600px){.contact-channel{flex-direction:column;align-items:flex-start;padding:17px 13px;gap:12px;min-height:151px}.contact-channel>.commerce-icon{width:32px;height:32px}.contact-channel a{font-size:13px}.contact-channel p{font-size:12px}.contact-channels{gap:12px}}

/* Compact contact actions. */
.contact-map-link{border:1px solid #b11f2a;border-radius:40px;padding:10px 19px;min-height:44px;text-decoration:none;gap:10px;color:#b11f2a;font-size:13px;flex-direction:row-reverse;margin-top:16px}
.contact-map-link:hover{background:#b11f2a;color:#f4f3e2}
.contact-map-link>.commerce-icon{width:20px;height:20px}
.contact-channels{grid-template-columns:repeat(2,minmax(0,240px));justify-content:start;gap:12px}
.contact-channel{min-height:100px;padding:16px 15px;gap:12px}
@media(max-width:1100px){.contact-channel{min-height:120px;padding:15px}.contact-channels{grid-template-columns:repeat(2,minmax(0,220px))}}
@media(max-width:850px){.contact-channel{min-height:100px}}
@media(max-width:600px){.contact-channels{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-channel{min-height:130px;padding:15px 12px}}
