@font-face{
    font-family:'Calgary';
    src:url('fonts/calgary.woff') format('woff');
    font-weight:400; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Centaur';
    src:url('fonts/centaur.woff') format('woff');
    font-weight:400; font-style:normal; font-display:swap;
  }
  :root{
    --charcoal:#242220;
    --charcoal-2:#2e2b28;
    --cream:#faf6ef;
    --cream-2:#f2ece1;
    --gold:#b0925e;
    --gold-light:#cbb185;
    --gold-text:#8a6d3b;
    --ink:#2a2723;
    --grey:#5f5a52;
    --line:#e4dccc;
    --radius:2px;
    --font-display:'Calgary','Gotham','Gotham SSm','Gotham Book','Montserrat',Arial,sans-serif;
    --font-heading:'Centaur','Centaur MT','Gotham','Gotham SSm','Gotham Book','Montserrat',Arial,sans-serif;
    --font:'Gotham','Gotham SSm','Gotham Book','Montserrat',Arial,sans-serif;
    --maxw:1180px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--font);
    color:var(--ink);
    background:var(--cream);
    line-height:1.6;
    font-weight:300;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:var(--font-heading);
    font-weight:400;
    letter-spacing:-.005em;
    line-height:1.2;
    color:var(--ink);
  }
  h1{font-family:var(--font-display);}
  .serif-italic{font-family:var(--font); font-weight:400;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
  .eyebrow{
    text-transform:uppercase;
    letter-spacing:.22em;
    font-size:12px;
    color:var(--gold);
    font-weight:500;
    margin-bottom:16px;
    display:block;
  }
  .eyebrow.on-dark{color:var(--gold-light);}
  section{padding:96px 0;}
  .btn{
    display:inline-block;
    padding:15px 34px;
    border:1px solid var(--ink);
    font-size:13px;
    letter-spacing:.12em;
    text-transform:uppercase;
    transition:all .25s ease;
    font-weight:500;
  }
  .btn:hover{background:var(--ink); color:var(--cream);}
  .btn.primary{background:var(--ink); color:var(--cream);}
  .btn.primary:hover{background:transparent; color:var(--ink);}
  .btn.on-dark{border-color:var(--cream); color:var(--cream);}
  .btn.on-dark:hover{background:var(--cream); color:var(--charcoal);}
  .btn.on-dark.primary{background:var(--gold); border-color:var(--gold); color:var(--charcoal);}
  .btn.on-dark.primary:hover{background:transparent; color:var(--cream);}

  /* NAV */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(250,246,239,0);
    transition:background .3s ease, box-shadow .3s ease, padding .3s ease;
    padding:20px 0;
  }
  header.scrolled{
    background:rgba(250,246,239,.96);
    backdrop-filter:blur(8px);
    box-shadow:0 1px 0 var(--line);
    padding:12px 0;
  }
  nav{display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px;}
  .logo{display:flex; align-items:center;}
  .logo img{height:56px; width:auto; display:block; transition:opacity .2s ease, height .3s ease;}
  header.scrolled .logo img{height:44px;}
  .logo img.logo-light{filter:brightness(0) invert(1);}
  header:not(.scrolled) .logo img.logo-dark{display:none;}
  header.scrolled .logo img.logo-light{display:none;}
  .nav-links{
    grid-column:2; justify-content:center;
    display:flex; gap:26px; list-style:none; align-items:center;
  }
  .nav-links a{
    font-size:13px; text-transform:uppercase; letter-spacing:.08em; font-weight:600;
    padding-bottom:4px; border-bottom:1px solid transparent;
    transition:border-color .2s ease, color .2s ease;
    color:#fff;
    text-shadow:0 1px 3px rgba(0,0,0,.35);
    white-space:nowrap;
  }
  header.scrolled .nav-links a{color:var(--ink); text-shadow:none;}
  .nav-links a:hover{border-color:var(--gold);}
  header:not(.scrolled) .nav-links a:hover{color:var(--gold-light);}
  header.scrolled .nav-links a:hover{color:var(--gold);}
  .nav-cta-wrap{grid-column:3; justify-self:end;}
  .nav-cta-mobile{display:none;}
  .nav-cta{white-space:nowrap;}
  .burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; grid-column:3; justify-self:end;}
  .burger span{width:24px; height:1.5px; background:#fff; display:block; transition:background .3s ease;}
  header.scrolled .burger span{background:var(--ink);}

  /* HERO */
  .hero{
    display:flex; flex-direction:column;
    background:var(--charcoal);
    color:var(--cream);
    position:relative;
    overflow:hidden;
  }
  .hero-top{
    min-height:100vh;
    display:flex; flex-direction:column;
    background:
      radial-gradient(ellipse 900px 600px at 82% 8%, rgba(176,146,94,.20), transparent 60%),
      radial-gradient(ellipse 700px 500px at 10% 100%, rgba(176,146,94,.10), transparent 55%),
      linear-gradient(160deg, var(--charcoal-2), var(--charcoal) 60%);
    position:relative;
    padding-top:120px;
    overflow:hidden;
  }
  .hero-top::before{
    content:"";
    position:absolute; inset:0;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
    opacity:.05;
    mix-blend-mode:overlay;
    pointer-events:none;
  }
  .hero-photo-blend{
    position:absolute; inset:0; z-index:1;
    background-color:var(--charcoal);
    background-image:url("images/hero-blend.jpg");
    background-size:contain;
    background-position:right center;
    background-repeat:no-repeat;
  }
  .hero-top .wrap{position:relative; z-index:2; flex:1; display:flex; flex-direction:column; justify-content:center; padding-bottom:32px;}
  .hero h1{
    font-size:clamp(38px, 6vw, 68px);
    max-width:900px;
    color:#fff;
  }
  .hero h1 em{font-style:italic; color:var(--gold-light);}
  .hero p.lead{
    max-width:560px;
    font-size:18px;
    color:#d8d3ca;
    margin:26px 0 40px;
    font-weight:300;
  }
  .hero-ctas{display:flex; gap:18px; flex-wrap:wrap;}
  .hero-partners{
    margin-top:56px;
    padding-top:26px;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .hero-partners .label{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#9c968b; margin-bottom:14px; display:block;}
  .marquee-track{display:flex; gap:44px; flex-wrap:wrap; align-items:center; color:#c9c3b8; font-family:var(--font); font-size:16px;}
  .marquee-track span{white-space:nowrap; opacity:.85;}

  /* HERO PHOTO GALLERY (static) */
  .hero-gallery{
    position:relative; z-index:2; width:100%;
    display:grid; grid-template-columns:1fr; gap:1px;
    background:rgba(255,255,255,.1);
    border-top:1px solid rgba(255,255,255,.14);
  }
  .gallery-tile{aspect-ratio:4/3; overflow:hidden; background:var(--charcoal-2); display:flex; align-items:center; justify-content:center;}
  .gallery-tile img{
    width:100%; height:100%; object-fit:contain; display:block;
    filter:grayscale(15%) contrast(1.05) brightness(.9) saturate(.95);
  }
  .gallery-tile.gt-full{aspect-ratio:auto; background:var(--charcoal);}
  .gallery-tile.gt-full img{width:100%; height:auto; display:block; filter:none;}

  /* SECTION HEAD */
  .section-head{max-width:640px; margin-bottom:56px;}
  .section-head h2{font-size:clamp(28px,3.6vw,42px);}
  .section-head p{color:var(--grey); font-size:16px; margin-top:16px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

  /* ABOUT */
  .about{background:var(--cream);}
  .about-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:72px; align-items:start;}
  .about-copy p{color:#4a453f; font-size:17px; margin-bottom:18px;}
  .about-copy blockquote{
    font-family:var(--font);
    font-size:24px;
    color:var(--ink);
    border-left:2px solid var(--gold);
    padding-left:22px;
    margin:30px 0;
    line-height:1.4;
  }
  .stat-col{display:grid; gap:1px; background:var(--line); border:1px solid var(--line);}
  .stat-box{background:var(--cream); padding:30px 28px;}
  .stat-box .num{font-family:var(--font-display); font-size:36px; color:var(--gold);}
  .stat-box .desc{font-size:14px; color:var(--grey); margin-top:6px;}
  .expertise-strip{font-size:13px; letter-spacing:.03em; color:var(--grey); margin-bottom:32px;}
  .gold-word{color:var(--gold);}

  /* HOW WE WORK */
  .how{background:var(--cream);}
  .how-split{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
  .how-list{display:flex; flex-direction:column; gap:48px;}
  .how-row{display:flex; gap:20px; align-items:flex-start; text-align:left;}
  .how-index{
    font-family:var(--font); font-size:20px; color:var(--gold);
    flex:0 0 auto; padding-top:9px; min-width:34px;
  }
  .how-row h3{font-size:34px; margin-bottom:12px;}
  .how-row p{color:#5f5a52; font-size:18px; line-height:1.7;}
  .how-photo{text-align:center;}
  .how-photo img{width:100%; height:auto; border:1px solid var(--line); display:block;}
  .how-photo-caption{font-family:var(--font); font-size:13px; color:var(--grey); margin-top:14px;}

  /* CLOSING CTA BAND */
  .cta-band{
    background:
      linear-gradient(160deg, rgba(28,26,23,.78), rgba(28,26,23,.88) 60%),
      url("images/laptop-plant-scene.jpg");
    background-size:cover; background-position:center;
    color:var(--cream); text-align:center; padding:100px 0;
  }
  .cta-band .eyebrow{text-align:center;}
  .cta-band h2{color:#fff; font-size:clamp(26px,3.6vw,40px); max-width:680px; margin:0 auto 18px;}
  .cta-band p{color:#c9c3b8; font-size:16px; max-width:520px; margin:0 auto 36px;}

  /* OUR CLIENTS */
  /* Case studies: story rows */
  .cases{padding:104px 0;}
  .cases-head{margin-bottom:56px;}
  .cases-head h2{font-size:clamp(28px,3.6vw,42px);}
  .story-rows{display:grid; gap:28px;}
  .story-row{display:grid; grid-template-columns:1.15fr 1fr; background:#fff; border:1px solid var(--line);}
  .story-row.rev .story-photo{order:2;}
  .story-photo{min-height:380px; background-size:cover; background-position:center;}
  .story-logo{background:var(--charcoal); display:flex; align-items:center; justify-content:center; padding:48px;}
  .story-logo img{width:100%; max-width:340px; height:auto;}
  .story-text{padding:48px 48px;}
  .story-num{font-family:var(--font-display); font-size:clamp(52px,6vw,76px); line-height:1; color:var(--gold); font-weight:300;}
  .story-client{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--grey); font-weight:500; margin:12px 0 18px;}
  .story-intro{font-size:16px; color:var(--ink); margin-bottom:6px;}
  .story-list{list-style:none; margin-top:14px;}
  .story-list li{position:relative; padding:9px 0 9px 20px; border-top:1px solid var(--line); font-size:14.5px; color:#4a453f;}
  .story-list li::before{content:''; position:absolute; left:0; top:19px; width:6px; height:6px; border-radius:50%; background:var(--gold);}
  .cases{background:var(--cream);}
  .clients-banner{position:relative; width:100%; overflow:hidden; min-height:820px;}
  .clients-banner img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; filter:grayscale(10%) contrast(1.05);}
  .clients-banner-overlay{
    position:relative; min-height:820px; display:flex; align-items:center;
    background:linear-gradient(180deg, rgba(20,19,17,.62) 0%, rgba(20,19,17,.5) 35%, rgba(20,19,17,.68) 100%);
    padding:64px 0;
  }
  .clients-banner-overlay .wrap{width:100%; text-align:center;}
  .clients-banner-overlay .eyebrow{text-align:center;}
  .clients-banner-overlay h2{color:#fff; font-size:clamp(28px,3.6vw,42px);}
  .clients-banner-caption{font-family:var(--font); font-size:13px; color:#d8d3ca; margin-top:16px;}
  .client-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.2); align-items:stretch; margin-top:48px;}
  .client-card{background:rgba(20,19,17,.35); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); padding:40px 32px; display:flex; flex-direction:column; align-items:center; text-align:center;}
  .client-name{font-family:var(--font-heading); font-weight:500; font-size:21px; color:#fff; margin-bottom:24px;}
  .client-bubbles{list-style:none; display:flex; flex-direction:column; gap:12px; text-align:left; width:100%;}
  .client-bubbles li{
    position:relative;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.16);
    border-radius:16px;
    padding:14px 18px 14px 34px;
    font-size:13.5px;
    line-height:1.55;
    color:#d8d3ca;
  }
  .client-bubbles li::before{
    content:"";
    position:absolute; left:16px; top:18px;
    width:6px; height:6px; border-radius:50%;
    background:var(--gold-light);
  }

  /* TRACK RECORD (nested inside Founders) */
  .track-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); text-align:center;}
  .track-box{background:var(--charcoal); padding:36px 24px;}
  .track-box .num{font-family:var(--font-display); font-size:30px; color:var(--gold-light); margin-bottom:10px;}
  .track-box p{font-size:13px; color:#b7b0a3;}

  /* FOUNDERS */
  .founders{background:var(--cream);}
  .founders-grid{display:grid; grid-template-columns:1fr 1.15fr; gap:64px; align-items:center;}
  .founders-photo{border:1px solid var(--line);}
  .founders-photo img{width:100%; height:auto; display:block;}
  .founders-caption{font-family:var(--font); font-size:14px; color:var(--grey); margin-top:14px; text-align:center;}
  .founders-intro{font-size:16px; color:#4a453f; margin-bottom:32px;}
  .founders-track{margin-top:72px;}
  .founders-track > .eyebrow{margin-bottom:24px;}
  /* Jules profile (blog style) */
  .jules-profile{margin-top:88px; padding-top:72px; border-top:1px solid var(--line); display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; align-items:start;}
  .jules-photo{position:sticky; top:110px;}
  .jules-photo img{width:100%; height:auto; display:block;}
  .jules-photo figcaption{font-family:var(--font); font-size:14px; color:var(--grey); margin-top:14px; text-align:center;}
  .post-title{font-size:clamp(28px,3.4vw,40px); line-height:1.2; margin-bottom:12px;}
  .post-meta{font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:28px;}
  .jules-post p{font-size:17px; line-height:1.85; color:#4a453f; margin-bottom:22px;}
  .jules-post .post-lede{font-family:var(--font-heading); font-size:21px; line-height:1.6; color:var(--ink);}
  .post-quote{font-family:var(--font); font-size:clamp(21px,2.4vw,27px); line-height:1.45; color:var(--gold); margin:36px 0; padding:0 0 0 28px; border-left:2px solid var(--gold-light);}
  .post-highlights{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:40px;}
  .post-highlights div{background:var(--cream); padding:22px 24px;}
  .post-highlights .num{display:block; font-family:var(--font-display); font-size:24px; color:var(--gold); margin-bottom:4px;}
  .post-highlights span:last-child{font-size:13.5px; color:var(--grey);}
  .founder-cards{display:grid; gap:1px; background:var(--line); border:1px solid var(--line);}
  .founder-card{background:var(--cream); padding:26px 28px;}
  .founder-card h4{font-size:19px; margin-bottom:2px;}
  .founder-card .role{font-size:12px; color:var(--gold); text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; display:block;}
  .founder-card p{font-size:14px; color:var(--grey); margin-bottom:12px;}
  .founder-card .li-link{font-size:12.5px; color:var(--ink); text-decoration:underline; text-underline-offset:3px; font-weight:500;}
  .founder-card .li-link:hover{color:var(--gold);}

  /* CONTACT */
  .contact{background:var(--cream);}
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
  .contact-people{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line);}
  .person-card{background:var(--cream); padding:30px;}
  .person-card h4{font-size:20px; margin-bottom:2px;}
  .person-card .role{font-size:13px; color:var(--gold); text-transform:uppercase; letter-spacing:.08em; margin-bottom:16px; display:block;}
  .person-card .detail{font-size:14.5px; color:#4a453f; margin-bottom:4px;}
  .person-card .detail b{color:var(--grey); font-weight:400; display:inline-block; width:60px;}
  .contact-logo{flex:1; min-height:120px; background:var(--cream); display:flex; align-items:center; justify-content:center;}
  .contact-logo img{height:46px; width:auto; opacity:.82;}
  form{display:flex; flex-direction:column; gap:16px;}
  .field label{font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--grey); margin-bottom:8px; display:block;}
  .field input, .field textarea{
    width:100%; border:none; border-bottom:1px solid var(--line); background:transparent;
    padding:10px 2px; font-family:var(--font); font-size:15px; color:var(--ink);
  }
  .field input:focus, .field textarea:focus{outline:none; border-color:var(--gold);}
  .field textarea{resize:vertical; min-height:90px;}
  .form-note{font-size:12.5px; color:var(--grey); margin-top:6px;}

  /* AUDIT PAGE */
  .audit-hero{
    background:linear-gradient(160deg, var(--charcoal-2), var(--charcoal) 60%);
    color:var(--cream); text-align:center; padding:168px 0 72px;
  }
  .audit-hero .eyebrow{text-align:center;}
  .audit-hero h1{color:#fff; font-size:clamp(30px,4.2vw,48px); max-width:680px; margin:0 auto 18px;}
  .audit-hero p{color:#c9c3b8; font-size:16px; max-width:520px; margin:0 auto;}

  .audit-form-section{background:var(--cream); padding:72px 0 120px;}
  .audit-form-wrap{max-width:560px; margin:0 auto;}
  .audit-progress{display:flex; gap:8px; margin-bottom:14px;}
  .audit-progress .dot{flex:1; height:3px; background:var(--line); border-radius:2px;}
  .audit-progress .dot.done{background:var(--gold);}
  .step-label{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--grey); display:block; text-align:center; margin-bottom:44px;}

  #auditForm{display:block;}
  .form-step{display:none;}
  .form-step.active{display:block; animation:auditFadeIn .35s ease;}
  .form-step h2{font-size:24px; text-align:center; margin-bottom:28px; line-height:1.3;}
  .form-step input, .form-step select{
    width:100%; border:1px solid var(--line); background:var(--cream);
    padding:15px 16px; font-family:var(--font); font-size:15px; color:var(--ink);
    border-radius:2px; margin-bottom:14px;
  }
  .form-step input:focus, .form-step select:focus{outline:none; border-color:var(--gold);}
  .step-nav{display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:24px;}
  .step-nav .btn{flex:1; text-align:center;}
  .step-nav .back-step{border-color:var(--line); color:var(--grey);}
  .step-nav .back-step:hover{background:transparent; color:var(--ink); border-color:var(--ink);}

  .audit-success{text-align:center; padding:40px 0;}
  .audit-success h2{font-size:30px; margin-bottom:16px;}
  .audit-success p{color:var(--grey); max-width:440px; margin:0 auto;}

  @keyframes auditFadeIn{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}

  /* FOOTER */
  footer{background:var(--charcoal); color:#a9a297; padding:64px 0 32px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.1);}
  .footer-logo{margin-bottom:18px;}
  .footer-logo img{height:44px; width:auto; filter:brightness(0) invert(1);}
  .footer-grid p{font-size:14px; max-width:320px;}
  .footer-grid h5{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#7a746c; margin-bottom:16px;}
  .footer-grid ul{list-style:none; display:flex; flex-direction:column; gap:10px;}
  .footer-grid a{font-size:14px;}
  .footer-grid a:hover{color:var(--gold-light);}
  .footer-bottom{display:flex; justify-content:space-between; padding-top:28px; font-size:12.5px; flex-wrap:wrap; gap:10px;}

  .reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  @media (max-width: 900px){
    .about-grid, .contact-grid, .founders-grid, .jules-profile, .story-row{grid-template-columns:1fr;}
    .story-row.rev .story-photo{order:0;}
    .story-photo{min-height:240px;}
    .story-text{padding:32px 24px;}
    .cases{padding:64px 0;}
    .jules-profile{gap:40px; margin-top:64px; padding-top:48px;}
    .jules-photo{position:static; max-width:420px; margin:0 auto;}
    .post-highlights{grid-template-columns:1fr;}
    .how-split{grid-template-columns:1fr; gap:36px;}
    .client-grid{grid-template-columns:1fr;}
    .track-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr;}
    .clients-banner, .clients-banner-overlay{min-height:0;}
    .clients-banner-overlay{padding:64px 0;}
  }
  @media (max-width: 720px){
    .nav-links{position:fixed; top:0; right:0; height:100vh; width:78%; max-width:320px;
      background:var(--charcoal); flex-direction:column; justify-content:center; align-items:flex-start;
      padding:40px; gap:26px; transform:translateX(100%); transition:transform .3s ease; z-index:200;}
    .nav-links.open{transform:translateX(0);}
    .nav-links a{color:#fff; text-shadow:none;}
    .nav-cta-wrap{display:none;}
    .nav-cta-mobile{display:block; margin-top:10px;}
    .burger{display:flex;}
    section{padding:64px 0;}
    .hero-gallery{grid-template-columns:1fr;}
    .hero-partners{margin-top:40px;}
    .cta-band{padding:72px 0;}
    .audit-hero{padding:140px 0 56px;}
    .audit-form-section{padding:56px 0 80px;}
  }


/* ===== V2 additions ===== */
.skip-link{position:absolute; left:-9999px; top:8px; background:var(--ink); color:#fff; padding:10px 16px; z-index:300;}
.skip-link:focus{left:8px;}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
.eyebrow{color:var(--gold-text); font-size:13px;}
.eyebrow.on-dark{color:var(--gold-light);}
.founder-card .role, .person-card .role, .post-meta, .how-index{color:var(--gold-text);}
.expertise-strip{font-size:14px;}
.hero-partners .label{font-size:12px; color:#bdb7ab;}
.hero h1{max-width:760px;}
.hero p.lead{font-size:19px; max-width:600px;}
.marquee-track{gap:14px 36px; font-size:17px;}
.who, .services, .why, .how, .tiers, .faq, .testimonials{background:var(--cream);}
.services, .tiers{background:var(--cream-2);}
.audience-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:32px;}
.audience-card{background:#fff; border:1px solid var(--line); padding:40px 36px;}
.audience-card h3{font-size:28px; margin-bottom:14px;}
.audience-card p{font-size:17px; color:#4a453f;}
.service-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
.service-card{background:var(--cream-2); padding:40px 36px;}
.service-num{display:block; font-family:var(--font-display); font-size:28px; color:var(--gold-text); margin-bottom:10px;}
.service-card h3{font-size:26px; margin-bottom:12px;}
.service-card p{font-size:16.5px; color:#4a453f;}
.compare-wrap{overflow-x:auto; border:1px solid var(--line); background:#fff;}
.compare{width:100%; border-collapse:collapse; min-width:720px; font-size:15.5px;}
.compare th, .compare td{padding:20px 22px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); color:#4a453f;}
.compare thead th{font-family:var(--font-heading); font-size:20px; font-weight:400; color:var(--ink); background:var(--cream);}
.compare tbody th{font-weight:500; color:var(--ink); width:20%;}
.compare .us{background:var(--charcoal); color:var(--cream); border-bottom-color:#3a3631;}
.compare thead .us{color:var(--gold-light);}
.compare tbody tr:last-child th, .compare tbody tr:last-child td{border-bottom:0;}
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.step-card{border-top:1px solid var(--ink); padding-top:24px;}
.step-num{display:block; font-family:var(--font-display); font-size:44px; line-height:1; color:var(--gold-text); margin-bottom:14px;}
.step-card h3{font-size:26px; margin-bottom:10px;}
.step-card p{font-size:16px; color:#4a453f;}
.how-photo-wide{max-width:520px; margin:64px auto 0;}
.tier-grid{display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:24px; align-items:stretch;}
.tier-card{background:#fff; border:1px solid var(--line); padding:36px 32px;}
.tier-card.featured{background:var(--charcoal); color:var(--cream); border-color:var(--charcoal);}
.tier-num{display:block; font-family:var(--font-display); font-size:26px; color:var(--gold-text); margin-bottom:8px;}
.tier-card.featured .tier-num{color:var(--gold-light);}
.tier-card h3{font-size:26px; margin-bottom:10px;}
.tier-card.featured h3{color:#fff;}
.tier-for{font-size:15.5px; color:var(--grey); margin-bottom:20px;}
.tier-card.featured .tier-for{color:#d8d3ca;}
.tier-card ul{list-style:none;}
.tier-card li{position:relative; padding:9px 0 9px 18px; border-top:1px solid var(--line); font-size:15px; color:#4a453f;}
.tier-card.featured li{border-top-color:#3a3631; color:#d8d3ca;}
.tier-card li::before{content:''; position:absolute; left:0; top:19px; width:6px; height:6px; border-radius:50%; background:var(--gold);}
.tier-cta{text-align:center; margin-top:48px;}
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.testi-card{background:#fff; border:1px solid var(--line); padding:36px 32px; margin:0;}
.testi-card blockquote{font-family:var(--font-heading); font-size:22px; line-height:1.45; color:var(--ink); margin-bottom:24px;}
.testi-card figcaption strong{display:block; font-weight:500; color:var(--ink);}
.testi-card figcaption span{font-size:14px; color:var(--grey);}
.faq-list{max-width:820px;}
.faq-list details{border-top:1px solid var(--line);}
.faq-list details:last-child{border-bottom:1px solid var(--line);}
.faq-list summary{cursor:pointer; list-style:none; padding:24px 40px 24px 0; font-family:var(--font-heading); font-size:24px; position:relative; color:var(--ink);}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{content:'+'; position:absolute; right:6px; top:20px; font-size:30px; color:var(--gold-text); font-family:var(--font);}
.faq-list details[open] summary::after{content:'\2212';}
.faq-list details p{padding:0 40px 26px 0; font-size:17px; color:#4a453f;}
.form-note a{text-decoration:underline; text-underline-offset:3px;}
.legal{padding:150px 0 80px;}
.legal .wrap{max-width:780px;}
.legal h1{font-size:clamp(32px,4vw,46px); margin-bottom:12px;}
.legal h2{font-size:26px; margin:36px 0 10px;}
.legal p, .legal li{font-size:16.5px; color:#4a453f; margin-bottom:12px;}
.legal ul{padding-left:22px;}
.legal a{text-decoration:underline; text-underline-offset:3px;}
@media (max-width:900px){
  .audience-grid, .service-grid, .tier-grid, .testi-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  .steps{grid-template-columns:1fr;}
  .audience-card, .service-card, .tier-card{padding:28px 24px;}
  .faq-list summary{font-size:20px;}
  .compare-wrap{margin:0 -4px;}
}

/* Mobile hero: keep text legible over the photo */
@media (max-width:900px){
  .hero-photo-blend{background-size:cover; background-position:72% center; opacity:.38;}
  .hero-top{min-height:auto; padding-bottom:40px;}
}


/* ===== V3 lean additions ===== */
.capabilities{background:var(--cream);}
.cap-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.cap-item{background:#fff; padding:36px 28px;}
.cap-item h3{font-size:25px; margin-bottom:10px;}
.cap-item p{font-size:16.5px; color:#4a453f;}
.num-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; text-align:left;}
.num-strip > div{border-top:1px solid var(--ink); padding-top:20px;}
.num-strip .num{display:block; font-family:var(--font-display); font-size:52px; line-height:1; color:var(--gold-text); margin-bottom:10px;}
.num-strip span:last-child{font-size:16px; color:#4a453f;}
.named-note{margin-top:28px; font-size:14.5px; color:var(--grey);}
.tier-lite{display:grid; gap:0; border-top:1px solid var(--line);}
.tier-row{display:grid; grid-template-columns:60px 240px 1fr; gap:20px; align-items:baseline; padding:28px 0; border-bottom:1px solid var(--line);}
.tier-row .tier-num{margin:0; font-size:24px;}
.tier-row h3{font-size:28px;}
.tier-row p{font-size:17px; color:#4a453f;}
.tier-row.featured{background:var(--charcoal); color:var(--cream); padding-left:24px; padding-right:24px; margin:0 -24px; border-bottom:0;}
.tier-row.featured h3{color:#fff;}
.tier-row.featured p{color:#d8d3ca;}
.tier-row.featured .tier-num{color:var(--gold-light);}
.tier-note{margin-top:28px; font-size:16px; color:var(--grey);}
.step-card p{font-size:17px;}
.about-links{display:flex; flex-wrap:wrap; gap:14px 28px; margin-top:8px;}
.about-links .li-link{font-size:14px; color:var(--ink); text-decoration:underline; text-underline-offset:3px; font-weight:500;}
.about-links .li-link:hover{color:var(--gold-text);}
.about-lite .founders-intro{font-size:18px; margin-bottom:24px;}
.story-text{padding:56px 48px;}
.cta-band p{margin-bottom:30px;}
section{padding-top:80px; padding-bottom:80px;}
.hero, .cta-band{padding-top:0;}
.cta-band{padding:88px 0;}
@media (max-width:900px){
  .cap-grid{grid-template-columns:1fr 1fr;}
  .num-strip{grid-template-columns:1fr;}
  .tier-row{grid-template-columns:44px 1fr; row-gap:6px;}
  .tier-row p{grid-column:2;}
  .tier-row.featured{margin:0 -16px; padding-left:16px; padding-right:16px;}
}
@media (max-width:560px){ .cap-grid{grid-template-columns:1fr;} }


/* ===== V4: multi-page, motion ===== */
body{animation:pageIn .55s ease both;}
body.leaving{opacity:0; transition:opacity .22s ease;}
@keyframes pageIn{from{opacity:0;}to{opacity:1;}}
.gold-light{color:var(--gold-light);}
.nav-links a[aria-current="page"]{border-color:var(--gold);}

/* Pill buttons with arrow */
.btn{display:inline-flex; align-items:center; gap:14px; border-radius:999px; padding:15px 30px; font-size:12px; letter-spacing:.16em; font-weight:500; cursor:pointer; font-family:var(--font); line-height:1.2;}
.btn.arrow::after{content:""; width:12px; height:12px; flex:0 0 12px; background:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.4'><path d='M2 10L10 2M4 2h6v6'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.4'><path d='M2 10L10 2M4 2h6v6'/></svg>") center/contain no-repeat;
  transition:transform .25s ease;}
.btn.arrow:hover::after{transform:translate(3px,-3px);}
.btn.on-dark{background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.32); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);}
.btn.on-dark:hover{background:var(--cream); color:var(--charcoal); border-color:var(--cream);}
.btn.on-dark.primary{background:var(--gold); border-color:var(--gold); color:var(--charcoal);}
.btn.on-dark.primary:hover{background:var(--gold-light); border-color:var(--gold-light); color:var(--charcoal);}
.btn.on-light{background:var(--cream); color:var(--charcoal); border-color:var(--cream);}
.btn.on-light:hover{background:transparent; color:var(--cream); border-color:var(--cream);}
.btn.gold{background:var(--gold-light); border-color:var(--gold-light); color:var(--charcoal); padding:19px 34px;}
.btn.gold:hover{background:var(--charcoal); color:var(--cream); border-color:var(--charcoal);}
.nav-cta{padding:11px 22px; font-size:11.5px;}

/* Plain, centred hero */
.hero-plain .hero-top{align-items:center; justify-content:center; min-height:100vh; padding-top:100px;}
.hero-plain .hero-top .wrap{align-items:center; text-align:center; flex:0 0 auto;}
.hero-plain .hero-top::after{content:""; position:absolute; inset:-20%; z-index:0; pointer-events:none;
  background:radial-gradient(ellipse 40% 34% at 50% 42%, rgba(176,146,94,.16), transparent 70%);
  animation:glow 14s ease-in-out infinite alternate;}
@keyframes glow{from{transform:translate(-4%,-2%) scale(1);}to{transform:translate(4%,3%) scale(1.12);}}
.hero-plain h1{font-size:clamp(44px,8vw,104px); max-width:960px; line-height:1.04; margin:0 auto;}
.hero-plain h1 .gold-light{display:block;}
.hero-plain .eyebrow{margin-bottom:28px;}
.hero-plain p.lead{margin:30px auto 40px; max-width:600px; font-size:18px;}
.hero-plain .hero-ctas{justify-content:center;}
.scroll-cue{margin-top:64px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:#9c968b; display:inline-flex; flex-direction:column; align-items:center; gap:12px;}
.scroll-cue::after{content:""; width:1px; height:38px; background:linear-gradient(var(--gold-light), transparent); animation:cue 2.2s ease-in-out infinite;}
@keyframes cue{0%{transform:scaleY(0); transform-origin:top;}50%{transform:scaleY(1); transform-origin:top;}51%{transform-origin:bottom;}100%{transform:scaleY(0); transform-origin:bottom;}}

/* Page hero (sub pages) */
.page-hero{background:radial-gradient(ellipse 800px 500px at 85% 0%, rgba(176,146,94,.2), transparent 60%), linear-gradient(160deg, var(--charcoal-2), var(--charcoal) 65%); color:var(--cream); padding:170px 0 88px; position:relative; overflow:hidden;}
.page-hero h1{color:#fff; font-size:clamp(36px,5.6vw,72px); max-width:880px; line-height:1.08;}
.page-hero .lead{color:#d8d3ca; font-size:18px; max-width:560px; margin-top:22px;}
.page-hero .eyebrow{margin-bottom:22px;}

/* Brands & retailers carousel */
.logos{background:var(--charcoal); padding:34px 0 38px; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); overflow:hidden;}
.logos .label{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#9c968b; display:block; margin-bottom:22px;}
.marquee{overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee-inner{display:flex; width:max-content; animation:marquee 46s linear infinite;}
.marquee:hover .marquee-inner{animation-play-state:paused;}
.marquee-set{display:flex; align-items:center; gap:44px; padding-right:44px;}
.marquee-set span{white-space:nowrap;}
.marquee-set i{width:5px; height:5px; border-radius:50%; background:var(--gold); flex:0 0 5px;}
.mq-b{font-family:var(--font-heading); font-size:30px; color:#fff;}
.mq-r{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:#b8b2a6;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Approach: circles */
.approach{background:#2a2220; color:var(--cream); padding:110px 0 96px; overflow:hidden;}
.approach-head{text-align:center; margin-bottom:64px;}
.approach-head h2{color:#fff; font-size:clamp(34px,5vw,60px);}
.circles{--p:0; display:grid; grid-template-columns:repeat(3,1fr); gap:0 28px; max-width:1100px; margin:0 auto;}
.circle-col{display:flex; flex-direction:column; align-items:center; will-change:transform;}
.circle-col:nth-child(1){transform:translateX(calc((1 - var(--p)) * 68%));}
.circle-col:nth-child(3){transform:translateX(calc((1 - var(--p)) * -68%));}
.circle{width:min(100%,340px); aspect-ratio:1; border-radius:50%; border:1px solid rgba(203,177,133,.6); display:flex; align-items:center; justify-content:center; text-align:center; padding:13%; background:#2a2220;}
.c-text p{font-size:15px; line-height:1.75; color:#e6e0d6; opacity:calc(.2 + var(--p) * .8);}
.c-title{margin-top:-9%; transform:translateY(calc((1 - var(--p)) * -84%)); position:relative;}
.c-title h3{color:#fff; font-size:clamp(28px,3vw,38px);}
.approach-cta{display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin-top:64px;}

/* Focus list: the item in view pops, tint shifts */
.focus-section{--f-bg:#242220; background:var(--f-bg); color:var(--cream); transition:background .9s ease; padding:100px 0 90px;}
.focus-section[data-active="2"]{--f-bg:#2e231f;}
.focus-section[data-active="3"]{--f-bg:#232622;}
.focus-section[data-active="4"]{--f-bg:#2d2226;}
.focus-head{margin-bottom:24px;}
.focus-head h2{color:#fff; font-size:clamp(30px,4.2vw,52px); max-width:720px;}
.focus-item{display:grid; grid-template-columns:90px 1fr; gap:10px; padding:min(10vh,90px) 0; border-top:1px solid rgba(255,255,255,.12); transition:opacity .5s ease, transform .5s ease;}
.js .focus-item{opacity:.28; transform:scale(.97); transform-origin:left center;}
.js .focus-item.is-active{opacity:1; transform:none;}
.focus-num{font-family:var(--font-display); font-size:22px; color:var(--gold-light); padding-top:14px;}
.focus-item h3{color:#fff; font-size:clamp(34px,5.4vw,68px); line-height:1.1;}
.focus-item p{color:#d8d3ca; font-size:17px; max-width:560px; margin-top:16px;}
.focus-foot{margin-top:24px; padding-top:40px; border-top:1px solid rgba(255,255,255,.12);}

/* Audit band (stand-alone) */
.audit-band-section{background:var(--cream); padding:90px 0;}
.audit-band{border-radius:14px; padding:64px 56px; display:flex; align-items:center; justify-content:space-between; gap:40px; color:#fff;
  background:linear-gradient(100deg, rgba(36,34,32,.92), rgba(36,34,32,.7)), url("images/laptop-plant-scene.jpg") center/cover;}
.audit-band h2{color:#fff; font-size:clamp(28px,3.6vw,46px); max-width:560px;}
.audit-band p{color:#d8d3ca; max-width:520px; margin-top:16px; font-size:16.5px;}
.audit-band .btn{flex:0 0 auto;}

/* Results teaser */
.results-teaser{background:var(--cream-2);}
.teaser-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.teaser-card{display:block; background:#fff; border:1px solid var(--line); padding:44px 34px 38px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.teaser-card:hover{transform:translateY(-6px); box-shadow:0 18px 40px rgba(36,34,32,.1); border-color:var(--gold-light);}
.teaser-num{display:block; font-family:var(--font-display); font-size:clamp(52px,6vw,76px); line-height:1; color:var(--gold-text); margin-bottom:18px;}
.teaser-card h3{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--grey); font-family:var(--font); font-weight:500; margin-bottom:10px;}
.teaser-card p{font-size:16.5px; color:#4a453f;}
.teaser-more{margin-top:40px;}

/* Closer: inline form section */
.closer{background:var(--charcoal); color:var(--cream); padding:110px 0;}
.closer-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:start;}
.closer h2{color:#fff; font-size:clamp(36px,5vw,64px); line-height:1.08;}
.closer-text p{color:#d8d3ca; font-size:17px; margin-top:22px; max-width:440px;}
.closer-text .closer-tick{position:relative; padding-left:22px; font-size:14.5px; color:#b8b2a6;}
.closer-text .closer-tick::before{content:""; position:absolute; left:0; top:.6em; width:7px; height:7px; border-radius:50%; background:var(--gold);}

/* Form card */
.form-card{background:var(--cream); color:var(--ink); padding:40px 44px 44px;}
.form-card-top{display:flex; justify-content:space-between; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--grey); padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:28px;}
.form-card h3{font-size:clamp(30px,3.4vw,42px); line-height:1.1; margin-bottom:30px;}
.form-card h3 em{font-style:normal; color:var(--gold-text);}
.f-row{display:grid; grid-template-columns:1fr 1fr; gap:0 28px;}
.f-field{margin-bottom:22px;}
.f-field label{display:block; font-size:12px; color:var(--grey); margin-bottom:6px; letter-spacing:.04em;}
.f-field input, .f-field select, .f-field textarea{width:100%; border:0; border-bottom:1px solid #b9b0a0; background:transparent; padding:12px 2px; font-family:var(--font); font-size:16px; color:var(--ink); border-radius:0; font-weight:300;}
.f-field select{-webkit-appearance:none; appearance:none; background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='8' fill='none' stroke='%235f5a52' stroke-width='1.4'><path d='M1 1l6 6 6-6'/></svg>") right 4px center no-repeat; padding-right:28px;}
.f-field input:focus, .f-field select:focus, .f-field textarea:focus{outline:none; border-color:var(--gold);}
.f-field input:focus-visible, .f-field select:focus-visible, .f-field textarea:focus-visible{box-shadow:0 2px 0 0 var(--gold);}
.f-field textarea{resize:vertical; min-height:110px;}
.form-card .btn{margin-top:6px;}
.form-card .form-note{margin-top:18px;}
.form-success{padding:20px 0;}
.form-success h3{margin-bottom:12px;}
.form-success p{color:var(--grey); max-width:420px;}
.form-card.light{border:1px solid var(--line); background:#fff;}
.audit-page{background:var(--charcoal); padding:0 0 110px;}
.audit-wrap{max-width:780px; margin:-1px auto 0;}
.audit-page .form-card{margin-top:-24px; position:relative;}

/* Sub-navigation */
.subnav{position:sticky; top:68px; z-index:90; background:rgba(250,246,239,.96); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.subnav .wrap{display:flex; gap:6px 28px; overflow-x:auto; white-space:nowrap; padding-top:0; padding-bottom:0;}
.subnav a{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--grey); padding:18px 0 15px; border-bottom:2px solid transparent; transition:color .2s ease, border-color .2s ease;}
.subnav a:hover{color:var(--ink);}
.subnav a.on{color:var(--ink); border-color:var(--gold);}
section[id]{scroll-margin-top:130px;}

/* Story rows: focus effect on the results page */
.js .focus-rows .story-row{transition:opacity .5s ease, transform .5s ease, box-shadow .5s ease;}
.js .focus-rows .story-row.is-active{box-shadow:0 22px 50px rgba(36,34,32,.12);}
.js .focus-rows .story-row:not(.is-active){opacity:.55;}
.js .focus-rows .story-row.reveal:not(.in){opacity:0;}
.focus-rows{padding-top:72px;}
.legal-wrap{padding:0;}

@media (max-width:900px){
  .closer-grid{grid-template-columns:1fr; gap:48px;}
  .teaser-grid{grid-template-columns:1fr;}
  .audit-band{flex-direction:column; align-items:flex-start; padding:44px 28px;}
  .form-card{padding:30px 24px 34px;}
  .f-row{grid-template-columns:1fr;}
  .circles{grid-template-columns:1fr; gap:56px; max-width:320px;}
  .circle-col:nth-child(1), .circle-col:nth-child(3){transform:none;}
  .circle{width:min(100%,300px);}
  .focus-item{grid-template-columns:44px 1fr; padding:44px 0;}
  .hero-plain .hero-top{min-height:92vh;}
  .hero-plain .hero-top{padding-bottom:40px;}
  .subnav{top:60px;}
}
@media (prefers-reduced-motion: reduce){
  .marquee-inner, .hero-plain .hero-top::after, .scroll-cue::after{animation:none;}
  body{animation:none;}
  .js .focus-item{opacity:1; transform:none;}
  .js .focus-rows .story-row:not(.is-active){opacity:1;}
}


/* ===== V5: v2 hero back, squares, tabs, floating CTA ===== */
/* Hero: left-aligned, header + buttons only */
.hero .hero-top{min-height:100vh;}
.hero h1{font-size:clamp(44px,7vw,96px); line-height:1.04; max-width:980px;}
.hero h1 em{font-style:italic; color:var(--gold-light);}
.hero .hero-ctas{margin-top:44px;}
.hero .eyebrow{margin-bottom:26px;}
.hero-top .wrap{align-items:flex-start; text-align:left;}
@media (max-width:900px){ .hero .hero-top{min-height:92vh;} }

/* Carousel: all names in the heading face */
.mq-b{font-size:32px;}

/* Squares instead of circles */
.circle{border-radius:0; flex-direction:column;}
.circle-col{color:inherit;}
.circle-col .circle{transition:background .35s ease, border-color .35s ease;}
.circle-col:hover .circle, .circle-col:focus-visible .circle{background:#352a27; border-color:var(--gold-light);}
.c-title{gap:14px;}
.sq-num{font-family:var(--font-display); font-size:15px; color:var(--gold-light); letter-spacing:.12em; margin-bottom:10px;}
.c-title{flex-direction:column;}

/* Who it's for (home) */
.who-home{background:var(--cream);}

/* Tabs (shared) */
.tab{font-family:var(--font); background:none; border:0; cursor:pointer; color:inherit; text-align:left;}
.tab:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
.tabpanel[hidden]{display:none;}
.tabpanel.active{animation:tabIn .4s ease;}
@keyframes tabIn{from{opacity:0; transform:translateY(10px);}to{opacity:1; transform:none;}}

/* Segmented control */
.tabs.seg .tablist{display:inline-flex; flex-wrap:wrap; gap:6px; padding:6px; background:#fff; border:1px solid var(--line); border-radius:999px; margin-bottom:28px;}
.tabs.seg .tab{padding:13px 26px; border-radius:999px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:500; color:var(--grey); transition:background .25s ease, color .25s ease;}
.tabs.seg .tab:hover{color:var(--ink);}
.tabs.seg .tab[aria-selected="true"]{background:var(--charcoal); color:var(--cream);}
.tabs.seg .tabpanel{background:#fff; border:1px solid var(--line); padding:44px 48px; max-width:760px;}
.tabs.seg .tabpanel p{font-size:20px; line-height:1.6; color:var(--ink); margin-bottom:28px;}
.tabs.seg.tiers-tabs .tabpanel{background:var(--charcoal); color:var(--cream); border-color:var(--charcoal); max-width:none; display:grid; grid-template-columns:1fr 1.2fr; column-gap:56px; align-items:start;}
.tabs.seg.tiers-tabs .tabpanel[hidden]{display:none;}
.tabs.seg.tiers-tabs .tier-num{grid-column:1; font-size:22px; color:var(--gold-light); font-family:var(--font-display);}
.tabs.seg.tiers-tabs h3{grid-column:1; color:#fff; font-size:clamp(28px,3.2vw,40px); margin:6px 0 14px;}
.tabs.seg.tiers-tabs .tier-for{grid-column:1; font-size:16px; color:#d8d3ca; margin:0;}
.tabs.seg.tiers-tabs ul{grid-column:2; grid-row:1 / span 3; list-style:none;}
.tabs.seg.tiers-tabs li{padding:12px 0 12px 22px; border-top:1px solid rgba(255,255,255,.14); position:relative; font-size:15.5px; color:#e6e0d6;}
.tabs.seg.tiers-tabs li:first-child{border-top:0; padding-top:0;}
.tabs.seg.tiers-tabs li::before{content:""; position:absolute; left:0; top:1.15em; width:6px; height:6px; border-radius:50%; background:var(--gold);}
.tabs.seg.tiers-tabs li:first-child::before{top:.55em;}

/* Side tabs (services) */
.tabs.side{display:grid; grid-template-columns:minmax(260px,.8fr) 1.2fr; gap:0; border:1px solid var(--line); background:#fff;}
.tabs.side .tablist{display:flex; flex-direction:column; border-right:1px solid var(--line);}
.tabs.side .tab{display:flex; gap:18px; align-items:baseline; padding:28px 30px; border-bottom:1px solid var(--line); font-family:var(--font-heading); font-size:clamp(20px,2vw,26px); line-height:1.25; color:var(--grey); position:relative; transition:background .25s ease, color .25s ease, padding .25s ease;}
.tabs.side .tab:last-child{border-bottom:0;}
.tabs.side .tab .tab-num{font-family:var(--font); font-size:12px; letter-spacing:.12em; color:var(--gold-text);}
.tabs.side .tab:hover{background:var(--cream); color:var(--ink); padding-left:36px;}
.tabs.side .tab[aria-selected="true"]{background:var(--charcoal); color:#fff;}
.tabs.side .tab[aria-selected="true"] .tab-num{color:var(--gold-light);}
.tabs.side .tabpanels{padding:56px 52px; display:flex; align-items:center;}
.tabs.side .tabpanel{width:100%;}
.tabs.side .panel-num{display:block; font-family:var(--font-display); font-size:clamp(60px,7vw,96px); line-height:1; color:var(--gold-text); margin-bottom:18px;}
.tabs.side h3{font-size:clamp(28px,3.2vw,42px); margin-bottom:16px;}
.tabs.side .tabpanel p{font-size:18px; color:#4a453f; max-width:520px; margin-bottom:30px;}

/* Stepper (how it works) */
.tabs.stepper .tablist{display:flex; justify-content:space-between; position:relative; margin-bottom:36px;}
.tabs.stepper .tablist::before{content:""; position:absolute; left:6%; right:6%; top:27px; height:1px; background:var(--line);}
.tabs.stepper .tab{flex:1; display:flex; flex-direction:column; align-items:center; gap:12px; position:relative; text-align:center;}
.tabs.stepper .tab-dot{width:54px; height:54px; border-radius:50%; border:1px solid var(--gold); background:var(--cream); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:22px; color:var(--gold-text); transition:background .3s ease, color .3s ease, transform .3s ease;}
.tabs.stepper .tab:hover .tab-dot{transform:translateY(-3px);}
.tabs.stepper .tab[aria-selected="true"] .tab-dot{background:var(--charcoal); color:#fff; border-color:var(--charcoal);}
.tabs.stepper .tab-label{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--grey); font-weight:500;}
.tabs.stepper .tab[aria-selected="true"] .tab-label{color:var(--ink);}
.tabs.stepper .tabpanel{background:#fff; border:1px solid var(--line); padding:40px 44px; text-align:left;}
.tabs.stepper .tabpanel h3{font-size:clamp(26px,3vw,36px); margin-bottom:12px;}
.tabs.stepper .tabpanel p{font-size:18px; color:#4a453f; max-width:640px;}

/* Floating CTA */
.float-cta{position:fixed; right:22px; bottom:22px; z-index:120; box-shadow:0 10px 30px rgba(0,0,0,.28); opacity:0; transform:translateY(16px); pointer-events:none; transition:opacity .3s ease, transform .3s ease, background .25s ease, color .25s ease;}
.float-cta.show{opacity:1; transform:none; pointer-events:auto;}

@media (max-width:900px){
  .tabs.side{grid-template-columns:1fr;}
  .tabs.side .tablist{border-right:0; border-bottom:1px solid var(--line);}
  .tabs.side .tabpanels{padding:36px 24px;}
  .tabs.seg .tabpanel{padding:30px 24px;}
  .tabs.seg.tiers-tabs .tabpanel{grid-template-columns:1fr;}
  .tabs.seg.tiers-tabs ul{grid-column:1; grid-row:auto; margin-top:24px;}
  .tabs.stepper .tabpanel{padding:28px 22px;}
  .tabs.stepper .tab-label{font-size:10.5px; letter-spacing:.1em;}
  .tabs.stepper .tab-dot{width:44px; height:44px; font-size:18px;}
  .tabs.stepper .tablist::before{top:22px;}
  .float-cta{right:14px; bottom:14px; padding:13px 20px;}
}
@media (max-width:560px){ .tabs.seg .tablist{border-radius:18px;} .tabs.seg .tab{padding:12px 18px;} }


/* ===== V6: full-info home ===== */
.how-photo-section{background:var(--cream); padding:72px 0 24px;}
.how-photo-section .how-photo{max-width:760px; margin:0 auto;}
.approach{padding-bottom:84px;}

/* Training photo as the How it works background */
.approach{
  background:
    linear-gradient(90deg, rgba(42,34,32,.96) 0%, rgba(42,34,32,.78) 40%, rgba(42,34,32,.6) 100%),
    linear-gradient(180deg, #2a2220 0%, rgba(42,34,32,0) 22%, rgba(42,34,32,0) 78%, #2a2220 100%),
    url("images/dr-levy-training.jpg") center 58%/cover no-repeat,
    #2a2220;
  position:relative;
}
.approach .circle{background:rgba(42,34,32,.62); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);}
.circle-col:hover .circle, .circle-col:focus-visible .circle{background:rgba(58,46,43,.78);}
.approach-caption{text-align:center; margin-top:34px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#9c968b;}
@media (max-width:900px){
  .approach{background:
    linear-gradient(180deg, rgba(42,34,32,.9), rgba(42,34,32,.8)),
    url("images/dr-levy-training.jpg") center/cover no-repeat, #2a2220;}
}

/* page-transition class no longer used */
body.leaving{opacity:1;}

/* Testimonials: longer quotes */
.testi-card{display:flex; flex-direction:column; justify-content:space-between;}
.testi-card blockquote{font-size:18.5px; line-height:1.6;}
.testi-card figcaption{border-top:1px solid var(--line); padding-top:18px;}

/* Who it's for: centred */
.who-home .section-head{max-width:860px; margin-left:auto; margin-right:auto; text-align:center;}
.who-home .tabs.seg{text-align:center;}
.who-home .tabs.seg .tablist{margin-left:auto; margin-right:auto; justify-content:center;}
.who-home .tabs.seg .tabpanel{margin:0 auto; text-align:center; max-width:760px;}
.who-home .expertise-strip{text-align:center; margin:32px 0 0;}

/* Hero: headline further left, sized so it sits beside the photo */
.hero .hero-top .wrap{max-width:none; padding-left:clamp(20px,3.2vw,56px); padding-right:clamp(20px,3.2vw,56px);}
.hero h1{font-size:clamp(40px,5vw,74px); max-width:none; line-height:1.06;}
@media (max-width:900px){ .hero h1{font-size:clamp(40px,11vw,64px);} }

/* Hero text: right up to the left edge */
.hero .hero-top .wrap{padding-left:clamp(18px,2vw,32px); margin-left:0; margin-right:0; width:100%;}
.hero .hero-top .wrap > *{margin-left:0;}

/* Squares turn white on hover */
.approach .circle-col .circle, .approach .circle-col .c-text p, .approach .circle-col .c-title h3, .approach .circle-col .sq-num{transition:background .3s ease, border-color .3s ease, color .3s ease;}
.approach .circle-col:hover .circle, .approach .circle-col:focus-visible .circle{background:#fff; border-color:#fff; -webkit-backdrop-filter:none; backdrop-filter:none;}
.approach .circle-col:hover .c-text p, .approach .circle-col:focus-visible .c-text p{color:var(--ink);}
.approach .circle-col:hover .c-title h3, .approach .circle-col:focus-visible .c-title h3{color:var(--ink);}
.approach .circle-col:hover .sq-num, .approach .circle-col:focus-visible .sq-num{color:var(--gold-text);}

/* Tier lists: "All of ... +" line */
.tabs.seg.tiers-tabs li.inherit{color:var(--gold-light); font-weight:500; letter-spacing:.02em;}
.tabs.seg.tiers-tabs li.inherit::before{content:"+"; background:none; width:auto; height:auto; border-radius:0; top:.7em; left:0; font-size:18px; line-height:1; color:var(--gold-light);}
.tabs.seg.tiers-tabs li.inherit:first-child::before{top:.05em;}

/* Tabs: hover highlight */
.tabs.seg .tab:not([aria-selected="true"]):hover{background:var(--cream-2);}
.who-home .section-head p{max-width:720px; margin-left:auto; margin-right:auto;}
.who-home .section-head p strong{font-weight:600; color:var(--ink);}

/* Squares on hover: soft cream, dark brown border, dark line where the two meet */
.approach .circle-col:hover .circle, .approach .circle-col:focus-visible .circle{background:#ece3d3; border-color:#3b2e2a;}
.approach .circle-col:hover .c-title, .approach .circle-col:focus-visible .c-title{border-top:2px solid #1f1a18;}
.approach .circle-col:hover .c-text p, .approach .circle-col:focus-visible .c-text p{color:#3b2e2a;}
.approach .circle-col:hover .c-title h3, .approach .circle-col:focus-visible .c-title h3{color:#241d1a;}

/* ===== Strategy / Build / Scale: header boxes that spread, turn cream on hover, expand on click ===== */
.approach-hint{text-align:center; color:#b8b2a6; font-size:14px; letter-spacing:.06em; margin:-34px 0 40px;}
.circles{align-items:start;}
.sq-box{--p:inherit; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  width:min(100%,340px); aspect-ratio:1; margin:0 auto; padding:38px 30px; cursor:pointer; font-family:var(--font); color:var(--cream);
  background:rgba(42,34,32,.62); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  border:1px solid rgba(203,177,133,.6); border-radius:0;
  transition:background .3s ease, border-color .3s ease, color .3s ease; will-change:transform;}
.sq-box:nth-child(1){transform:translateX(calc((1 - var(--p)) * 68%));}
.sq-box:nth-child(3){transform:translateX(calc((1 - var(--p)) * -68%));}
.sq-box:nth-child(2){opacity:calc(.35 + var(--p) * .65);}
.sq-num{font-family:var(--font-display); font-size:15px; letter-spacing:.12em; color:var(--gold-light); margin-bottom:12px; transition:color .3s ease;}
.sq-title{font-family:var(--font-heading); font-size:clamp(30px,3.2vw,42px); line-height:1.1; color:#fff; transition:color .3s ease;}
.sq-plus{position:relative; width:16px; height:16px; margin-top:22px; transition:transform .35s ease;}
.sq-plus::before, .sq-plus::after{content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:var(--gold-light); transition:background .3s ease;}
.sq-plus::after{transform:rotate(90deg);}
.sq-detail{display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s ease, margin .4s ease; margin-top:0;}
.sq-detail > span{overflow:hidden; display:block; font-size:15px; line-height:1.7; color:#e6e0d6; transition:color .3s ease;}
.sq-box:hover, .sq-box:focus-visible, .sq-box[aria-expanded="true"]{background:#ece3d3; border-color:#3b2e2a; -webkit-backdrop-filter:none; backdrop-filter:none;}
.sq-box:hover .sq-title, .sq-box:focus-visible .sq-title, .sq-box[aria-expanded="true"] .sq-title{color:#241d1a;}
.sq-box:hover .sq-num, .sq-box:focus-visible .sq-num, .sq-box[aria-expanded="true"] .sq-num{color:var(--gold-text);}
.sq-box:hover .sq-plus::before, .sq-box:hover .sq-plus::after, .sq-box[aria-expanded="true"] .sq-plus::before, .sq-box[aria-expanded="true"] .sq-plus::after{background:#3b2e2a;}
.sq-box[aria-expanded="true"] .sq-plus{transform:rotate(45deg);}
.sq-box[aria-expanded="true"] .sq-detail{grid-template-rows:1fr; margin-top:18px;}
.sq-box[aria-expanded="true"] .sq-detail > span{color:#3b2e2a;}
.sq-box:focus-visible{outline:2px solid var(--gold-light); outline-offset:4px;}
@media (max-width:900px){
  .circles{grid-template-columns:1fr; gap:20px; max-width:340px;}
  .sq-box:nth-child(1), .sq-box:nth-child(3){transform:none;}
  .sq-box:nth-child(2){opacity:1;}
  .approach-hint{margin-top:-30px;}
}

/* ===== Edits round: bigger header, numbered comparison, stacked testimonials ===== */
.logo img{height:82px;}
header.scrolled .logo img{height:60px;}
.nav-links{gap:34px;}
.nav-links a{font-size:15px; letter-spacing:.09em;}
.nav-cta{padding:13px 26px; font-size:12.5px;}
@media (max-width:1100px){ .nav-links{gap:22px;} .nav-links a{font-size:13.5px;} .logo img{height:66px;} }
@media (max-width:720px){ .logo img{height:56px;} header.scrolled .logo img{height:46px;} .nav-links a{font-size:16px;} }

.compare thead th .opt-num{display:block; font-family:var(--font-display); font-size:26px; line-height:1; color:var(--gold-text); margin-bottom:8px;}
.compare thead th.us .opt-num{color:var(--gold-light);}

.testi-stack{display:grid; gap:28px; max-width:920px;}
.testi-quote{background:#fff; border:1px solid var(--line); border-left:3px solid var(--gold); padding:46px 54px 40px; margin:0;}
.testi-quote blockquote p{font-family:var(--font-heading); font-size:clamp(20px,2.1vw,25px); line-height:1.55; color:var(--ink); margin-bottom:18px;}
.testi-quote blockquote p:last-child{margin-bottom:26px;}
.testi-quote figcaption{border-top:1px solid var(--line); padding-top:18px;}
.testi-quote figcaption strong{display:block; font-weight:500; color:var(--ink);}
.testi-quote figcaption span{font-size:14px; color:var(--grey);}
@media (max-width:720px){ .testi-quote{padding:30px 24px 28px;} }
.story-client{margin-bottom:22px;}

/* Footer: bigger logo and slogan */
.footer-logo img{height:84px;}
.footer-grid > div:first-child p{font-size:19px; line-height:1.6; max-width:460px; color:#bdb7ac;}
.footer-grid{grid-template-columns:1.6fr 1fr 1fr;}
@media (max-width:900px){ .footer-logo img{height:72px;} .footer-grid > div:first-child p{font-size:17px;} .footer-grid{grid-template-columns:1fr;} }

/* Testimonials: back to three boxes, keeping the paragraph breaks */
.testi-stack{grid-template-columns:repeat(3,1fr); gap:24px; max-width:none; align-items:stretch;}
.testi-quote{display:flex; flex-direction:column; justify-content:space-between; border-left:1px solid var(--line); padding:36px 32px;}
.testi-quote blockquote p{font-size:18px; line-height:1.6; margin-bottom:14px;}
.testi-quote blockquote p:last-child{margin-bottom:24px;}
@media (max-width:900px){ .testi-stack{grid-template-columns:1fr;} .testi-quote{padding:30px 24px;} }

/* Hero text lines up with the logo and menu again */
.hero .hero-top .wrap{max-width:var(--maxw); margin-left:auto; margin-right:auto; padding-left:32px; padding-right:32px; width:100%;}

/* Headline: two lines */
.hero h1{font-size:clamp(34px,5.6vw,84px);}
@media (min-width:700px){ .hero h1{white-space:nowrap;} }
@media (max-width:699px){ .hero h1{font-size:clamp(34px,9.5vw,56px);} }
.story-num.long{font-size:clamp(38px,4.4vw,58px); line-height:1.05;}

/* Case studies: client logo beside the name */
.story-head{display:flex; align-items:center; flex-wrap:wrap; gap:14px 22px; margin:14px 0 22px;}
.story-head .story-client{margin:0;}
.story-mark{width:auto; display:block; object-fit:contain;}
.story-mark.mark-drl{height:54px;}
.story-mark.mark-pf{height:24px;}
.story-mark.mark-dec{height:40px;}

/* Dr. Levy row: number and name left, full logo right */
.story-top{display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:8px;}
.story-top .story-client{margin:14px 0 22px;}
.story-logo-full{height:190px; width:auto; flex:0 0 auto;}
@media (max-width:720px){ .story-top{flex-wrap:wrap;} .story-logo-full{height:150px;} }

/* Dr. Levy logo: smaller and further in from the edge */
.story-logo-full{height:136px; margin-right:12%;}
@media (max-width:720px){ .story-logo-full{height:110px; margin-right:0;} }

/* Who we are: bigger founders photo, team photo with Julian Levy */
.founders-grid{grid-template-columns:1.5fr 1fr; gap:56px;}
.founders-photo img{width:100%;}
.founders-caption{font-size:15px;}
.team-photo{max-width:560px; margin:80px auto 0;}
.team-photo img{width:100%; height:auto; border:1px solid var(--line);}
.team-photo figcaption{font-family:var(--font-heading); font-size:22px; color:var(--ink); text-align:center; margin-top:16px;}
@media (max-width:900px){ .founders-grid{grid-template-columns:1fr;} .team-photo{margin-top:56px;} }

/* ===== Who we are: dark, full-width photo with text over it ===== */
.who-dark{background:var(--charcoal); color:var(--cream); padding:0;}
.who-hero{min-height:660px; display:flex; align-items:center;
  background:linear-gradient(90deg, rgba(36,34,32,1) 0%, rgba(36,34,32,.92) 30%, rgba(36,34,32,.35) 58%, rgba(36,34,32,0) 80%),
             url("images/founders-jess-jules.jpg") right center/auto 100% no-repeat, #242220;}
.who-hero .wrap{width:100%;}
.who-hero-txt{max-width:500px; padding:72px 0;}
.who-hero-txt h2{color:#fff; font-size:clamp(34px,4vw,54px); margin-bottom:22px;}
.who-hero-txt p{color:#d8d3ca; font-size:16.5px; line-height:1.75; margin-bottom:16px;}
.who-lower{display:grid; grid-template-columns:1.2fr .8fr; gap:56px; align-items:center; padding-top:72px; padding-bottom:88px;}
.who-cards{display:grid; gap:1px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14);}
.who-card{background:var(--charcoal); padding:32px 34px;}
.who-card h4{color:#fff; font-size:26px; margin-bottom:2px;}
.who-card .role{display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-light); margin-bottom:12px;}
.who-card p{font-size:15px; color:#cfc9be; margin-bottom:14px;}
.who-card .li-link{font-size:13px; color:#fff; text-decoration:underline; text-underline-offset:3px; font-weight:500;}
.who-card .li-link:hover{color:var(--gold-light);}
.who-team{margin:0;}
.who-team img{width:100%; height:auto; border:1px solid rgba(255,255,255,.14);}
.who-team figcaption{font-family:var(--font-heading); font-size:22px; color:#fff; text-align:center; margin-top:16px;}
.jules-section{background:var(--cream); padding:24px 0 96px;}
.jules-section .jules-profile{margin-top:72px; border-top:0; padding-top:0;}
@media (max-width:900px){
  .who-hero{min-height:0; background:linear-gradient(180deg, rgba(36,34,32,.88), rgba(36,34,32,.8)), url("images/founders-jess-jules.jpg") center/cover no-repeat, #242220;}
  .who-hero-txt{padding:56px 0;}
  .who-lower{grid-template-columns:1fr; padding-top:48px; padding-bottom:64px;}
}

/* Who we are hero: photo faded with a mask so it melts into whatever the background is (no box) */
.who-hero{position:relative; overflow:hidden; background:#242220;}
.who-hero::before{content:""; position:absolute; top:0; bottom:0; right:0; width:74%;
  background:url("images/founders-jess-jules.jpg") center/cover no-repeat; filter:brightness(.9);
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.08) 12%, rgba(0,0,0,.3) 28%, rgba(0,0,0,.65) 44%, rgba(0,0,0,.92) 58%, #000 70%),
                     linear-gradient(180deg, rgba(0,0,0,0) 0%, #000 14%, #000 80%, rgba(0,0,0,0) 100%);
  -webkit-mask-composite:source-in;
          mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.08) 12%, rgba(0,0,0,.3) 28%, rgba(0,0,0,.65) 44%, rgba(0,0,0,.92) 58%, #000 70%),
                     linear-gradient(180deg, rgba(0,0,0,0) 0%, #000 14%, #000 80%, rgba(0,0,0,0) 100%);
          mask-composite:intersect;}
.who-hero .wrap{position:relative; z-index:1;}
@media (max-width:900px){
  .who-hero::before{display:none;}
  .who-hero{background:linear-gradient(180deg, rgba(36,34,32,.88), rgba(36,34,32,.8)), url("images/founders-jess-jules.jpg") center/cover no-repeat, #242220;}
}

/* Case studies: number left, logo right, same on all three */
.story-top .story-top-text{flex:1 1 auto;}
.story-logo-full{height:112px; margin-right:6%;}
.story-logo-side{flex:0 0 auto; height:auto; margin-right:6%;}
.story-logo-side.logo-pf{width:190px;}
.story-logo-side.logo-dec{width:165px;}
@media (max-width:720px){
  .story-top{flex-wrap:wrap;}
  .story-logo-full{height:96px; margin-right:0;}
  .story-logo-side{margin-right:0;}
  .story-logo-side.logo-pf{width:160px;} .story-logo-side.logo-dec{width:140px;}
}

/* Nudge logos: Dr. Levy further left, Decree up level with the number */
.story-logo-full{margin-right:22%;}
.story-logo-side.logo-dec{align-self:flex-start; margin-top:18px;}
@media (max-width:900px){ .story-logo-full{margin-right:10%;} }
@media (max-width:720px){ .story-logo-full{margin-right:0;} .story-logo-side.logo-dec{margin-top:0; align-self:auto;} }

/* Dr. Levy logo a little higher */
.story-logo-full{align-self:flex-start; margin-top:-10px;}
@media (max-width:720px){ .story-logo-full{align-self:auto; margin-top:0;} }

/* Dr. Levy logo: higher again */
.story-logo-full{margin-top:-34px;}
@media (max-width:720px){ .story-logo-full{margin-top:0;} }

/* Dr. Levy logo: halfway back down */
.story-logo-full{margin-top:-20px;}
@media (max-width:720px){ .story-logo-full{margin-top:0;} }

/* ParadiseFold logo up, level with the heading */
.story-logo-side.logo-pf{align-self:flex-start; margin-top:16px;}
@media (max-width:720px){ .story-logo-side.logo-pf{align-self:auto; margin-top:0;} }

/* Marquee logos */
.mq-img{display:block; width:auto; opacity:.9; flex:0 0 auto;}
.mq-img.h-tall{height:46px;} .mq-img.h-round{height:56px;} .mq-img.h-wide{height:34px;} .mq-img.h-thin{height:18px;}
.mq-img[src*="cult"]{height:22px;} .mq-img[src*="wwellness"]{height:38px;} .mq-img[src*="johnlewis"]{height:32px;}
@media (max-width:700px){.mq-img.h-tall{height:38px;} .mq-img.h-round{height:46px;} .mq-img.h-wide{height:28px;} .mq-img.h-thin{height:15px;} .mq-img[src*="cult"]{height:18px;} .mq-img[src*="wwellness"]{height:32px;} .mq-img[src*="johnlewis"]{height:26px;}}

.mq-img[src*="harrods"]{height:60px;} .mq-img[src*="cult"]{height:18px;} .mq-img[src*="boots"]{height:46px;} .mq-img[src*="lookfantastic"]{height:20px;}
@media (max-width:700px){.mq-img[src*="harrods"]{height:50px;} .mq-img[src*="cult"]{height:15px;} .mq-img[src*="boots"]{height:38px;} .mq-img[src*="lookfantastic"]{height:16px;}}

/* Hero headline: Montserrat, nudged left */
.hero h1{font-family:'Montserrat',Arial,sans-serif; font-weight:300; letter-spacing:-.01em; font-size:clamp(28px,4.6vw,68px); line-height:1.12;}
.hero h1 em{font-family:'Montserrat',Arial,sans-serif; font-weight:300;}
.hero .hero-top .wrap{max-width:none; margin-left:0; margin-right:0; padding-left:clamp(14px,1.6vw,24px); padding-right:24px;}
@media (max-width:699px){ .hero h1{font-size:clamp(28px,8.4vw,48px);} }

/* Hero headline: bold, nudged right */
.hero h1, .hero h1 em{font-weight:700;}
.hero .hero-top .wrap{padding-left:clamp(26px,3vw,46px);}
.hero .hero-top .wrap{padding-left:clamp(44px,5.5vw,84px);}

/* Side menu (burger on every screen size) */
nav{grid-template-columns:1fr auto 1fr; align-items:start; gap:12px;}
.logo{grid-column:1; justify-self:start; margin-top:22px;}
.logo img{height:124px;}
header.scrolled .logo img{height:84px;}
header{padding:16px 0 10px;}
header.scrolled{padding:10px 0 8px;}
.top-tag{grid-column:2; font-style:italic; font-family:'Montserrat',Arial,sans-serif; font-weight:400; font-size:15px; letter-spacing:.06em; color:#fff; padding-top:10px; white-space:nowrap; text-shadow:0 1px 8px rgba(0,0,0,.35); transition:opacity .25s ease;}
header.scrolled .top-tag{color:var(--ink); text-shadow:none;}
.burger{display:flex !important; grid-column:3; justify-self:end; gap:7px; padding:12px 6px; margin-top:0; position:relative; z-index:2;}
.burger span{width:32px; height:2px; transition:transform .3s ease, opacity .2s ease, background .3s ease;}
body.menu-open .burger span{background:#fff !important;}
body.menu-open .burger span:nth-child(1){transform:translateY(9px) rotate(45deg);}
body.menu-open .burger span:nth-child(2){opacity:0;}
body.menu-open .burger span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}
body.menu-open .logo, body.menu-open .top-tag{opacity:0; pointer-events:none;}
body.menu-open header{background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none;}
.nav-cta-wrap{display:none !important;}
.nav-scrim{position:fixed; inset:0; z-index:98; background:rgba(20,18,16,.55); opacity:0; pointer-events:none; transition:opacity .3s ease;}
body.menu-open .nav-scrim{opacity:1; pointer-events:auto;}
.nav-links{position:fixed; top:0; right:0; bottom:0; height:100vh; width:86%; max-width:380px; z-index:99; margin:0; list-style:none;
  background:var(--charcoal); display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  padding:60px 44px; gap:26px; transform:translateX(100%); visibility:hidden; transition:transform .35s ease, visibility 0s linear .35s;}
.nav-links.open{transform:translateX(0); visibility:visible; transition:transform .35s ease, visibility 0s;}
.nav-links a:not(.btn){color:#fff !important; text-shadow:none; font-family:var(--font-heading); font-size:30px; letter-spacing:.01em; text-transform:none; border-bottom:1px solid transparent;}
.nav-links a:not(.btn):hover{color:var(--gold-light) !important; border-color:var(--gold);}
.nav-cta-mobile{display:block !important; margin-top:14px;}
@media (max-width:900px){ .top-tag{font-size:12.5px; letter-spacing:.03em;} .logo img{height:92px;} header.scrolled .logo img{height:66px;} .logo{margin-top:30px;} }
@media (max-width:520px){ .top-tag{font-size:11px;} .logo img{height:80px;} }
header.scrolled .logo{margin-top:10px;}
header.scrolled .logo img{height:64px;}
.subnav{top:92px;}
.page-hero{padding-top:190px;}
.legal{padding-top:150px;}
.hero .hero-top{padding-top:170px;}

/* Menu left, logo right */
.burger{grid-column:1; grid-row:1; justify-self:start;}
.logo{grid-column:3; grid-row:1; justify-self:end;}
.top-tag{grid-column:2; grid-row:1; font-size:22px; padding-top:34px;}
.nav-links{right:auto; left:0; transform:translateX(-100%);}
.nav-links.open{transform:translateX(0);}
@media (max-width:900px){ .top-tag{font-size:16px; padding-top:30px;} }
@media (max-width:520px){ .top-tag{font-size:13px; padding-top:26px; white-space:normal; text-align:center; max-width:150px;} }
header > .wrap{max-width:none; width:100%; padding-left:clamp(14px,2vw,28px); padding-right:clamp(14px,2vw,28px);}
.burger{margin-top:40px;}
header.scrolled .burger{margin-top:22px;}

/* White menu panel */
.nav-links{background:#fff; box-shadow:12px 0 40px rgba(0,0,0,.18);}
.nav-links a:not(.btn){color:var(--charcoal) !important;}
.nav-links a:not(.btn):hover{color:var(--gold-text) !important;}
body.menu-open .burger span{background:var(--charcoal) !important;}
.hero .hero-top{padding-top:150px; padding-bottom:230px;}
.hero .hero-top .wrap{padding-bottom:0;}
@media (max-width:699px){ .hero .hero-top{padding-bottom:120px;} }
.nav-links .nav-cta-mobile{align-self:stretch; display:flex !important; justify-content:center; margin-top:28px;}
.nav-links .nav-cta-mobile{margin-top:-10px;}
.nav-links{padding-bottom:140px;}
.hero h1, .hero h1 em{font-family:'Raleway','Montserrat',Arial,sans-serif; font-weight:700; font-style:normal; letter-spacing:0; font-size:clamp(26px,4.4vw,64px);}
@media (max-width:699px){ .hero h1, .hero h1 em{font-size:clamp(24px,7.4vw,44px);} }
.hero .hero-top{min-height:calc(100vh - 90px); padding-bottom:140px;}
@media (max-width:699px){ .hero .hero-top{min-height:auto; padding-bottom:120px;} }
.hero-photo-blend{background-position:right bottom; -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22%); mask-image:linear-gradient(to bottom,transparent 0,#000 22%);}
@media (max-width:699px){ .hero-photo-blend{background-position:72% bottom;} }
.hero-photo-blend{inset:0; background-size:auto 100%; background-position:right bottom; background-color:var(--charcoal);}
@media (max-width:699px){ .hero-photo-blend{background-size:cover; background-position:72% bottom;} }

/* Hero + carousel as one section */
.hero-unit{position:relative; overflow:hidden; background:var(--charcoal);}
.hero-unit > .hero-photo-blend{position:absolute; inset:0; z-index:0;}
.hero-unit .hero{background:transparent;}
.hero-unit .hero-top{background:transparent;}
.hero-unit .logos{position:relative; z-index:2; background:linear-gradient(to bottom, rgba(36,34,32,0), rgba(36,34,32,.78) 55%); border:0; padding-top:20px;}
.hero-unit .hero .hero-top{min-height:calc(100vh - 150px); padding-bottom:70px;}
@media (max-width:699px){ .hero-unit .hero .hero-top{min-height:auto; padding-bottom:50px;} }
.mq-img[src*="harrods"]{height:100px;} .mq-img[src*="jbc"]{height:68px;} .mq-img[src*="wwellness"]{height:52px;} .mq-img[src*="paradisefold"]{height:26px;}
@media (max-width:699px){ .mq-img[src*="harrods"]{height:80px;} .mq-img[src*="jbc"]{height:54px;} .mq-img[src*="wwellness"]{height:42px;} .mq-img[src*="paradisefold"]{height:21px;} }
.mq-img[src*="harrods"]{height:200px;}
@media (max-width:699px){ .mq-img[src*="harrods"]{height:130px;} }
/* class-based logo sizes (work in the single-file preview too) */
.mq-img.lg-cult{height:18px;} .mq-img.lg-boots{height:46px;} .mq-img.lg-lookfantastic{height:20px;} .mq-img.lg-johnlewis{height:32px;}
.mq-img.lg-harrods{height:200px;} .mq-img.lg-jbc{height:68px;} .mq-img.lg-wwellness{height:52px;} .mq-img.lg-paradisefold{height:26px;}
@media (max-width:699px){ .mq-img.lg-cult{height:15px;} .mq-img.lg-boots{height:38px;} .mq-img.lg-lookfantastic{height:16px;} .mq-img.lg-johnlewis{height:26px;}
 .mq-img.lg-harrods{height:130px;} .mq-img.lg-jbc{height:54px;} .mq-img.lg-wwellness{height:42px;} .mq-img.lg-paradisefold{height:21px;} }
.mq-img.lg-harrods{height:100px;}
@media (max-width:699px){ .mq-img.lg-harrods{height:80px;} }
.mq-img.lg-harrods{transform:translateY(-12px);}

/* v7: testimonials fade to graphite */
.testimonials{background:linear-gradient(180deg,var(--cream) 0,var(--charcoal) 170px,var(--charcoal) 100%); padding-top:190px;}
.testimonials .section-head h2, .testimonials h2{color:#fff;}
.testimonials .section-head p{color:#d8d3ca;}
.testimonials .eyebrow{color:var(--gold-light);}
@media (max-width:720px){ .testimonials{padding-top:170px;} }

/* v7: About us big heading, no page hero */
.about-h1{color:#fff; font-size:clamp(56px,8vw,112px); line-height:1; margin:0 0 30px;}
.who-hero-txt{max-width:560px;}
.who-hero .who-hero-txt{padding-top:200px;}
@media (max-width:899px){ .who-hero .who-hero-txt{padding-top:170px;} }

/* ===== v7 review round 1 ===== */
/* tagline: centred on the logo, bigger */
.top-tag{align-self:start; margin-top:22px; height:124px; display:flex; align-items:center; justify-content:center; padding-top:0; font-size:26px;}
header.scrolled .top-tag{margin-top:10px; height:64px;}
@media (max-width:900px){ .top-tag{margin-top:30px; height:92px; font-size:19px;} header.scrolled .top-tag{margin-top:10px; height:64px;} }
@media (max-width:520px){ .top-tag{height:80px; font-size:15px; white-space:normal; text-align:center; max-width:none; letter-spacing:.02em;} header.scrolled .top-tag{height:64px;} }

/* sub-navigation centred */
.subnav .wrap{justify-content:center;}
/* expertise tags centred */
.expertise-strip{text-align:center;}

/* services page */
.h-raleway{font-family:'Raleway','Montserrat',Arial,sans-serif !important; font-weight:700 !important; letter-spacing:0;}
@media (min-width:900px){ .who .section-head{max-width:none;} .who .section-head h2{white-space:nowrap;} }
.tabs.side{align-items:stretch;}
.tabs.side .tablist{align-self:stretch;}
.tabs.side .tab{flex:1 1 auto; align-items:center;}
.tabs-cta{display:flex; justify-content:center; margin-top:36px;}

/* arrow buttons: text truly centred, arrow tucked right */
.btn.arrow{position:relative; justify-content:center; padding-left:46px; padding-right:46px;}
.btn.arrow::after{position:absolute; right:20px; top:50%; margin-top:-6px;}
.nav-links .btn.arrow{width:100%; max-width:290px;}

/* page hero lead on one line (desktop) */
@media (min-width:1000px){ .page-hero .lead-wide{max-width:none; white-space:nowrap;} }

/* working page: step strip above the Strategy / Build / Scale boxes */
.step-strip{list-style:none; margin:-18px auto 44px; padding:0; display:flex; justify-content:center; align-items:center; gap:0; position:relative; max-width:760px;}
.step-strip li{flex:1; display:flex; flex-direction:column; align-items:center; gap:10px; position:relative; color:#fff; font-size:13px; letter-spacing:.14em; text-transform:uppercase;}
.step-strip li:not(:last-child)::after{content:""; position:absolute; top:21px; left:calc(50% + 28px); right:calc(-50% + 28px); height:1px; background:rgba(203,177,133,.55);}
.step-strip .sdot{width:44px; height:44px; border-radius:50%; border:1px solid var(--gold-light); color:var(--gold-light); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:20px;}
@media (max-width:560px){ .step-strip{margin-bottom:32px;} .step-strip li{font-size:10.5px; letter-spacing:.08em;} .step-strip .sdot{width:36px; height:36px; font-size:16px;} .step-strip li:not(:last-child)::after{top:17px; left:calc(50% + 22px); right:calc(-50% + 22px);} }

/* testimonials: clean split, cream above, graphite below */
.testimonials{background:linear-gradient(180deg,var(--cream) 0,var(--cream) 330px,var(--charcoal) 330px,var(--charcoal) 100%); padding-top:96px;}
.testimonials .section-head h2, .testimonials h2{color:var(--ink);}
.testimonials .eyebrow{color:var(--gold-text);}

/* about us heading */
.about-kicker{display:block; color:var(--gold-light); font-size:clamp(18px,1.8vw,24px); letter-spacing:.24em; text-transform:uppercase; margin-bottom:18px;}
.about-title{color:#fff; font-size:clamp(34px,4vw,54px); line-height:1.1; margin:0 0 26px;}
@media (min-width:900px){ .who .section-head h2{font-size:clamp(24px,3.2vw,46px);} }
@media (min-width:1000px) and (max-width:1099px){ .page-hero .lead-wide{white-space:normal; max-width:560px;} }

/* ===== Raleway Bold on every heading ===== */
h1,h2,h3,h4,h5,h6,
.client-name,.sq-title,.compare thead th,.faq-list summary,.tabs.side .tab,.post-title,.cases-head h2,.about-title,.audit-band h2,.who-hero-txt h2{
  font-family:'Raleway','Montserrat',Arial,sans-serif !important; font-weight:700 !important; letter-spacing:-.005em;
}
h1 em,h2 em,h3 em{font-style:normal; font-family:inherit !important;}
.tabs.side .tab{font-size:clamp(17px,1.7vw,22px);}
.sq-title{font-size:clamp(26px,2.8vw,36px);}
.faq-list summary{font-size:20px;}
.compare thead th{font-size:17px;}
@media (min-width:900px){ .who .section-head h2{font-size:clamp(22px,2.7vw,40px);} }

/* ===== Home hero: headline in 3 lines with the logo beside it ===== */
.hero-lockup{display:flex; align-items:flex-end; gap:34px; margin-bottom:32px; flex-wrap:wrap;}
.hero-lockup h1{margin:0; white-space:normal !important; font-size:clamp(28px,3.4vw,56px);}
.hero-logo{height:clamp(90px,8vw,136px); width:auto; filter:brightness(0) invert(1); margin-bottom:6px;}
.hero .hero-ctas .btn{white-space:nowrap;}
/* the corner logo is hidden on the home page until you scroll, since the logo sits in the hero */
.is-home header:not(.scrolled) .logo{visibility:hidden;}
.top-tag{text-shadow:0 1px 10px rgba(0,0,0,.55);}
.hero-lockup h1 em{font-size:inherit !important;}
@media (max-width:699px){ .hero-lockup h1, .hero-lockup h1 em{font-size:clamp(26px,8vw,40px) !important;} }
/* two-line headline, logo beside it, block sits lower */
@media (min-width:700px){ .hero-lockup h1{white-space:nowrap !important; font-size:clamp(26px,3vw,52px);} .hero-lockup{flex-wrap:nowrap; gap:30px;} }
.hero-unit .hero .hero-top{padding-top:270px;}
@media (max-width:699px){ .hero-unit .hero .hero-top{padding-top:170px;} }

/* ===== Hero block: 3-line headline, logo beside lines 2-3, buttons spread to match ===== */
@media (min-width:700px){
  .hero-block{display:grid; grid-template-columns:1fr auto; column-gap:36px; width:max-content; max-width:100%;}
  .hero-block h1{display:contents; white-space:nowrap;}
  .hero-block .hb-l1{grid-column:1 / -1; grid-row:1; display:block; font-size:clamp(28px,3.6vw,62px); line-height:1.1;}
  .hero-block .hb-l2{grid-column:1; grid-row:2; display:block; font-size:clamp(28px,3.6vw,62px); line-height:1.1;}
  .hero-block .hb-l2 em{font-size:inherit !important;}
  .hero-block .hero-logo{grid-column:2; grid-row:2; align-self:end; justify-self:end; height:clamp(84px,7.6vw,132px); width:auto; margin:0 0 4px;}
  .hero-block .hero-ctas{grid-column:1 / -1; grid-row:3; display:flex; justify-content:space-between; gap:16px; margin-top:34px;}
}
@media (max-width:699px){
  .hero-block .hb-l1, .hero-block .hb-l2{display:block; font-size:clamp(26px,8vw,40px); line-height:1.12;}
  .hero-block .hb-l2 em{font-size:inherit !important;}
  .hero-block .hero-logo{display:block; height:84px; width:auto; margin:22px 0 4px;}
  .hero-block .hero-ctas{display:flex; flex-wrap:wrap; gap:14px;}
}

/* ===== Photos round: who-it's-for with photos either side ===== */
.who-photos{background:var(--charcoal); padding:0; overflow:hidden;}
.who-photos .who-grid{max-width:1560px; display:grid; grid-template-columns:minmax(210px,290px) minmax(0,1fr) minmax(210px,290px); align-items:center; gap:0; padding-left:clamp(14px,2vw,36px); padding-right:clamp(14px,2vw,36px);}
.who-photos .who-mid{background:linear-gradient(90deg,rgba(250,246,239,0) 0,var(--cream) 150px,var(--cream) calc(100% - 150px),rgba(250,246,239,0) 100%); padding:96px 170px;}
.who-photos .who-fig{margin:0; align-self:center;}
.who-photos .who-fig img{width:100%; aspect-ratio:4/5; object-fit:cover; display:block; border-radius:4px; box-shadow:0 18px 44px rgba(0,0,0,.4);}
.who-photos .who-fig figcaption{color:#e4ded2; font-size:13.5px; line-height:1.5; margin-top:14px; text-align:left;}
@media (max-width:1180px){
  .who-photos .who-grid{grid-template-columns:1fr 1fr; padding:0 20px 56px;}
  .who-photos .who-mid{grid-column:1 / -1; grid-row:1; background:var(--cream); padding:64px 24px; margin:0 -20px 36px;}
  .who-photos .who-fig{grid-row:2; padding:0 8px;}
}
@media (max-width:560px){ .who-photos .who-grid{grid-template-columns:1fr;} .who-photos .who-fig{grid-row:auto;} }

/* ===== What we do: pictures inside the description boxes ===== */
.tabs.side .panel-img{display:block; width:100%; max-width:560px; height:260px; object-fit:cover; border-radius:4px; margin-top:26px; box-shadow:0 10px 28px rgba(36,34,32,.14);}
.tabs.side .panel-img.panel-graph{height:auto; object-fit:contain; border:1px solid var(--line);}
.tabs.side .tabpanel:nth-child(2) .panel-img{object-position:50% 34%;}
.tabs.side .tabpanel:nth-child(4) .panel-img{object-position:50% 50%;}

/* ===== Jules page: logos inside the highlight boxes ===== */
.post-highlights .hl-logo{display:block; width:auto; height:30px; margin-bottom:14px; opacity:.85;}
.post-highlights .hl-logo.hl-perricone{height:54px;}
.post-highlights .hl-logo.hl-harrods{height:36px;}
.post-highlights .hl-logo.hl-laprairie{height:26px;}
.post-highlights .hl-logo.hl-moschino{height:22px;}

/* ===== Who it's for: full-height photo panels that fade into the cream centre ===== */
.who-photos{background:var(--cream);}
.who-photos .who-grid{max-width:none; width:100%; margin:0; padding:0; grid-template-columns:27% 1fr 27%; align-items:stretch;}
.who-photos .who-mid{background:none; padding:96px clamp(18px,3vw,56px); display:flex; flex-direction:column; justify-content:center;}
.who-photos .who-fig{position:relative; margin:0; min-height:640px; align-self:stretch; padding:0;}
.who-photos .who-fig img{position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; border-radius:0; box-shadow:none;}
.who-photos .who-fig:first-child img{object-position:35% 40%; -webkit-mask-image:linear-gradient(90deg,#000 0,#000 52%,transparent 100%); mask-image:linear-gradient(90deg,#000 0,#000 52%,transparent 100%);}
.who-photos .who-fig:last-child img{object-position:60% 30%; -webkit-mask-image:linear-gradient(270deg,#000 0,#000 52%,transparent 100%); mask-image:linear-gradient(270deg,#000 0,#000 52%,transparent 100%);}
.who-photos .who-fig figcaption{position:absolute; left:20px; right:34%; bottom:20px; margin:0; color:#fff; font-size:13px; line-height:1.45; text-shadow:0 1px 10px rgba(0,0,0,.7);}
.who-photos .who-fig:last-child figcaption{left:34%; right:20px; text-align:right;}
@media (max-width:1180px){
  .who-photos .who-grid{grid-template-columns:1fr 1fr; padding:0;}
  .who-photos .who-mid{grid-column:1 / -1; grid-row:1; margin:0; padding:64px 24px;}
  .who-photos .who-fig{grid-row:2; min-height:340px;}
  .who-photos .who-fig img, .who-photos .who-fig:first-child img, .who-photos .who-fig:last-child img{-webkit-mask-image:none; mask-image:none;}
  .who-photos .who-fig figcaption, .who-photos .who-fig:last-child figcaption{left:14px; right:14px; text-align:left;}
}
@media (max-width:560px){ .who-photos .who-grid{grid-template-columns:1fr;} .who-photos .who-fig{grid-row:auto; min-height:360px;} }

/* ===== v7 fixes round 2 ===== */
/* sub-navigation truly centred */
.subnav .wrap{width:100%; max-width:none; margin:0; box-sizing:border-box; padding-left:20px; padding-right:20px; justify-content:center;}
/* What we do heading on one line */
@media (min-width:700px){ .h-raleway{max-width:none !important; white-space:nowrap;} }
/* Strategy / Build / Scale: plain dark background, no photo */
.approach{background:#2a2220 !important;}
@media (max-width:900px){ .approach{background:#2a2220 !important;} }
/* What we do: pictures fill the description boxes, text in white */
.tabs.side .tabpanels{padding:0; align-items:stretch;}
.tabs.side .tabpanel{position:relative; width:100%; min-height:420px; padding:56px 52px; overflow:hidden; color:#fff; background:linear-gradient(135deg,#34302c,#242220);}
.tabs.side .tabpanel:not([hidden]){display:flex; flex-direction:column; justify-content:center;}
.tabs.side .tabpanel > *{position:relative; z-index:2;}
.tabs.side .tabpanel .panel-img{position:absolute !important; inset:0; z-index:0 !important; width:100%; height:100% !important; max-width:none; margin:0; border:0; border-radius:0; box-shadow:none; object-fit:cover;}
.tabs.side .tabpanel.has-img::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(36,34,32,.88) 0%,rgba(36,34,32,.66) 55%,rgba(36,34,32,.5) 100%);}
.tabs.side .tabpanel h3{color:#fff;}
.tabs.side .tabpanel p{color:#efe9de; max-width:480px;}
.tabs.side .tabpanel .panel-num{color:var(--gold-light);}
.tabs.side .tabpanel:nth-child(2) .panel-img{object-position:50% 38%;}
.tabs.side .tabpanel:nth-child(3) .panel-img{object-position:50% 0%;}
.tabs.side .tabpanel:nth-child(4) .panel-img{object-position:50% 55%;}
@media (max-width:900px){ .tabs.side .tabpanel{padding:36px 24px; min-height:340px;} }

/* ===== round 3 ===== */
/* testimonials: whole section graphite */
.testimonials{background:var(--charcoal) !important; padding-top:96px;}
.testimonials .section-head h2, .testimonials h2{color:#fff;}
.testimonials .section-head p{color:#d8d3ca;}
.testimonials .eyebrow{color:var(--gold-light);}
/* home: hero + carousel fit in the first screen */
.hero-unit .hero .hero-top{min-height:calc(100vh - 215px); padding-top:150px; padding-bottom:30px;}
.hero-unit .logos{padding-top:12px;}
@media (max-width:699px){ .hero-unit .hero .hero-top{min-height:auto; padding-top:150px; padding-bottom:40px;} }
/* step strip label wider */
.step-strip li{max-width:none;}

/* ===== round 4 ===== */
/* arrows point across, not diagonally */
.btn.arrow::after{-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.5'><path d='M1 6h10M7 2l4 4-4 4'/></svg>") center/contain no-repeat; mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.5'><path d='M1 6h10M7 2l4 4-4 4'/></svg>") center/contain no-repeat;}
.btn.arrow:hover::after{transform:translateX(4px);}
/* carousel never pauses; Harrods sits higher */
.marquee:hover .marquee-inner{animation-play-state:running !important;}
.mq-img.lg-harrods{transform:translateY(-24px);}
/* hero: logo sized so the buttons line up with the end of "Brand." */
.hero-block{--hf:clamp(28px,3.6vw,62px); column-gap:28px;}
@media (min-width:700px){
  .hero-block .hb-l1, .hero-block .hb-l2{font-size:var(--hf);}
  .hero-block .hero-logo{height:calc(var(--hf) * 1.8 - 22px); min-height:62px;}
}
/* closer: bullets + brand block level with the form box */
.closer-grid{align-items:stretch;}
.closer-text{display:flex; flex-direction:column;}
.closer-list{list-style:none; margin:26px 0 0; padding:0; max-width:460px;}
.closer-list li{position:relative; padding-left:24px; margin-bottom:12px; color:#d8d3ca; font-size:15.5px; line-height:1.5;}
.closer-list li::before{content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:var(--gold);}
.closer-brand{margin-top:auto; padding-top:44px;}
.closer-brand img{height:clamp(110px,10vw,150px); width:auto; filter:brightness(0) invert(1); display:block; margin-bottom:18px;}
.closer-brand p{margin:0 !important; font-size:15px !important; line-height:1.55; color:#d8d3ca;}
/* menu + sub-navigation + labels: bolder, cleaner type */
.nav-links a:not(.btn){font-family:'Raleway','Montserrat',Arial,sans-serif !important; font-weight:600; font-size:26px; letter-spacing:0;}
.subnav a{font-weight:700;}
.eyebrow{font-weight:700;}
.tabs.seg .tab{font-weight:700;}
.logos .label{font-weight:600;}


/* round 5 */
.logos .label{text-align:center;}
.hero-unit .hero .hero-top{min-height:calc(100vh - 290px); padding-top:120px; padding-bottom:10px;}
.hero-unit .logos{padding-top:4px; padding-bottom:26px;}
.hero-unit .logos .label{margin-bottom:14px;}
@media (min-width:700px){ .hero-block .hero-logo{height:calc(var(--hf) * 2.3 - 22px);} }

/* round 6: mobile subnav fits; menu audit button text exactly centred */
@media (max-width:699px){
  .subnav .wrap{justify-content:flex-start !important; gap:18px !important; padding-left:16px !important; padding-right:16px !important; overflow-x:auto;}
  .subnav a{font-size:10.5px !important; letter-spacing:.08em !important; white-space:nowrap; flex:0 0 auto;}
}
.nav-links .btn.arrow{display:flex; align-items:center; justify-content:center; text-align:center; padding-left:20px; padding-right:20px;}
.nav-links .btn.arrow::after{display:none;}

/* menu: logo at bottom instead of audit button */
.nav-links .nav-logo-end{display:flex !important; justify-content:flex-start; margin-top:36px !important; padding-top:0; border:0;}
.nav-links .nav-logo-end a{display:block; padding:0; border:0;}
.nav-links .nav-logo-end img{height:96px; width:auto; display:block;}

/* round 7 */
/* tagline next to burger, same line */
nav{grid-template-columns:auto 1fr auto !important;}
.top-tag{grid-column:2 !important; justify-self:start; align-self:start; margin-top:40px !important; height:44px !important; margin-left:12px; padding-top:0 !important; justify-content:flex-start !important; text-align:left !important; font-size:20px !important; max-width:none !important;}
header.scrolled .top-tag{margin-top:22px !important; height:44px !important;}
@media (max-width:900px){ .top-tag{font-size:15px !important;} }
@media (max-width:520px){ .top-tag{font-size:12px !important; white-space:normal !important; max-width:130px !important; line-height:1.25; height:44px !important;} }
/* logo back in top-right on home */
.is-home header:not(.scrolled) .logo{visibility:visible !important;}
/* graphite gradient across the top while header is over the hero */
header:not(.scrolled)::before{content:""; position:absolute; left:0; right:0; top:0; height:260px; background:linear-gradient(to bottom, rgba(28,26,24,.9) 0%, rgba(28,26,24,.6) 45%, rgba(28,26,24,0) 100%); pointer-events:none; z-index:-1;}
body.menu-open header::before{display:none;}
/* hero block without logo */
@media (min-width:700px){
  .hero-block{grid-template-columns:auto;}
  .hero-block .hb-l2{grid-column:1; white-space:nowrap;}
  .hero-block .hero-ctas{margin-top:30px;}
}
/* services: separators before option columns 1 & 2 */
.compare tbody td:nth-child(2), .compare thead th:nth-child(2), .compare tbody td:nth-child(3), .compare thead th:nth-child(3){border-left:2px solid var(--gold);}
/* footer logo larger */
.footer-logo img{height:150px !important;}
@media (max-width:900px){ .footer-logo img{height:120px !important;} }
/* Decree photo with arrow */
.king-photo{display:flex !important; align-items:center; justify-content:center; background:#000 !important; min-height:600px;}
.king-frame{position:relative; display:inline-block; max-width:100%; line-height:0;}
.king-frame img{display:block; width:auto; height:auto; max-width:100%; max-height:760px;}
.king-tag{position:absolute; left:57%; top:80%; display:flex; align-items:center; gap:6px; line-height:1;}
.king-tag svg{flex:0 0 auto; width:48px; height:16px; filter:drop-shadow(0 1px 4px rgba(0,0,0,.7));}
.king-tag span{background:rgba(0,0,0,.72); color:#fff; font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; padding:7px 10px; border:1px solid rgba(255,255,255,.55); white-space:nowrap;}
@media (max-width:560px){ .king-tag svg{width:34px;} .king-tag span{font-size:10px; padding:5px 7px;} }
/* testimonials: single scrolling row */
.testi-stack{display:flex !important; flex-wrap:nowrap; overflow-x:auto; gap:24px; padding-bottom:18px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-color:var(--gold) rgba(255,255,255,.12);}
.testi-quote{flex:0 0 clamp(300px,30vw,400px) !important; scroll-snap-align:start;}
/* about: centre text and logos in the 4 boxes */
.post-highlights div{display:flex !important; flex-direction:column; align-items:center; justify-content:center; text-align:center;}
.post-highlights .hl-logo{margin-left:auto; margin-right:auto;}
/* contact photo */
.contact-photo{position:relative; flex:1 1 auto; min-height:320px; background:var(--cream);}
.contact-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 35%;}

/* services: Who we work with logo grid */
.who-brands{background:var(--charcoal) !important; color:var(--cream); padding:90px 0 80px;}
.who-brands .section-head{text-align:center; margin-left:auto; margin-right:auto;}
.who-brands .section-head h2{color:#fff;}
.who-brands .eyebrow{color:var(--gold-light);}
.brand-grid{list-style:none; margin:56px auto 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:34px 20px; max-width:1100px;}
.bg-cell{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; aspect-ratio:1/1; max-width:220px; width:100%; margin:0 auto;}
.bg-cell.ring{border:1px solid rgba(203,177,133,.65); border-radius:50%;}
.bg-in{display:flex; align-items:center; justify-content:center; width:66%; height:44%;}
.bg-in img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain;}
.bg-text{font-family:'Raleway',Arial,sans-serif; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#fff; font-size:15px; text-align:center; line-height:1.3;}
.bg-swash{position:absolute; left:50%; bottom:20%; width:62%; transform:translateX(-50%); height:10px;}
.who-brands .expertise-strip{color:#cfc8ba; text-align:center; margin-top:56px;}
@media (max-width:820px){ .brand-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:560px){ .brand-grid{grid-template-columns:repeat(2,1fr); gap:24px 12px;} .bg-text{font-size:12px;} }

/* harrods logo re-cut (tight crop, no box) */
.mq-img.lg-harrods{height:54px !important; transform:none !important;}
@media (max-width:699px){ .mq-img.lg-harrods{height:44px !important;} }

/* new logos */
.mq-img.lg-selfridges{height:30px;} .mq-img.lg-liberty{height:64px;} .mq-img.lg-superdrug{height:34px;} .mq-img.lg-deliverance{height:56px;}
.mq-img.lg-shleep{height:54px;} .mq-img.lg-copra{height:34px;} .mq-img.lg-cew{height:32px;}
@media (max-width:699px){ .mq-img.lg-selfridges{height:24px;} .mq-img.lg-liberty{height:50px;} .mq-img.lg-superdrug{height:28px;} .mq-img.lg-deliverance{height:44px;} .mq-img.lg-shleep{height:42px;} .mq-img.lg-copra{height:28px;} .mq-img.lg-cew{height:26px;} }
.brand-grid{display:flex !important; flex-wrap:wrap; justify-content:center; gap:30px 0; max-width:1240px;}
.brand-grid .bg-cell{flex:0 0 20%; max-width:20%; width:auto; aspect-ratio:auto; height:auto; padding:0 12px; box-sizing:border-box;}
.brand-grid .bg-cell::before{content:""; display:block; padding-top:100%;}
.brand-grid .bg-cell > *{position:absolute;}
.brand-grid .bg-cell .bg-in{left:17%; top:28%; width:66%; height:44%;}
.brand-grid .bg-cell.ring{border:0;}
.brand-grid .bg-cell.ring::after{content:""; position:absolute; inset:0 12px; border:1px solid rgba(203,177,133,.65); border-radius:50%;}
.brand-grid .bg-cell .bg-swash{left:50%; bottom:20%;}
.bg-cell.bg-shleep .bg-in, .bg-cell.bg-deliverance .bg-in{width:46%; left:27%; top:24%; height:52%;}
.bg-cell.bg-selfridges .bg-in, .bg-cell.bg-superdrug .bg-in{width:72%; left:14%;}
@media (max-width:900px){ .brand-grid .bg-cell{flex-basis:33.333%; max-width:33.333%;} }
@media (max-width:560px){ .brand-grid .bg-cell{flex-basis:50%; max-width:50%;} }

/* ===== Motion layer ===== */
@media (prefers-reduced-motion: no-preference){
  /* page-load choreography */
  @keyframes mUp{from{opacity:0; transform:translateY(28px);} to{opacity:1; transform:none;}}
  @keyframes mFade{from{opacity:0;} to{opacity:1;}}
  @keyframes mDrift{from{scale:1;} to{scale:1.08;}}
  @keyframes mDriftB{from{scale:1.07;} to{scale:1;}}
  .hero-block .hb-l1{animation:mUp .9s cubic-bezier(.2,.7,.2,1) .15s both;}
  .hero-block .hb-l2{animation:mUp .9s cubic-bezier(.2,.7,.2,1) .4s both;}
  .hero-block .hero-ctas{animation:mUp .9s cubic-bezier(.2,.7,.2,1) .75s both;}
  .hero-unit .logos{animation:mFade 1.2s ease 1.1s both;}
  .page-hero .eyebrow, .about-kicker{animation:mUp .8s cubic-bezier(.2,.7,.2,1) .1s both;}
  .page-hero h1, .about-title{animation:mUp .9s cubic-bezier(.2,.7,.2,1) .25s both;}
  .page-hero .lead, .page-hero p{animation:mUp .9s cubic-bezier(.2,.7,.2,1) .5s both;}
  header .top-tag{animation:mFade 1.2s ease .6s both;}
  /* slow, continuous zoom on the big photographs */
  .hero-photo-blend{animation:mDrift 26s ease-in-out infinite alternate; transform-origin:80% 80%;}
  .who-photos .who-fig{overflow:hidden;}
  .who-photos .who-fig:first-child img{animation:mDriftB 24s ease-in-out infinite alternate; transform-origin:40% 40%;}
  .who-photos .who-fig:last-child img{animation:mDrift 28s ease-in-out infinite alternate; transform-origin:60% 35%;}
  .tabs.side .tabpanel.has-img{overflow:hidden;}
  .tabs.side .tabpanel.has-img .panel-img{animation:mDrift 30s ease-in-out infinite alternate;}
  /* cascades */
  .motion .m-up{opacity:0; transform:translateY(22px); transition:opacity .8s ease var(--d,0s), transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0s);}
  .motion .m-up.m-in{opacity:1; transform:none;}
  .motion .reveal{transition-delay:var(--d,0s);}
  /* photos settle in */
  .motion .m-zoom{transition:transform 1.8s cubic-bezier(.2,.7,.2,1), opacity 1.2s ease;}
  .motion .king-frame img.m-zoom, .motion .jules-photo img.m-zoom, .motion .contact-photo img.m-zoom{transform:scale(1.08); opacity:.0;}
  .motion .king-frame img.m-zoom.m-in, .motion .jules-photo img.m-zoom.m-in, .motion .contact-photo img.m-zoom.m-in{transform:scale(1); opacity:1;}
  .motion .jules-photo, .motion .contact-photo, .motion .king-frame{overflow:hidden;}
  .motion .who-fig img.m-zoom, .motion .panel-img.m-zoom{opacity:0; transition:opacity 1.4s ease;}
  .motion .who-fig img.m-zoom.m-in, .motion .panel-img.m-zoom.m-in{opacity:1;}
  /* scroll-drawn rings */
  .brand-grid .bg-cell.ring-js::after{display:none;}
  .bg-ring{position:absolute; left:12px; right:12px; top:0; width:calc(100% - 24px); height:100%; fill:none; stroke:rgba(203,177,133,.75); stroke-width:.7; pointer-events:none; overflow:visible;}
  .bg-ring circle{fill:none; stroke:inherit; vector-effect:non-scaling-stroke; stroke-width:1px;}
  .bg-swash path{vector-effect:non-scaling-stroke;}
  /* gentle, consistent hovers */
  .brand-grid .bg-cell .bg-in{transition:transform .5s cubic-bezier(.2,.7,.2,1);}
  .brand-grid .bg-cell:hover .bg-in{transform:scale(1.07);}
  .testi-quote{transition:transform .4s ease, box-shadow .4s ease;}
  .testi-quote:hover{transform:translateY(-4px); box-shadow:0 16px 36px rgba(0,0,0,.28);}
}

/* round 8 */
.post-highlights .hl-pair{display:flex; align-items:center; justify-content:center; gap:22px; margin-bottom:14px;}
.post-highlights .hl-pair .hl-logo{margin:0; height:22px;}
.post-highlights .hl-pair .hl-bobbibrown{height:14px;}
.post-highlights .hl-wordmark{display:block; font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:21px; letter-spacing:.16em; text-transform:uppercase; color:#36322e; line-height:1; height:36px; display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.mq-img.lg-lfw{height:48px;} .mq-img.lg-frenchpharmacy{height:46px;} .mq-img.lg-bobbibrown{height:14px;}
@media (max-width:699px){ .mq-img.lg-lfw{height:40px;} .mq-img.lg-frenchpharmacy{height:38px;} .mq-img.lg-bobbibrown{height:12px;} }
@media (min-width:1000px){ .brand-grid .bg-cell{flex-basis:16.666%; max-width:16.666%;} }
.bg-cell.bg-lfw .bg-in{width:44%; left:28%;} .bg-cell.bg-bobbibrown .bg-in, .bg-cell.bg-frenchpharmacy .bg-in{width:70%; left:15%;}
/* tab 1: retailer logos as the backdrop */
.tabs.side .tabpanel.has-logos{background:linear-gradient(135deg,#34302c,#242220);}
.panel-logos{position:absolute !important; inset:0; z-index:0 !important; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; justify-items:center; gap:26px 18px; padding:34px 40px; opacity:.2;}
.panel-logos img{max-width:130px; max-height:42px; width:auto; height:auto; object-fit:contain;}
.tabs.side .tabpanel.has-logos::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(36,34,32,.9) 0%,rgba(36,34,32,.55) 60%,rgba(36,34,32,.2) 100%);}
.tabs.side .tabpanel.has-logos > *:not(.panel-logos){position:relative; z-index:2;}
@media (max-width:560px){ .panel-logos{grid-template-columns:repeat(2,1fr);} }

/* round 9 */
/* hero: remove the grain overlay that stopped short of the carousel (caused the colour step) */
.hero-unit .hero-top::before, .hero-unit .hero::before, .hero-unit .hero::after{display:none !important;}
/* Caroline Hirons: whole picture, soft fade on every edge */
.who-photos .who-fig:first-child{background:var(--cream);}
.who-photos .who-fig:first-child img{object-fit:contain; object-position:50% 40%; -webkit-mask-image:linear-gradient(90deg,#000 0,#000 50%,transparent 100%),linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%); mask-image:linear-gradient(90deg,#000 0,#000 50%,transparent 100%),linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%); -webkit-mask-composite:source-in; mask-composite:intersect;}
/* ways to work: titles sit at the top, level with the list */
.tabs.seg.tiers-tabs .tabpanel{grid-template-rows:auto auto 1fr; align-content:start;}
/* what we do: image framing */
.tabs.side .tabpanel:nth-child(2) .panel-img{object-position:50% 72%;}
.tabs.side .tabpanel:nth-child(3)::before, .tabs.side .tabpanel:nth-child(4)::before{content:""; position:absolute; inset:-30px; z-index:0; background-size:cover; background-position:center; filter:blur(26px) brightness(.55);}
.tabs.side .tabpanel:nth-child(3)::before{background-image:url(images/svc-graph.png);}
.tabs.side .tabpanel:nth-child(4)::before{background-image:url(images/svc-gift.jpg);}
.tabs.side .tabpanel:nth-child(3) .panel-img, .tabs.side .tabpanel:nth-child(4) .panel-img{object-fit:contain !important; object-position:100% 50%;}
/* case studies */
.story-num.long{white-space:nowrap; font-size:clamp(26px,3vw,44px);}
@media (prefers-reduced-motion: no-preference){
  .motion .story-row.reveal .story-photo{opacity:0; transform:translateX(-56px) scale(1.04); transition:opacity 1s ease, transform 1.2s cubic-bezier(.2,.7,.2,1);}
  .motion .story-row.reveal .story-text{opacity:0; transform:translateX(56px); transition:opacity 1s ease .15s, transform 1.2s cubic-bezier(.2,.7,.2,1) .15s;}
  .motion .story-row.rev.reveal .story-photo{transform:translateX(56px) scale(1.04);}
  .motion .story-row.rev.reveal .story-text{transform:translateX(-56px);}
  .motion .story-row.reveal.in .story-photo, .motion .story-row.reveal.in .story-text{opacity:1; transform:none;}
  .motion .story-row .story-num{transition:color .5s ease;}
}
/* testimonials: full page width, swipe on phones */
.testimonials{overflow-x:clip;}
.testi-stack{display:grid !important; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); overflow:visible !important; width:100vw; max-width:none; margin-left:calc(50% - 50vw); padding:0 clamp(18px,3vw,56px) 6px; box-sizing:border-box; gap:22px;}
.testi-quote{flex:none !important; min-width:0;}
@media (max-width:1000px){
  .testi-stack{display:flex !important; overflow-x:auto !important; scroll-snap-type:x mandatory; gap:14px; padding:0 20px 18px; scroll-padding:0 20px; -webkit-overflow-scrolling:touch;}
  .testi-quote{flex:0 0 84vw !important; scroll-snap-align:center;}
}

/* round 10 */
.logos .label{display:none !important;}
.hero-unit .logos{padding-top:18px;}
.who-photos .who-fig:first-child img{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 66%,transparent 100%),linear-gradient(180deg,transparent 0,#000 9%,#000 91%,transparent 100%); mask-image:linear-gradient(90deg,#000 0,#000 66%,transparent 100%),linear-gradient(180deg,transparent 0,#000 9%,#000 91%,transparent 100%);}
.tabs.side .tabpanel:nth-child(2) .panel-img{object-position:50% 56%;}
.story-num.long{font-size:clamp(34px,4vw,54px); line-height:1.02;}
.footer-grid{align-items:center;}
@media (prefers-reduced-motion: no-preference){
  .bg-ring{transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
  .bg-cell.ring:hover .bg-ring{transform:rotate(200deg);}
}

/* round 11 */
/* tab 4: three photos behind the text */
.tabs.side .tabpanel:nth-child(4)::before{display:none !important;}
.panel-trio{position:absolute !important; inset:0; z-index:0 !important; display:grid; grid-template-columns:repeat(3,1fr); gap:0;}
.panel-trio img{width:100%; height:100%; object-fit:cover; display:block;}
.panel-trio img:nth-child(1){object-position:50% 50%;} .panel-trio img:nth-child(2){object-position:50% 55%;} .panel-trio img:nth-child(3){object-position:50% 40%;}
@media (prefers-reduced-motion: no-preference){ .panel-trio img{animation:mDrift 30s ease-in-out infinite alternate;} .panel-trio img:nth-child(2){animation-name:mDriftB; animation-duration:34s;} }
@media (max-width:560px){ .panel-trio{grid-template-columns:repeat(2,1fr);} .panel-trio img:nth-child(3){display:none;} }
/* Caroline Hirons: fade applies to the picture itself, so its top and bottom edges dissolve */
.who-photos .who-fig:first-child img{position:absolute; inset:auto !important; left:0; right:0; top:50%; width:100%; height:auto !important; translate:0 -50%; object-fit:fill; background:none;
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 64%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0,#000 64%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);}
/* ParadiseFold logo nearer the middle of its panel */
.story-logo-side.logo-pf{margin-right:16%;}

/* round 11b: Hirons picture centred in its panel (flex), fade on the picture itself */
.who-photos .who-fig:first-child{display:flex; align-items:center; justify-content:center;}
.who-photos .who-fig:first-child img{position:relative !important; inset:auto !important; top:auto !important; left:auto !important; right:auto !important; translate:none !important; width:100% !important; height:auto !important; flex:0 0 auto;}

/* round 12: new Hirons photo fills the panel; gradient on right, top and bottom */
.who-photos .who-fig:first-child{display:block;}
.who-photos .who-fig:first-child img{position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover; object-position:50% 35%; translate:none !important;
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 58%,transparent 100%),linear-gradient(180deg,transparent 0,#000 10%,#000 90%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0,#000 58%,transparent 100%),linear-gradient(180deg,transparent 0,#000 10%,#000 90%,transparent 100%);}

/* round 13 */
.footer-slogan{margin:14px 0 0; font-size:14.5px; line-height:1.6; color:#cfc8ba; max-width:340px;}
/* sub-navigation: dark over dark sections, light over cream */
.subnav{background:rgba(36,34,32,.96); border-bottom-color:rgba(255,255,255,.12); transition:background .4s ease, border-color .4s ease;}
.subnav a{color:#cfc8ba;}
.subnav a:hover{color:#fff;}
.subnav a.on{color:#fff; border-color:var(--gold-light);}
.subnav.is-light{background:rgba(250,246,239,.96); border-bottom-color:var(--line);}
.subnav.is-light a{color:var(--grey);}
.subnav.is-light a:hover{color:var(--ink);}
.subnav.is-light a.on{color:var(--ink); border-color:var(--gold);}

/* pricing line (Essential Support) */
.tabs.seg.tiers-tabs .tabpanel{grid-template-rows:auto auto auto 1fr;}
.tabs.seg.tiers-tabs ul{grid-row:1 / span 4;}
.tabs.seg.tiers-tabs .tier-price{grid-column:1; grid-row:4; align-self:start; margin:24px 0 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.2); font-size:16px; line-height:1.5; color:#fff; font-weight:600;}
.tabs.seg.tiers-tabs .tier-price span{display:block; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-light); font-weight:700; margin-bottom:4px;}
@media (min-width:700px){ #why h2{white-space:nowrap;} }

/* menu panel in the gold used for "We've got the Bandwidth." */
.nav-links{background:#cbb185 !important;}
.nav-links a:not(.btn){color:#242220 !important;}
.nav-links a:not(.btn):hover{color:#fff !important; border-color:#242220;}
.nav-links a[aria-current="page"]{border-color:#242220;}

/* menu panel: graphite, white links turning gold */
.nav-links{background:#242220 !important; box-shadow:12px 0 40px rgba(0,0,0,.35);}
.nav-links a:not(.btn){color:#fff !important;}
.nav-links a:not(.btn):hover{color:#cbb185 !important; border-color:#cbb185;}
.nav-links a[aria-current="page"]{border-color:#cbb185;}
body.menu-open .burger span{background:#fff !important;}
.nav-links .nav-logo-end img{filter:brightness(0) invert(1);}

/* round 14: more logos */
.mq-img.lg-tmrw{height:26px;} .mq-img.lg-spacenk{height:22px;} .mq-img.lg-fenwick{height:34px;} .mq-img.lg-carolinehirons{height:42px;} .mq-img.lg-joshwood{height:42px;} .mq-img.lg-lanesborough{height:48px;} .mq-img.lg-claridges{height:44px;} .mq-img.lg-dorchester{height:52px;} .mq-img.lg-cliveden{height:54px;} .mq-img.lg-chewtonglen{height:30px;} .mq-img.lg-nobu{height:16px;} .mq-img.lg-debenhams{height:20px;} .mq-img.lg-joycebeauty{height:26px;} .mq-img.lg-sephora{height:22px;}
@media (max-width:699px){ .mq-img.lg-tmrw{height:20px;} .mq-img.lg-spacenk{height:17px;} .mq-img.lg-fenwick{height:27px;} .mq-img.lg-carolinehirons{height:33px;} .mq-img.lg-joshwood{height:33px;} .mq-img.lg-lanesborough{height:38px;} .mq-img.lg-claridges{height:35px;} .mq-img.lg-dorchester{height:41px;} .mq-img.lg-cliveden{height:43px;} .mq-img.lg-chewtonglen{height:24px;} .mq-img.lg-nobu{height:12px;} .mq-img.lg-debenhams{height:16px;} .mq-img.lg-joycebeauty{height:20px;} .mq-img.lg-sephora{height:17px;} }
.bg-cell.bg-nobu .bg-in, .bg-cell.bg-sephora .bg-in, .bg-cell.bg-tmrw .bg-in, .bg-cell.bg-chewtonglen .bg-in, .bg-cell.bg-debenhams .bg-in, .bg-cell.bg-joycebeauty .bg-in, .bg-cell.bg-spacenk .bg-in{width:72%; left:14%;}
.bg-cell.bg-joshwood .bg-in, .bg-cell.bg-cliveden .bg-in, .bg-cell.bg-dorchester .bg-in{width:52%; left:24%;}
/* sub-navigation matches the header bar */
.subnav.is-light{background:rgba(250,246,239,.96);}
@media (min-width:700px){ .testimonials h2{white-space:nowrap;} #why h2{font-size:clamp(26px,3vw,40px);} }

/* round 14b: full-width versions of Dorchester, Debenhams, Chewton Glen */
.mq-img.lg-dorchester{height:20px;} .mq-img.lg-debenhams{height:20px;} .mq-img.lg-chewtonglen{height:36px;}
@media (max-width:699px){ .mq-img.lg-dorchester{height:16px;} .mq-img.lg-debenhams{height:16px;} .mq-img.lg-chewtonglen{height:29px;} }
.bg-cell.bg-dorchester .bg-in, .bg-cell.bg-debenhams .bg-in, .bg-cell.bg-chewtonglen .bg-in{width:76%; left:12%;}

/* Debenhams: new logo */
.mq-img.lg-debenhams{height:30px;} @media (max-width:699px){ .mq-img.lg-debenhams{height:24px;} }
.bg-cell.bg-debenhams .bg-in{width:66%; left:17%;}
.tabs.seg.tiers-tabs .tier-price{font-weight:400;}

/* ===== round 15 ===== */
.marquee-inner{animation-duration:170s !important;}
/* header + sub-navigation: identical solid colours */
header.scrolled{background:#faf6ef !important; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:0 1px 0 var(--line);}
.subnav{background:#242220 !important; -webkit-backdrop-filter:none; backdrop-filter:none; border-bottom:1px solid rgba(255,255,255,.1);}
.subnav.is-light{background:#faf6ef !important; border-bottom:1px solid var(--line);}
/* logo grid: 8 across, filling the page */
@media (min-width:1100px){
  .who-brands .wrap{max-width:none; padding-left:24px; padding-right:24px;}
  .brand-grid{max-width:none !important; width:100%;}
  .brand-grid .bg-cell{flex-basis:12.5%; max-width:12.5%;}
}
/* ParadiseFold logo sits close to its title */
.story-top:has(.logo-pf){justify-content:flex-start; gap:48px;}
.story-logo-side.logo-pf{margin-right:0;}
/* testimonial dots */
.testi-dots{display:none;}
@media (max-width:1000px){
  .testi-stack{overflow-y:hidden !important; align-items:flex-start;}
  .testi-dots{display:flex; justify-content:center; gap:9px; margin-top:20px;}
  .testi-dots i{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.28); transition:background .3s ease, transform .3s ease;}
  .testi-dots i.on{background:var(--gold-light); transform:scale(1.25);}
}
/* ===== phone ===== */
@media (max-width:699px){
  .hero .hero-top .wrap{padding-left:20px !important; padding-right:20px !important;}
  .hero-unit .hero .hero-top{padding-top:225px;}
}
@media (max-width:820px){
  .tabs.seg.tiers-tabs .tabpanel:not([hidden]){display:flex; flex-direction:column; padding:30px 24px;}
  .tabs.seg.tiers-tabs .tier-num{order:1;} .tabs.seg.tiers-tabs h3{order:2;} .tabs.seg.tiers-tabs .tier-for{order:3;}
  .tabs.seg.tiers-tabs .tier-price{order:4; margin-top:20px;} .tabs.seg.tiers-tabs ul{order:5; margin-top:26px;}
}
@media (max-width:700px){
  .compare-wrap{overflow:visible; border:0; background:none; margin:0;}
  .compare{min-width:0 !important; display:block;}
  .compare thead{display:none;}
  .compare tbody, .compare tr, .compare th, .compare td{display:block; width:auto;}
  .compare tbody tr{background:#fff; border:1px solid var(--line); margin-bottom:16px;}
  .compare tbody th{width:auto; background:var(--cream); font-family:var(--font-heading); font-size:19px; font-weight:700; padding:16px 20px; border-bottom:1px solid var(--line);}
  .compare tbody td{padding:14px 20px; border:0 !important; border-bottom:1px solid var(--line) !important; font-size:15px;}
  .compare tbody td::before{content:attr(data-label); display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--gold-text); margin-bottom:4px;}
  .compare tbody td.us{background:var(--charcoal); color:var(--cream); border-bottom:0 !important;}
  .compare tbody td.us::before{color:var(--gold-light);}
  .brand-grid{margin-top:34px; width:100%;}
  .brand-grid .bg-cell{flex-basis:25% !important; max-width:25% !important; padding:0 3px;}
  .brand-grid .bg-cell.ring-js::after{inset:0 3px;}
  .brand-grid .bg-cell .bg-in{width:86% !important; left:7% !important; top:30% !important; height:40% !important;}
  .brand-grid .bg-cell .bg-swash{width:72%; bottom:22%;}
  .bg-text{font-size:8px !important; letter-spacing:.08em;}
  .brand-grid{gap:14px 0;}
}

/* round 16 */
/* open menu covers the whole top, including the tagline */
body.menu-open header, body.menu-open header.scrolled{background:transparent !important; box-shadow:none !important;}
body.menu-open header::before{display:none !important;}
body.menu-open .top-tag, body.menu-open .logo{opacity:0 !important; visibility:hidden;}
.tabs.seg.tiers-tabs .tier-price span{font-size:15px; letter-spacing:.16em;}
@media (max-width:700px){ .page-hero br{display:none;} .testi-quote figcaption br{display:none;} }
/* phone: comparison as a tap-to-open list */
@media (max-width:700px){
  .compare tbody tr{margin-bottom:10px;}
  .compare tbody th{cursor:pointer; position:relative; padding-right:56px; border-bottom:0;}
  .compare tbody th::after{content:"+"; position:absolute; right:20px; top:50%; transform:translateY(-50%); font-family:'Montserrat',Arial,sans-serif; font-weight:300; font-size:26px; line-height:1; color:var(--gold-text);}
  .compare tbody tr.open th{border-bottom:1px solid var(--line);}
  .compare tbody tr.open th::after{content:"\2013";}
  .compare tbody td{display:none;}
  .compare tbody tr.open td{display:block;}
}

/* menu: never clips the first item; scrolls if the screen is short */
.nav-links{height:100vh; height:100dvh; justify-content:flex-start !important; padding:118px 44px 48px !important; gap:22px; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;}
.nav-links > li{flex:0 0 auto;}
.nav-links .nav-logo-end{margin-top:26px !important;}
@media (max-width:700px){
  .nav-links{padding:104px 36px 40px !important; gap:16px;}
  .nav-links a:not(.btn){font-size:24px !important;}
  .nav-links .nav-logo-end img{height:76px;}
}
@media (max-height:640px){ .nav-links{gap:10px; padding-top:92px !important;} .nav-links a:not(.btn){font-size:21px !important;} .nav-links .nav-logo-end img{height:60px;} }

/* menu: make sure every link is tappable */
body.menu-open header{pointer-events:none;}
body.menu-open .nav-links, body.menu-open .burger{pointer-events:auto;}
body.menu-open .top-tag, body.menu-open .logo{pointer-events:none !important;}
.nav-links{z-index:300 !important;}
.nav-links > li{width:100%; position:relative; z-index:1;}
.nav-links a:not(.btn){display:block; width:100%; padding:11px 0; border-bottom:0 !important; position:relative; z-index:2; -webkit-tap-highlight-color:rgba(203,177,133,.25);}
.nav-links a:not(.btn):hover{border-bottom:0 !important;}
.burger{z-index:310 !important;}
.nav-links{padding-top:128px !important;}
@media (max-width:700px){ .nav-links{padding-top:116px !important;} }

/* round 17 */
/* two-line hero intros on desktop */
@media (min-width:700px){ .page-hero .lead:has(br){max-width:none !important; font-size:clamp(14px,1.35vw,18px); white-space:normal;} }
/* testimonials: still cards, no rising or lifting */
.testi-quote, .testi-quote:hover{transform:none !important; box-shadow:none !important;}
.motion .testi-quote.reveal{transform:none !important;}
/* ParadiseFold logo beside the "1st" */
@media (min-width:721px){
  .story-top:has(.logo-pf){display:block; position:relative;}
  .story-top:has(.logo-pf) .logo-pf{position:absolute; left:150px; top:14px; width:170px; margin:0 !important;}
}
/* Decree photo on phones: no black bars */
@media (max-width:720px){
  .king-photo{min-height:0 !important; background:none !important; display:block !important;}
  .king-frame{display:block; width:100%;}
  .king-frame img{width:100%; max-height:none !important; height:auto;}
}

/* round 18 */
@media (max-width:560px){
  .who-photos .who-fig:last-child{min-height:540px;}
  .who-photos .who-fig:last-child img{object-position:50% 86%; animation:none !important;}
}
/* phone footer: Explore and Contact side by side */
@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr !important; column-gap:22px; row-gap:34px; align-items:start;}
  .footer-grid > div:first-child{grid-column:1 / -1;}
  .footer-grid ul li, .footer-grid ul a{font-size:15px;}
  .footer-grid a[href^="mailto"]{word-break:break-all; font-size:14px;}
}

/* testimonial logos */
.testi-quote figcaption .testi-logo{display:block; width:auto; height:30px; margin-top:18px; opacity:.9;}
.testi-quote figcaption .tl-elys{height:34px;} .testi-quote figcaption .tl-ruskin{height:22px;} .testi-quote figcaption .tl-wwellness{height:26px;} .testi-quote figcaption .tl-paradisefold{height:16px;}
/* new Dr. Levy wordmark */
.mq-img.lg-drlevy{height:60px;}
@media (max-width:699px){ .mq-img.lg-drlevy{height:48px;} }
.bg-cell.bg-drlevy .bg-in{width:50%; left:25%;}

/* ===== key results (no boxes, animated) ===== */
.kp{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr);}
.kp li{position:relative; text-align:center; padding:8px 28px 4px; display:flex; flex-direction:column; align-items:center;}
.kp li + li::before{content:""; position:absolute; left:0; top:10%; bottom:10%; width:1px; background:rgba(176,146,94,.38);}
.kp .kp-logo{height:56px; display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:12px;}
.kp .kp-logo .hl-logo{margin:0; opacity:.9;}
.kp .num{display:block; font-family:var(--font-display); font-size:clamp(42px,4.6vw,62px); line-height:1; color:var(--gold); margin:0;}
.kp .num.s{font-size:clamp(28px,3vw,40px); padding-top:12px;}
.kp .kp-cap{display:block; font-size:14px; line-height:1.55; color:var(--grey); max-width:230px; margin-top:12px;}
.kp li::after{content:""; width:46px; height:1px; background:var(--gold); margin-top:18px; transform:scaleX(0); transform-origin:center; transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .45s;}
.kp li.m-in::after{transform:scaleX(1);}
.kp .hl-wordmark{margin:0;}
/* on dark (case studies hero) */
.kp-dark .kp-logo .hl-logo{filter:brightness(0) invert(1);}
.kp-dark .hl-wordmark{color:#fff;}
.kp-dark .num{color:var(--gold-light);}
.kp-dark .kp-cap{color:#d8d3ca;}
.kp-dark li::after{background:var(--gold-light);}
/* case studies hero: title left, results right */
.page-hero-split .ph-split{display:grid; grid-template-columns:1fr 1.15fr; gap:64px; align-items:center;}
.page-hero-split .ph-left h1{margin-bottom:18px;}
.page-hero-split .ph-left .lead{max-width:420px !important; font-size:15px !important;}
.kp-grid{grid-template-columns:1fr 1fr; row-gap:40px;}
.kp-grid li + li::before{display:none;}
.kp-grid li{padding:0 16px;}
.kp-note{font-size:11.5px; letter-spacing:.06em; color:#a8a194; text-align:center; margin:30px 0 0;}
@media (max-width:900px){
  .page-hero-split .ph-split{grid-template-columns:1fr; gap:44px;}
  .page-hero-split .ph-left .lead{max-width:none !important;}
  .kp-row{grid-template-columns:1fr 1fr; row-gap:40px;}
  .kp-row li:nth-child(odd)::before{display:none;}
}
@media (max-width:520px){ .kp li{padding-left:10px; padding-right:10px;} .kp .kp-cap{font-size:12.5px;} .kp .num.s{font-size:26px;} }
/* About: Jules section, picture and text out to the edges */
.jules-wide{padding:56px 0 0; background:var(--cream);}
.jules-wide .jk-wrap{padding-bottom:8px;}
.jules-wide .jk-eyebrow{display:block; text-align:center; margin-bottom:34px;}
.jules-wide .jules-profile{max-width:none; width:100%; margin:72px 0 0; padding:0; border:0; display:grid; grid-template-columns:42% 1fr; gap:0; align-items:stretch;}
.jules-wide .jules-photo{position:relative; margin:0; top:auto; min-height:720px; overflow:hidden;}
.jules-wide .jules-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 20%;}
.jules-wide .jules-photo figcaption{position:absolute; left:0; right:0; bottom:0; z-index:2; margin:0; padding:60px 28px 22px; color:#fff; text-align:left; background:linear-gradient(to top, rgba(20,18,16,.6), transparent);}
.jules-wide .jules-post{padding:72px clamp(28px,6vw,110px) 72px clamp(36px,5vw,96px); align-self:center;}
.jules-wide .jules-post p{max-width:none;}
@media (max-width:900px){
  .jules-wide .jules-profile{grid-template-columns:1fr; margin-top:48px;}
  .jules-wide .jules-photo{min-height:0; aspect-ratio:3/4; max-width:none;}
  .jules-wide .jules-post{padding:44px 24px 64px;}
}
.kp .kp-logo .hl-logo{display:block; width:auto; height:30px; max-width:100%;}
.kp .kp-logo .hl-logo.hl-perricone{height:56px;}
.kp .kp-logo .hl-logo.hl-laprairie{height:30px;}
.kp .kp-logo .hl-logo.hl-moschino{height:26px;}
.kp .kp-logo .hl-logo.hl-bobbibrown{height:14px;}
/* review round: one-line h2s; results hero lead stays in its column */
.why .section-head h2,.testimonials .section-head h2{white-space:nowrap;}
@media (max-width:700px){.why .section-head h2,.testimonials .section-head h2{white-space:normal;}}
.page-hero-split .ph-left{min-width:0;}
.page-hero-split .ph-left .lead{max-width:420px !important; width:100%; overflow-wrap:break-word;}
.page-hero-split .ph-left p{max-width:420px;}
/* results: key-results band above carousel */
.hero-solo{padding-bottom:30px !important;}
.hero-solo .ph-left .lead{max-width:560px !important;}
.kband{background:#242220; padding:8px 0 40px;}
.kband .kw{max-width:1360px;}
.kband .kgrid{display:grid; grid-template-columns:repeat(7,1fr); padding-top:40px; border-top:1px solid rgba(255,255,255,.14);}
.kband .kc{all:unset; box-sizing:border-box; cursor:pointer; text-align:center; padding:6px 12px 14px; position:relative; display:flex; flex-direction:column; align-items:center; color:inherit; transition:background .3s ease;}
.kband .kc+.kc::before{content:""; position:absolute; left:0; top:6%; bottom:6%; width:1px; background:rgba(203,177,133,.28);}
.kband .kc:hover,.kband .kc:focus-visible{background:rgba(255,255,255,.04);}
.kband .kc:focus-visible{outline:1px solid var(--gold-light); outline-offset:-3px;}
.kband .klg{height:60px; display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.kband .klg.stack{flex-direction:column; gap:6px;}
.kband .klg img{width:auto; filter:brightness(0) invert(1); opacity:.92;}
.kband .kn{font-family:var(--font-display); color:var(--gold-light); font-size:clamp(22px,2.3vw,34px); line-height:1.1; min-height:2.2em; display:flex; align-items:center; justify-content:center;}
.kband .kmore{margin-top:10px; font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:#a89c86; transition:color .3s;}
.kband .kc:hover .kmore{color:var(--gold-light);}
.kband button.kc .kmore::after{content:" +"; }
.kband button.kc[aria-expanded="true"] .kmore::after{content:" \2212";}
.kband button.kc[aria-expanded="true"]{background:rgba(255,255,255,.06);}
.kband a.kc .kmore::after{content:" \2193";}
.kband .kpanel{max-width:820px; margin:18px auto 0; padding:30px 36px; border:1px solid rgba(203,177,133,.3); text-align:left;}
.kband .kpanel[hidden]{display:none;}
.kband .kp-item{display:none;}
.kband .kp-item.on{display:block; animation:kpIn .35s ease both;}
.kband .kp-item h3{font-family:var(--font-display); color:var(--gold-light); font-size:26px; font-weight:400; margin:0 0 12px;}
.kband .kp-item ul{margin:0; padding-left:18px; color:#e8e1d3; font-size:14.5px; line-height:1.7;}
.kband .kp-item li::marker{color:var(--gold-light);}
.kband .kp-from{margin:18px 0 0; font-size:11px; letter-spacing:.06em; color:#8d8372;}
@keyframes kpIn{from{opacity:0; transform:translateY(6px);}to{opacity:1; transform:none;}}
.story-row[id]{scroll-margin-top:110px;}
@media (max-width:900px){
  .kband .kgrid{grid-template-columns:repeat(2,1fr); row-gap:22px;}
  .kband .kc:nth-child(odd)::before{display:none;}
  .kband .kc:last-child{grid-column:1 / -1;}
  .kband .kpanel{padding:24px 22px;}
}

/* key results: boxes expand in place like Strategy/Build/Scale */
.kband .kgrid{align-items:start;}
.kband .kc{border:1px solid transparent; transition:background .35s ease, border-color .35s ease;}
.kband .kn{height:3.5em; min-height:0; transition:color .3s ease;}
.kband .klg.stack{height:auto; min-height:60px; justify-content:center; gap:7px;}
.kband .klg-row{display:flex; align-items:center; gap:8px;}
.kband .kdetail{display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s ease, margin .4s ease; margin-top:0; width:100%;}
.kband .kdetail > span{overflow:hidden; display:block; font-size:13px; line-height:1.6; color:#3b2e2a; text-align:center;}
.kband .kdetail i{display:block; font-style:normal; margin-bottom:8px;}
.kband button.kc:hover,.kband button.kc[aria-expanded="true"]{background:#faf6ef; border-color:#e4dccb;}
.kband button.kc:hover .kn,.kband button.kc[aria-expanded="true"] .kn{color:#8a6d3b;}
.kband button.kc:hover .kmore,.kband button.kc[aria-expanded="true"] .kmore{color:#5a4a36;}
.kband button.kc:hover .klg img,.kband button.kc[aria-expanded="true"] .klg img{filter:brightness(0); opacity:.9;}
.kband button.kc:hover .hl-wordmark,.kband button.kc[aria-expanded="true"] .hl-wordmark{color:#242220 !important;}
.kband button.kc[aria-expanded="true"] .kdetail{grid-template-rows:1fr; margin-top:12px;}
.kband .kc+.kc::before{transition:opacity .3s;}
.kband button.kc[aria-expanded="true"]::before,.kband button.kc[aria-expanded="true"] + .kc::before{opacity:0;}
/* about key row: headlines sit level */
.kp .num{display:flex; align-items:center; justify-content:center; min-height:clamp(60px,6.4vw,84px);}
.kp .num.s{padding-top:0;}
/* jules photo: less background at the top */
.jules-wide .jules-photo img{object-position:50% 42%;}
/* review round: extra logos under headline; brand-grid case pop; home results button */
.kband .kx{height:40px; display:flex; align-items:center; justify-content:center; margin-top:4px;}
.kband .kx img{width:auto; filter:brightness(0) invert(1); opacity:.92;}
.kband button.kc:hover .kx img,.kband button.kc[aria-expanded="true"] .kx img{filter:brightness(0); opacity:.9;}
.brand-grid .has-case .case-pop{position:absolute; left:50%; bottom:6%; transform:translate(-50%,6px); opacity:0; pointer-events:none; white-space:nowrap; background:#242220; color:#fff; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; padding:8px 14px; border-radius:999px; transition:opacity .25s ease, transform .25s ease; text-decoration:none; z-index:3;}
.brand-grid .has-case:hover .case-pop,.brand-grid .has-case:focus-within .case-pop{opacity:1; transform:translate(-50%,0); pointer-events:auto;}
.brand-grid .has-case .case-pop:hover{background:var(--gold); color:#242220;}
@media (hover:none){.brand-grid .has-case .case-pop{opacity:1; transform:translate(-50%,0); pointer-events:auto; font-size:9px; padding:6px 10px;}}
.hero-ctas .btn-results{font-weight:700; color:#fff;}
/* Moschino / Bobbi Brown stacked */
.kband .klg-row{flex-direction:column; gap:14px;}
.kband .klg.stack{height:60px; min-height:0;}
.kband .klg-row img.bb,.kband .klg-row img[alt="Bobbi Brown"]{height:12px !important;}
.kband .klg-row img[alt="Moschino"]{height:22px !important;}
/* Decree row: smaller, cropped to the gift-bag view */
.king-photo{min-height:0 !important; padding:0;}
.king-frame{display:block; height:540px; aspect-ratio:.83/1; overflow:hidden;}
.king-frame img{width:100% !important; height:100% !important; max-height:none !important; object-fit:cover; object-position:50% 75%;}
.king-tag{top:81%;}
@media (max-width:900px){
  .king-photo{display:flex !important; background:#000 !important; justify-content:center;}
  .king-frame{width:100%; max-width:520px; height:auto; aspect-ratio:.83/1;}
}
.kp .kp-x{display:flex; justify-content:center; margin-top:10px;}
.kp-dark .kp-x img{filter:brightness(0) invert(1);}
.kp li.has-x .kp-logo{height:24px;}
@media (max-width:900px){.kp li.has-x .kp-logo{height:56px;}}
/* brand grid: whole logo is the link; label appears on hover */
.brand-grid .has-case .case-pop{position:absolute; inset:0; left:0; bottom:0; transform:none; opacity:1; pointer-events:auto; background:transparent; padding:0; border-radius:0; font-size:0; color:transparent; z-index:3; display:block;}
.brand-grid .has-case:hover .case-pop,.brand-grid .has-case:focus-within .case-pop{transform:none; background:transparent;}
.brand-grid .has-case .case-pop::after{content:"View case study"; position:absolute; left:50%; bottom:6%; transform:translate(-50%,6px); opacity:0; white-space:nowrap; background:#242220; color:#fff; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; padding:8px 14px; border-radius:999px; transition:opacity .25s ease, transform .25s ease, background .25s ease;}
.brand-grid .has-case:hover .case-pop::after,.brand-grid .has-case .case-pop:focus-visible::after{opacity:1; transform:translate(-50%,0);}
.brand-grid .has-case .case-pop:hover::after{background:var(--gold); color:#242220;}
@media (hover:none){.brand-grid .has-case .case-pop::after{opacity:1; transform:translate(-50%,0); font-size:9px; padding:6px 10px;}}
/* case-study hover label: plain text, no button */
.brand-grid .has-case .case-pop::after{background:transparent !important; padding:0; border-radius:0; color:#cfc8ba; font-size:10.5px; letter-spacing:.16em;}
.brand-grid .has-case .case-pop:hover::after{background:transparent !important; color:#fff;}
@media (hover:none){.brand-grid .has-case .case-pop::after{font-size:9px; padding:0;}}
/* phones / touch: no "view case study" label (logos stay tappable) */
@media (hover:none), (max-width:700px){.brand-grid .has-case .case-pop::after{display:none !important;}}
.kband .kx-t{font-family:var(--font-display); color:var(--gold-light); font-size:clamp(17px,1.5vw,22px); line-height:1.1; white-space:nowrap; transition:color .3s;}
.kband button.kc:hover .kx-t,.kband button.kc[aria-expanded="true"] .kx-t{color:#8a6d3b;}
/* about key row on phones: logos fit their column */
@media (max-width:900px){
  .kp li{min-width:0; padding:8px 12px 4px;}
  .kp .kp-logo{flex-wrap:nowrap; max-width:100%; flex-direction:column; gap:8px;}
  .kp .kp-logo .hl-logo{max-width:90%; height:auto; max-height:30px;}
  .kp .kp-logo .hl-logo.hl-perricone{max-height:54px;}
  .kp .kp-logo .hl-logo.hl-laprairie{max-height:30px;}
  .kp .kp-logo .hl-logo.hl-moschino{max-height:24px; width:auto;}
  .kp .kp-logo .hl-logo.hl-bobbibrown{max-height:12px; width:auto;}
  .kp .kp-logo .hl-wordmark{font-size:19px !important; white-space:nowrap;}
}
.kp .kp-gold{display:block; font-family:var(--font-display); color:var(--gold); font-size:clamp(20px,2vw,28px); line-height:1.1; margin-top:2px; white-space:nowrap;}
.kp-dark .kp-gold{color:var(--gold-light);}
@media (max-width:900px){.kp .kp-gold{font-size:22px;}}
/* bigger logos in the key-results band */
.kband .klg{height:84px;}
.kband .klg.stack{height:84px;}
@media (max-width:900px){.kband .klg img{max-width:90%;} .kband .klg .hl-wordmark{font-size:22px !important;}}
.kband .kn.two{flex-direction:column; justify-content:center;}
.kband .kn.two span{display:block;}
/* about: Zegna sits under the Harvey Nichols wordmark */
.kp li.has-x .kp-logo{height:56px; flex-direction:column; gap:7px;}
.kp .kp-logo .hl-logo.hl-zegna{height:22px; max-height:none; width:auto;}
@media (max-width:900px){.kp .kp-logo .hl-logo.hl-zegna{max-height:24px; height:22px;}}
/* phone hero photo position */
@media (max-width:699px){.hero-photo-blend{background-position:82% bottom !important;}}
/* phones: founders' headshots sit behind their blurbs */
@media (max-width:700px){
  .who-card.has-photo{position:relative; padding-top:190px; background-color:#242220; background-image:linear-gradient(to bottom, rgba(36,34,32,0) 0, rgba(36,34,32,.1) 110px, rgba(36,34,32,.82) 215px, #242220 290px), var(--bg); background-size:100% 100%, 100% auto; background-position:0 0, 50% var(--py,-85px); background-repeat:no-repeat;}
  .who-card.has-photo:first-child{--py:-30px;}
}
