
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --color-bg:#FDF9F6;--color-bg-soft:#FAF5F0;--color-surface:#FFFFFF;
  --color-text:#3A2010;--color-text-soft:#6B4535;--color-muted:#8A6B58;
  --color-graphite:#1C0F08;--color-graphite-soft:#271609;
  --color-accent:#A84B2A;--color-accent-soft:#C8694A;--color-accent-pale:#F0E0D6;
  --color-border:rgba(28,15,8,.12);--color-border-light:rgba(28,15,8,.07);

  --container:1220px;--container-reading:720px;--gutter:1.5rem;
  --space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;
  --space-xl:4rem;--space-2xl:7rem;
  --text-xs:.72rem;--text-sm:.85rem;--text-base:1rem;--text-lg:1.25rem;
  --text-xl:1.7rem;--heading-sm:1.6rem;--heading-md:2.5rem;
  --heading-lg:3.8rem;--heading-xl:clamp(2.9rem,4.6vw,4.6rem);
  --radius-sm:2px;--radius-md:4px;
  --transition-fast:.2s ease;--transition-normal:.3s ease;--transition-slow:.6s ease;
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',sans-serif;

  /* Compatibility aliases for the existing section styles. */
  --terra:var(--color-accent);--terra-light:var(--color-accent-soft);--terra-pale:var(--color-accent-pale);
  --dark:var(--color-graphite);--dark-2:var(--color-graphite-soft);--mid:var(--color-text-soft);
  --cream:var(--color-bg-soft);--warm-white:var(--color-bg);--text:var(--color-text);--muted:var(--color-muted);
}
html{scroll-behavior:smooth;font-size:17px}
section[id],#main-content{scroll-margin-top:6rem}
body{font-family:var(--sans);background:var(--color-bg);color:var(--color-text);overflow-x:hidden;line-height:1.65}

.container{width:min(100% - (var(--gutter) * 2),var(--container));margin-inline:auto}
.container-reading{width:min(100% - (var(--gutter) * 2),var(--container-reading));margin-inline:auto}
.full-width{width:100%}

.skip-link{position:fixed;left:1rem;top:-5rem;z-index:200;background:var(--dark);color:#fff;padding:.75rem 1rem;text-decoration:none}
.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid var(--terra-light);outline-offset:3px}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 4rem;display:flex;align-items:center;justify-content:space-between;transition:all var(--transition-normal)}
nav.scrolled{background:rgba(250,245,240,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(168,75,42,.12);padding:1.1rem 4rem}
.nav-logo{font-family:var(--serif);font-size:1.25rem;letter-spacing:.08em;color:#fff;font-weight:400;text-decoration:none}
nav.scrolled .nav-logo{color:var(--dark)}
.nav-links{display:flex;gap:2.6rem;list-style:none}
.nav-links a{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8);text-decoration:none;font-weight:500}
nav.scrolled .nav-links a{color:var(--mid)}
.nav-links a:hover{color:var(--terra)}
.nav-cta{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding:.6rem 1.4rem;border:1px solid rgba(255,255,255,.5);color:#fff;text-decoration:none;font-weight:500;transition:all var(--transition-normal)}
nav.scrolled .nav-cta{border-color:var(--terra);color:var(--terra)}
.nav-cta:hover{background:var(--terra);border-color:var(--terra);color:#fff}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.4rem;background:none;border:none}
.hamburger span{width:22px;height:1.5px;background:#fff;display:block;transition:all .3s}
nav.scrolled .hamburger span{background:var(--dark)}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}

/* HERO */
#hero{min-height: min(780px,92svh);position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,59%) minmax(0,41%);background:var(--color-graphite)}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--space-2xl) + var(--space-lg)) clamp(var(--space-md),4vw,var(--space-xl)) var(--space-2xl) clamp(2.2rem,5vw,4.5rem);position:relative;z-index:2}
.hero-left > *{max-width:var(--container-reading)}
.hero-name{font-family:var(--serif);font-size:clamp(3.7rem,5.2vw,4.8rem);font-weight:400;color:var(--color-bg);margin-bottom:var(--space-sm);line-height:1.02;text-wrap:balance}
.hero-title{font-family:var(--serif);font-size:1.4rem;font-style:italic;line-height:1.4;font-weight:500;letter-spacing:0;color:var(--color-accent-soft);margin-bottom:var(--space-lg)}
.hero-title::before{content:"";display:block;width:2.5rem;height:2px;background:var(--color-accent-soft);margin-bottom:var(--space-sm)}
.hero-tagline{font-family:var(--serif);font-size:clamp(1.7rem,2.5vw,2.2rem);font-style:normal;color:var(--color-bg);font-weight:400;margin-bottom:var(--space-md);line-height:1.3;max-width:36rem;text-wrap:balance}
.hero-desc{font-size:1.05rem;color:rgba(253,249,246,.78);font-weight:300;line-height:1.7;margin-bottom:var(--space-lg);max-width:34rem}
.hero-actions{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}
#hero .btn-primary{display:inline-flex;align-items:center;gap:var(--space-xs);background:var(--color-accent);color:#fff;padding:.85rem 1.35rem;font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;font-weight:500;transition:background var(--transition-normal)}
#hero .btn-primary:hover{background:var(--color-accent-soft)}
#hero .link-secondary{font-size:var(--text-sm);letter-spacing:.04em;color:var(--color-bg);text-decoration:none;font-weight:400;border-bottom:1px solid rgba(253,249,246,.5);padding-bottom:.2rem;transition:color var(--transition-normal),border-color var(--transition-normal)}
#hero .link-secondary:hover{color:var(--color-accent-soft);border-color:var(--color-accent-soft)}
.hero-right{position:relative;overflow:hidden;min-height:100%}
.hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;filter:brightness(.9) contrast(.96) saturate(.97)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,var(--color-graphite) 0%,rgba(28,15,8,.58) 12%,rgba(28,15,8,.12) 36%,transparent 56%),rgba(28,15,8,.04);pointer-events:none}
@media (min-width:769px){
  .hero-name{font-size:clamp(3.18rem,4.46vw,4.13rem)}
  .hero-title{font-size:clamp(2.7rem,3.8vw,3.5rem);margin-bottom:calc(var(--space-md) + var(--space-xs))}
  .hero-tagline{font-size:clamp(1.57rem,2.33vw,2rem)}
  .hero-desc{font-size:1.065rem;font-weight:400;line-height:1.65;margin-bottom:calc(var(--space-md) + var(--space-xs))}
}

/* STATS BAR */
.stats-bar{background:var(--color-graphite-soft);border-top:1px solid var(--color-border-light);padding:var(--space-lg) max(var(--gutter),calc((100vw - var(--container)) / 2));display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1fr)}
.stat-item{min-width:0;padding:0 var(--space-md);border-left:1px solid rgba(253,249,246,.12);text-align:left}
.stat-item:first-child{border-left:0;padding-left:0}
.stat-number{font-family:var(--serif);font-size:clamp(2.35rem,3vw,2.9rem);line-height:1;font-weight:400;color:var(--color-accent-soft);min-height:3rem;margin-bottom:var(--space-xs);white-space:nowrap}
.stat-item:nth-child(3) .stat-number{font-family:var(--sans);font-size:2.35rem;font-weight:400;letter-spacing:-.04em}
.stat-label{font-family:var(--sans);font-size:var(--text-sm);color:rgba(253,249,246,.78);font-weight:400;line-height:1.5;max-width:12rem}
.stat-item:nth-child(3) .stat-label{max-width:none}

/* SHARED */
.eyebrow{font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:1.2rem}
.eyebrow.on-dark{color:var(--terra-light)}
.eyebrow.on-light{color:var(--terra)}
.eyebrow.on-terra{color:rgba(255,255,255,.86)}
.title-lg{font-family:var(--serif);font-size:clamp(2.8rem,4.2vw,3.8rem);line-height:1.15;font-weight:300}
.title-lg em{font-style:italic}
.on-dark{color:#fff} .on-dark em{color:var(--terra-light)}
.on-light{color:var(--dark)} .on-light em{color:var(--terra)}
.on-terra{color:#fff} .on-terra em{color:var(--dark)}

/* INTRO — terracotta full section */
#intro{background:var(--terra);padding:6.5rem 4rem}
.intro-inner{max-width:760px;margin:0 auto;text-align:center}
.intro-inner .eyebrow{display:flex;justify-content:center}
.intro-title{font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,2.5rem);line-height:1.4;font-weight:400;font-style:italic;color:#fff;margin-bottom:1.8rem}
.intro-text{font-size:1.03rem;line-height:1.85;color:rgba(255,255,255,.85);font-weight:300;margin-bottom:1.2rem;max-width:640px;margin-left:auto;margin-right:auto}
.intro-text:last-child{margin-bottom:0}
.intro-text strong{color:#fff;font-weight:500}
.intro-items{margin-top:var(--space-lg)}
.intro-item+.intro-item{margin-top:var(--space-xl)}
.intro-item .eyebrow{margin-bottom:.65rem}
.intro-item .intro-title{margin-bottom:.75rem}

/* SERVICES */
#services{background:var(--color-bg);padding:var(--space-2xl) max(var(--gutter),calc((100vw - var(--container)) / 2))}
.services-head{max-width:var(--container-reading);margin-bottom:var(--space-xl)}
.services-head .eyebrow{font-size:var(--text-xs);line-height:1.4;margin-bottom:var(--space-sm)}
.services-head .title-lg{text-wrap:balance}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-xl)}
.service-card{min-width:0;padding:var(--space-lg) 0 var(--space-lg);border-top:1px solid var(--color-border);display:flex;flex-direction:column}
.service-top{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-md)}
.service-num{flex:0 0 var(--space-lg);font-family:var(--serif);font-size:1.35rem;line-height:1;color:var(--color-accent);font-weight:500}
.service-name{font-family:var(--sans);font-size:clamp(1.2rem,1.65vw,1.5rem);font-weight:500;color:var(--color-graphite);line-height:1.3}
.service-focus{font-size:var(--text-base);line-height:1.65;color:var(--color-text);font-weight:400;margin-bottom:var(--space-sm);padding-left:calc(var(--space-lg) + var(--space-sm))}
.service-focus strong{color:var(--color-text);font-weight:500}
.service-details{font-size:var(--text-sm);line-height:1.7;color:var(--color-text-soft);font-weight:400;padding-left:calc(var(--space-lg) + var(--space-sm))}
.service-details strong{color:var(--color-text-soft);font-weight:500}
.service-examples{margin-top:var(--space-sm);padding-top:var(--space-xs);padding-left:calc(var(--space-lg) + var(--space-sm));border-top:1px solid var(--color-border-light);font-size:.8rem;line-height:1.65;color:var(--color-muted);font-weight:300;font-style:normal}
.service-examples strong{color:var(--color-text-soft);font-weight:500}
.service-list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-xs);padding-left:calc(var(--space-lg) + var(--space-sm))}
.service-list li{font-size:.8rem;line-height:1.45;padding:.35rem .65rem;background:var(--color-bg-soft);color:var(--color-text-soft)}

/* WHO I WORK WITH */
#audience{background:var(--dark);padding:7rem 4rem}
.audience-intro{max-width:640px;margin-bottom:3.5rem}
.audience-intro p{font-size:1rem;line-height:1.8;color:rgba(255,255,255,.6);font-weight:300;margin-top:1.2rem}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(168,75,42,.15)}
.audience-card{background:var(--dark-2);padding:2.6rem 2.4rem}
.audience-name{font-family:var(--serif);font-size:1.35rem;font-weight:500;color:#fff;margin-bottom:.9rem;line-height:1.25}
.audience-desc{font-size:.9rem;line-height:1.75;color:rgba(255,255,255,.6);font-weight:300}
.audience-note{margin-top:2.2rem;font-size:.92rem;color:rgba(255,255,255,.6);font-weight:300;line-height:1.7;max-width:640px}
.audience-note strong{color:rgba(255,255,255,.7);font-weight:500}

/* EXPERIENCE */
#experience{background:var(--color-bg-soft);padding:var(--space-2xl) max(var(--gutter),calc((100vw - var(--container)) / 2))}
.exp-head{max-width:var(--container-reading);margin-bottom:var(--space-lg)}
.exp-head .eyebrow{font-size:var(--text-xs);line-height:1.4;margin-bottom:var(--space-sm)}
.exp-head > p:last-child{font-size:var(--text-base);line-height:1.65;color:var(--color-text-soft);font-weight:400;margin-top:var(--space-sm)}
.exp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}
.exp-card{min-width:0;background:var(--color-surface);padding:var(--space-lg);border-top:1px solid var(--color-border);display:flex;flex-direction:column}
.exp-card:first-child{border-top-color:var(--color-accent)}
.exp-date{font-size:var(--text-sm);letter-spacing:.06em;color:var(--color-accent);font-weight:500;line-height:1.5;margin-bottom:var(--space-sm)}
.exp-org{font-family:var(--sans);font-size:clamp(1.2rem,1.5vw,1.4rem);font-weight:500;color:var(--color-graphite);line-height:1.3;margin-bottom:var(--space-xs)}
.exp-role{font-size:var(--text-sm);line-height:1.5;color:var(--color-text-soft);font-weight:500;margin-bottom:var(--space-md)}
.exp-role--with-programme{margin-bottom:var(--space-xs)}
.exp-programme{font-size:var(--text-sm);line-height:1.5;color:var(--color-muted);font-weight:400;margin-bottom:var(--space-md)}
.exp-summary{font-size:var(--text-sm);line-height:1.65;color:var(--color-text-soft);margin-bottom:var(--space-md)}
.exp-list{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-xs)}
.exp-list span{max-width:100%;font-size:.78rem;line-height:1.45;padding:.35rem .65rem;background:var(--color-bg-soft);color:var(--color-text-soft);font-weight:400}

/* SELECTED WORK IN PRACTICE */
#work-practice{background:var(--color-bg);padding:var(--space-2xl) max(var(--gutter),calc((100vw - var(--container)) / 2))}
.practice-head{max-width:var(--container-reading);margin-bottom:var(--space-xl)}
.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl)}
.practice-item{min-width:0;border-top:1px solid var(--color-border);padding-top:var(--space-md)}
.practice-item:first-child{border-top-color:var(--color-accent)}
.practice-label{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-weight:600;margin-bottom:var(--space-sm)}
.practice-item h3{font-family:var(--serif);font-size:clamp(1.55rem,2vw,1.9rem);line-height:1.25;font-weight:500;color:var(--color-graphite);margin-bottom:var(--space-md)}
.practice-item p:not(.practice-label){font-size:var(--text-base);line-height:1.7;color:var(--color-text-soft)}
.practice-item .practice-lead{color:var(--color-text);font-weight:500;margin-bottom:var(--space-sm)}

/* WORKING TOGETHER */
#process{background:var(--color-bg);padding:var(--space-2xl) max(var(--gutter),calc((100vw - var(--container)) / 2));border-top:1px solid var(--color-border-light)}
.process-head{max-width:var(--container-reading);margin-bottom:var(--space-xl)}
.process-note{margin-top:var(--space-md);font-size:1.03rem;line-height:1.75;color:var(--color-text-soft)}
.process-note p+p{margin-top:.45rem}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xl)}
.process-step{min-width:0;border-top:1px solid var(--color-border);padding-top:var(--space-md)}
.process-num{display:block;font-family:var(--serif);font-size:1.35rem;line-height:1;color:var(--color-accent);margin-bottom:var(--space-sm)}
.process-step h3{font-size:1.15rem;line-height:1.35;font-weight:500;color:var(--color-graphite);margin-bottom:var(--space-sm)}
.process-step p{font-size:var(--text-sm);line-height:1.7;color:var(--color-text-soft)}

/* TESTIMONIALS */
#testimonials{background:var(--cream);padding:7rem 4rem}
.testi-head{max-width:600px;margin-bottom:3.5rem}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.testi-card{background:#fff;padding:2.3rem;border-top:3px solid var(--terra);display:flex;flex-direction:column}
.testi-mark{font-family:var(--serif);font-size:3rem;color:var(--terra);line-height:.6;margin-bottom:1rem;display:block;font-weight:300}
.testi-highlight{font-family:var(--serif);font-size:1.25rem;line-height:1.5;color:var(--mid);font-style:italic;font-weight:400;margin-bottom:1.5rem;flex-grow:1}
.testi-name{font-family:var(--serif);font-size:1.05rem;color:var(--dark);font-weight:500;margin-bottom:.25rem}
.testi-role{font-size:.78rem;color:var(--terra);font-weight:500;line-height:1.5}
.testi-toggle{display:none;align-self:flex-start;min-height:44px;margin-top:var(--space-md);padding:.45rem 0;border:0;border-bottom:1px solid currentColor;background:none;color:var(--color-text-soft);font:500 var(--text-sm)/1.4 var(--sans);cursor:pointer}
.js-testimonials .testi-toggle{display:block}
.testi-toggle:hover{color:var(--terra)}
.testi-full{padding-top:var(--space-md);border-top:1px solid var(--color-border-light)}
.testi-full p{font-size:.87rem;line-height:1.8;color:var(--mid);font-style:italic;font-weight:300}

/* INTERMEDIATE CTA */
.mid-cta{background:var(--cream);padding:3.5rem var(--gutter);text-align:center;border-top:1px solid var(--color-border-light)}
.mid-cta-title{font-family:var(--serif);font-size:clamp(1.9rem,2.5vw,2.35rem);font-weight:400;line-height:1.2;color:var(--dark);margin-bottom:var(--space-xs)}
.mid-cta-text{font-size:1rem;line-height:1.65;color:var(--color-text-soft);margin-bottom:var(--space-md)}
.mid-cta-link{display:inline-block;color:var(--terra);font-size:var(--text-sm);font-weight:500;letter-spacing:.08em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.2rem}
.mid-cta-link:hover{color:var(--dark)}

/* FREELANCE BRIDGE */
#bridge{background:var(--color-bg);padding:var(--space-xl) max(var(--gutter),calc((100vw - var(--container)) / 2))}
.bridge-inner{max-width:var(--container-reading);margin-inline:auto;text-align:center}
.bridge-title{font-family:var(--serif);font-size:clamp(2.1rem,3vw,2.8rem);line-height:1.2;font-weight:300;color:var(--color-graphite);margin-bottom:var(--space-md);text-wrap:balance}
.bridge-title em{font-style:italic;color:var(--color-accent)}
.bridge-text{max-width:40rem;margin-inline:auto;font-size:1.06rem;line-height:1.75;color:var(--color-text-soft);font-weight:400}

/* TOOLS */
#tools{background:var(--color-bg-soft);padding:var(--space-2xl) max(var(--gutter),calc((100vw - var(--container)) / 2))}
.tools-defs{position:absolute;width:0;height:0;overflow:hidden}
.tools-head{margin-bottom:var(--space-lg)}
.tools-head .title-lg{font-size:clamp(2.3rem,3.4vw,3.2rem)}
.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xl)}
.tools-group{min-width:0;border-top:1px solid var(--color-border);padding-top:var(--space-md)}
.tools-group:first-child{border-top-color:var(--color-accent)}
.tools-group h3{font-family:var(--sans);font-size:var(--text-base);line-height:1.4;font-weight:500;color:var(--color-graphite);margin-bottom:var(--space-md)}
.tool-list{display:grid;gap:.7rem;list-style:none}
.tool-list li{display:flex;align-items:flex-start;gap:.7rem;font-size:var(--text-sm);line-height:1.45;color:var(--color-text-soft)}
.tool-icon{width:1.15rem;height:1.15rem;flex:none;margin-top:.1rem;fill:none;stroke:var(--color-muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* WHY WORK WITH ME */
/* ABOUT */
#about{background:var(--dark-2);padding:7rem 4rem;display:grid;grid-template-columns:auto 1fr;gap:5rem;align-items:center;border-top:1px solid rgba(255,255,255,.06)}
.about-photo-wrap{position:relative;width:260px;flex-shrink:0}
.about-photo-oval{width:260px;height:340px;border-radius:50%/40%;overflow:hidden}
.about-photo-oval img{width:100%;height:100%;object-fit:cover;object-position:top}
.about-photo-accent{position:absolute;bottom:-1.1rem;right:-1.1rem;width:205px;height:270px;border:2px solid var(--terra);border-radius:50%/40%;z-index:-1}
.about-text .title-lg{margin-bottom:1.6rem}
.about-text p{font-size:1rem;line-height:1.85;color:rgba(255,255,255,.55);font-weight:300;margin-bottom:1.3rem}
.about-text p:last-of-type{margin-bottom:0}
.about-text .about-location{margin-top:1.8rem;font-size:.85rem;color:rgba(255,255,255,.68);letter-spacing:.04em}
.about-quote{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid rgba(255,255,255,.1);max-width:50rem;font-family:var(--serif);font-size:clamp(1.45rem,2vw,1.9rem);font-style:italic;line-height:1.35;color:var(--color-accent-soft)}

/* CONTACT */
#contact{background:var(--terra);padding:7rem 4rem}
.contact-head{max-width:640px;margin:0 auto 3.5rem;text-align:center}
.contact-head .eyebrow{display:flex;justify-content:center}
.contact-title{font-family:var(--serif);font-size:clamp(2.1rem,3.3vw,3.1rem);line-height:1.25;font-weight:400;color:#fff;margin-bottom:1.4rem}
.contact-text{font-size:1.02rem;line-height:1.8;color:rgba(255,255,255,.85);font-weight:300;margin-bottom:.6rem}
.contact-note{font-size:.92rem;color:rgba(255,255,255,.86);font-weight:300;font-style:italic}
.contact-text--follow-up{max-width:590px;margin:var(--space-md) auto 0}
.contact-action{text-align:center}

.btn-contact{display:inline-flex;align-items:center;gap:.8rem;background:var(--dark);color:#fff;padding:1.1rem 2.4rem;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;font-weight:500;transition:background .3s;margin-bottom:2.6rem}
.btn-contact:hover{background:var(--dark-2)}
.contact-details{display:flex;justify-content:center;gap:2.4rem;flex-wrap:wrap;font-size:.88rem}
.contact-details a{color:rgba(255,255,255,.85);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:.15rem}
.contact-details a:hover{color:#fff;border-color:#fff}
.contact-details .whatsapp-link{display:inline-flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.86)}
.whatsapp-icon{width:1rem;height:1rem;flex:none}
.contact-details span{color:rgba(255,255,255,.86)}

/* FOOTER */
footer{background:#0a0604;padding:3rem 4rem 2rem}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;padding-bottom:2.2rem;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-brand{font-family:var(--serif);font-size:1.2rem;color:#fff;font-weight:400;margin-bottom:.7rem}
.footer-brand em{font-style:italic;color:var(--terra-light)}
.footer-tagline{font-size:.84rem;color:rgba(255,255,255,.55);line-height:1.7;font-weight:300;max-width:280px}
.footer-col-title{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terra-light);font-weight:600;margin-bottom:1rem}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.footer-links a{font-size:.84rem;color:rgba(255,255,255,.55);text-decoration:none;font-weight:300}
.footer-links a:hover{color:var(--terra-light)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:1.4rem}
.footer-bottom p{font-size:.76rem;color:rgba(255,255,255,.55)}

/* REVEAL */
.reveal{transition:opacity var(--transition-slow),transform var(--transition-slow)}
.js-reveal .reveal:not(.visible){opacity:0;transform:translateY(20px)}
.reveal.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}
.reveal-delay-2{transition-delay:.16s}
.reveal-delay-3{transition-delay:.24s}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .js-reveal .reveal{opacity:1;transform:none}
}

/* ═══ TABLET ═══ */
@media (max-width:1100px){
  nav{padding:1.2rem 2.2rem} nav.scrolled{padding:.9rem 2.2rem}
  #hero{grid-template-columns:minmax(0,58%) minmax(0,42%)}
  .hero-left{padding:7rem var(--space-md) var(--space-xl) max(2.2rem,var(--gutter))}
  .hero-name{font-size:clamp(3rem,4.28vw,3.42rem)}
  .hero-tagline{font-size:clamp(1.48rem,2.42vw,1.73rem)}
  .stats-bar{padding:var(--space-lg) 2.2rem;grid-template-columns:repeat(6,minmax(0,1fr));row-gap:var(--space-lg)}
  .stat-item:nth-child(-n+3){grid-column:span 2}
  .stat-item:nth-child(n+4){grid-column:span 3}
  .stat-item:nth-child(4){border-left:0;padding-left:0}
  #intro,#services,#audience,#experience,#work-practice,#process,#testimonials,#bridge,#about,#contact{padding:5rem 2.2rem}
  #bridge{padding:var(--space-lg) 2.2rem}
  #tools{padding:5rem 2.2rem}
  .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-xl)}
  .audience-grid{grid-template-columns:1fr;gap:1.5px}
  .exp-grid{grid-template-columns:1fr}
  footer{padding:3rem 2.2rem 1.6rem} .footer-top{gap:2rem}
}

/* ═══ MOBILE ═══ */
@media (max-width:768px){
  :root{--gutter:1.5rem}
  html{font-size:16px}
  nav{padding:1rem 1.4rem} nav.scrolled{padding:.85rem 1.4rem}
  .nav-links{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(20,10,5,.97);backdrop-filter:blur(16px);border-top:1px solid rgba(168,75,42,.2)}
  .nav-links.open{display:flex}
  .nav-links li{border-bottom:1px solid rgba(255,255,255,.06)}
  .nav-links a{display:block;padding:1rem 1.4rem}
  nav.scrolled .nav-links{background:rgba(250,245,240,.97)}
  .nav-cta{display:none}
  .hamburger{display:flex !important;align-items:center;justify-content:center;min-width:44px;min-height:44px}

  #hero{display:block;min-height:100svh}
  .hero-left{min-height:100svh;padding:calc(var(--space-2xl) + var(--space-sm)) var(--gutter) var(--space-xl);justify-content:flex-end}
  .hero-name{font-size:clamp(2.8rem,7.6vw,4rem)}
  .hero-title{font-size:clamp(2.4rem,6.5vw,3.5rem);margin-bottom:var(--space-md)}
  .hero-tagline{font-size:clamp(1.5rem,4.4vw,1.9rem)}
  .hero-desc{font-size:var(--text-base)}
  .hero-tagline,.hero-desc{max-width:34rem}
  .hero-actions{gap:var(--space-md)}
  .hero-right{position:absolute;inset:0;height:auto;min-height:0;z-index:0}
  .hero-photo{object-position:top center;filter:brightness(.9) contrast(.96)}
  .hero-overlay{display:block;background:linear-gradient(180deg,rgba(28,15,8,.4) 0%,rgba(28,15,8,.25) 25%,rgba(28,15,8,.62) 52%,rgba(39,22,9,.92) 82%,var(--color-graphite-soft) 100%)}

  .stats-bar{grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-lg) var(--gutter);column-gap:var(--space-sm);row-gap:var(--space-lg)}
  .stat-item:nth-child(n){grid-column:auto;padding:0 0 0 var(--space-sm);border-left:1px solid rgba(253,249,246,.12)}
  .stat-item:nth-child(odd){padding-left:0;border-left:0}
  .stat-item:last-child{grid-column:1 / -1}
  .stat-number{font-size:2.5rem}

  #intro,#services,#audience,#experience,#work-practice,#process,#testimonials,#bridge,#about,#contact{padding:4rem 1.5rem}
  .services-grid{grid-template-columns:1fr}
  .service-card{padding:var(--space-md) 0 var(--space-lg)}
  .service-top{gap:var(--space-sm);margin-bottom:var(--space-sm)}
  .service-num{flex-basis:1.8rem}
  .service-name{font-size:1.2rem}
  .service-focus,.service-details,.service-examples,.service-list{padding-left:calc(1.8rem + var(--space-sm))}

  .audience-grid{grid-template-columns:1fr}
  .exp-card{padding:var(--space-md)}
  .practice-grid,.process-grid{grid-template-columns:1fr;gap:var(--space-lg)}
  .testi-grid{grid-template-columns:1fr}
  .testi-highlight{font-size:1.3rem}
  .testi-full p{font-size:1rem;line-height:1.75}
  .testi-role{font-size:.85rem}
  .mid-cta-link{display:inline-flex;align-items:center;min-height:44px}

  #about{grid-template-columns:1fr;gap:2.4rem;text-align:center}
  .about-photo-wrap{width:190px;margin:0 auto}
  .about-photo-oval{width:190px;height:250px}
  .about-photo-accent{width:150px;height:200px}
  .about-text{text-align:left}

  #bridge{padding:var(--space-lg) var(--gutter)}
  #tools{padding:4rem var(--gutter)}

  .contact-details{flex-direction:column;align-items:center;gap:.9rem}
  .contact-details a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}

  .footer-top{grid-template-columns:1fr;gap:1.8rem}
  .footer-links a{display:inline-flex;align-items:center;min-height:44px}
  .footer-bottom{flex-direction:column;gap:.8rem;text-align:center}
}

@media (max-width:600px){
  .tools-grid{grid-template-columns:1fr;gap:var(--space-lg)}
}
