
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Manrope',sans-serif;background:#FDFCF9;color:#111318;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none}
button{font-family:inherit;cursor:pointer}

:root{
  --gold:#B07D3A;--gold2:#C9973F;--ink:#111318;--slate:#5A5F72;
  --sand:#F5F1E8;--sand2:#EDE8DC;--cream:#FDFCF9;
  --line:rgba(17,19,24,0.1);--pad:clamp(20px,5vw,64px);
}

/* REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}
.reveal.on{opacity:1;transform:translateY(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* NAV */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:300;
  height:76px;padding:0 var(--pad);
  display:flex;align-items:center;justify-content:space-between;
  transition:background .4s,box-shadow .4s;
  gap:24px;
}
#nav .nav-logo{flex-shrink:0}
#nav .nav-links{flex-shrink:0}
#nav.scrolled{
  background:rgba(253,252,249,.97);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--line);
}
.nav-logo{display:flex;align-items:center;gap:14px;text-decoration:none}
/* Brand text — dark when scrolled, white over hero */
.nav-brand-name{font-family:'Fraunces';font-size:16px;font-weight:600;letter-spacing:.04em;color:var(--ink);line-height:1.2;white-space:nowrap}
.nav-brand-sub{font-size:9px;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--slate);margin-top:2px;white-space:nowrap}
#nav:not(.scrolled) .nav-brand-name{color:#fff}
#nav:not(.scrolled) .nav-brand-sub{color:rgba(255,255,255,.55)}
#nav:not(.scrolled) .hamburger span{background:#fff}

/* Desktop nav links — BOLD + dark, white over hero */
.nav-links{display:flex;gap:36px;list-style:none;align-items:center}
.nav-links a{font-size:11.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);transition:color .2s}
.nav-links a:hover{color:var(--gold)}
#nav:not(.scrolled) .nav-links a{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55)}
#nav:not(.scrolled) .nav-links a:hover{color:var(--gold2)}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px}
.hamburger span{display:block;width:24px;height:1.5px;background:var(--ink);transition:all .3s}

/* Mobile menu */
.mobile-menu{
  display:none;position:fixed;top:70px;left:0;right:0;z-index:299;
  background:rgba(253,252,249,.98);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  flex-direction:column;padding:16px var(--pad) 24px;gap:0;
}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:14px 0;border-bottom:1px solid var(--line)}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu a:hover{color:var(--gold)}

/* HERO */
#hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.hero-left{display:flex;flex-direction:column;justify-content:space-between;padding:140px var(--pad) 0;background:var(--cream);position:relative;z-index:2}
.hero-right{position:relative;overflow:hidden;min-height:100vh}
.hero-right img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75);display:block}
.hero-right::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--cream) 0%,transparent 25%)}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.hero-eyebrow-line{width:32px;height:1.5px;background:var(--gold);flex-shrink:0}
.hero-eyebrow span{font-size:10px;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.hero-h1{font-family:'Fraunces';font-weight:300;font-size:clamp(44px,5.5vw,76px);line-height:1.0;letter-spacing:-.02em;color:var(--ink);margin-bottom:24px}
.hero-h1 em{font-style:italic;color:var(--gold);display:block}
.hero-h1 .ghost{color:rgba(17,19,24,.15)}
.hero-sub{font-size:15px;font-weight:300;line-height:1.8;color:var(--slate);max-width:390px;margin-bottom:36px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:52px}
.btn-solid{display:inline-block;padding:14px 36px;background:var(--ink);color:#fff;font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;border:none;transition:background .25s,transform .2s}
.btn-solid:hover{background:#2C2F3A;transform:translateY(-2px)}
.btn-outline{display:inline-block;padding:14px 36px;background:transparent;color:var(--ink);font-size:10px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;border:1.5px solid var(--line);transition:border-color .2s,color .2s}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}

/* SECTION COMMON */
.section{padding:96px var(--pad)}
.sec-label{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.sec-label-line{width:26px;height:1.5px;background:var(--gold);flex-shrink:0}
.sec-label span{font-size:10px;font-weight:300;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.sec-title{font-family:'Fraunces';font-weight:300;font-size:clamp(28px,3vw,44px);line-height:1.12;letter-spacing:-.01em}

/* APPROACH */
#approach{background:var(--sand)}
.ap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:52px}
.ap-card{background:var(--cream);padding:44px 38px;position:relative;overflow:hidden;transition:background .3s}
.ap-card:hover{background:#fff}
.ap-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.ap-card:hover::after{transform:scaleX(1)}
.ap-bg-n{position:absolute;right:10px;top:-8px;font-family:'Fraunces';font-size:96px;font-weight:600;color:rgba(17,19,24,.04);line-height:1;pointer-events:none;user-select:none}
.ap-icon{font-size:30px;margin-bottom:22px}
.ap-title{font-family:'Fraunces';font-size:20px;font-weight:500;margin-bottom:12px}
.ap-body{font-size:13.5px;font-weight:300;line-height:1.85;color:var(--slate)}

/* PORTFOLIO */
#portfolio{background:var(--cream)}
.port-top{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:44px}
.filter-wrap{display:flex;gap:6px;flex-wrap:wrap}
.f-btn{font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--line);background:transparent;color:var(--slate);padding:8px 18px;transition:all .2s}
.f-btn.active,.f-btn:hover{border-color:var(--gold);color:var(--gold);background:rgba(176,125,58,.06)}

/* Horizontal scroll carousel */
.deal-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
/* Cards wrap automatically — new WP properties just continue on next row */
.deal-row{
  background:var(--sand);
  overflow:hidden;
  position:relative;
  display:flex;
  flex-direction:column;
  transition:box-shadow .35s,transform .35s;
  min-width:0;
}
.deal-row:hover{
  box-shadow:0 12px 40px rgba(17,19,24,.1);
  transform:translateY(-3px);
}

.deal-photo{position:relative;overflow:hidden;height:220px;flex-shrink:0}
.deal-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .65s ease,filter .5s}
.deal-row:hover .deal-photo img{transform:scale(1.06);filter:saturate(1)}

.deal-badge{position:absolute;top:14px;left:14px;font-size:8.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:4px 12px;background:var(--gold);color:#fff}
.deal-badge.green{background:#27AE60}
.deal-badge.blue{background:#2F80C7}
.deal-badge.dark{background:var(--ink)}

.deal-info{padding:22px 24px 28px;display:flex;flex-direction:column;flex:1}
.deal-cat{font-size:9px;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.deal-name{font-family:'Fraunces';font-size:20px;font-weight:400;line-height:1.2;margin-bottom:4px}
.deal-loc{font-size:11px;font-weight:300;color:var(--slate);margin-bottom:16px}
.deal-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.chip{padding:5px 12px;background:var(--cream);border:1px solid var(--line);text-align:center}
.chip-val{font-family:'Fraunces';font-size:14px;font-weight:500;color:var(--ink);line-height:1}
.chip-key{font-size:7.5px;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-top:2px}
.deal-desc{font-size:12.5px;font-weight:300;line-height:1.75;color:var(--slate);border-top:1px solid var(--line);padding-top:12px;margin-top:auto}

.deal-arrow{position:absolute;right:14px;bottom:14px;width:34px;height:34px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--gold);transition:background .2s,border-color .2s,color .2s;background:var(--cream)}
.deal-row:hover .deal-arrow{background:var(--gold);border-color:var(--gold);color:#fff}

/* WP aliases — deal-grid = deal-list, deal-card = deal-row */
.deal-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.deal-card{
  background:var(--sand);
  overflow:hidden;
  position:relative;
  display:flex;
  flex-direction:column;
  transition:box-shadow .35s,transform .35s;
  min-width:0;
}
.deal-card:hover{
  box-shadow:0 12px 40px rgba(17,19,24,.1);
  transform:translateY(-3px);
}
.deal-card .deal-photo{position:relative;overflow:hidden;height:220px;flex-shrink:0}
.deal-card .deal-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .65s ease,filter .5s}
.deal-card:hover .deal-photo img{transform:scale(1.06);filter:saturate(1)}
.deal-card .deal-info{padding:22px 24px 28px;display:flex;flex-direction:column;flex:1}
.deal-card .deal-arrow{position:absolute;right:14px;bottom:14px;width:34px;height:34px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--gold);transition:background .2s,border-color .2s,color .2s;background:var(--cream)}
.deal-card:hover .deal-arrow{background:var(--gold);border-color:var(--gold);color:#fff}

/* SERVICES */
#services{background:var(--sand)}
.svc-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:52px;
  border:1px solid var(--line);
}
.svc-item{
  padding:28px 28px;
  display:flex;flex-direction:column;gap:0;
  background:var(--cream);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position:relative;overflow:hidden;
  transition:background .3s;
}
.svc-item:nth-child(3n){border-right:none}
.svc-item:nth-last-child(-n+3){border-bottom:none}
.svc-item:hover{background:#fff}
.svc-item::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform .4s ease;
}
.svc-item:hover::before{transform:scaleX(1)}
.svc-item-num{
  font-family:'Fraunces';font-size:52px;font-weight:300;
  color:rgba(17,19,24,.05);line-height:1;
  position:absolute;top:16px;right:20px;
}
.svc-ico{font-size:24px;margin-bottom:14px;display:block}
.svc-title{font-family:'Fraunces';font-size:16px;font-weight:500;color:var(--ink);margin-bottom:8px}
.svc-body{font-size:12.5px;font-weight:300;line-height:1.7;color:var(--slate)}



/* PROCESS */
#process{background:var(--cream)}
.proc-steps{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding-bottom:4px;
  cursor:grab;
  scrollbar-width:none;
  margin-top:52px;
}
.proc-steps::-webkit-scrollbar{display:none}
.proc-steps.dragging{cursor:grabbing;user-select:none}
.proc-step{
  flex:0 0 240px;width:240px;
  background:var(--sand);
  padding:36px 28px;
  scroll-snap-align:start;
  position:relative;overflow:hidden;
  transition:background .3s,box-shadow .3s;
  display:flex;flex-direction:column;gap:14px;
}
.proc-step:hover{background:var(--sand2);box-shadow:0 8px 24px rgba(17,19,24,.08)}
.proc-step::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform .45s ease;
}
.proc-step:hover::before{transform:scaleX(1)}
.proc-num-col{margin-bottom:4px}
.proc-num{font-family:'Fraunces';font-size:32px;font-weight:300;color:var(--gold);line-height:1}
.proc-icon{font-size:26px}
.proc-title{font-family:'Fraunces';font-size:16px;font-weight:500;color:var(--ink)}
.proc-text{font-size:12.5px;font-weight:300;line-height:1.7;color:var(--slate)}
.proc-content{display:none}

/* CONTACT */
#contact{position:relative;overflow:hidden;min-height:68vh;display:flex;align-items:center;justify-content:center}
.contact-bg{position:absolute;inset:0}
.contact-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.4) brightness(.4)}
.contact-bg::after{content:'';position:absolute;inset:0;background:rgba(17,19,24,.72)}
.contact-content{position:relative;z-index:2;text-align:center;padding:80px var(--pad);max-width:660px;margin:0 auto;width:100%}
.contact-tag{font-size:10px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:22px}
.contact-h2{font-family:'Fraunces';font-weight:300;font-size:clamp(38px,5.5vw,66px);line-height:.98;letter-spacing:-.02em;color:#fff;margin-bottom:36px}
.contact-h2 em{font-style:italic;color:var(--gold2)}
.contact-pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:44px}
.cpill{display:flex;align-items:center;gap:7px;padding:7px 17px;border:1px solid rgba(255,255,255,.12);font-size:11px;font-weight:300;color:rgba(255,255,255,.48)}
.cpill-dot{color:var(--gold2);font-size:11px}
.contact-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-gold-lg{display:inline-block;padding:15px 42px;background:var(--gold);color:#fff;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border:none;transition:background .2s,transform .2s}
.btn-gold-lg:hover{background:var(--gold2);transform:translateY(-2px)}
.btn-wht{display:inline-block;padding:15px 42px;background:transparent;color:rgba(255,255,255,.65);font-size:10px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;border:1.5px solid rgba(255,255,255,.2);transition:border-color .2s,color .2s}
.btn-wht:hover{border-color:rgba(255,255,255,.5);color:#fff}

/* FOOTER */
footer{background:var(--ink);padding:40px var(--pad);display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:20px;border-top:1px solid rgba(255,255,255,.06)}
.ft-brand{font-family:'Fraunces';font-size:12px;letter-spacing:.08em;color:rgba(255,255,255,.25)}
.ft-links{display:flex;gap:28px;flex-wrap:wrap}
.ft-links a{font-size:9.5px;font-weight:300;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.2);transition:color .2s}
.ft-links a:hover{color:var(--gold2)}
.ft-disc{font-size:9.5px;font-weight:300;color:rgba(255,255,255,.12);max-width:380px;line-height:1.65;width:100%}

/* MOBILE */
@media(max-width:900px){
  :root{--pad:22px}
  .nav-links{display:none}
  .hamburger{display:flex}

  #hero{grid-template-columns:1fr}
  .hero-left{
    padding:100px var(--pad) 0;
    position:relative;
    background-image:url('https://images.unsplash.com/photo-1486325212027-8081e485255e?w=900&q=60');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
  }
  .hero-left::before{
    content:'';
    position:absolute;inset:0;
    background:rgba(253,252,249,0.91);
    z-index:0;pointer-events:none;
  }
  .hero-left>*{position:relative;z-index:1}
  .hero-right{display:none}
  .hero-right{height:260px}
  .hero-right::after{background:linear-gradient(180deg,var(--cream) 0%,transparent 40%)}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
  .hero-stat:nth-child(2){border-right:none}
  .hero-stat:nth-child(3){border-top:1px solid var(--line);border-right:1px solid var(--line)}
  .hero-stat:nth-child(4){border-top:1px solid var(--line);border-right:none}

  .ap-grid{grid-template-columns:1fr}

  /* Portfolio mobile — 1 column */
  .deal-list{grid-template-columns:1fr}
  .deal-photo{height:200px}

  .svc-grid{grid-template-columns:1fr}

  .proc-step{flex:0 0 72vw;width:72vw}

  footer{flex-direction:column}
}

@media(max-width:540px){
  .hero-h1{font-size:36px}
  .hero-btns{flex-direction:column}
  .btn-solid,.btn-outline{text-align:center}
  .contact-h2{font-size:34px}
  .cpill{font-size:10px;padding:6px 11px}
  .proc-step:last-child{grid-column:span 2}
}

/* ── PAGE WRAP (contact / submit) ── */
.page-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.page-left{position:relative;overflow:hidden}
.page-left img{width:100%;height:100%;object-fit:cover;filter:saturate(.65) brightness(.55);display:block}
.page-left::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(17,19,24,.55) 0%,rgba(17,19,24,.25) 100%)}
.left-content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-start;padding:120px var(--pad) 60px}
.left-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.left-line{width:26px;height:1.5px;background:var(--gold2);flex-shrink:0}
.left-eyebrow span{font-size:10px;font-weight:300;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}
.left-h1{font-family:'Fraunces';font-weight:300;font-size:clamp(34px,3.8vw,52px);line-height:1.0;letter-spacing:-.02em;color:#fff;margin-bottom:14px}
.left-h1 em{font-style:italic;color:var(--gold2);display:block}
.left-sub{font-size:14px;font-weight:300;line-height:1.8;color:rgba(255,255,255,.52);max-width:320px}
.page-right{background:var(--cream);padding:120px var(--pad) 80px;display:flex;flex-direction:column;justify-content:center}
.form-heading{font-family:'Fraunces';font-weight:300;font-size:clamp(22px,2.2vw,30px);margin-bottom:6px}
.form-sub{font-size:13px;font-weight:300;color:var(--slate);margin-bottom:40px;line-height:1.7}
.cform{display:flex;flex-direction:column;gap:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-row.full{grid-template-columns:1fr}
.form-row.three{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
label .req{color:var(--gold);margin-left:2px}
input,select,textarea{width:100%;padding:12px 14px;background:#fff;border:1.5px solid var(--line);font-family:'Manrope';font-size:14px;font-weight:300;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none;border-radius:0}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,125,58,.08)}
input::placeholder,textarea::placeholder{color:rgba(90,95,114,.38)}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A5F72' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
textarea{resize:vertical;min-height:110px;line-height:1.6}
.form-submit,.btn-submit{padding:15px 48px;background:var(--gold);color:#fff;font-family:'Manrope';font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border:none;cursor:pointer;transition:background .2s,transform .2s;margin-top:4px;display:inline-block}
.form-submit:hover,.btn-submit:hover{background:var(--gold2);transform:translateY(-2px)}
.form-note{font-size:11px;font-weight:300;color:var(--slate);line-height:1.6;margin-top:4px}
.form-success{display:none;text-align:center;padding:60px 20px}
.form-success.show{display:block}
.success-icon{font-size:44px;margin-bottom:16px}
.success-title{font-family:'Fraunces';font-size:26px;font-weight:300;margin-bottom:10px}
.success-body{font-size:13px;font-weight:300;color:var(--slate);line-height:1.8;margin-bottom:28px}
.btn-back{display:inline-block;padding:13px 36px;background:var(--gold);color:#fff;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;transition:background .2s}
.btn-back:hover{background:var(--gold2)}
/* submit page */
.page-hero{min-height:44vh;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:100px var(--pad) 60px}
.page-hero-bg{position:absolute;inset:0}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.6) brightness(.4)}
.page-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(17,19,24,.7) 0%,rgba(17,19,24,.5) 100%)}
.page-hero-content{position:relative;z-index:2;max-width:640px}
.hero-eyebrow-line{width:28px;height:1.5px;background:var(--gold2);flex-shrink:0}
.page-h1{font-family:'Fraunces';font-weight:300;font-size:clamp(36px,5vw,62px);line-height:1.0;letter-spacing:-.02em;color:#fff;margin-bottom:14px}
.page-h1 em{font-style:italic;color:var(--gold2);display:block}
.page-sub{font-size:14px;font-weight:300;line-height:1.8;color:rgba(255,255,255,.55);max-width:440px}
.steps-bar{background:var(--ink);display:flex}
.step-item{flex:1;padding:20px 24px;display:flex;align-items:center;gap:14px;border-right:1px solid rgba(255,255,255,.07)}
.step-item:last-child{border-right:none}
.step-num{width:32px;height:32px;border:1px solid rgba(176,125,58,.35);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-size:14px;font-weight:500;color:var(--gold)}
.step-label{font-size:11px;font-weight:400;color:rgba(255,255,255,.45);letter-spacing:.06em}
.form-container{max-width:840px;margin:0 auto;padding:72px var(--pad) 96px}
.form-section{margin-bottom:48px}
.form-section-head{display:flex;align-items:center;gap:14px;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.form-section-num{width:36px;height:36px;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-size:16px;font-weight:500;color:var(--gold)}
.form-section-title{font-family:'Fraunces';font-size:20px;font-weight:400;color:var(--ink)}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.check-label{display:flex;align-items:center;gap:10px;padding:11px 15px;border:1.5px solid var(--line);background:#fff;cursor:pointer;transition:border-color .2s,background .2s;user-select:none}
.check-label:hover{border-color:rgba(176,125,58,.4);background:rgba(176,125,58,.03)}
.check-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--gold)}
.check-label span{font-size:13px;font-weight:300;color:var(--ink)}
.submit-area{background:var(--sand);padding:40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.submit-note{font-size:13px;font-weight:300;color:var(--slate);line-height:1.7;max-width:360px}
.submit-note strong{color:var(--ink);font-weight:500}
/* Nav submit button */
.nav-submit-btn{padding:9px 20px!important;border:1.5px solid var(--gold);color:var(--gold)!important}
/* Error state */
.field-error{border-color:#E74C3C!important}
/* Mobile contact/submit */
@media(max-width:860px){
  .page-wrap{grid-template-columns:1fr}
  .page-left{height:260px}
  .page-right{padding:48px var(--pad) 72px}
  .form-row,.form-row.three{grid-template-columns:1fr}
  .steps-bar{flex-direction:column}
  .check-grid{grid-template-columns:1fr}
  .submit-area{flex-direction:column;align-items:stretch}
  .btn-submit{text-align:center}
}
