/* Contact Us — modern dark editorial studio layout. */
.cc-contact-page{
  --cc-contact-surface:#0c0e0f;
  --cc-contact-panel:#111315;
  --cc-contact-panel-2:#0f1112;
  --cc-contact-line:rgba(217,187,119,.18);
  --cc-contact-line-soft:rgba(255,255,255,.075);
  --cc-contact-muted:#99948c;
  background:var(--cc-contact-surface);
  color:#f5f0e8;
  position:relative;
  overflow:clip;
}
.cc-contact-page .cc-container{position:relative;z-index:2}

/* Hero */
.cc-contact-hero{
  position:relative;
  isolation:isolate;
  min-height:clamp(500px,58vw,690px);
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid rgba(217,187,119,.13);
  background:
    radial-gradient(circle at 77% 47%,rgba(217,187,119,.075),transparent 18%),
    linear-gradient(115deg,#0b0d0e 0%,#0e1011 55%,#0d0e0f 100%);
}
.cc-contact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:88px 88px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 38%,#000 78%,transparent 100%);
  opacity:.45;
}
.cc-contact-hero-art{position:absolute;inset:0;z-index:0;pointer-events:none}
.cc-contact-hero-glow{
  position:absolute;
  width:clamp(360px,42vw,720px);
  aspect-ratio:1;
  right:-3%;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(217,187,119,.09) 0%,rgba(217,187,119,.035) 35%,transparent 70%);
  filter:blur(8px);
}
.cc-contact-hero-diamond{position:absolute;border:1px solid rgba(217,187,119,.13);transform:rotate(45deg)}
.cc-contact-hero-diamond--one{width:clamp(300px,32vw,560px);height:clamp(300px,32vw,560px);right:2%;top:6%}
.cc-contact-hero-diamond--two{width:clamp(150px,17vw,300px);height:clamp(150px,17vw,300px);right:12%;top:29%;border-color:rgba(217,187,119,.22)}
.cc-contact-hero-line{position:absolute;right:0;top:28%;width:29%;height:1px;background:linear-gradient(90deg,transparent,rgba(217,187,119,.35))}
.cc-contact-hero-inner{padding-block:clamp(105px,10vw,160px)}
.cc-contact-hero-copy{max-width:min(760px,65%);position:relative}
.cc-contact-kicker{display:flex;align-items:center;gap:16px;color:var(--cc-gold);font-size:9px;font-weight:700;letter-spacing:.27em;text-transform:uppercase}
.cc-contact-kicker span{display:block;width:42px;height:1px;background:var(--cc-gold)}
.cc-contact-hero h1{
  margin:28px 0 23px;
  max-width:730px;
  color:#f7f2e9;
  font:italic 400 clamp(62px,7vw,108px)/.94 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;
}
.cc-contact-hero-rule{width:96px;height:2px;background:var(--cc-gold);margin:0 0 35px}
.cc-contact-hero-intro{max-width:620px;color:#b9b3aa;font-size:clamp(14px,1.1vw,17px);line-height:1.85}
.cc-contact-hero-intro p{margin:0}

/* Studio section */
.cc-contact-studio{
  position:relative;
  isolation:isolate;
  padding-block:clamp(86px,9vw,145px);
  background:
    linear-gradient(180deg,#0c0e0f 0%,#101214 42%,#0b0d0e 100%);
  overflow:hidden;
}
.cc-contact-studio::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,187,119,.42),transparent);
  opacity:.5;
}
.cc-contact-studio-art{position:absolute;inset:0;z-index:0;pointer-events:none}
.cc-contact-studio-glow{
  position:absolute;
  width:650px;height:650px;
  right:-230px;top:15%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(217,187,119,.07),transparent 68%);
  filter:blur(12px);
}
.cc-contact-studio-shape{
  position:absolute;
  width:410px;height:410px;
  left:-260px;bottom:-170px;
  border:1px solid rgba(217,187,119,.08);
  transform:rotate(45deg);
}
.cc-contact-studio-heading{
  display:grid;
  grid-template-columns:minmax(180px,.4fr) minmax(0,1fr);
  align-items:end;
  gap:clamp(35px,7vw,110px);
  padding-bottom:clamp(38px,5vw,62px);
  margin-bottom:clamp(42px,5vw,72px);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.cc-contact-studio-label{display:flex;align-items:center;gap:18px}
.cc-contact-studio-label span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(217,187,119,.3);color:var(--cc-gold);font-size:9px}
.cc-contact-studio-label p{margin:0;color:#d4c6a4;font-size:9px;font-weight:700;letter-spacing:.24em}
.cc-contact-studio-deck{justify-self:end;max-width:620px;margin:0;color:#89857e;font-size:13px;line-height:1.8;text-align:right}
.cc-contact-studio-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:clamp(42px,6vw,88px);align-items:start}

/* Contact directory */
.cc-contact-directory{position:relative;padding:clamp(34px,4vw,58px) 0 0}
.cc-contact-directory::before{content:"";position:absolute;top:0;left:0;width:118px;height:1px;background:var(--cc-gold)}
.cc-contact-section-index{display:block;color:var(--cc-gold);font-size:8px;font-weight:700;letter-spacing:.26em;text-transform:uppercase}
.cc-contact-directory-intro h2{
  margin:19px 0 24px;
  color:#f4efe7;
  font:400 clamp(42px,4.6vw,70px)/.98 Georgia,'Times New Roman',serif;
  letter-spacing:-.05em;
}
.cc-contact-directory-intro h2 em{color:#d7bc7d;font-weight:400}
.cc-contact-directory-intro>div{max-width:520px;color:#96918a;font-size:13px;line-height:1.85}
.cc-contact-directory-intro p{margin:0}
.cc-contact-detail-list{margin-top:clamp(38px,4vw,56px);border-top:1px solid var(--cc-contact-line-soft)}
.cc-contact-detail{
  position:relative;
  display:grid;
  grid-template-columns:34px 44px minmax(0,1fr) 28px;
  align-items:center;
  gap:15px;
  min-height:94px;
  padding:18px 14px 18px 0;
  color:#eee9e1;
  border-bottom:1px solid var(--cc-contact-line-soft);
  transition:background .28s,border-color .28s,padding .28s;
}
.cc-contact-detail::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--cc-gold);transform:scaleY(0);transform-origin:center;transition:transform .28s}
.cc-contact-detail:hover{background:rgba(217,187,119,.035);border-color:rgba(217,187,119,.22);padding-left:14px}
.cc-contact-detail:hover::before{transform:scaleY(1)}
.cc-contact-detail-index{color:#5d5b57;font-size:8px;letter-spacing:.16em;text-align:center}
.cc-contact-detail-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(217,187,119,.19);color:var(--cc-gold)}
.cc-contact-detail-icon svg{width:16px;height:16px}
.cc-contact-detail-copy{min-width:0}
.cc-contact-detail-copy small{display:block;margin-bottom:7px;color:#77736d;font-size:8px;letter-spacing:.2em;text-transform:uppercase}
.cc-contact-detail-copy strong{display:block;color:#e1ddd5;font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}
.cc-contact-detail-arrow{display:grid;place-items:center;color:#6f6b64;transition:color .25s,transform .25s}
.cc-contact-detail-arrow svg{width:15px}
.cc-contact-detail:hover .cc-contact-detail-arrow{color:var(--cc-gold);transform:translateX(3px)}
.cc-contact-directory-foot{display:flex;align-items:center;gap:16px;margin-top:30px;color:#66625c}
.cc-contact-directory-foot span{width:54px;height:1px;background:rgba(217,187,119,.34)}
.cc-contact-directory-foot p{margin:0;font-size:8px;letter-spacing:.22em}

/* Form architecture */
.cc-contact-form-stage{
  position:relative;
  isolation:isolate;
  padding:clamp(34px,4.7vw,68px);
  border:1px solid rgba(217,187,119,.22);
  background:
    linear-gradient(145deg,rgba(19,21,22,.97),rgba(9,11,12,.985));
  box-shadow:0 35px 90px rgba(0,0,0,.26);
  overflow:hidden;
}
.cc-contact-form-stage::before{content:"";position:absolute;left:0;top:0;width:150px;height:2px;background:var(--cc-gold)}
.cc-contact-form-stage::after{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:-160px;bottom:-160px;
  border:1px solid rgba(217,187,119,.11);
  transform:rotate(45deg);
  pointer-events:none;
}
.cc-contact-form-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.07)}
.cc-contact-form-stage h2{
  margin:13px 0 0;
  color:#f6f0e8;
  font:italic 400 clamp(46px,5vw,76px)/.98 Georgia,'Times New Roman',serif;
  letter-spacing:-.05em;
}
.cc-contact-form-monogram{font:italic 400 48px/1 Georgia,serif;color:rgba(217,187,119,.16)}
.cc-contact-form-lead{max-width:620px;margin:27px 0 35px;color:#918c84;font-size:13px;line-height:1.8}
.cc-contact-form{position:relative;z-index:2}
.cc-contact-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px 18px}
.cc-contact-field--half{grid-column:span 6}
.cc-contact-field--full{grid-column:1/-1}
.cc-contact-field label{display:block;margin-bottom:9px;color:#8f8a83;font-size:8px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.cc-contact-field label span{color:var(--cc-gold);margin-left:3px}
.cc-contact-field input,.cc-contact-field textarea,.cc-contact-field select{
  width:100%;
  min-width:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:0;
  background:#090b0c;
  color:#f3eee6;
  padding:17px 18px;
  outline:none;
  font:400 14px/1.5 Arial,Helvetica,sans-serif;
  transition:border-color .24s,box-shadow .24s,background .24s;
}
.cc-contact-field input,.cc-contact-field select{min-height:58px}
.cc-contact-field textarea{min-height:166px;resize:vertical}
.cc-contact-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#a98a50 50%),linear-gradient(135deg,#a98a50 50%,transparent 50%);background-position:calc(100% - 20px) 25px,calc(100% - 15px) 25px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:48px}
.cc-contact-field input::placeholder,.cc-contact-field textarea::placeholder{color:#5f5c57}
.cc-contact-field input:focus,.cc-contact-field textarea:focus,.cc-contact-field select:focus{border-color:rgba(217,187,119,.7);background:#0d0f10;box-shadow:0 0 0 1px rgba(217,187,119,.06),0 0 36px rgba(217,187,119,.045)}
.cc-contact-form-actions{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.07)}
.cc-contact-form-actions>p{max-width:360px;margin:0;color:#696660;font-size:10px;line-height:1.7;letter-spacing:.04em}
.cc-contact-submit{display:inline-flex;align-items:stretch;min-height:58px;padding:0;border:1px solid var(--cc-gold);background:transparent;color:#f5f0e7;cursor:pointer;text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:700;transition:background .25s,color .25s,opacity .25s}
.cc-contact-submit-label{display:flex;align-items:center;padding:0 26px;white-space:nowrap}
.cc-contact-submit-icon{width:58px;display:grid;place-items:center;background:var(--cc-gold);color:#111}
.cc-contact-submit-icon svg{width:17px;transition:transform .25s}
.cc-contact-submit:hover{background:var(--cc-gold);color:#111}
.cc-contact-submit:hover .cc-contact-submit-icon svg{transform:translateX(4px)}
.cc-contact-submit:disabled{opacity:.58;cursor:wait}
.cc-contact-submit.is-loading .cc-contact-submit-icon svg{animation:ccContactPulse 1s ease-in-out infinite}
@keyframes ccContactPulse{0%,100%{transform:translateX(0);opacity:.65}50%{transform:translateX(5px);opacity:1}}
.cc-contact-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* AJAX success/error popup */
.cc-contact-popup{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px}
.cc-contact-popup[hidden]{display:none!important}
.cc-contact-popup-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(2,3,3,.78);backdrop-filter:blur(8px);cursor:pointer}
.cc-contact-popup-dialog{
  position:relative;
  z-index:2;
  width:min(520px,100%);
  padding:48px 46px 42px;
  border:1px solid rgba(217,187,119,.31);
  background:linear-gradient(145deg,#141617,#0c0e0f);
  box-shadow:0 40px 120px rgba(0,0,0,.55),0 0 70px rgba(217,187,119,.06);
  text-align:center;
  overflow:hidden;
}
.cc-contact-popup-dialog::before,.cc-contact-popup-dialog::after{content:"";position:absolute;border:1px solid rgba(217,187,119,.12);width:170px;height:170px;transform:rotate(45deg);pointer-events:none}
.cc-contact-popup-dialog::before{right:-105px;top:-105px}.cc-contact-popup-dialog::after{left:-130px;bottom:-130px}
.cc-contact-popup-symbol{display:block;width:18px;height:18px;margin:0 auto 24px;border:1px solid var(--cc-gold);transform:rotate(45deg);box-shadow:0 0 30px rgba(217,187,119,.17)}
.cc-contact-popup.is-error .cc-contact-popup-symbol{border-color:#b87777;box-shadow:0 0 28px rgba(184,119,119,.14)}
.cc-contact-popup-kicker{display:block;color:var(--cc-gold);font-size:8px;font-weight:700;letter-spacing:.26em;margin-bottom:12px}
.cc-contact-popup-dialog h3{margin:0;color:#f4efe7;font:italic 400 clamp(38px,6vw,54px)/1 Georgia,serif;letter-spacing:-.04em}
.cc-contact-popup-dialog p{max-width:390px;margin:18px auto 28px;color:#aaa49b;font-size:13px;line-height:1.75}
.cc-contact-popup-close{display:inline-flex;align-items:center;gap:18px;min-height:44px;padding:0 16px 0 20px;border:1px solid rgba(217,187,119,.32);background:transparent;color:#e9e3da;text-transform:uppercase;font-size:8px;letter-spacing:.18em;cursor:pointer}
.cc-contact-popup-close span:last-child{display:grid;place-items:center;width:28px;height:28px;background:var(--cc-gold);color:#111}
.cc-contact-popup-close svg{width:12px;height:12px}
body.cc-contact-popup-open{overflow:hidden}

@media(max-width:1100px){
  .cc-contact-hero-copy{max-width:72%}
  .cc-contact-studio-grid{grid-template-columns:1fr;gap:62px}
  .cc-contact-directory{max-width:780px}
  .cc-contact-detail-list{display:grid;grid-template-columns:1fr 1fr;border-top:0;gap:0 24px}
  .cc-contact-detail{border-top:1px solid var(--cc-contact-line-soft)}
  .cc-contact-studio-deck{max-width:520px}
}

@media(max-width:760px){
  .cc-contact-hero{min-height:auto}
  .cc-contact-hero-inner{padding-block:86px 92px}
  .cc-contact-hero-copy{max-width:100%}
  .cc-contact-hero h1{font-size:clamp(58px,17vw,88px)}
  .cc-contact-hero-intro{max-width:520px;font-size:15px}
  .cc-contact-hero-diamond--one{right:-44%;top:10%;opacity:.75}
  .cc-contact-hero-diamond--two{right:-10%;top:32%;opacity:.8}
  .cc-contact-hero-glow{right:-42%;width:520px}
  .cc-contact-studio{padding-block:76px 92px}
  .cc-contact-studio-heading{grid-template-columns:1fr;gap:22px;margin-bottom:48px}
  .cc-contact-studio-deck{justify-self:start;text-align:left}
  .cc-contact-directory{padding-top:30px}
  .cc-contact-directory-intro h2{font-size:clamp(43px,12vw,62px)}
  .cc-contact-detail-list{display:block}
  .cc-contact-detail{grid-template-columns:28px 40px minmax(0,1fr) 24px;gap:10px;min-height:88px}
  .cc-contact-form-stage{padding:32px 22px}
  .cc-contact-form-stage h2{font-size:clamp(46px,14vw,66px)}
  .cc-contact-form-monogram{font-size:36px}
  .cc-contact-field--half,.cc-contact-field--full{grid-column:1/-1}
  .cc-contact-form-actions{align-items:flex-start;flex-direction:column}
  .cc-contact-submit{width:100%;justify-content:space-between}
  .cc-contact-popup-dialog{padding:40px 24px 34px}
}
