
:root{
  --paper:#f5f1eb;
  --ink:#171717;
  --gold:#9d8140;
  --line:#d9d0c3;
  --olive:#68622a;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink)}
body{font-family:"DM Sans",sans-serif;font-weight:300}
.master-header{
  height:94px;display:flex;align-items:center;border-bottom:1px solid #ddd5ca;
  padding:0 50px;background:var(--paper);
}
.brand-mark{display:flex;align-items:center;width:300px}
.brand-mark img{width:190px;height:auto;display:block}
.master-header nav{margin-left:auto;display:flex;align-items:center;gap:52px}
.master-header nav a{
  color:#171717;text-decoration:none;font-size:12px;letter-spacing:.19em;
  font-weight:400;padding:9px 0;position:relative;white-space:nowrap
}
.master-header nav a.active:not(.begin){transform:translateY(-2px)}
.master-header nav a.active:not(.begin)::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold)
}
.master-header nav .begin{
  border:1px solid #a49b8e;padding:18px 26px;
}
.master-header nav .begin.active{
  border-color:var(--gold);color:var(--gold);transform:translateY(-2px)
}

.project-page{
  min-height:1040px;display:grid;grid-template-columns:32% 68%;border-bottom:1px solid var(--line)
}
.project-left{border-right:1px solid var(--line);padding:78px 56px 0;display:flex;flex-direction:column}
.left-inner{max-width:390px}
.eyebrow{font-size:11px;letter-spacing:.18em;color:#776229;font-weight:400}
.gold-rule{width:38px;height:1px;background:var(--gold);margin:18px 0 34px}
.project-left h1{
  font-family:"Cormorant Garamond",serif;font-size:62px;line-height:.91;
  font-weight:400;letter-spacing:-.025em;margin:0 0 32px
}
.project-left p{font-family:"Cormorant Garamond",serif;font-size:16px;line-height:1.55;margin:0 0 22px}
.project-left .script{font-size:20px;font-style:italic;color:#8e753b;margin-top:8px}
.cities{margin-top:auto;padding-bottom:105px;letter-spacing:.34em;font-size:11px}
.cities .hairline{height:1px;background:var(--line);margin-bottom:44px;width:100%}
.cities span{margin:0 18px;color:#8e877e}

.project-right{padding:34px 62px 24px 56px}
.visual-form{max-width:1000px;margin:0 auto}
.visual-form h2,.next h2{
  font-family:"Cormorant Garamond",serif;font-weight:400;font-size:24px;line-height:1;margin:0 0 16px
}
.service-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:16px}
.choice-card{
  min-height:205px;border:1px solid var(--line);position:relative;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;cursor:pointer;padding:22px 14px 18px;background:transparent
}
.choice-card input{position:absolute;opacity:0;pointer-events:none}
.choice-card.selected{border-color:var(--gold)}
.choice-card .check{
  display:none;position:absolute;right:13px;top:12px;width:19px;height:19px;border-radius:50%;
  background:var(--olive);color:#fff;font-size:12px;line-height:19px;text-align:center
}
.choice-card.selected .check{display:block}
.line-icon{width:47px;height:47px;fill:none;stroke:var(--gold);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;margin-bottom:13px}
.choice-copy{font-family:"Cormorant Garamond",serif;font-size:17px;line-height:1.08;margin-bottom:12px}
.choice-name{font-size:9px;line-height:1.35;letter-spacing:.15em;color:#8d7435;font-weight:400}

.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.contact-grid input,.contact-grid textarea{
  width:100%;border:1px solid var(--line);background:transparent;border-radius:0;
  font:300 11px/1.3 "DM Sans",sans-serif;color:var(--ink);padding:12px 14px;outline:none
}
.contact-grid input{height:43px}
.contact-grid textarea{resize:none;height:57px}
.contact-grid .full{grid-column:1/-1}
.contact-grid ::placeholder{color:#262626;opacity:1}

.choice-groups{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;margin-top:2px}
fieldset{border:0;padding:0;margin:0}
legend{font-size:11px;margin-bottom:9px;font-weight:400}
.mini-options{display:grid;gap:0}
.mini-options.five{grid-template-columns:repeat(5,1fr)}
.mini-options.four{grid-template-columns:repeat(4,1fr)}
.mini-options label{
  min-height:59px;border:1px solid var(--line);border-right:0;display:flex;align-items:center;justify-content:center;
  text-align:center;font-size:10px;line-height:1.3;cursor:pointer
}
.mini-options label:last-child{border-right:1px solid var(--line)}
.mini-options input{position:absolute;opacity:0}
.mini-options label:has(input:checked){outline:1px solid var(--gold);outline-offset:-1px;background:#f1ece3}

.conversation{
  margin-top:15px;width:100%;height:48px;border:0;background:#676126;color:#fff;
  font:400 11px "DM Sans",sans-serif;letter-spacing:.18em;cursor:pointer
}
.conversation span{font-size:19px;margin-left:15px;vertical-align:-1px}

.next{margin-top:22px}
.next h2{font-size:22px;margin-bottom:10px}
.next-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.next-grid p{
  margin:0;padding:0 24px 0 0;font-family:"Cormorant Garamond",serif;font-size:14px;line-height:1.35
}
.next-grid p+ p{border-left:1px solid var(--line);padding-left:25px}
.closing{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}
.closing p{
  font-family:"Cormorant Garamond",serif;font-size:18px;line-height:1.18;font-style:italic;color:#8d7435;margin:0
}

.project-footer{
  min-height:94px;display:flex;flex-direction:column;justify-content:center;align-items:center;
  gap:16px;background:var(--paper);font-size:9px;letter-spacing:.18em
}
.project-footer nav{display:flex;gap:58px}
.project-footer a{text-decoration:none;color:#171717}
.project-footer div{color:#9b8c69;font-size:8px}
.project-footer span{margin:0 10px}

@media(max-width:1100px){
  .master-header{padding:0 24px}.master-header nav{gap:20px}
  .project-page{grid-template-columns:35% 65%}
  .project-left{padding-left:34px;padding-right:34px}
  .project-right{padding-left:34px;padding-right:34px}
  .project-left h1{font-size:54px}
}
@media(max-width:800px){
  .master-header{height:auto;min-height:84px;flex-wrap:wrap;padding:18px 22px}
  .brand-mark{width:100%;margin-bottom:12px}.master-header nav{margin:0;gap:16px;flex-wrap:wrap}
  .master-header nav .begin{padding:10px 12px}
  .project-page{display:block}.project-left{border-right:0;border-bottom:1px solid var(--line);padding:55px 28px}
  .project-left .left-inner > p:not(.script) br{display:none}
  .cities{padding-bottom:0;margin-top:55px}.project-right{padding:42px 24px}
  .service-choices{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}
  .contact-grid .full{grid-column:auto}.choice-groups{grid-template-columns:1fr}
  .next-grid{grid-template-columns:1fr;gap:18px}.next-grid p+p{border-left:0;padding-left:0}
  .project-footer nav{gap:18px;flex-wrap:wrap;justify-content:center}
}


/* ==========================================================
   BEGIN YOUR PROJECT — APPROVED REVISED INTAKE AREA
   Everything below BEGIN THE CONVERSATION remains original.
   ========================================================== */

.involvement{
  border:0;
  padding:0;
  margin:0 0 8px;
}
.involvement legend{
  font-size:11px;
  margin-bottom:9px;
  font-weight:400;
}
.involvement-options{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.involvement-options label{
  min-height:40px;
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:10px;
  line-height:1.3;
  cursor:pointer;
}
.involvement-options input{
  position:absolute;
  opacity:0;
}
.involvement-options label:has(input:checked){
  outline:1px solid var(--gold);
  outline-offset:-1px;
  background:#f1ece3;
}

.photo-upload{
  margin-top:12px;
}
.upload-heading{
  color:var(--gold);
  font-size:9px;
  letter-spacing:.08em;
  font-weight:400;
  margin-bottom:7px;
}
.photo-upload>p{
  margin:0 0 10px;
  font-family:"Cormorant Garamond",serif;
  font-size:12px;
  line-height:1.35;
}
.upload-box{
  min-height:64px;
  border:1px dashed var(--gold);
  display:flex;
  align-items:center;
  padding:0 24px;
  cursor:pointer;
}
.upload-box input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.upload-box svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:var(--gold);
  stroke-width:1.4;
  stroke-linecap:round;
  stroke-linejoin:round;
  margin-right:18px;
}
.upload-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-family:"DM Sans",sans-serif;
}
.upload-copy strong{
  font-size:9px;
  font-weight:400;
  letter-spacing:.06em;
}
.upload-copy small{
  font-size:8px;
  color:#6f6a63;
  font-weight:300;
}

/* Maintain the compact PDF-like sequence in the revised intake block */
.contact-grid{
  margin-bottom:8px;
}
.choice-groups{
  margin-top:6px;
}
.conversation{
  margin-top:14px;
}

@media(max-width:800px){
  .involvement-options{grid-template-columns:1fr}
}

/* Functional form additions */
.bot-field,.netlify-file-schema{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.visual-form input:focus,.visual-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 1px rgba(157,129,64,.12)}
.visual-form input:invalid:not(:placeholder-shown),
.visual-form textarea:invalid:not(:placeholder-shown){border-color:#9d6a60}
.photo-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.photo-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);padding:6px 8px;font-size:8px;line-height:1.2;background:#f1ece3}
.photo-chip button{border:0;background:transparent;color:var(--gold);font-size:14px;line-height:1;padding:0;cursor:pointer}
.conversation:disabled{opacity:.7;cursor:wait}
.form-status{min-height:0;margin-top:12px;font:300 11px/1.5 "DM Sans",sans-serif}
.form-status.success{border:1px solid rgba(104,98,42,.42);padding:14px 16px;color:#4d4a2b;background:#f1ede1}
.form-status.success strong{font-family:"Cormorant Garamond",serif;font-size:18px;font-weight:400;margin-right:4px}
.form-status.error{color:#8a3f34;padding:8px 0}

/* Persistent form labels: questions remain visible after typing */
.persistent-fields{
  gap:8px;
}
.field-wrap{
  position:relative;
  display:block;
  border:1px solid var(--line);
  background:transparent;
  min-height:54px;
  padding:19px 14px 7px;
}
.field-wrap.full{grid-column:1/-1}
.field-wrap.textarea-wrap{
  min-height:70px;
  padding-top:20px;
}
.field-label{
  position:absolute;
  top:7px;
  left:14px;
  font:400 8px/1.1 "DM Sans",sans-serif;
  color:#2a2927;
  pointer-events:none;
}
.field-wrap input,
.field-wrap textarea{
  width:100%;
  border:0 !important;
  outline:0;
  background:transparent;
  padding:0 !important;
  margin:0;
  box-shadow:none !important;
  font:300 11px/1.35 "DM Sans",sans-serif;
  color:var(--ink);
}
.field-wrap input{height:22px}
.field-wrap textarea{
  display:block;
  min-height:38px;
  resize:vertical;
}
.field-wrap:focus-within{
  border-color:var(--gold);
  box-shadow:0 0 0 1px rgba(157,129,64,.12);
}
.field-wrap:has(input:invalid:not(:focus):not(:placeholder-shown)),
.field-wrap:has(textarea:invalid:not(:focus):not(:placeholder-shown)){
  border-color:var(--line);
}



/* ==========================================================
   BEGIN YOUR PROJECT — SUBSECTION-WIDE TYPOGRAPHY AUDIT
   Mirrors the established website serif / sans-serif hierarchy.
   ========================================================== */

/* EDITORIAL SERIF — titles, conversational copy, expressive copy */
.project-left h1,
.visual-form > h2,
.choice-copy,
.next h2,
.next-grid p,
.photo-upload > p,
.closing p{
  font-family:"Cormorant Garamond", Georgia, serif !important;
  font-weight:400 !important;
}

/* Left-side narrative is editorial body copy */
.project-left .left-inner > p:not(.script){
  font-family:"Cormorant Garamond", Georgia, serif !important;
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
}

/* Expressive italic serif moments */
.project-left .script,
.closing p{
  font-family:"Cormorant Garamond", Georgia, serif !important;
  font-style:italic !important;
  font-weight:400 !important;
}

/* Top form question follows editorial hierarchy */
.visual-form > h2{
  font-size:27px !important;
  line-height:1.05 !important;
  margin-bottom:18px !important;
}

/* Service-card conversational wording */
.choice-copy{
  font-size:18px !important;
  line-height:1.08 !important;
  margin-bottom:13px !important;
}

/* Utility / navigation language remains DM Sans */
.eyebrow,
.cities,
.choice-name,
.field-label,
.field-wrap input,
.field-wrap textarea,
.involvement legend,
.involvement-options label,
.choice-groups legend,
.mini-options label,
.upload-heading,
.upload-copy,
.conversation,
.form-status{
  font-family:"DM Sans", Arial, sans-serif !important;
}

/* Small uppercase / utility treatments */
.eyebrow{
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:400 !important;
  letter-spacing:.18em !important;
}
.choice-name{
  font-size:9px !important;
  line-height:1.35 !important;
  font-weight:400 !important;
  letter-spacing:.15em !important;
}
.upload-heading{
  font-size:10px !important;
  line-height:1.25 !important;
  font-weight:400 !important;
  letter-spacing:.10em !important;
}
.upload-copy strong{
  font-family:"DM Sans", Arial, sans-serif !important;
  font-size:11px !important;
  font-weight:400 !important;
  letter-spacing:.06em !important;
}
.upload-copy small{
  font-family:"DM Sans", Arial, sans-serif !important;
  font-size:10px !important;
  line-height:1.3 !important;
  font-weight:300 !important;
}

/* Persistent questions inside the form — same scale as the choice text below */
.field-label{
  top:10px !important;
  left:16px !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  color:var(--ink) !important;
}

/* User-entered answers — sans, readable, subordinate but never tiny */
.field-wrap input,
.field-wrap textarea{
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:300 !important;
  letter-spacing:0 !important;
  color:var(--ink) !important;
}

/* Preserve enough space for question + answer */
.field-wrap{
  min-height:64px !important;
  padding:32px 16px 10px !important;
}
.field-wrap.textarea-wrap{
  min-height:96px !important;
  padding-top:33px !important;
}
.field-wrap input{height:24px !important}
.field-wrap textarea{min-height:50px !important}

/* Selection-question labels */
.involvement legend,
.choice-groups legend{
  font-size:12px !important;
  line-height:1.3 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  margin-bottom:10px !important;
}

/* Selection answers — same sans scale as form questions */
.involvement-options label{
  font-size:12px !important;
  line-height:1.3 !important;
  font-weight:300 !important;
  letter-spacing:0 !important;
}

/* Investment / timing controls stay utility sans, slightly smaller because of density */
.mini-options label{
  font-size:10.5px !important;
  line-height:1.28 !important;
  font-weight:300 !important;
  letter-spacing:0 !important;
}

/* Photo-upload encouragement is editorial serif, like the site's descriptive captions */
.photo-upload > p{
  font-size:14px !important;
  line-height:1.4 !important;
  margin-bottom:11px !important;
}

/* Lower original design remains editorial */
.next h2{
  font-size:24px !important;
  line-height:1.05 !important;
}
.next-grid p{
  font-size:14px !important;
  line-height:1.4 !important;
}
.closing p{
  font-size:18px !important;
  line-height:1.2 !important;
}

/* CTA remains utility sans */
.conversation{
  font-size:11px !important;
  font-weight:400 !important;
  letter-spacing:.18em !important;
}


/* BEGIN YOUR PROJECT — supporting body copy typography correction
   These are explanatory/supporting copy, so they follow the site's DM Sans body rule.
   Wording, placement, sizing, spacing, and functionality are unchanged. */
.project-left .left-inner > p:not(.script),
.next-grid p{
  font-family:"DM Sans", Arial, sans-serif !important;
  font-style:normal !important;
  font-weight:300 !important;
}

/* 3C MOBILE NAVIGATION — mobile only; desktop header remains unchanged */
.mobile-menu-toggle,.mobile-menu{display:none}
@media(max-width:900px){
  .master-header{flex-wrap:nowrap!important;min-height:72px!important;height:72px!important;padding:0 16px!important}
  .master-header nav{margin-left:auto!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important}
  .master-header nav>a:not(.begin){display:none!important}
  .master-header nav .begin{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;font-size:9px!important;letter-spacing:.12em!important;padding:11px 12px!important}
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;background:transparent;color:#17191a;cursor:pointer;flex:0 0 36px}
  .mobile-menu-toggle span,.mobile-menu-toggle span:before,.mobile-menu-toggle span:after{display:block;width:20px;height:1px;background:currentColor;position:relative;content:"";transition:transform .18s ease,opacity .18s ease}
  .mobile-menu-toggle span:before{position:absolute;top:-6px;left:0}
  .mobile-menu-toggle span:after{position:absolute;top:6px;left:0}
  .mobile-menu-toggle[aria-expanded="true"] span{background:transparent}
  .mobile-menu-toggle[aria-expanded="true"] span:before{top:0;transform:rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"] span:after{top:0;transform:rotate(-45deg)}
  .mobile-menu{display:block;position:fixed;left:0;right:0;top:72px;z-index:49;background:#f5f1ed;border-top:1px solid rgba(68,71,74,.08);border-bottom:1px solid rgba(68,71,74,.14);padding:24px 22px 28px;box-shadow:0 12px 30px rgba(0,0,0,.08)}
  .mobile-menu[hidden]{display:none!important}
  .mobile-menu a{display:block;padding:14px 4px;font-family:"DM Sans",Arial,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(68,71,74,.12)}
  .mobile-menu a:last-child{border-bottom:0}
  body.mobile-menu-open{overflow:hidden}
}
@media(max-width:430px){
  .master-header{padding:0 12px!important}
  .master-header nav{gap:5px!important}
  .master-header nav .begin{font-size:8.5px!important;padding:10px 9px!important}
  .mobile-menu-toggle{width:32px;height:34px;flex-basis:32px}
  .mobile-menu-toggle span,.mobile-menu-toggle span:before,.mobile-menu-toggle span:after{width:18px}
  .brand-mark{max-width:168px!important;flex-basis:168px!important}
}
@media(max-width:390px){
  .brand-mark{max-width:155px!important;flex-basis:155px!important}
  .brand-mark img{max-width:155px!important;width:155px!important}
  .master-header nav .begin{font-size:8px!important;padding:9px 7px!important}
}
