.contact-page{background:#f5ede2}.contact-hero{padding:clamp(140px, 19vh, 210px) var(--container-gutter) clamp(48px, 7vw, 80px);text-align:center;background:radial-gradient(120% 90% at 50% -10%,#c9a97c29,#0000 60%),#f5ede2;position:relative;overflow:hidden}.contact-hero__inner{max-width:820px;margin:0 auto}.contact-hero__eyebrow{font-family:var(--font-body);letter-spacing:.32em;text-transform:uppercase;color:var(--color-accent);margin-bottom:22px;font-size:.9rem;font-weight:600;display:inline-block}.contact-hero__title{font-family:var(--font-display);letter-spacing:-.02em;color:#1a1a1a;margin:0 0 24px;font-size:clamp(2.5rem,6vw,5.2rem);font-weight:400;line-height:1.08}.contact-hero__title em{color:var(--color-accent-light);font-style:italic;font-weight:400}.contact-hero__sub{font-family:var(--font-body);color:var(--color-text-dim);max-width:620px;margin:0 auto;font-size:clamp(1.02rem,1.45vw,1.2rem);line-height:1.7}.contact-main{max-width:var(--container-max);padding:0 var(--container-gutter) clamp(60px, 9vw, 120px);margin:0 auto}.contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(36px,5vw,80px);display:grid}.contact-reassure{background:#fff;border:1px solid #c9a97c66;border-radius:14px;grid-template-columns:repeat(3,1fr);margin-bottom:clamp(32px,4vw,44px);display:grid;overflow:hidden;box-shadow:0 14px 40px #2c24200f}.contact-reassure__item{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:22px 12px;display:flex}.contact-reassure__item+.contact-reassure__item{border-left:1px solid #c9a97c47}.contact-reassure__num{font-family:var(--font-display);color:var(--color-accent);font-size:clamp(1.5rem,2.4vw,1.95rem);font-weight:600;line-height:1}.contact-reassure__label{font-family:var(--font-body);letter-spacing:.04em;color:var(--color-text-dim);font-size:.74rem;font-weight:500}.contact-aside__heading{font-family:var(--font-display);color:#1a1a1a;letter-spacing:-.01em;margin:0 0 12px;font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:400;line-height:1.12}.contact-aside__heading em{color:var(--color-accent-light);font-style:italic}.contact-aside__text{font-family:var(--font-body);color:var(--color-text-dim);max-width:42ch;margin:0 0 28px;font-size:1rem;line-height:1.7}.contact-cards{grid-template-columns:1fr 1fr;gap:16px;display:grid}.contact-card{background:#fff;border:1px solid #c9a97c66;border-radius:14px;align-items:center;gap:16px;padding:20px;text-decoration:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s;display:flex}.contact-card:hover{border-color:var(--color-accent);transform:translateY(-3px);box-shadow:0 18px 40px #2c24201a}.contact-card__icon{width:46px;height:46px;color:var(--color-accent);background:#c9a97c29;border-radius:50%;flex-shrink:0;place-items:center;transition:background .35s,color .35s;display:grid}.contact-card:hover .contact-card__icon{background:var(--color-accent);color:#fff}.contact-card__icon svg{width:21px;height:21px}.contact-card__body{flex-direction:column;gap:3px;min-width:0;display:flex}.contact-card__label{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-dim);font-size:.7rem;font-weight:600}.contact-card__value{font-family:var(--font-body);color:var(--color-text);word-break:break-word;font-size:.96rem;font-weight:500}.contact-card__value--addr{font-size:.86rem;font-style:normal;line-height:1.4}.contact-formwrap__label{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--color-accent);margin-bottom:12px;font-size:.8rem;font-weight:600;display:block}.contact-formwrap__title{font-family:var(--font-display);color:#1a1a1a;letter-spacing:-.01em;margin:0 0 26px;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;line-height:1.1}.contact-formwrap__title em{color:var(--color-accent-light);font-style:italic}.contact-formwrap .inquiry__form{margin:0}.contact-map{border:1px solid #c9a97c66;border-radius:16px;margin-top:clamp(20px,3vw,40px);overflow:hidden;box-shadow:0 18px 50px #2c242014}.contact-map__frame{filter:saturate(.92)contrast(1.02);border:0;width:100%;height:clamp(320px,42vw,460px);display:block}@media (width<=900px){.contact-grid{grid-template-columns:1fr;gap:36px}}@media (width<=560px){.contact-cards{grid-template-columns:1fr}.contact-reassure__item{padding:18px 8px}.contact-reassure__num{font-size:1.35rem}.contact-reassure__label{font-size:.66rem}}
