/* ─── CONTACT PAGE ─── */

:root{ --err:#D4756A; --ok:#7AAD8A; }

#hero{
  position:relative;min-height:72vh;display:flex;align-items:flex-end;padding-top:140px;
  background:
    linear-gradient(to right,rgba(13,11,9,0.94) 0%,rgba(13,11,9,0.7) 50%,rgba(13,11,9,0.3) 100%),
    linear-gradient(to top,rgba(13,11,9,0.98) 0%,rgba(13,11,9,0.15) 52%,transparent 72%),
    url('https://images.unsplash.com/photo-1507652313519-d4e9174996dd?w=1600&q=80') center 40%/cover no-repeat;
}
.hc{position:relative;z-index:2;padding:0 80px 88px;max-width:1200px}
.hcrumb{display:flex;align-items:center;gap:10px;font-family:'Jost',sans-serif;font-weight:400;font-size:0.6rem;letter-spacing:0.35em;text-transform:uppercase;color:rgba(245,238,228,0.45);margin-bottom:24px;flex-wrap:wrap}
.hcrumb a{color:rgba(245,238,228,0.45);text-decoration:none;transition:color .3s}
.hcrumb a:hover{color:var(--gold)}
.hcsep{color:var(--gold);font-size:0.45rem;opacity:0.45}
.hccur{color:var(--gold)}
.heye{display:flex;align-items:center;gap:14px;font-family:'Jost',sans-serif;font-weight:400;font-size:0.6rem;letter-spacing:0.5em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.heye::before{content:'';width:34px;height:1px;background:var(--gold);display:block}
.hh1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.4rem,6vw,6.5rem);line-height:0.95;letter-spacing:-0.02em;color:var(--ivory);margin-bottom:18px}
.hh1 em{font-style:italic;color:var(--gold)}
.hsub{font-family:'Jost',sans-serif;font-weight:400;font-size:0.86rem;line-height:1.9;color:rgba(245,238,228,0.68);max-width:520px;letter-spacing:0.03em}
@keyframes up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.hcrumb{animation:up .7s .15s ease both}.heye{animation:up .7s .3s ease both}.hh1{animation:up .9s .45s ease both}.hsub{animation:up .8s .65s ease both}

/* QUICK STRIP */
#quick-strip{background:var(--charcoal);border-bottom:1px solid var(--border);padding:0; display:none}
.qs-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.qs-item{display:flex;align-items:center;gap:20px;padding:32px 48px;border-right:1px solid var(--border);text-decoration:none;transition:background .3s}
.qs-item:last-child{border-right:none}
.qs-item:hover{background:rgba(198,169,125,0.05)}
.qs-icon{width:48px;height:48px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--gold);flex-shrink:0;transition:background .3s,border-color .3s}
.qs-item:hover .qs-icon{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.qs-label{font-family:'Jost',sans-serif;font-weight:400;font-size:0.55rem;letter-spacing:0.42em;text-transform:uppercase;color:rgba(245,238,228,0.55);display:block;margin-bottom:5px}
.qs-value{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.15rem;color:var(--ivory);letter-spacing:0.03em;transition:color .3s;display:block}
.qs-item:hover .qs-value{color:var(--gold)}

/* MAIN CONTACT */
#contact-main{padding:96px 80px 120px;background:var(--ink)}
.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:start}

.form-panel{background:var(--charcoal);border:1px solid var(--border);padding:52px;position:relative;overflow:hidden}
.form-panel::before{content:'';position:absolute;top:-1px;left:-1px;width:32px;height:32px;border-top:2px solid var(--gold);border-left:2px solid var(--gold)}
.form-panel::after{content:'';position:absolute;bottom:-1px;right:-1px;width:32px;height:32px;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold)}
.form-panel-bg{position:absolute;bottom:-40px;right:-40px;font-family:'Cormorant Garamond',serif;font-size:14rem;font-weight:300;line-height:0.8;color:rgba(198,169,125,0.04);pointer-events:none;user-select:none;letter-spacing:-0.05em}
.fp-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:2rem;color:var(--ivory);letter-spacing:-0.01em;margin-bottom:6px;position:relative}
.fp-title em{font-style:italic;color:var(--gold)}
.fp-sub{font-family:'Jost',sans-serif;font-weight:400;font-size:0.76rem;color:rgba(245,238,228,0.5);margin-bottom:36px;line-height:1.7;letter-spacing:0.02em;position:relative}

.f-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.f-row.full{grid-template-columns:1fr}
.f-group{display:flex;flex-direction:column;gap:6px;position:relative}
.f-label{font-family:'Jost',sans-serif;font-weight:400;font-size:0.56rem;letter-spacing:0.42em;text-transform:uppercase;color:rgba(245,238,228,0.4);transition:color .3s}
.f-group.focused .f-label,.f-group.filled .f-label{color:var(--gold)}
.f-group.error .f-label{color:var(--err)}
.f-input,.f-select,.f-textarea{font-family:'Jost',sans-serif;font-weight:400;font-size:0.82rem;color:var(--ivory);background:rgba(245,238,228,0.04);border:1px solid var(--border);border-bottom:2px solid var(--border);padding:12px 14px;outline:none;letter-spacing:0.03em;transition:border-color .3s,background .3s;width:100%}
.f-input::placeholder,.f-textarea::placeholder{color:rgba(245,238,228,0.2)}
.f-input:focus,.f-select:focus,.f-textarea:focus{border-color:var(--border);border-bottom-color:var(--gold);background:rgba(198,169,125,0.04)}
.f-group.error .f-input,.f-group.error .f-select,.f-group.error .f-textarea{border-bottom-color:var(--err)}
.f-group.valid .f-input,.f-group.valid .f-select{border-bottom-color:var(--ok)}
.f-error{font-family:'Jost',sans-serif;font-weight:400;font-size:0.58rem;color:var(--err);letter-spacing:0.05em;display:none;margin-top:3px}
.f-group.error .f-error{display:block}
.f-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C6A97D' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-color:rgba(245,238,228,0.04)}
.f-select option{background:var(--charcoal);color:var(--ivory)}
.f-textarea{resize:vertical;min-height:120px}
.char-count{font-family:'Jost',sans-serif;font-weight:400;font-size:0.58rem;color:rgba(245,238,228,0.48);text-align:right;margin-top:4px;letter-spacing:0.05em;transition:color .3s}
.char-count.warn{color:var(--gold)}
.char-count.over{color:var(--err)}
.f-check-row{display:flex;align-items:flex-start;gap:10px;margin:14px 0 24px}
.f-checkbox{width:16px;height:16px;accent-color:var(--gold);flex-shrink:0;margin-top:2px}
.f-check-lbl{font-family:'Jost',sans-serif;font-weight:400;font-size:0.73rem;color:rgba(245,238,228,0.48);line-height:1.65;letter-spacing:0.02em}
.f-check-lbl a{color:var(--gold);text-decoration:none}

.submit-btn{font-family:'Jost',sans-serif;font-weight:500;font-size:0.62rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--ink);background:var(--gold);border:1px solid var(--gold);padding:16px 0;width:100%;position:relative;overflow:hidden;transition:color .45s;cursor:pointer}
.submit-btn::before{content:'';position:absolute;inset:0;background:var(--ink);transform:translateX(-101%);transition:transform .45s var(--ease)}
.submit-btn:hover{color:var(--gold)}
.submit-btn:hover::before{transform:translateX(0)}
.submit-btn span{position:relative;z-index:1}
.submit-btn.loading span::after{content:' …'}

.form-alert{padding:14px 18px;margin-bottom:20px;font-family:'Jost',sans-serif;font-weight:400;font-size:0.78rem;letter-spacing:0.03em;line-height:1.6;display:none;border-left:3px solid var(--gold)}
.form-alert.show{display:block}
.form-alert.success{background:rgba(122,173,138,0.1);border-left-color:var(--ok);color:rgba(245,238,228,0.8)}
.form-alert.error{background:rgba(212,117,106,0.1);border-left-color:var(--err);color:rgba(245,238,228,0.8)}

/* INFO PANEL */
.info-panel{display:flex;flex-direction:column;gap:28px}
.intro-card{background:var(--charcoal);border:1px solid var(--border);padding:40px 36px;position:relative;overflow:hidden}
.intro-card::before{content:'';position:absolute;top:-1px;left:-1px;width:24px;height:24px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}
.ic-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.5rem;color:var(--ivory);letter-spacing:-0.01em;margin-bottom:12px}
.ic-title em{font-style:italic;color:var(--gold)}
.ic-body{font-family:'Jost',sans-serif;font-weight:400;font-size:0.82rem;line-height:1.9;color:rgba(245,238,228,0.6);letter-spacing:0.02em}

.ci-block{background:var(--charcoal);border:1px solid var(--border);overflow:hidden}
.ci-row{display:flex;align-items:center;gap:18px;padding:18px 24px;border-bottom:1px solid var(--border);transition:background .3s}
.ci-row:last-child{border-bottom:none}
.ci-row:hover{background:rgba(198,169,125,0.05)}
.ci-icon{width:38px;height:38px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:0.85rem;flex-shrink:0;transition:background .3s,border-color .3s}
.ci-row:hover .ci-icon{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.ci-lbl{font-family:'Jost',sans-serif;font-weight:400;font-size:0.52rem;letter-spacing:0.4em;text-transform:uppercase;color:rgba(245,238,228,0.52);display:block;margin-bottom:3px}
.ci-val{font-family:'Jost',sans-serif;font-weight:400;font-size:0.82rem;color:rgba(245,238,228,0.75);letter-spacing:0.02em;text-decoration:none;line-height:1.5;transition:color .3s;display:block}
a.ci-val:hover{color:var(--gold)}

.hours-card{background:var(--charcoal);border:1px solid var(--border);padding:28px}
.hc-title{font-family:'Jost',sans-serif;font-weight:400;font-size:0.56rem;letter-spacing:0.46em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.hr-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--border);gap:10px}
.hr-row:last-child{border-bottom:none}
.hr-day{font-family:'Jost',sans-serif;font-weight:400;font-size:0.76rem;color:rgba(245,238,228,0.52);letter-spacing:0.03em;display:flex;align-items:center;gap:8px}
.hr-dot{width:5px;height:5px;border-radius:50%;background:rgba(198,169,125,0.25);flex-shrink:0}
.hr-open .hr-dot{background:var(--gold)}
.hr-open .hr-day{color:rgba(245,238,228,0.8)}
.hr-time{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:0.95rem;color:var(--ivory)}

.social-card{background:var(--warm);border:1px solid rgba(198,169,125,0.15);padding:28px}
.soc-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.95rem;color:rgba(245,238,228,0.6);margin-bottom:16px}
.soc-row{display:flex;gap:10px;flex-wrap:wrap}
.soc-btn{display:flex;align-items:center;gap:8px;font-family:'Jost',sans-serif;font-weight:400;font-size:0.58rem;letter-spacing:0.25em;text-transform:uppercase;color:rgba(245,238,228,0.55);text-decoration:none;border:1px solid var(--border);padding:9px 16px;transition:all .35s var(--ease);flex:1;justify-content:center;min-width:120px}
.soc-btn:hover{color:var(--gold);border-color:var(--gold);background:rgba(198,169,125,0.05)}

/* MAP */
#map-section{position:relative;overflow:hidden;border-top:1px solid var(--border)}
.map-container{position:relative}
.map-container iframe{display:block;width:100%;height:480px;border:none;filter:grayscale(100%) brightness(0.55) sepia(0.4) hue-rotate(5deg)}
.map-card{position:absolute;top:48px;left:80px;background:rgba(13,11,9,0.88);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);padding:32px 36px;max-width:320px;z-index:2}
.map-card::before{content:'';position:absolute;top:-1px;right:-1px;width:24px;height:24px;border-top:1px solid var(--gold);border-right:1px solid var(--gold)}
.mc-label{font-family:'Jost',sans-serif;font-weight:400;font-size:0.55rem;letter-spacing:0.42em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block}
.mc-name{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.3rem;color:var(--ivory);margin-bottom:10px}
.mc-addr{font-family:'Jost',sans-serif;font-weight:400;font-size:0.78rem;color:rgba(245,238,228,0.6);line-height:1.65;letter-spacing:0.02em;margin-bottom:20px}
.mc-link{display:inline-flex;align-items:center;gap:8px;font-family:'Jost',sans-serif;font-weight:400;font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);text-decoration:none;transition:gap .3s}
.mc-link::after{content:'→';transition:transform .3s}
.mc-link:hover{gap:14px}
.mc-link:hover::after{transform:translateX(4px)}

/* CONSULTATION INFO */
#consult-info{background:var(--charcoal);padding:100px 80px;border-top:1px solid var(--border)}
.ci-wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.ci-img{position:relative;overflow:hidden}
.ci-img img{width:100%;height:500px;object-fit:cover;object-position:center top;display:block;transition:transform .9s var(--ease)}
.ci-img:hover img{transform:scale(1.04)}
.ci-img-caption{position:absolute;bottom:22px;left:22px;right:22px;background:rgba(13,11,9,0.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);padding:20px 24px}
.ci-img-caption::before{content:'';position:absolute;top:-1px;left:-1px;width:20px;height:20px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}
.cic-q{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.92rem;color:var(--ivory);margin-bottom:4px}
.cic-by{font-family:'Jost',sans-serif;font-weight:400;font-size:0.62rem;color:rgba(245,238,228,0.42);letter-spacing:0.02em}
.ci-content{position:relative}
.sbody{font-family:'Jost',sans-serif;font-weight:400;font-size:0.88rem;line-height:1.9;color:rgba(245,238,228,0.62);margin-top:20px;letter-spacing:0.02em}
.sbody p{margin-bottom:16px}
.consult-steps{margin-top:32px;display:flex;flex-direction:column;gap:0}
.cstep{display:flex;gap:20px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--border);transition:padding .3s}
.cstep:first-child{border-top:1px solid var(--border)}
.cstep:hover{padding:20px 0 20px 8px}
.cstep-n{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;line-height:1;color:rgba(198,169,125,0.18);flex-shrink:0;width:40px;transition:color .3s}
.cstep:hover .cstep-n{color:var(--gold)}
.cstep h4{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.05rem;color:var(--ivory);margin-bottom:4px;letter-spacing:0.03em}
.cstep p{font-family:'Jost',sans-serif;font-weight:400;font-size:0.76rem;color:rgba(245,238,228,0.52);line-height:1.7;letter-spacing:0.02em}

/* OFFER */
#offer{background:var(--warm);padding:112px 80px;text-align:center;position:relative;overflow:hidden}
.oc{position:absolute;border-radius:50%;border:1px solid var(--border);pointer-events:none}
.oc1{width:440px;height:440px;top:50%;left:50%;transform:translate(-50%,-50%)}
.oc2{width:700px;height:700px;top:50%;left:50%;transform:translate(-50%,-50%)}
.obadge{display:inline-block;font-family:'Jost',sans-serif;font-weight:500;font-size:0.58rem;letter-spacing:0.55em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:7px 20px;margin-bottom:28px}
.oh2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.4rem,5vw,5.5rem);line-height:0.95;letter-spacing:-0.02em;color:var(--ivory);margin-bottom:16px}
.oh2 em{font-style:italic;color:var(--gold)}
.osub{font-family:'Jost',sans-serif;font-weight:400;font-size:0.84rem;color:rgba(245,238,228,0.62);letter-spacing:0.05em;line-height:1.8;margin-bottom:40px;max-width:320px;margin-left:auto;margin-right:auto}

/* RESPONSIVE */
@media(max-width:1100px){
  .contact-layout{grid-template-columns:1fr;gap:48px}
  .ci-wrap{grid-template-columns:1fr;gap:48px}
  .ci-img img{height:360px}
  .qs-grid{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:768px){
  #hero{min-height:66vh;padding-top:110px}
  .hc{padding:0 24px 60px;max-width:100%}
  .qs-grid{grid-template-columns:1fr}
  .qs-item{border-right:none;border-bottom:1px solid var(--border);padding:22px 28px}
  .qs-item:last-child{border-bottom:none}
  #contact-main{padding:56px 24px 80px}
  .form-panel{padding:32px 24px}
  .f-row{grid-template-columns:1fr}
  #consult-info{padding:72px 24px}
  .map-card{position:static;max-width:100%;margin:0}
  .map-container iframe{height:320px}
  #offer{padding:72px 24px}
}

/* ─── FAQ ─── */
#faq{background:var(--charcoal);padding:120px 80px}
.faq-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start}
.faq-left{position:sticky;top:100px}
.faq-intro{font-family:'Jost',sans-serif;font-weight:400;font-size:0.88rem;line-height:1.9;color:rgba(245,238,228,0.65);margin-top:20px;letter-spacing:0.02em}
.faq-list{margin-top:0}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:first-child{border-top:1px solid var(--border)}
.faq-q{width:100%;background:none;border:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;text-align:left}
.faq-q-text{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.15rem;color:var(--ivory);letter-spacing:0.02em;line-height:1.3;transition:color .3s}
.faq-item.open .faq-q-text{color:var(--gold)}
.faq-icon{width:32px;height:32px;flex-shrink:0;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:system-ui,sans-serif;font-weight:300;color:var(--gold);font-size:1.1rem;transition:transform .4s var(--ease-out),background .3s,border-color .3s;padding-bottom:2px}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--gold);color:var(--ink);border-color:var(--gold)}
.faq-a{overflow:hidden;max-height:0;transition:max-height .65s var(--ease-out),opacity .5s ease;opacity:0}
.faq-item.open .faq-a{max-height:600px;opacity:1}
.faq-a-inner{font-family:'Jost',sans-serif;font-weight:400;font-size:0.86rem;line-height:1.9;color:rgba(245,238,228,0.65);padding-bottom:26px;letter-spacing:0.02em}
.faq-a-inner strong{color:var(--ivory);font-weight:500}

@media(max-width:900px){
  .faq-wrap{grid-template-columns:1fr;gap:48px}
  .faq-left{position:static;width:100%;margin-bottom:24px}
  .faq-left .faq-intro {
    max-width: 100%;
  }
}