.contact-section{background:var(--white);border-top:1px solid var(--line)}.contact-grid{padding-block:88px 96px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:stretch}.contact-photo{position:relative;margin:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--sand);min-height:420px}.contact-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}.contact-photo figcaption{position:absolute;left:16px;bottom:16px;max-width:calc(100% - 32px);padding:6px 12px;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--cream);background:color-mix(in srgb,var(--ink-deep) 88%,transparent);border-radius:var(--radius-sm)}.contact-form-card{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-lg);padding:44px 44px 40px}.contact-form-title{font-size:var(--text-h3);margin:0 0 28px}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-form[hidden]{display:none}.topic-field{border:0;margin:0 0 8px;padding:0;min-width:0}.topic-field legend{padding:0;margin:0 0 12px;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--ink)}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.topic-card{position:relative;display:flex;cursor:pointer}.topic-body{position:relative;flex:1;display:flex;flex-direction:column;gap:4px;padding:16px 48px 16px 18px;background:var(--white);border:1px solid var(--border-input);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.topic-name{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--ink)}.topic-note{font-size:var(--text-sm);line-height:1.5;color:var(--taupe)}.topic-mark{position:absolute;top:16px;right:16px;width:20px;height:20px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--white);transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.topic-mark:after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid var(--cream);border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0}.topic-card:hover .topic-body{border-color:var(--line-strong)}.topic-card input:checked+.topic-body{border-color:var(--burgundy);box-shadow:inset 0 0 0 1px var(--burgundy)}.topic-card input:checked+.topic-body .topic-mark{background:var(--burgundy);border-color:var(--burgundy)}.topic-card input:checked+.topic-body .topic-mark:after{opacity:1}.topic-card input:focus-visible+.topic-body{outline:2px solid var(--border-focus);outline-offset:3px}.topic-field .field-error{margin-top:8px}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--ink)}.field input,.field textarea{width:100%;padding:11px 14px;font:inherit;font-size:var(--text-base);color:var(--text-body);background:var(--white);border:1px solid var(--border-input);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.field textarea{resize:vertical;min-height:148px;line-height:1.6}.field input:focus,.field textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--focus-ring)}.field [aria-invalid=true]{border-color:var(--danger)}.field-error{margin:0;font-size:var(--text-xs);color:var(--danger)}.field-error:empty{display:none}.form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-foot{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:4px}.form-foot .btn:disabled{opacity:.6;cursor:progress}.form-status{margin:0;font-size:var(--text-sm);color:var(--text-body)}.form-status.is-error{color:var(--danger)}.contact-success{padding:12px 0;margin-block:auto}.contact-success:focus{outline:none}.contact-success .pws-eyebrow,.contact-success h2{margin:0 0 16px}.contact-success p:last-child{font-size:var(--text-base);line-height:1.75;color:var(--text-body);margin:0;max-width:460px}.contact-office{background:var(--surface-band)}.office-grid{padding-block:88px 96px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:stretch}.contact-details .pws-eyebrow{margin:0 0 20px;line-height:var(--leading-normal)}.contact-address{font-size:var(--text-lead);line-height:1.6;color:var(--ink);margin:0 0 18px}.contact-lines{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:6px}.contact-lines a{font-size:var(--text-base);color:var(--ink)}.contact-lines a:hover{color:var(--burgundy)}.contact-hours{font-size:var(--text-sm);line-height:1.65;color:var(--taupe);margin:0 0 24px}.contact-trade{margin-top:40px;padding-top:28px;border-top:1px solid var(--line-strong)}.contact-trade h3{font-size:var(--text-h4);margin:0 0 10px}.contact-trade p{font-size:var(--text-sm);line-height:1.65;color:var(--text-body);margin:0;max-width:420px}.contact-social{margin-top:28px;padding-top:28px;border-top:1px solid var(--line-strong)}.contact-social h3{font-size:var(--text-h4);margin:0 0 14px}.contact-social-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px}.contact-social-links a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:var(--text-base);color:var(--ink)}.contact-social-links a:is(:hover,:focus-visible){color:var(--burgundy)}.contact-social-links svg{flex:none}.contact-map{min-height:360px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-strong);background:var(--sand-deep)}.contact-map iframe{display:block;width:100%;height:100%;min-height:360px;border:0}@media(max-width:1100px){.contact-grid,.office-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}@media(max-width:980px){.contact-grid,.office-grid{grid-template-columns:1fr;gap:40px}.contact-photo{min-height:0;aspect-ratio:16 / 7}.contact-map{aspect-ratio:16 / 9;min-height:0}.contact-map iframe{min-height:0}}@media(max-width:720px){.contact-grid{padding-block:40px 72px;gap:32px}.office-grid{padding-block:64px 72px}.contact-photo{aspect-ratio:16 / 9}.contact-map{aspect-ratio:4 / 3}.contact-form-card{padding:28px 20px}.field-row,.topic-grid{grid-template-columns:1fr}}
