body.contactpage{background:var(--cream);color:var(--night)}

.cp-hero{position:relative;min-height:70vh;display:flex;align-items:center;text-align:center;overflow:hidden;background:var(--night);color:var(--cream);padding:8rem 1.5rem 4rem}
.cp-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;z-index:0}
.cp-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,15,10,.55) 0%,rgba(20,15,10,.32) 45%,rgba(20,15,10,.7) 100%)}
.cp-hero-in{position:relative;z-index:2;max-width:760px;margin:0 auto;width:100%;display:flex;flex-direction:column;align-items:center}
.cp-hero-in>*{opacity:0;transform:translateY(28px);animation:cpHeroIn 1.15s cubic-bezier(.2,.7,.2,1) forwards}
.cp-hero .cp-eyebrow{animation-delay:.3s}
.cp-hero h1{animation-delay:.6s}
.cp-hero-lead{animation-delay:.9s}
@keyframes cpHeroIn{to{opacity:1;transform:none}}
.cp-hero .cp-eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-family:'Montserrat',sans-serif;font-size:.66rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:1.3rem}
.cp-hero .cp-eyebrow span{width:30px;height:1px;background:var(--gold);display:inline-block}
.cp-hero h1,.cp-hero h1 em{font-family:'Cinzel',serif;font-style:normal;font-weight:500}
.cp-hero h1{font-size:clamp(2.2rem,5.2vw,4rem);line-height:1.16;letter-spacing:.11em;text-shadow:0 4px 50px rgba(0,0,0,.5)}
.cp-hero h1 em{color:#e9b87e}
.cp-hero-lead{font-family:'Montserrat',sans-serif;font-weight:300;font-size:clamp(1.02rem,1.6vw,1.22rem);line-height:1.8;letter-spacing:.012em;color:rgba(246,244,240,.95);margin:1.4rem auto 0;max-width:54ch;text-shadow:0 2px 24px rgba(0,0,0,.5)}
@media (prefers-reduced-motion:reduce){.cp-hero-in>*{animation:none;opacity:1;transform:none}}

.cp-body{padding:clamp(3.5rem,7vw,6rem) 0 clamp(3.5rem,7vw,5.5rem)}
.cp-body .wrap{max-width:1160px;margin:0 auto;padding:0 clamp(1.4rem,4vw,3.4rem)}
.cp-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(2rem,4.5vw,3.6rem);align-items:stretch}

.cp-card{position:relative;overflow:hidden;background:linear-gradient(160deg,#6e3a23 0%,var(--forest) 50%,#4f2918 100%);color:var(--cream);border-radius:6px;padding:clamp(1.8rem,3.2vw,2.6rem);display:flex;flex-direction:column;box-shadow:0 34px 64px -40px rgba(31,20,12,.6),inset 0 1px 0 rgba(236,200,154,.18)}
.cp-card::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% -10%,rgba(236,200,154,.14),transparent 58%);pointer-events:none}
.cp-card-head{position:relative;margin-bottom:.4rem}
.cp-card-head .lbl{display:inline-flex;align-items:center;gap:.6rem;font-family:'Montserrat',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.cp-card-head .lbl span{width:20px;height:1px;background:rgba(236,200,154,.55);display:inline-block}
.cp-card-head h2{font-family:'Yeseva One',serif;font-weight:400;font-size:clamp(1.35rem,2.4vw,1.85rem);letter-spacing:.03em;line-height:1.2}

.cp-rows{position:relative;display:flex;flex-direction:column;margin-top:1.2rem}
.cp-row{display:flex;gap:1.05rem;align-items:flex-start;padding:1rem 0;border-top:1px solid rgba(246,244,240,.14)}
.cp-row:first-child{border-top:none;padding-top:.2rem}
.cp-ico{flex:0 0 auto;width:42px;height:42px;border:1px solid rgba(236,200,154,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px;transition:background .3s,border-color .3s}
.cp-ico svg{width:19px;height:19px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cp-row:hover .cp-ico{background:rgba(236,200,154,.14);border-color:rgba(236,200,154,.75)}
.cp-row h4{font-family:'Montserrat',sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.32rem;font-weight:700}
.cp-row p{font-family:'Montserrat',sans-serif;font-weight:400;font-size:1.05rem;letter-spacing:.01em;line-height:1.45;color:var(--cream)}
.cp-row a{color:var(--cream);transition:color .25s}
.cp-row a:hover{color:var(--gold)}

.cp-card-foot{position:relative;margin-top:1.5rem;padding-top:1.4rem;border-top:1px solid rgba(246,244,240,.14);display:flex;flex-direction:column;gap:1.15rem}
.cp-social{display:flex;align-items:center;gap:1rem;font-family:'Montserrat',sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.cp-social a{display:inline-flex;align-items:center;gap:.45rem;color:rgba(246,244,240,.85);transition:color .25s}
.cp-social a:hover{color:var(--gold)}
.cp-social a svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cp-social .sep{color:rgba(236,200,154,.5)}
.cp-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.cp-btn{flex:1 1 auto;text-align:center;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:1rem 1.6rem;border-radius:30px;transition:.3s;border:1px solid var(--gold)}
.cp-btn.gold{color:var(--night);background:var(--gold)}
.cp-btn.gold:hover{background:transparent;color:var(--gold)}
.cp-btn.ghost{color:var(--gold);background:transparent}
.cp-btn.ghost:hover{background:var(--gold);color:var(--night)}

.cp-map{position:relative;border-radius:6px;overflow:hidden;min-height:420px;box-shadow:0 34px 64px -40px rgba(31,20,12,.5);background:#e9e3d8}
.cp-map iframe{display:block;width:100%;height:100%;min-height:420px;border:0;filter:saturate(.92)}

.cp-near{background:#fbf9f5;border-top:1px solid #e3d9c8;border-bottom:1px solid #e3d9c8;padding:clamp(3rem,6vw,4.6rem) 0}
.cp-near .wrap{max-width:1160px;margin:0 auto;padding:0 clamp(1.4rem,4vw,3.4rem)}
.cp-near-head{text-align:center;max-width:60ch;margin:0 auto clamp(1.8rem,3.5vw,2.6rem)}
.cp-near-head .lbl{display:inline-flex;align-items:center;gap:.7rem;font-family:'Montserrat',sans-serif;font-size:.64rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--rust);margin-bottom:1rem}
.cp-near-head .lbl span{width:26px;height:1px;background:var(--rust);display:inline-block}
.cp-near-head h2{font-family:'Yeseva One',serif;font-weight:400;font-size:clamp(1.6rem,3.4vw,2.4rem);letter-spacing:.03em;color:var(--forest);line-height:1.18}
.cp-near-head h2 em{font-family:'Yeseva One',serif;font-style:italic;color:var(--rust)}
.cp-near-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.2vw,1.6rem)}
.cp-near-card{background:#fff;border:1px solid #e3d9c8;border-radius:6px;padding:clamp(1.4rem,2.4vw,1.9rem);transition:transform .35s,box-shadow .35s,border-color .35s}
.cp-near-card:hover{transform:translateY(-4px);border-color:var(--rust);box-shadow:0 26px 44px -32px rgba(163,87,51,.45)}
.cp-near-card .nc-ico{width:46px;height:46px;border-radius:50%;background:#f4ece0;color:var(--rust);display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem}
.cp-near-card .nc-ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cp-near-card h3{font-family:'Yeseva One',serif;font-weight:400;font-size:clamp(1.05rem,1.7vw,1.25rem);color:var(--forest);margin-bottom:.45rem}
.cp-near-card p{font-family:'Montserrat',sans-serif;font-weight:300;font-size:clamp(.98rem,1.4vw,1.1rem);line-height:1.7;letter-spacing:.012em;color:var(--soft)}

@media(max-width:880px){
  .cp-grid{grid-template-columns:1fr}
  .cp-map,.cp-map iframe{min-height:340px}
  .cp-near-grid{grid-template-columns:1fr}
}
@media(pointer:coarse){
  .cp-rows a,.cp-social a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:520px){
  .cp-actions{flex-direction:column}
  .cp-btn{width:100%}
}
