/* =========================================================
   PEOPLE CAPABILITY & CO. — MASTER STYLESHEET
   ========================================================= */

/* MAIN BRAND SETTINGS: Edit these values to update the website palette */
:root{
  color-scheme: light;
  --brand-navy:#0D2340;
  --brand-navy-deep:#0A1B33;
  --brand-gold:#D4AF37;
  --brand-gold-soft:#E4C767;
  --brand-white:#FFFFFF;
  --brand-ivory:#F8F7F3;
  --brand-charcoal:#2B2F35;
  --brand-grey:#D9D9D9;

  /* aliases used throughout the file */
  --navy:var(--brand-navy);
  --navy-deep:var(--brand-navy-deep);
  --gold:var(--brand-gold);
  --gold-soft:var(--brand-gold-soft);
  --white:var(--brand-white);
  --off-white:var(--brand-ivory);
  --charcoal:var(--brand-charcoal);
  --grey:var(--brand-grey);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--off-white);
  color:var(--charcoal);
  font-family:'Inter',Arial,sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.wrap{max-width:1180px;margin:0 auto;padding:0 48px;}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-0.01em;color:var(--navy);}
a{color:inherit;text-decoration:none;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px;
}
img{max-width:100%;display:block;}
p{font-weight:400;}

.eyebrow{
  font-family:'Inter',Arial,sans-serif;
  font-size:11px;font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#8C6B1D; /* darkened from brand gold for AA text contrast on white/ivory */
}
.hero .eyebrow, .cta-band .eyebrow{color:var(--gold-soft);}
.eyebrow-line{
  display:inline-block;width:36px;height:1px;background:var(--gold);
  margin-bottom:18px;
}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:17px 38px;
  font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:13.5px;
  letter-spacing:0.04em;
  border-radius:1px;
  cursor:pointer;border:1px solid transparent;
  transition:all .3s ease;
}
.btn-primary{background:var(--gold);color:var(--navy);}
.btn-primary:hover{background:var(--gold-soft);box-shadow:0 6px 24px rgba(212,175,55,0.35);}
.btn-outline{border-color:var(--navy);color:var(--navy);}
.btn-outline:hover{background:var(--navy);color:var(--white);}
.btn-outline-light{border-color:rgba(255,255,255,0.6);color:var(--white);}
.btn-outline-light:hover{background:var(--white);color:var(--navy);}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(248,247,243,0.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(13,35,64,0.1);
}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:92px;}
.logo{display:flex;align-items:center;gap:14px;}
.logo img{height:44px;width:44px;object-fit:contain;}
.logo-text{font-family:'Playfair Display',Georgia,serif;font-size:17px;color:var(--navy);letter-spacing:0.02em;}
.logo-text span{color:var(--gold);}
.nav-links{display:flex;gap:40px;font-size:13px;font-weight:500;letter-spacing:0.02em;}
.nav-links a{color:var(--charcoal);opacity:0.85;transition:opacity .2s;}
.nav-links a:hover,.nav-links a:focus-visible{opacity:1;color:var(--navy);}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--navy);margin:5px 0;transition:all .25s;}
@media(max-width:860px){
  .nav-links{
    display:flex;flex-direction:column;gap:0;
    position:fixed;top:92px;left:0;right:0;background:var(--white);
    border-bottom:1px solid var(--grey);
    max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .nav-links.open{max-height:400px;}
  .nav-links a{padding:18px 48px;border-top:1px solid var(--grey);}
  .nav-toggle{display:block;}
  .nav-cta-desktop{display:none;}
}

/* HERO */
header.hero{
  padding:220px 0 150px;
  background:var(--navy);
  position:relative;
  overflow:hidden;
}
header.hero::after{
  content:"";position:absolute;top:-30%;right:-10%;width:600px;height:600px;
  border:1px solid rgba(212,175,55,0.12);border-radius:50%;
}
header.hero::before{
  content:"";position:absolute;top:-15%;right:8%;width:420px;height:420px;
  border:1px solid rgba(212,175,55,0.16);border-radius:50%;
}
.hero-inner{max-width:760px;position:relative;z-index:2;}
.hero h1{
  font-size:clamp(38px,5.2vw,62px);
  line-height:1.18;
  color:var(--white);
  margin:24px 0 32px;
  font-weight:500;
}
.hero h1 em{font-style:italic;color:var(--gold-soft);font-weight:400;}
.hero p.lede{
  font-size:18px;line-height:1.75;color:rgba(255,255,255,0.85);
  max-width:540px;margin-bottom:48px;font-weight:400;
}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap;}
.page-hero{padding:170px 0 90px;background:var(--navy);}
.page-hero h1{font-size:clamp(32px,4.4vw,48px);color:var(--white);margin-top:20px;}
.page-hero p{font-size:16.5px;color:rgba(255,255,255,0.82);max-width:620px;margin-top:20px;line-height:1.75;}

/* TRUST STRIP */
.trust-strip{background:var(--white);padding:40px 0;border-bottom:1px solid rgba(13,35,64,0.08);}
.trust-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px 32px;}
.trust-item{font-size:13.5px;color:var(--charcoal);letter-spacing:0.01em;}
.trust-item b{color:var(--navy);font-weight:600;}

section{padding:130px 0;}
.section-sm{padding:90px 0;}
.section-head{max-width:720px;margin-bottom:72px;}
.section-head h2{font-size:clamp(30px,3.4vw,42px);line-height:1.22;margin-top:20px;}
.section-head p{font-size:16.5px;color:var(--charcoal);margin-top:20px;line-height:1.75;max-width:620px;}

/* WHO IT'S FOR */
.who-band{background:var(--white);}
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:56px;}
.who-item{padding-top:28px;border-top:1px solid var(--grey);}
.who-item h3{font-size:20px;margin-bottom:14px;font-weight:500;}
.who-item p{font-size:15px;color:var(--charcoal);line-height:1.75;}
@media(max-width:900px){.who-grid{grid-template-columns:1fr;gap:36px;}}

/* SYMPTOMS / PROBLEM RECOGNITION — grouped by category */
.symptoms-band{background:var(--off-white);}
.symptoms-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:56px;}
.symptom-group{border-top:2px solid var(--gold);padding-top:20px;}
.symptom-group-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.symptom-group-icon{width:26px;height:26px;color:var(--gold);flex-shrink:0;}
.symptom-group-head h4{font-size:16px;font-weight:500;color:var(--navy);}
.symptom-group .symptom-item{
  display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--grey);
  font-size:14px;line-height:1.55;color:var(--charcoal);
}
.symptom-group .symptom-item:last-child{border-bottom:none;}
.symptom-mark{color:var(--gold);font-weight:600;flex-shrink:0;}
@media(max-width:900px){.symptoms-groups{grid-template-columns:1fr 1fr;row-gap:36px;}}
@media(max-width:560px){.symptoms-groups{grid-template-columns:1fr;}}

/* CONSTRAINT EXPLANATION */
.constraint-band{background:var(--navy);color:var(--white);}
.constraint-band .eyebrow{color:var(--gold-soft);}
.constraint-band .section-head h2{color:var(--white);}
.constraint-band .section-head p{color:rgba(255,255,255,0.85);}
.constraint-examples{display:grid;grid-template-columns:1fr 1fr;gap:20px 56px;margin-top:48px;}
.constraint-pair{display:flex;align-items:flex-start;gap:14px;font-size:14.5px;line-height:1.7;color:rgba(255,255,255,0.88);padding:16px 0;border-top:1px solid rgba(255,255,255,0.15);}
.constraint-pair b{color:var(--gold-soft);font-weight:600;}
.reframe-arrow{width:18px;height:18px;flex-shrink:0;margin-top:3px;}
@media(max-width:820px){.constraint-examples{grid-template-columns:1fr;}}

/* SERVICES AT A GLANCE — spectrum infographic */
.spectrum-wrap{
  background:var(--white);border:1px solid var(--grey);
  padding:44px 48px 36px;margin-bottom:56px;
}
.spectrum-eyebrow{
  font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:#8C6B1D;margin-bottom:32px;
}
.spectrum-nodes{display:flex;justify-content:space-between;gap:20px;position:relative;}
.spectrum-nodes::before{
  content:"";position:absolute;top:28px;left:28px;right:28px;height:1px;
  background:var(--gold);opacity:0.45;z-index:1;
}
.spectrum-node{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:2;}
.spectrum-node .icon-circle{
  width:56px;height:56px;border-radius:50%;background:var(--white);
  border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;color:var(--navy);
}
.spectrum-node .icon-circle svg{width:26px;height:26px;}
.spectrum-node h5{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:6px;line-height:1.3;}
.spectrum-node .spectrum-tag{font-size:11.5px;color:var(--charcoal);letter-spacing:0.01em;line-height:1.5;}
.spectrum-axis-labels{
  display:flex;justify-content:space-between;margin-top:32px;padding-top:20px;
  border-top:1px solid var(--grey);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;
  color:#8C6B1D;font-weight:600;
}
@media(max-width:820px){
  .spectrum-wrap{padding:32px 24px;}
  .spectrum-nodes{flex-direction:column;gap:32px;}
  .spectrum-nodes::before{display:none;}
  .spectrum-axis-labels{flex-direction:column;gap:6px;}
}

/* METHOD BAND */
.method-band{
  background:var(--white);
  border:1px solid var(--grey);
  padding:60px 64px;
  margin-bottom:64px;
}
.method-label{
  font-size:11px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;
  color:#8C6B1D;margin-bottom:14px;
}
.method-band h3{font-size:25px;margin-bottom:18px;}
.method-intro{font-size:15px;line-height:1.75;color:var(--charcoal);max-width:680px;margin-bottom:44px;}
.method-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;}
.method-num{font-family:'Playfair Display',Georgia,serif;font-style:italic;color:var(--gold);font-size:22px;display:block;margin-bottom:12px;}
.method-step h4{font-size:16px;font-weight:500;margin-bottom:8px;color:var(--navy);}
.method-step p{font-size:13.5px;line-height:1.65;color:var(--charcoal);}
.method-principle{
  margin-top:44px;padding-top:32px;border-top:1px solid var(--grey);
  font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:18px;color:var(--navy);
}
@media(max-width:900px){
  .method-band{padding:36px 26px;}
  .method-steps{grid-template-columns:1fr 1fr;row-gap:28px;}
}
@media(max-width:560px){.method-steps{grid-template-columns:1fr;}}

/* SERVICES */
.services-list{display:flex;flex-direction:column;margin-top:8px;}
.service-card{
  padding:48px 0;border-top:1px solid var(--grey);
}
.services-list .service-card:last-child{border-bottom:1px solid var(--grey);}
.service-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-bottom:28px;}
.service-tag{
  font-size:11px;letter-spacing:0.16em;text-transform:uppercase;
  color:#8C6B1D;font-weight:700;margin-bottom:14px;display:block;
}
.service-card h3{font-size:25px;font-weight:500;margin-bottom:6px;}
.service-card .sub{font-size:14px;color:var(--charcoal);font-style:italic;}
.service-card-cta{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0;}
.service-card-cta .price{font-size:13px;color:var(--charcoal);text-align:right;}
.service-grid-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 48px;margin-top:24px;}
.service-detail-block h5{
  font-size:11.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--navy);
  margin-bottom:10px;
}
.service-detail-block p{font-size:14.5px;line-height:1.7;color:var(--charcoal);}
.service-detail-block ul{list-style:none;}
.service-detail-block li{
  font-size:14.5px;line-height:1.7;color:var(--charcoal);padding:6px 0 6px 18px;position:relative;
}
.service-detail-block li::before{content:"";position:absolute;left:0;top:14px;width:9px;height:1px;background:var(--gold);}
@media(max-width:820px){
  .service-grid-detail{grid-template-columns:1fr;}
  .service-card-head{flex-direction:column;}
  .service-card-cta{align-items:flex-start;}
}

/* PREMIUM MASTER PACKAGE CARD */
.service-card-master{
  background:var(--navy);color:var(--white);
  padding:52px 44px;margin-top:8px;border:1px solid var(--gold);
}
.service-card-master h3,.service-card-master .sub{color:var(--white);}
.service-card-master .service-detail-block h5{color:var(--gold-soft);}
.service-card-master .service-detail-block p,
.service-card-master .service-detail-block li{color:rgba(255,255,255,0.85);}
.service-card-master .service-detail-block li::before{background:var(--gold);}
.service-tag-master{background:var(--gold);color:var(--navy);padding:5px 12px;border-radius:1px;letter-spacing:0.1em;}
.service-card-master .price{color:rgba(255,255,255,0.7);}

/* FLAGSHIP DIAGNOSTIC */
.flagship{
  background:var(--navy);color:var(--white);
  padding:72px;margin-top:88px;
  display:grid;grid-template-columns:1fr 320px;gap:64px;
  position:relative;overflow:hidden;
}
.flagship::after{
  content:"";position:absolute;bottom:-40%;left:-10%;width:400px;height:400px;
  border:1px solid rgba(212,175,55,0.1);border-radius:50%;
}
.flagship-content{position:relative;z-index:2;}
.flagship .eyebrow{color:var(--gold-soft);margin-bottom:18px;display:block;}
.flagship h3{color:var(--white);font-size:30px;margin-bottom:18px;}
.flagship p{font-size:15.5px;line-height:1.8;color:rgba(255,255,255,0.85);margin-bottom:16px;}
.flagship ul{list-style:none;margin-top:24px;}
.flagship li{
  font-size:14.5px;padding:14px 0 14px 26px;position:relative;
  border-top:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.9);
}
.flagship li:before{content:"";position:absolute;left:0;top:22px;width:12px;height:1px;background:var(--gold);}

/* Listen. Diagnose. Act. — mini infographic */
.lda-steps{display:flex;flex-direction:column;}
.lda-step{display:flex;align-items:flex-start;gap:16px;}
.lda-icon{
  width:40px;height:40px;flex-shrink:0;border-radius:50%;
  border:1.5px solid rgba(228,199,103,0.5);display:flex;align-items:center;justify-content:center;
}
.lda-icon svg{width:20px;height:20px;}
.lda-body{font-size:14.5px;line-height:1.7;color:rgba(255,255,255,0.9);padding-top:8px;}
.lda-body strong{color:var(--white);font-weight:600;}
.lda-connector{width:40px;display:flex;justify-content:center;padding:4px 0;}
.lda-connector svg{width:16px;height:16px;}
.flagship-panel{
  position:relative;z-index:2;
  display:flex;flex-direction:column;justify-content:center;
  border-left:1px solid rgba(255,255,255,0.18);padding-left:52px;
}
.flagship-panel .label{font-size:13.5px;color:rgba(255,255,255,0.78);margin-bottom:26px;line-height:1.7;}
.flagship-panel .btn{width:100%;justify-content:center;}
@media(max-width:900px){
  .flagship{grid-template-columns:1fr;padding:44px 30px;gap:36px;}
  .flagship-panel{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,0.18);padding-top:36px;}
}

/* RESULTS / CASE STUDIES */
.results-band{background:var(--white);}
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--grey);margin-top:56px;}
.result-card{background:var(--white);padding:40px 36px;}
.result-metric{font-family:'Playfair Display',Georgia,serif;font-size:34px;color:var(--navy);margin-bottom:6px;}
.result-metric span{color:var(--gold);}
.result-label{font-size:11.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#8C6B1D;margin-bottom:20px;}
.result-card h5{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--navy);margin:16px 0 6px;}
.result-card p{font-size:14px;line-height:1.65;color:var(--charcoal);}
.results-more{margin-top:44px;}
@media(max-width:900px){.results-grid{grid-template-columns:1fr;}}

.case-study-full{
  border-top:1px solid var(--grey);padding:56px 0;
}
.case-list .case-study-full:last-child{border-bottom:1px solid var(--grey);}
.case-head{display:flex;align-items:flex-start;gap:22px;margin-bottom:24px;}
.case-icon{width:48px;height:48px;color:var(--gold);flex-shrink:0;margin-top:2px;}
.case-head .service-tag{margin-bottom:10px;}
.case-head h3{font-size:24px;margin-bottom:0;}
.case-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.case-col h5{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--navy);margin-bottom:10px;}
.case-col p,.case-col li{font-size:14.5px;line-height:1.7;color:var(--charcoal);}
.case-col ul{list-style:none;}
.case-col li{padding:5px 0 5px 16px;position:relative;}
.case-col li::before{content:"";position:absolute;left:0;top:13px;width:8px;height:1px;background:var(--gold);}
@media(max-width:820px){.case-cols{grid-template-columns:1fr;gap:24px;}}
@media(max-width:560px){.case-head{gap:16px;}.case-icon{width:38px;height:38px;}}

/* PROCESS SEQUENCE */
.process-band{background:var(--white);}
.process-sequence{display:flex;flex-direction:column;margin-top:48px;max-width:820px;}
.process-seq-step{
  display:grid;grid-template-columns:30px 46px 1fr;gap:18px;align-items:start;
  padding:30px 0;border-top:1px solid var(--grey);
}
.process-sequence .process-seq-step:last-child{border-bottom:1px solid var(--grey);}
.seq-icon{width:30px;height:30px;color:var(--gold);margin-top:2px;flex-shrink:0;}
.seq-num{font-family:'Playfair Display',Georgia,serif;font-style:italic;color:var(--gold);font-size:25px;padding-top:2px;}
.seq-body h4{font-size:18px;font-weight:500;margin-bottom:8px;color:var(--navy);}
.seq-body p{font-size:14.5px;line-height:1.7;color:var(--charcoal);max-width:560px;}
.process-principle{
  margin-top:12px;background:var(--off-white);border:1px solid var(--grey);
  padding:32px 36px;max-width:820px;font-family:'Playfair Display',Georgia,serif;
  font-style:italic;font-size:17px;color:var(--navy);line-height:1.6;
}
.process-beliefs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;margin-top:32px;max-width:820px;}
.process-belief{font-size:13.5px;color:var(--charcoal);padding-left:16px;position:relative;}
.process-belief::before{content:"";position:absolute;left:0;top:8px;width:8px;height:1px;background:var(--gold);}
@media(max-width:600px){
  .process-seq-step{grid-template-columns:26px 1fr;gap:14px;padding:22px 0;}
  .seq-icon{display:none;}
  .seq-num{font-size:19px;}
  .process-beliefs{grid-template-columns:1fr;}
}

/* ABOUT */
.about-band{display:grid;grid-template-columns:0.95fr 1.05fr;gap:72px;align-items:start;}
.about-band h2{font-size:32px;margin-bottom:22px;line-height:1.25;}
.about-stats{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid var(--grey);}
.about-stat{display:flex;flex-direction:column;gap:4px;min-width:120px;}
.about-stat-num{font-family:'Playfair Display',Georgia,serif;font-size:26px;color:var(--navy);}
.about-stat-label{font-size:12px;color:var(--charcoal);line-height:1.5;max-width:150px;}
.about-band p{font-size:16px;line-height:1.85;color:var(--charcoal);margin-bottom:18px;}
.founder-photo{
  width:100%;aspect-ratio:4/5;object-fit:cover;
  margin-bottom:32px;border:1px solid var(--grey);
}
.founder-photo-placeholder{
  width:100%;aspect-ratio:4/5;background:var(--white);border:1px dashed var(--grey);
  display:flex;align-items:center;justify-content:center;text-align:center;padding:32px;
  margin-bottom:32px;color:var(--charcoal);font-size:13px;line-height:1.6;
}
.beliefs-list{display:flex;flex-direction:column;margin-top:8px;}
.belief-item{
  padding:16px 0;border-top:1px solid var(--grey);font-size:14.5px;color:var(--charcoal);
  display:flex;gap:14px;
}
.beliefs-list .belief-item:last-child{border-bottom:1px solid var(--grey);}
.belief-item b{color:var(--navy);flex-shrink:0;}
.credential-label{
  font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:#8C6B1D;margin-bottom:18px;
}
.credential-list{display:flex;flex-direction:column;margin-top:36px;}
.credential-item{
  padding:24px 0;border-top:1px solid var(--grey);
  display:flex;justify-content:space-between;gap:24px;align-items:baseline;
}
.credential-list .credential-item:last-child{border-bottom:1px solid var(--grey);}
.credential-item .c-name{font-weight:600;font-size:15px;color:var(--navy);}
.credential-item .c-detail{font-size:13.5px;color:var(--charcoal);text-align:right;max-width:280px;}
.legal-note{font-size:12.5px;color:var(--charcoal);margin-top:28px;line-height:1.7;border-top:1px solid var(--grey);padding-top:20px;}
@media(max-width:900px){.about-band{grid-template-columns:1fr;gap:44px;}}

/* CTA BAND */
.cta-band{
  background:var(--navy-deep);color:var(--white);
  text-align:center;padding:150px 0;
  position:relative;overflow:hidden;
}
.cta-band::before{
  content:"";position:absolute;top:-25%;left:50%;transform:translateX(-50%);
  width:700px;height:700px;border:1px solid rgba(212,175,55,0.1);border-radius:50%;
}
.cta-band .inner{position:relative;z-index:2;}
.cta-band h2{color:var(--white);font-size:clamp(30px,4vw,46px);max-width:720px;margin:24px auto 24px;line-height:1.25;}
.cta-band p{font-size:16.5px;color:rgba(255,255,255,0.82);max-width:540px;margin:0 auto 44px;line-height:1.75;}
.cta-actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:16px;}
.cta-email-explicit{font-size:14px;color:rgba(255,255,255,0.8);margin-top:28px;}
.cta-email-explicit a{color:var(--gold-soft);font-weight:600;border-bottom:1px solid rgba(228,199,103,0.5);}
.cta-email-explicit a:hover{border-color:var(--gold-soft);}

/* ENQUIRY FORM */
.form-band{background:var(--off-white);}
.enquiry-form{max-width:720px;margin:0 auto;background:var(--white);border:1px solid var(--grey);padding:56px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:22px;}
.form-field{display:flex;flex-direction:column;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-size:12.5px;font-weight:600;color:var(--navy);margin-bottom:8px;letter-spacing:0.02em;}
.form-field .optional{font-weight:400;color:var(--charcoal);text-transform:none;letter-spacing:0;}
.form-field input,.form-field select,.form-field textarea{
  border:1px solid var(--grey);background:var(--off-white);
  padding:13px 14px;font-family:'Inter',Arial,sans-serif;font-size:14.5px;color:var(--charcoal);
  border-radius:1px;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  outline:2px solid var(--gold);outline-offset:1px;background:var(--white);
}
.form-field textarea{resize:vertical;min-height:110px;}
.consent-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:28px;font-size:13.5px;color:var(--charcoal);line-height:1.6;}
.consent-row input{margin-top:4px;flex-shrink:0;}
.form-submit-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.form-note{font-size:12.5px;color:var(--charcoal);}
.honeypot-field{position:absolute;left:-9999px;top:-9999px;}
@media(max-width:640px){
  .form-row{grid-template-columns:1fr;}
  .enquiry-form{padding:32px 24px;}
}

/* FOOTER */
footer{padding:64px 0 40px;background:var(--off-white);border-top:1px solid var(--grey);}
.footer-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:32px;}
.footer-logo{display:flex;align-items:center;gap:14px;}
.footer-logo img{height:38px;width:38px;object-fit:contain;}
.footer-logo-text{font-family:'Playfair Display',Georgia,serif;font-size:16px;color:var(--navy);}
.footer-logo-text span{color:var(--gold);}
.footer-links{display:flex;gap:28px;flex-wrap:wrap;font-size:13.5px;color:var(--charcoal);}
.footer-links a:hover,.footer-links a:focus-visible{color:var(--navy);text-decoration:underline;}
.footer-bottom{
  margin-top:44px;padding-top:24px;border-top:1px solid var(--grey);
  font-size:12.5px;color:var(--charcoal);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
}
.footer-bottom a{text-decoration:underline;}

/* generic content page (privacy) */
.content-page{padding:60px 0 120px;max-width:820px;}
.content-page h2{font-size:26px;margin:44px 0 16px;}
.content-page h2:first-child{margin-top:0;}
.content-page p,.content-page li{font-size:15px;line-height:1.8;color:var(--charcoal);margin-bottom:14px;}
.content-page ul{padding-left:22px;margin-bottom:14px;}
.content-page a{text-decoration:underline;color:var(--navy);}

/* thank you page */
.thankyou-band{padding:220px 0 160px;text-align:center;background:var(--navy);color:var(--white);}
.thankyou-band h1{color:var(--white);font-size:clamp(30px,4vw,44px);margin:20px 0 20px;}
.thankyou-band p{font-size:16.5px;color:rgba(255,255,255,0.85);max-width:520px;margin:0 auto 36px;line-height:1.75;}

/* ============ FACET ICON SYSTEM ============
   A faceted-cut line motif (nod to the founder's diamond/watch industry
   background) used throughout in place of generic icons or bare numerals. */
.facet-icon{display:block;flex-shrink:0;}
.facet-icon svg{display:block;width:100%;height:100%;}

/* Hero decorative facet graphic (sits alongside existing circle rings) */
.hero-facet{
  position:absolute;top:14%;right:6%;width:260px;height:300px;
  opacity:0.9;z-index:1;pointer-events:none;
}
@media(max-width:1100px){.hero-facet{display:none;}}

/* Service card icons */
.service-icon{
  width:46px;height:46px;margin-bottom:22px;
  color:var(--gold);
}
.service-card-master .service-icon{color:var(--gold-soft);}

/* Method step icons (Capability Growth Model) */
.method-step-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.method-icon{width:30px;height:30px;color:var(--gold);flex-shrink:0;}
.method-num{margin-bottom:0;}

/* Process sequence icons defined in the PROCESS SEQUENCE block above */

/* Results icons */
.result-icon{width:26px;height:26px;color:var(--gold);margin-bottom:16px;}

/* Symptom / who-we-serve small marks upgraded to facet mark */
.who-item-icon{width:26px;height:26px;color:var(--gold);margin-bottom:16px;}

/* ============ COOKIE CONSENT ============ */
.pcc-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:200;
  background:var(--navy-deep);color:var(--white);
  border-top:1px solid rgba(212,175,55,0.3);
  transform:translateY(100%);transition:transform .35s ease;
}
.pcc-banner.pcc-open{transform:translateY(0);}
.pcc-banner-inner{
  max-width:1180px;margin:0 auto;padding:24px 48px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
}
.pcc-banner-text{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,0.85);max-width:640px;}
.pcc-banner-text a{color:var(--gold-soft);text-decoration:underline;}
.pcc-banner-actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0;}

.pcc-btn{
  font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:12.5px;letter-spacing:0.03em;
  padding:12px 20px;border-radius:1px;cursor:pointer;border:1px solid transparent;transition:all .2s ease;white-space:nowrap;
}
.pcc-btn-primary{background:var(--gold);color:var(--navy);}
.pcc-btn-primary:hover{background:var(--gold-soft);}
.pcc-btn-outline{border-color:rgba(255,255,255,0.5);color:var(--white);background:transparent;}
.pcc-btn-outline:hover{background:rgba(255,255,255,0.1);}
.pcc-btn-text{background:transparent;color:rgba(255,255,255,0.75);text-decoration:underline;padding:12px 4px;}
.pcc-btn-text:hover{color:var(--white);}

.pcc-modal-overlay{
  position:fixed;inset:0;z-index:300;background:rgba(10,27,51,0.65);
  display:flex;align-items:center;justify-content:center;padding:24px;
  opacity:0;pointer-events:none;transition:opacity .25s ease;
}
.pcc-modal-overlay.pcc-open{opacity:1;pointer-events:auto;}
.pcc-modal{
  background:var(--white);max-width:480px;width:100%;padding:40px;
  border-radius:2px;max-height:86vh;overflow-y:auto;
}
.pcc-modal h3{font-size:22px;margin-bottom:14px;}
.pcc-modal-intro{font-size:13.5px;line-height:1.7;color:var(--charcoal);margin-bottom:28px;}
.pcc-modal-intro a{color:var(--navy);text-decoration:underline;}
.pcc-row{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:18px 0;border-top:1px solid var(--grey);
}
.pcc-modal .pcc-row:last-of-type{border-bottom:1px solid var(--grey);}
.pcc-row-title{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:4px;}
.pcc-row-desc{font-size:12.5px;color:var(--charcoal);line-height:1.6;max-width:280px;}
.pcc-toggle-locked{
  font-size:11px;font-weight:700;letter-spacing:0.06em;color:#8C6B1D;
  background:var(--off-white);border:1px solid var(--grey);padding:6px 12px;border-radius:12px;flex-shrink:0;
}
.pcc-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;}
.pcc-switch input{opacity:0;width:0;height:0;}
.pcc-slider{
  position:absolute;cursor:pointer;inset:0;background:var(--grey);
  border-radius:24px;transition:.2s;
}
.pcc-slider::before{
  content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;
  background:var(--white);border-radius:50%;transition:.2s;
}
.pcc-switch input:checked + .pcc-slider{background:var(--gold);}
.pcc-switch input:checked + .pcc-slider::before{transform:translateX(18px);}
.pcc-switch input:focus-visible + .pcc-slider{outline:2px solid var(--navy);outline-offset:2px;}
.pcc-modal-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}
body.pcc-no-scroll{overflow:hidden;}
@media(max-width:600px){
  .pcc-banner-inner{padding:20px 24px;flex-direction:column;align-items:stretch;}
  .pcc-banner-actions{justify-content:flex-start;}
  .pcc-modal{padding:28px 24px;}
}

/* ============ FADE-IN — content-safe (never hides content) ============ */
/* .reveal elements are fully visible by default (no opacity/transform set
   in their base rule). The animation below only ever plays FORWARD from
   the page's natural state to itself — it does not use fill-mode "both",
   so nothing can be stuck invisible before the animation starts, and any
   renderer (screen reader, PDF export, print, reduced-motion, no-JS,
   no-CSS-animation-support) simply sees the content as it normally is. */
@media (prefers-reduced-motion: no-preference){
  .reveal{
    animation:fadeInUp .7s ease-out;
  }
}
@keyframes fadeInUp{
  from{opacity:0.001;transform:translateY(14px);}
  to{opacity:1;transform:translateY(0);}
}

/* ============ PRINT ============ */
@media print{
  nav,.hero-actions,.cta-actions,.email-capture,.nav-toggle,.enquiry-form,form{
    break-inside:avoid;
  }
  *{animation:none !important;transition:none !important;opacity:1 !important;transform:none !important;}
  body{background:#fff;color:#000;}
  section{padding:24px 0;}
  .flagship,.constraint-band,.cta-band,.service-card-master,header.hero,.page-hero,.thankyou-band{
    background:#fff !important;color:#000 !important;border:1px solid #ccc;
  }
  .flagship *,.constraint-band *,.cta-band *,.service-card-master *,header.hero *,.page-hero *,.thankyou-band *{
    color:#000 !important;
  }
  a{text-decoration:underline;color:#000;}
  .btn{border:1px solid #000 !important;background:#fff !important;color:#000 !important;}
}

@media(max-width:820px){
  .wrap{padding:0 24px;}
  header.hero{padding:150px 0 90px;}
  section{padding:80px 0;}
  .flagship{padding:40px 24px;}
  .method-band{padding:32px 22px;}
}
