/* Contact uses the shared brand tokens, header, CTA, and footer. */
.contact-page{--contact-surface:#f6f8f8;--contact-card:#fff;--contact-border:#dce2e4;--contact-input:#f9fbfb;--contact-glow:#ffc8050c}
:root[data-theme=dark] .contact-page{--bg-primary:#07090b;--bg-secondary:#101619;--bg-card:#141a1d;--header-bg:#07090b;--border-color:#202b30;--contact-surface:#0b1012;--contact-card:#0e1316;--contact-border:#283035;--contact-input:#0b1013}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .contact-page{--bg-primary:#07090b;--bg-secondary:#101619;--bg-card:#141a1d;--header-bg:#07090b;--border-color:#202b30;--contact-surface:#0b1012;--contact-card:#0e1316;--contact-border:#283035;--contact-input:#0b1013}}
.contact-page .site-header{border-block-end:0}
.contact-surface{margin-block-start:24px;padding:28px 48px 76px;background:linear-gradient(140deg,var(--bg-secondary),var(--contact-surface) 65%)}
.contact-hero{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:20px;min-height:410px;margin-block-end:24px}
.contact-hero-copy{position:relative;z-index:1;padding-inline-end:12px}
.contact-rule{display:block;width:52px;height:3px;background:var(--color-primary);border-radius:3px;margin-block-end:26px;box-shadow:0 0 12px var(--contact-glow)}
.contact-hero h1{font-size:clamp(2.2rem,3.8vw,3.5rem);line-height:1.45;letter-spacing:-.015em}
.contact-hero p{margin-block-start:22px;max-width:520px;font-size:1.2rem;line-height:1.9;color:var(--text-secondary);text-wrap:pretty}
.contact-hero-art{position:relative;min-width:0;isolation:isolate}
.contact-hero-art::before{content:"";position:absolute;z-index:-1;inset:-15% 0;background:radial-gradient(ellipse,var(--contact-glow),transparent 65%);pointer-events:none}
.contact-hero-art img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mask-image:radial-gradient(ellipse closest-side,#000 73%,transparent 118%)}
.contact-form-panel{padding:38px 38px 24px;border:1px solid var(--contact-border);border-radius:22px;background:linear-gradient(130deg,var(--contact-card),var(--contact-surface));box-shadow:inset 0 0 0 3px #ffffff02}
.contact-section-heading{text-align:center;margin-block-end:36px}
.contact-section-heading .contact-rule{width:43px;margin:0 auto 19px}
.contact-section-heading h2{font-size:clamp(1.7rem,2.6vw,2.25rem);line-height:1.5}
.contact-section-heading p{margin-block-start:10px;color:var(--text-secondary);font-size:1.075rem;line-height:1.8}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}
.contact-field{min-width:0}
.contact-field label{display:block;font-size:.95rem;font-weight:700;margin-block-end:10px}
.required-mark{color:var(--accent-text)}
.contact-input{display:flex;align-items:center;gap:12px;position:relative;border:1px solid var(--contact-border);border-radius:12px;background:var(--contact-input);box-shadow:inset 0 0 0 2px #ffffff02;transition:border-color .15s ease,box-shadow .15s ease}
.contact-input:focus-within{border-color:var(--accent-text);outline:2px solid var(--accent-wash);outline-offset:3px}
.contact-input>.icon{width:24px;height:24px;margin-inline-start:19px;color:var(--text-muted);pointer-events:none}
.contact-input input,.contact-input select,.contact-input textarea{display:block;min-width:0;width:100%;border:0;background:transparent;color:var(--text-primary);font:inherit;font-size:.95rem;line-height:1.7;outline:0;border-radius:inherit;padding:16px 18px;min-height:62px}
.contact-input input{padding-inline-start:0}
.contact-input input[type=email]{text-align:left;padding-inline:0 18px}
:root[dir=rtl] .contact-input input[type=email]{padding-inline:18px 0}
.contact-input input::placeholder,.contact-input textarea::placeholder{color:var(--text-muted);opacity:1}
.contact-input:has(:user-invalid){border-color:#b9463d}
.contact-select select{appearance:none;padding-inline-end:52px;cursor:pointer}
.contact-select select:invalid{color:var(--text-muted)}
.contact-select option{background:var(--contact-card);color:var(--text-primary)}
.contact-select>.icon{position:absolute;inset-inline-end:19px;margin:0;width:20px;height:20px}
.contact-message-field{grid-column:1/-1}
.contact-textarea{align-items:stretch}
.contact-input textarea{min-height:160px;resize:vertical;padding:18px 22px 42px}
.contact-textarea>.icon{position:absolute;inset-inline-start:19px;inset-block-end:18px;margin:0}
.contact-submit{width:100%;gap:15px;border-radius:18px;min-height:60px;margin-block-start:28px;font-size:1.1rem;box-shadow:0 8px 30px var(--contact-glow)}
.contact-submit>.icon{width:27px;height:27px;stroke-width:2}
.contact-delivery-note{font-size:.75rem;line-height:1.8;text-align:center;color:var(--text-muted);margin-block-start:13px;text-wrap:pretty}
.contact-delivery-note a,.contact-faq-list p a{color:var(--accent-text);text-decoration:underline;text-underline-offset:4px;display:inline-block}
.contact-email-ready{margin-block-start:20px;padding:20px;border:1px solid var(--accent-text);border-radius:12px;background:var(--accent-wash)}
.contact-email-ready>p{font-size:.9rem;color:var(--text-secondary)}
.contact-email-actions{display:flex;gap:12px;flex-wrap:wrap;margin-block-start:15px}
.contact-copy-status:empty{display:none}
.contact-copy-status{margin-block-start:12px}
.contact-faq{padding-block-start:62px;scroll-margin-block-start:20px}
.contact-faq .contact-section-heading{margin-block-end:25px}
.contact-faq-list{display:grid;gap:9px}
.contact-faq-list details{border:1px solid var(--contact-border);border-radius:13px;background:linear-gradient(110deg,var(--contact-card),var(--contact-surface));overflow:hidden}
.contact-faq-list summary{display:flex;align-items:center;gap:19px;min-height:65px;padding:14px 22px;font-size:1.05rem;color:var(--text-secondary);line-height:1.7;list-style:none;cursor:pointer}
.contact-faq-list summary::-webkit-details-marker{display:none}
.contact-faq-list summary:focus-visible{outline-offset:-4px}
.contact-faq-list summary:hover{color:var(--text-primary);background:var(--accent-wash)}
.contact-faq-list summary>.icon{width:19px;height:19px;transition:transform .16s ease}
.contact-faq-list summary>span:not(.contact-faq-toggle){flex:1}
.contact-faq-toggle{display:grid;place-items:center;width:28px;height:28px;flex:none;border:2px solid var(--accent-text);border-radius:50%;color:var(--accent-text);font-family:Arial,sans-serif;font-size:23px;line-height:1;transition:transform .16s ease}
.contact-faq-list details[open] summary>.icon{transform:rotate(180deg)}
.contact-faq-list details[open] .contact-faq-toggle{transform:rotate(45deg)}
.contact-faq-list details[open] summary{color:var(--text-primary)}
.contact-faq-list details p{padding:0 60px 21px;font-size:.95rem;line-height:1.9;color:var(--text-secondary)}
.contact-closing .closing-cta{margin-block:24px 56px;border:0;border-radius:0;background:radial-gradient(ellipse at center,var(--contact-glow),transparent 70%)}
.contact-closing .closing-cta>.eyebrow,.contact-closing .cta-note{display:none}
.contact-closing .closing-cta h2{margin-block-start:0}
.contact-closing .benefits li{background:var(--accent-wash);border-color:var(--accent-wash)}

@media(max-width:1119px){.contact-surface{padding:24px 30px 56px}.contact-hero{min-height:340px;gap:16px}.contact-hero p{font-size:1.05rem}.contact-hero h1{font-size:2.4rem}.contact-form-panel{padding:30px 28px 22px}.contact-form-grid{gap:24px}.contact-faq-list summary{font-size:1rem}}
@media(max-width:767px){.contact-surface{padding:28px 20px 36px;margin-block-start:12px}.contact-hero{grid-template-columns:1fr;gap:8px;margin-block-end:20px}.contact-hero-copy{text-align:center;padding:0}.contact-hero-copy>.contact-rule{margin:0 auto 18px}.contact-hero h1{font-size:2.25rem}.contact-hero p{font-size:1rem;margin:15px auto 0}.contact-hero-art{width:min(100%,470px);margin-inline:auto}.contact-form-panel{padding:25px 20px 20px;border-radius:17px}.contact-section-heading{margin-block-end:27px}.contact-section-heading p{font-size:.95rem}.contact-form-grid{grid-template-columns:1fr;gap:22px}.contact-input input,.contact-input select,.contact-input textarea{font-size:1rem}.contact-faq{padding-block-start:44px}.contact-faq-list summary{gap:12px;padding:13px 15px;font-size:.95rem}.contact-faq-list details p{padding:0 18px 18px;font-size:.9rem}.contact-faq-toggle{width:24px;height:24px;font-size:20px}.contact-closing .closing-cta{padding:30px 6px;margin-block-end:32px}.contact-closing .closing-cta h2{font-size:2rem}.contact-email-actions{flex-direction:column}.contact-delivery-note{font-size:.72rem}}
@media(max-width:479px){.contact-surface{padding-inline:14px}.contact-hero h1{font-size:2rem}.contact-hero p{font-size:.95rem}.contact-form-panel{padding:23px 15px 18px}.contact-section-heading h2{font-size:1.65rem}.contact-field label{font-size:.9rem}.contact-input input,.contact-input select{min-height:58px}.contact-input>.icon{margin-inline-start:14px;width:21px;height:21px}.contact-select>.icon,.contact-textarea>.icon{margin:0}.contact-submit{min-height:56px;font-size:1rem;border-radius:13px}.contact-faq-list summary{gap:10px;padding-inline:12px;font-size:.9rem}.contact-faq-list summary>.icon{width:16px;height:16px}.contact-email-ready{padding:15px}}
@media print{.contact-hero-art,.contact-submit,.contact-email-ready{display:none}.contact-surface{width:100%;background:#fff;padding:0}.contact-form-panel,.contact-faq-list details{break-inside:avoid}}
