/* Contact is a quiet, separate destination from the photo archive. */
.contact-page{max-width:1120px;padding-block:76px 12px}
.contact-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:56px;margin-bottom:44px}
.contact-heading h1{font:400 clamp(32px,3.3vw,46px)/1.5 var(--serif);letter-spacing:.025em;margin:0;text-wrap:balance}
.contact-heading__dot{color:var(--gold)}
.contact-intro{margin:0 0 7px;color:var(--muted);line-height:1.9;font-size:14px;white-space:pre-line;overflow-wrap:anywhere}
.contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.contact-card{min-width:0;padding:30px 34px 28px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#1b2221b3,#111617e8 60%);box-shadow:0 16px 45px #00000014;display:flex;flex-direction:column;align-items:stretch}
.contact-card__header{display:flex;align-items:center;gap:11px;margin-bottom:21px}
.contact-card__icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid #d9b77d35;color:var(--gold);border-radius:50%}
.contact-card__icon svg{width:20px;height:20px}
.contact-card__label{font-size:11px;letter-spacing:.13em;color:var(--gold)}
.contact-card__number{margin-left:auto;color:#d9b77d55;font:italic 24px Georgia,serif}
.contact-card h2{font:400 27px/1.5 var(--serif);margin:0 0 8px;letter-spacing:.04em}
.contact-card__description{font-size:13px;line-height:1.8;color:var(--muted);margin:0}
.contact-card__qr{width:208px;height:208px;max-width:100%;margin:27px auto 14px;background:#fff;padding:10px;border-radius:8px;box-shadow:0 0 0 1px #ffffff24,0 12px 25px #0003}
.contact-card__qr img{width:100%;height:100%;object-fit:contain;-webkit-touch-callout:default;user-select:auto}
.contact-card__hint{font-size:12px;line-height:1.8;text-align:center;color:var(--muted);margin:0 0 22px;text-wrap:balance}
.contact-card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:4px}
.contact-card__actions .button{flex:1;font-size:12px;padding:12px 15px;min-height:46px;gap:12px;border-radius:5px;white-space:normal;text-align:center}
.contact-card__footnote{color:var(--muted);font-size:11px;line-height:1.8;margin:12px 0 0}
.contact-account{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 0 14px;font-size:12px;border-top:1px solid var(--line);margin-top:8px}
.contact-account>span{color:var(--muted);flex-shrink:0}.contact-account strong{font-weight:400;overflow-wrap:anywhere;min-width:0;flex:1}.contact-account button{flex-shrink:0;min-width:44px;min-height:44px;color:var(--gold);font-size:12px}
.contact-help{display:flex;gap:15px;margin:25px 0 0;padding:20px 24px;background:#d9b77d06;border:1px solid #d9b77d17;border-radius:8px;color:var(--muted);font-size:12px;line-height:1.9}
.contact-help>svg{flex-shrink:0;width:20px;height:20px;margin-top:3px;color:var(--gold)}.contact-help>div{min-width:0}
.contact-help h2{font-size:13px;color:#dfdfd1;font-weight:500;margin:0 0 5px}.contact-help p{margin:0;overflow-wrap:anywhere}
.contact-help summary{cursor:pointer;color:var(--gold);padding-block:10px;min-height:44px;width:fit-content}.contact-help summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.contact-help ol{padding-left:18px;margin:0 0 12px}.contact-help li+li{margin-top:7px}
.contact-details{margin-top:42px}.contact-details h2{font:400 21px/1.6 var(--serif);margin:0 0 19px}.contact-details__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line)}
.contact-details__grid>a{min-width:0;display:flex;flex-direction:column;gap:8px;padding:22px;transition:background .2s}.contact-details__grid>a+a{border-left:1px solid var(--line)}.contact-details__grid>a:hover{background:#d9b77d08}.contact-details__grid>a>span:first-child{font-size:11px;color:var(--muted)}.contact-details__grid strong{font-size:14px;line-height:1.8;font-weight:400;overflow-wrap:anywhere}.contact-details__action{font-size:11px;color:var(--gold);margin-top:auto;padding-top:7px}
.contact-empty{padding:50px 24px;text-align:center;border:1px solid var(--line);border-radius:12px;color:var(--muted)}
.contact-feedback{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:150;width:max-content;max-width:calc(100% - 40px);padding:12px 20px;background:#efe7d7;color:#17201d;font-size:13px;border-radius:7px;box-shadow:0 5px 30px #0006;pointer-events:none;text-align:center;opacity:0}.contact-feedback.is-visible{opacity:1}
.qr-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow-y:auto;overscroll-behavior:contain;border:1px solid #d9b77d40;border-radius:14px;padding:25px;background:#131a1a;color:var(--paper);box-shadow:0 25px 100px #0009;margin:auto}.qr-dialog::backdrop{background:#030707dd}.qr-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.qr-dialog .eyebrow{font-size:8px;margin-bottom:7px}.qr-dialog h2{font:400 24px/1.5 var(--serif);margin:0}.qr-dialog .icon-button{flex-shrink:0;border:1px solid var(--line)}
.qr-dialog__image{width:min(100%,288px);aspect-ratio:1;margin:0 auto 20px;background:white;border-radius:6px;padding:12px}.qr-dialog__image img{display:block;width:100%;height:100%;object-fit:contain;-webkit-touch-callout:default;user-select:auto}
#qr-dialog-guide{text-align:center}#qr-dialog-guide p{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 7px}#qr-dialog-guide .qr-dialog__lead{color:var(--paper);font-size:13px;text-wrap:balance}.qr-download{width:100%;margin-top:12px;border-radius:5px;font-size:13px}.qr-download-note{font-size:11px;color:var(--muted);line-height:1.8;margin:13px 0 0}
@media(min-width:800px){.contact-card:only-child{grid-column:1/-1;max-width:560px;width:100%;margin-inline:auto}}
@media(max-width:799px){.contact-heading{grid-template-columns:1fr;gap:17px;margin-bottom:28px}.contact-page{padding-top:43px}.contact-heading h1{font-size:34px}.contact-intro{font-size:13px;max-width:560px}.contact-card{padding:24px}.contact-channels{gap:16px}.contact-card__actions{flex-direction:column}.contact-details__grid{grid-template-columns:1fr}.contact-details__grid>a{padding:18px 0;display:grid;grid-template-columns:1fr auto;gap:5px 14px}.contact-details__grid>a+a{border-left:0;border-top:1px solid var(--line)}.contact-details__grid strong{grid-column:1;grid-row:2}.contact-details__action{grid-column:2;grid-row:1/3;align-self:center;padding:0;margin:0}}
@media(max-width:599px){.contact-heading h1{font-size:30px}.contact-channels{grid-template-columns:1fr}.contact-card{padding:22px 24px 24px}.contact-card h2{font-size:25px}.contact-card__header{margin-bottom:17px}.contact-card__qr{width:200px;height:200px;margin-top:23px}.contact-card__actions{flex-direction:row}.contact-card__actions .button{min-width:170px}.contact-help{padding:18px 16px;gap:11px}.contact-details{margin-top:32px}.contact-details__grid strong{font-size:13px}.qr-dialog{padding:20px}.qr-dialog__image{width:min(100%,268px)}}
@media(prefers-reduced-motion:reduce){.contact-details__grid>a{transition:none}}
