:root{
  --bg:#FEFDFB; --bg-alt:#FAF8F5; --fg:#2A2B27; --fg-soft:#6B6E68;
  --border:rgba(94,110,98,0.18); --sage:#8A9A8E; --deep-sage:#5E6E62; --rose:#C99B98;
  --font-display:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-body:'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#1C1E1B; --bg-alt:#242622; --fg:#F1EFE9; --fg-soft:#B6BAB3;
    --border:rgba(255,255,255,0.14); --sage:#9FB3A2; --deep-sage:#C3D6C4; --rose:#E3BBB7;
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --bg:#1C1E1B; --bg-alt:#242622; --fg:#F1EFE9; --fg-soft:#B6BAB3;
  --border:rgba(255,255,255,0.14); --sage:#9FB3A2; --deep-sage:#C3D6C4; --rose:#E3BBB7;
  color-scheme: dark;
}
*{box-sizing:border-box;}
body{margin:0; background:var(--bg); color:var(--fg); font-family:var(--font-body); line-height:1.7;}
a{color:inherit; text-decoration:none;}
h1,h2,h3,h4{text-wrap:balance;}
img{max-width:100%;}

/* Nav */
.site-header{position:sticky; top:0; z-index:10; background:var(--bg); border-bottom:1px solid var(--border);}
.nav-inner{max-width:1200px; margin:0 auto; padding:18px 40px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.brand{font-family:var(--font-display); font-size:1.4rem; font-weight:500; color:var(--deep-sage); display:flex; flex-direction:column; line-height:1.25;}
.brand span{font-family:var(--font-body); font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--fg-soft); font-weight:500;}
.nav-links{display:flex; gap:26px; flex-wrap:wrap;}
.nav-links a{font-size:0.92rem; color:var(--fg-soft); font-weight:500; padding-block:4px; border-bottom:1px solid transparent;}
.nav-links a:hover{color:var(--deep-sage);}
.nav-links a.active{color:var(--deep-sage); border-bottom-color:var(--sage);}
.nav-dropdown{position:relative;}
.nav-dropdown summary{cursor:pointer; font-size:0.92rem; color:var(--fg-soft); font-weight:500; list-style:none; padding-block:4px; border-bottom:1px solid transparent; display:flex; align-items:center; gap:4px;}
.nav-dropdown summary::-webkit-details-marker{display:none;}
.nav-dropdown summary:hover{color:var(--deep-sage);}
.nav-dropdown[open] summary{color:var(--deep-sage);}
.nav-dropdown .caret{font-size:0.7em;}
.nav-dropdown .dropdown-menu{position:absolute; top:100%; left:0; margin-top:10px; background:var(--bg); border:1px solid var(--border); border-radius:2px; padding:8px; display:flex; flex-direction:column; min-width:230px; box-shadow:0 10px 30px rgba(0,0,0,0.1); z-index:20;}
.nav-dropdown .dropdown-menu a{padding:10px 12px; border-radius:2px; font-size:0.9rem; color:var(--fg); white-space:nowrap; border-bottom:none;}
.nav-dropdown .dropdown-menu a:hover{background:var(--bg-alt); color:var(--deep-sage);}
.nav-dropdown .dropdown-menu a.active{color:var(--deep-sage); font-weight:600;}

.container{max-width:1100px; margin:0 auto; padding-inline:40px;}

/* Hero (home) */
.hero{padding-block:88px 60px;}
.hero .eyebrow{font-size:0.8rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--sage); font-weight:600; margin-bottom:18px;}
.hero h1{font-family:var(--font-display); font-weight:500; font-size:clamp(2.4rem,5vw,3.6rem); color:var(--deep-sage); margin:0 0 14px; max-width:14ch;}
.hero .tagline{font-family:var(--font-display); font-style:italic; font-size:1.3rem; color:var(--fg-soft); margin:0 0 22px;}
.hero .credentials{font-size:0.82rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--fg-soft); margin-bottom:26px;}
.hero p.lede{font-size:1.1rem; color:var(--fg); max-width:60ch; margin:0 0 32px;}
.hero-actions{display:flex; gap:16px; flex-wrap:wrap;}

.btn{display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border-radius:2px; font-size:0.9rem; font-weight:500; letter-spacing:0.03em; border:1px solid transparent; cursor:pointer; font-family:var(--font-body);}
.btn-primary{background:var(--sage); color:#fff;}
.btn-primary:hover{background:var(--deep-sage);}
.btn-secondary{border-color:var(--border); color:var(--fg);}
.btn-secondary:hover{border-color:var(--sage); color:var(--deep-sage);}

.section{padding-block:72px;}
.section.alt{background:var(--bg-alt); border-block:1px solid var(--border);}
.section-head{text-align:center; max-width:640px; margin:0 auto 44px;}
.section-head .eyebrow{font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--sage); font-weight:600; margin-bottom:12px;}
.section-head h2{font-family:var(--font-display); font-weight:500; font-size:clamp(1.8rem,3vw,2.3rem); color:var(--deep-sage); margin:0 0 12px;}
.section-head p{color:var(--fg-soft); font-size:1.02rem; margin:0;}

.how-work-head{display:flex; align-items:center; gap:44px; flex-wrap:wrap; justify-content:center; margin-bottom:44px; text-align:left;}
.how-work-head .section-head{margin:0; text-align:left; max-width:440px;}
.profile-photo{width:200px; height:200px; flex-shrink:0; border-radius:6px; overflow:hidden; border:1px solid var(--border);}
.profile-photo img{width:100%; height:100%; object-fit:cover; display:block;}

.card-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px;}
.service-card{background:var(--bg-alt); border:1px solid var(--border); border-radius:2px; padding:38px 36px; display:flex; flex-direction:column; gap:14px; min-width:0;}
.service-card h3{font-family:var(--font-display); font-size:1.5rem; font-weight:500; color:var(--deep-sage); margin:0;}
.service-card p{color:var(--fg-soft); margin:0; font-size:0.98rem;}
.service-card .card-link{margin-top:10px; font-size:0.88rem; font-weight:600; color:var(--deep-sage);}
.badge{display:inline-flex; align-self:flex-start; background:var(--sage); color:#fff; padding:6px 16px; border-radius:20px; font-size:0.73rem; font-weight:600; letter-spacing:0.04em; text-transform:uppercase;}

.values-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px;}
.value-item{text-align:center; padding:28px 20px; min-width:0;}
.value-item h4{font-family:var(--font-display); font-size:1.18rem; color:var(--deep-sage); margin:0 0 8px;}
.value-item p{font-size:0.92rem; color:var(--fg-soft); margin:0;}

.cta-band{background:var(--bg-alt); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding-block:56px; text-align:center;}
.cta-band h2{font-family:var(--font-display); font-size:1.8rem; color:var(--deep-sage); margin:0 0 14px;}
.cta-band p{color:var(--fg-soft); max-width:58ch; margin:0 auto 28px;}

footer{padding-block:40px;}
.footer-inner{max-width:1100px; margin:0 auto; padding-inline:40px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:0.85rem; color:var(--fg-soft);}

/* Inner page header */
.page-head{padding-block:72px 48px; max-width:760px; margin:0 auto;}
.page-head .eyebrow{font-size:0.8rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--sage); font-weight:600; margin-bottom:18px;}
.page-head h1{font-family:var(--font-display); font-weight:500; font-size:clamp(2.2rem,4.4vw,3.1rem); color:var(--deep-sage); margin:0 0 18px;}
.page-head p.lede{font-size:1.08rem; color:var(--fg-soft); max-width:62ch; margin:0;}

.prose{max-width:72ch;}
.prose h2{font-family:var(--font-display); font-weight:500; font-size:clamp(1.6rem,2.8vw,2rem); color:var(--deep-sage); margin:0 0 18px;}
.prose p{color:var(--fg); font-size:1.02rem; margin:0 0 18px;}
.prose p:last-child{margin-bottom:0;}

.checklist{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px;}
.checklist li{display:flex; gap:12px; align-items:flex-start; color:var(--fg); font-size:1.02rem;}
.checklist li::before{content:"\2713"; color:var(--sage); font-weight:600; flex-shrink:0;}

.steps{list-style:none; margin:0; padding:0; counter-reset:step; display:flex; flex-direction:column; gap:26px;}
.steps li{display:flex; gap:20px; align-items:flex-start;}
.steps li::before{counter-increment:step; content:counter(step); flex-shrink:0; width:34px; height:34px; border-radius:50%; background:var(--sage); color:#fff; font-family:var(--font-display); font-weight:600; font-size:1.05rem; display:flex; align-items:center; justify-content:center;}
.steps .step-body h3{font-family:var(--font-display); font-size:1.2rem; color:var(--deep-sage); margin:0 0 6px; font-weight:500;}
.steps .step-body p{margin:0; color:var(--fg-soft); font-size:0.98rem;}

.bridge-note{background:var(--bg-alt); border-left:3px solid var(--sage); padding:28px 32px; border-radius:2px;}
.bridge-note p{margin:0; color:var(--fg); font-size:1rem;}
.bridge-note .tag{font-family:var(--font-display); font-style:italic; color:var(--deep-sage); font-size:1.1rem; display:block; margin-bottom:10px;}

.focus-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;}
.focus-item{background:var(--bg); border:1px solid var(--border); border-radius:2px; padding:28px; min-width:0;}
.focus-item h3{font-family:var(--font-display); font-size:1.3rem; color:var(--deep-sage); margin:0 0 10px;}
.focus-item p{font-size:0.97rem; color:var(--fg-soft); margin:0;}

.example{margin-top:40px; background:var(--bg); border:1px solid var(--border); border-radius:2px; padding:36px;}
.example h3{font-family:var(--font-display); font-size:1.35rem; color:var(--deep-sage); margin:0 0 6px; font-weight:500;}
.example .example-sub{color:var(--fg-soft); font-size:0.95rem; margin:0 0 24px;}
.example-steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px;}
.example-steps li{display:flex; flex-direction:column; gap:12px; min-width:0;}
.example-steps .icon{width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.example-steps .icon svg{width:22px; height:22px; stroke:#fff; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.example-steps li:nth-child(1) .icon{background:var(--sage);}
.example-steps li:nth-child(2) .icon{background:var(--deep-sage);}
.example-steps li:nth-child(3) .icon{background:var(--rose);}
.example-steps li:nth-child(4) .icon{background:var(--sage);}
.example-steps h4{margin:0; font-family:var(--font-display); font-weight:500; font-size:1.05rem; color:var(--deep-sage);}
.example-steps p{margin:0; font-size:0.92rem; color:var(--fg-soft);}

.values-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:26px;}
.values-list p{margin:0; color:var(--fg); font-size:1.08rem; font-family:var(--font-display); font-style:italic; line-height:1.8;}

/* Contact */
.layout{display:grid; grid-template-columns:0.85fr 1.15fr; gap:48px; padding-block:0 72px; align-items:start;}
.contact-card{background:var(--bg-alt); border:1px solid var(--border); border-radius:2px; padding:36px; display:flex; flex-direction:column; gap:22px; min-width:0;}
.contact-card h2{font-family:var(--font-display); font-size:1.5rem; color:var(--deep-sage); margin:0;}
.contact-row{display:flex; flex-direction:column; gap:6px;}
.contact-row .label{font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg-soft); font-weight:600;}
.contact-value-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.contact-value{font-size:1.05rem; color:var(--fg); user-select:all;}
.copy-btn{font-size:0.78rem; font-weight:600; color:var(--deep-sage); background:transparent; border:1px solid var(--border); border-radius:20px; padding:5px 14px; cursor:pointer; font-family:var(--font-body);}
.copy-btn:hover{border-color:var(--sage);}
.insta-link{font-size:1.02rem; color:var(--deep-sage); font-weight:500;}
.form-wrap{background:var(--bg); border:1px solid var(--border); border-radius:2px; padding:40px; min-width:0;}
.form-wrap h2{font-family:var(--font-display); font-size:1.5rem; color:var(--deep-sage); margin:0 0 8px;}
.form-wrap .form-intro{color:var(--fg-soft); font-size:0.98rem; margin:0 0 28px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.form-group{margin-bottom:20px; display:flex; flex-direction:column; gap:7px;}
.form-group label{font-size:0.86rem; font-weight:500; color:var(--deep-sage);}
.form-group input, .form-group select, .form-group textarea{width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:2px; font-family:var(--font-body); font-size:0.98rem; color:var(--fg); background:var(--bg);}
.form-group textarea{resize:vertical; min-height:110px;}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{outline:none; border-color:var(--sage);}
.submit-btn{width:100%; padding:14px 28px; background:var(--sage); color:#fff; border:none; border-radius:2px; font-family:var(--font-body); font-size:0.92rem; font-weight:500; letter-spacing:0.03em; cursor:pointer;}
.submit-btn:hover{background:var(--deep-sage);}
.confirm{text-align:center; padding:40px 20px;}
.confirm h3{font-family:var(--font-display); font-size:1.6rem; color:var(--deep-sage); margin:0 0 10px;}
.confirm p{color:var(--fg-soft); margin:0;}
.hidden{display:none !important;}
.honeypot{position:absolute; left:-9999px;}

@media (max-width:860px){
  .layout{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .nav-inner{padding-inline:20px;}
  .container{padding-inline:20px;}
  .card-grid{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:1fr;}
  .focus-grid{grid-template-columns:1fr;}
  .example-steps{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-inner{padding-inline:20px; flex-direction:column; text-align:center;}
  .hero{padding-block:56px 40px;}
  .how-work-head{flex-direction:column; text-align:center;}
  .how-work-head .section-head{text-align:center;}
}
