@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600&family=Space+Mono:wght@400;700&display=swap');

:root{
  --stone:#EDE6D8;
  --stone-deep:#E3DACB;
  --ink:#26221D;
  --ink-soft:#4A443C;
  --dusk:#362E45;
  --dusk-deep:#241F30;
  --gold:#B98A3E;
  --gold-soft:#D3AE6E;
  --clay:#8C5A44;
  --mist:#C9C2B4;
  --paper:#F7F3EA;
  --good:#5B7A5B;
  --bad:#A85B4C;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--stone);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.65;
  overflow-x:hidden;
}
h1,h2,h3,.display{
  font-family:'Fraunces',serif;
  font-weight:500;
  letter-spacing:-0.01em;
  color:var(--ink);
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1080px; margin:0 auto; padding:0 32px;}
.eyebrow{
  font-family:'Space Mono',monospace;
  text-transform:uppercase;
  letter-spacing:0.16em;
  font-size:0.72rem;
  color:var(--clay);
  font-weight:700;
  display:block;
}

/* ---------- horizon divider ---------- */
.horizon{position:relative; height:34px; margin:0 auto; max-width:1080px;}
.horizon svg{width:100%; height:100%; display:block;}

/* ---------- header / nav ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(36,31,48,0.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(247,243,234,0.08);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px; gap:24px;
}
.nav-inner .name{
  font-family:'Fraunces',serif; font-size:1.05rem; font-weight:500; color:var(--paper);
  white-space:nowrap;
}
.site-nav{display:flex; gap:26px; flex-wrap:wrap;}
.site-nav a{
  font-size:0.88rem; color:rgba(247,243,234,0.72); transition:color .2s ease;
  padding:6px 0; border-bottom:1px solid transparent;
}
.site-nav a:hover, .site-nav a.active{color:var(--gold-soft); border-color:var(--gold-soft);}
.nav-toggle{display:none; background:none; border:none; color:var(--paper); font-size:1.3rem; cursor:pointer;}
.btn{
  display:inline-block; padding:13px 26px; border-radius:2px;
  font-family:'Space Mono',monospace; font-size:0.8rem; letter-spacing:0.04em;
  text-decoration:none; transition:all .25s ease; border:1px solid transparent; cursor:pointer;
}
.btn-solid{background:var(--gold-soft); color:var(--dusk-deep); font-weight:700;}
.btn-solid:hover{background:var(--paper);}
.btn-ghost{border-color:rgba(247,243,234,0.45); color:var(--paper);}
.btn-ghost:hover{border-color:var(--paper); background:rgba(247,243,234,0.08);}
.btn-outline-dark{border-color:var(--dusk); color:var(--dusk);}
.btn-outline-dark:hover{background:var(--dusk); color:var(--paper);}
.btn-nav{padding:10px 20px; font-size:0.74rem; white-space:nowrap;}
.cta-row{display:flex; gap:16px; flex-wrap:wrap; align-items:center;}

/* ---------- generic page hero (subpages) ---------- */
.page-hero{
  background:linear-gradient(180deg, var(--dusk-deep) 0%, var(--dusk) 100%);
  padding:88px 32px 70px; color:var(--paper); position:relative; overflow:hidden;
}
.page-hero::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 55% 45% at 50% 0%, rgba(211,174,110,0.16), transparent 70%);
}
.page-hero-inner{max-width:720px; margin:0 auto; position:relative; z-index:2;}
.page-hero h1{color:var(--paper); font-size:clamp(2rem,4.5vw,3.1rem); font-weight:400; line-height:1.15; margin:16px 0 20px;}
.page-hero .sub{color:rgba(247,243,234,0.82); font-size:1.08rem; max-width:560px; margin-bottom:32px;}
.page-hero .credibility{
  margin-top:36px; padding-top:24px; border-top:1px solid rgba(247,243,234,0.18);
  font-family:'Space Mono',monospace; font-size:0.76rem; color:rgba(247,243,234,0.65);
  letter-spacing:0.02em;
}

/* full home hero */
.home-hero{
  min-height:92vh; display:flex; flex-direction:column; justify-content:center;
  background:linear-gradient(180deg, var(--dusk-deep) 0%, var(--dusk) 62%, var(--gold-soft) 100%);
  padding:60px 32px 80px; position:relative; overflow:hidden;
}
.home-hero::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 40% at 50% 15%, rgba(211,174,110,0.18), transparent 70%);
}
.home-hero-inner{max-width:760px; margin:0 auto; position:relative; z-index:2;}
.home-hero h1{font-size:clamp(2.1rem, 5vw, 3.5rem); color:var(--paper); line-height:1.15; margin:18px 0 24px; font-weight:400;}
.home-hero .sub{color:rgba(247,243,234,0.85); font-size:1.12rem; max-width:560px; margin-bottom:16px;}
.home-hero .lang-note{color:rgba(247,243,234,0.6); font-size:0.92rem; margin-bottom:34px;}

.marks{display:flex; align-items:flex-end; gap:14px; margin-top:52px; position:relative; z-index:2;}
.mark{width:3px; height:22px; background:rgba(247,243,234,0.35); border-radius:2px;}
.mark.tall{height:34px;}
.mark.active{background:var(--gold-soft); height:40px; box-shadow:0 0 14px rgba(211,174,110,0.5);}

/* ---------- sections ---------- */
section{padding:88px 0;}
.section-head{max-width:660px; margin-bottom:44px;}
.section-head h2{font-size:clamp(1.6rem,3vw,2.25rem); font-weight:400; margin-top:12px;}
.lede{max-width:680px; font-size:1.06rem; color:var(--ink-soft); margin-bottom:40px;}
.bg-paper{background:var(--paper);}
.bg-stone{background:var(--stone);}
.bg-dusk{background:var(--dusk-deep); color:var(--paper);}
.bg-dusk .eyebrow{color:var(--gold-soft);}
.bg-dusk h2, .bg-dusk h3{color:var(--paper);}
.bg-dusk .lede{color:rgba(247,243,234,0.8);}
.prose p{margin-bottom:18px; color:var(--ink-soft); font-size:1.02rem; max-width:700px;}
.bg-dusk .prose p{color:rgba(247,243,234,0.82);}
.prose .lead{font-family:'Fraunces',serif; font-size:1.28rem; color:var(--ink); font-style:italic; max-width:680px;}
.bg-dusk .prose .lead{color:var(--paper);}

/* checklist / recognition */
.checklist{display:grid; grid-template-columns:repeat(2,1fr); gap:18px 40px; max-width:820px;}
.check-item{display:flex; gap:14px; align-items:flex-start; font-size:0.98rem;}
.check-item .tick{flex:none; width:9px; height:9px; margin-top:7px; background:var(--clay); transform:rotate(45deg);}
.bg-dusk .check-item .tick{background:var(--gold-soft);}
.clincher{
  margin-top:38px; font-family:'Fraunces',serif; font-size:1.2rem; font-style:italic;
  color:var(--dusk); max-width:600px; border-left:2px solid var(--gold); padding-left:20px;
}
.bg-dusk .clincher{color:var(--paper); border-color:var(--gold-soft);}

/* numbered list (outcomes / situations) */
.plain-list{max-width:700px; margin-top:8px;}
.plain-list li{list-style:none; position:relative; padding-left:24px; margin-bottom:12px; color:var(--ink-soft); font-size:1rem;}
.bg-dusk .plain-list li{color:rgba(247,243,234,0.85);}
.plain-list li::before{content:"—"; position:absolute; left:0; color:var(--clay);}
.bg-dusk .plain-list li::before{color:var(--gold-soft);}

/* phase / method steps (4 or 5 columns responsive) */
.step-row{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(247,243,234,0.15); border:1px solid rgba(247,243,234,0.15);}
.step-row.cols-5{grid-template-columns:repeat(5,1fr);}
.step{background:var(--dusk-deep); padding:26px 20px;}
.step .num{font-family:'Space Mono',monospace; color:var(--gold-soft); font-size:0.76rem; display:block; margin-bottom:12px;}
.step h3{font-size:0.98rem; color:var(--paper); font-weight:500; margin-bottom:8px;}
.step p{font-size:0.86rem; color:rgba(247,243,234,0.68);}

/* light variant of step-row for pages on paper bg */
.step-row.light{background:var(--mist); border-color:var(--mist);}
.step-row.light .step{background:var(--paper);}
.step-row.light .step .num{color:var(--clay);}
.step-row.light .step h3{color:var(--ink);}
.step-row.light .step p{color:var(--ink-soft);}

/* offer / service cards */
.service-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.service-card{background:var(--paper); padding:44px 36px; border:1px solid var(--mist); position:relative;}
.service-card .tag{font-family:'Space Mono',monospace; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; display:block;}
.service-card h3{font-size:1.5rem; margin-bottom:14px; font-weight:500;}
.service-card p{color:var(--ink-soft); margin-bottom:18px; font-size:0.98rem;}
.service-card .plain-list{margin-bottom:20px;}
.service-meta{font-size:0.85rem; color:var(--ink-soft); padding-top:18px; border-top:1px solid var(--mist);}
.service-card.release{background:var(--dusk); color:var(--paper);}
.service-card.release h3,.service-card.release .tag{color:var(--paper);}
.service-card.release .tag{color:var(--gold-soft);}
.service-card.release p,.service-card.release .plain-list li{color:rgba(247,243,234,0.82);}
.service-card.release .plain-list li::before{color:var(--gold-soft);}
.service-card.release .service-meta{border-color:rgba(247,243,234,0.25); color:rgba(247,243,234,0.7);}

/* suitability fit / not-fit */
.fit-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px; max-width:900px;}
.fit-col h3{font-size:1rem; margin-bottom:16px; font-weight:600; font-family:'Inter',sans-serif;}
.fit-col li{list-style:none; position:relative; padding-left:26px; margin-bottom:12px; font-size:0.96rem; color:var(--ink-soft);}
.fit-col.yes li::before{content:"✓"; position:absolute; left:0; color:var(--good); font-weight:700;}
.fit-col.no li::before{content:"×"; position:absolute; left:0; color:var(--bad); font-weight:700;}

/* reviews */
.review-grid{columns:2; column-gap:28px;}
.review{break-inside:avoid; background:var(--stone); padding:28px 26px; margin-bottom:26px; border-radius:2px;}
.review p.quote{font-family:'Fraunces',serif; font-style:italic; font-size:1rem; color:var(--ink); margin-bottom:14px;}
.review .who{font-family:'Space Mono',monospace; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.05em; color:var(--clay);}
.bg-dusk .review{background:rgba(247,243,234,0.06);}
.bg-dusk .review p.quote{color:var(--paper);}

/* about credentials */
.about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:start;}
.portrait{aspect-ratio:4/5; background:linear-gradient(160deg, var(--dusk) 0%, var(--clay) 100%); position:relative; overflow:hidden;}
.portrait img{width:100%; height:100%; object-fit:cover; object-position:center 42%;}
.credentials{margin-top:8px; display:grid; grid-template-columns:1fr 1fr; gap:14px 28px;}
.credential{font-size:0.86rem; color:var(--ink-soft);}
.credential .label{display:block; font-family:'Space Mono',monospace; font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--clay); margin-bottom:3px;}

/* format table */
.format-box{background:var(--paper); border:1px solid var(--mist); padding:36px 34px; max-width:520px;}
.format-box dl{display:grid; grid-template-columns:auto 1fr; gap:10px 18px; font-size:0.95rem;}
.format-box dt{font-family:'Space Mono',monospace; font-size:0.7rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--clay); align-self:start; padding-top:2px;}
.format-box dd{color:var(--ink-soft);}

/* session cards for intensive */
.session-row{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.session-card{background:var(--paper); border:1px solid var(--mist); padding:30px 26px;}
.session-card .num{font-family:'Space Mono',monospace; color:var(--clay); font-size:0.72rem; letter-spacing:0.05em;}
.session-card h3{font-size:1.1rem; margin:10px 0 12px;}
.session-card .duration{font-family:'Space Mono',monospace; font-size:0.78rem; color:var(--gold); margin-bottom:14px; display:block;}
.session-card ul{padding-left:18px; color:var(--ink-soft); font-size:0.92rem;}
.session-card ul li{margin-bottom:6px;}

/* faq */
.faq-item{border-bottom:1px solid var(--mist); padding:22px 0;}
.faq-item summary{
  cursor:pointer; font-family:'Fraunces',serif; font-size:1.08rem; font-weight:500;
  list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; font-family:'Space Mono',monospace; color:var(--clay); font-size:1.2rem; flex:none;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{margin-top:14px; color:var(--ink-soft); max-width:700px;}

/* contact */
.contact-cta{
  background:linear-gradient(180deg, var(--gold-soft) 0%, var(--dusk) 55%, var(--dusk-deep) 100%);
  color:var(--paper); text-align:center; padding:110px 32px;
}
.contact-cta h2{color:var(--paper); font-size:clamp(1.7rem,4vw,2.4rem); font-weight:400; margin-bottom:18px;}
.contact-cta p{color:rgba(247,243,234,0.85); max-width:480px; margin:0 auto 36px; font-size:1.02rem;}
.contact-cta .cta-row{justify-content:center;}

.contact-form{max-width:640px; margin-top:8px;}
.form-row{margin-bottom:22px;}
.form-row label{display:block; font-family:'Space Mono',monospace; font-size:0.74rem; text-transform:uppercase; letter-spacing:0.05em; color:var(--clay); margin-bottom:8px;}
.form-row input, .form-row select, .form-row textarea{
  width:100%; padding:12px 14px; border:1px solid var(--mist); background:var(--paper);
  font-family:'Inter',sans-serif; font-size:0.95rem; color:var(--ink); border-radius:2px;
}
.form-row textarea{min-height:90px; resize:vertical;}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{outline:2px solid var(--gold); outline-offset:1px;}
.form-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:0 24px;}
.form-note{font-size:0.82rem; color:var(--ink-soft); margin-top:-10px; margin-bottom:22px;}

/* footer */
.site-footer{background:var(--dusk-deep); color:rgba(247,243,234,0.7); padding-top:64px;}
.footer-inner{display:flex; justify-content:space-between; gap:60px; flex-wrap:wrap; padding-bottom:40px;}
.footer-brand .name{font-family:'Fraunces',serif; font-size:1.1rem; color:var(--paper); margin-bottom:14px;}
.footer-brand p{max-width:360px; font-size:0.9rem; color:rgba(247,243,234,0.65); margin-bottom:8px;}
.footer-brand .muted{color:rgba(247,243,234,0.45); font-size:0.82rem;}
.footer-nav{display:flex; flex-direction:column; gap:10px; font-size:0.88rem;}
.footer-nav a:hover{color:var(--gold-soft);}
.footer-bottom{
  border-top:1px solid rgba(247,243,234,0.12); padding:22px 32px;
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
  font-family:'Space Mono',monospace; font-size:0.72rem; color:rgba(247,243,234,0.45);
}

@media (max-width:860px){
  .site-nav{display:none; position:absolute; top:100%; left:0; right:0; background:var(--dusk-deep); flex-direction:column; padding:12px 32px; gap:0;}
  .site-nav.open{display:flex;}
  .site-nav a{padding:12px 0; border-bottom:1px solid rgba(247,243,234,0.1);}
  .nav-toggle{display:block;}
  .btn-nav{display:none;}
  .about-grid{grid-template-columns:1fr;}
  .checklist{grid-template-columns:1fr;}
  .step-row{grid-template-columns:1fr 1fr;}
  .step-row.cols-5{grid-template-columns:1fr 1fr;}
  .service-grid{grid-template-columns:1fr;}
  .review-grid{columns:1;}
  .credentials{grid-template-columns:1fr;}
  .fit-grid{grid-template-columns:1fr;}
  .session-row{grid-template-columns:1fr;}
  .form-grid-2{grid-template-columns:1fr;}
  .footer-inner{flex-direction:column; gap:28px;}
}
