
/* ==========================================================================
   SKYLINE MARKETING + AUTOMATION — "Architectural After Dark"
   Drop-in replacement for assets/css/styles.css.
   Every class hook from the previous stylesheet is preserved, so no HTML,
   content, links, forms or scripts need to change.
   ========================================================================== */

:root{
  /* Palette */
  --forest:#0E0E0F; --forest-2:#161617;
  --midnight:#0E0E0F; --midnight-2:#161617;
  --espresso:#141415; --espresso-deep:#0B0B0C; --espresso-2:#18181A;
  --mahogany:#3A3A3D;
  --cognac:#A8865B; --cognac-light:#C9AB82; --cognac-deep:#7A5F3B;
  --champagne:#E6E4DF; --ivory:#F7F6F3; --concrete:#EDEBE7; --concrete-grey:#9A9A9D;
  --ink:#111112; --muted:#66666A;

  /* Roles */
  --text:var(--ink);
  --on-dark:#F4F3F0;
  --muted-on-dark:rgba(244,243,240,.66);
  --line:rgba(17,17,18,.14);
  --line-strong:rgba(17,17,18,.28);
  --line-dark:rgba(236,234,229,.16);
  --line-dark-strong:rgba(236,234,229,.32);
  --focus:var(--cognac-deep);

  /* Legacy aliases (kept so any inline/editor styles still resolve) */
  --paper:var(--ivory); --band:var(--concrete); --lace-2:var(--concrete); --pearl:var(--ivory);
  --white:#FFFFFF; --olive:var(--cognac); --olive-deep:var(--cognac-deep); --accent:var(--cognac);
  --olive-soft:var(--cognac-light); --taupe:var(--concrete); --ink-deep:var(--espresso-deep); --ink-2:var(--espresso-2);
  --muted-on-ink:var(--muted-on-dark);

  /* Type */
  --font-display:'Instrument Serif','Times New Roman',Georgia,serif;
  --font-body:'Manrope','Helvetica Neue',Arial,sans-serif;

  /* Geometry */
  --r-img:0px; --r-card:0px; --r-ctl:2px;
  --container:1296px;
  --gutter:clamp(20px,5vw,72px);
  --section:clamp(96px,10vw,152px);

  /* Motion */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --dur-1:.25s; --dur-2:.6s; --dur-3:1.2s;

  /* Film grain (static, tiny, cached) */
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .91 0 0 0 0 .84 0 0 0 0 .71 0 0 0 .055 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  color-scheme:light;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.65;color:var(--text);background:var(--ivory);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;font-feature-settings:"ss01" 1}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5{margin:0;font-weight:400;text-wrap:balance}
.pain h3,.xtitle,.svc-tile h3,.why-card h3,.row-copy h3,.svc-body h3,.value h3,.plan-name,.faq summary{text-wrap:wrap}
p{margin:0;text-wrap:pretty}
ul,ol{list-style:none;margin:0;padding:0}
button{font:inherit;color:inherit}
::selection{background:var(--cognac);color:var(--espresso-deep)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.dark,.hero,.page-hero,.site-header,.mobile-menu,.site-footer,.cta,.cta-band,.mega{--focus:var(--cognac-light)}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;background:var(--cognac);color:var(--espresso-deep);padding:10px 16px;z-index:200;border-radius:var(--r-ctl);font-weight:600}
.skip:focus{left:16px;top:16px}
.container{width:100%;max-width:calc(var(--container) + 2*var(--gutter));margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.section{padding-block:var(--section);position:relative}
.center{text-align:center}
.stack{display:flex;flex-direction:column;gap:22px;min-width:0}
.ic{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ic-sm{width:16px;height:16px}
.ic-lg{width:24px;height:24px}

/* ---------- Typography ---------- */
.h1,.h2,.h3,.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.012em;line-height:1;color:inherit}
.h1{font-size:clamp(52px,6.4vw,100px);line-height:.96}
.h2{font-size:clamp(42px,4.8vw,74px);line-height:1}
.h3{font-size:clamp(28px,2.4vw,36px);line-height:1.08}
.h1 em,.h2 em,.h3 em{font-style:italic;color:var(--mahogany)}
.dark .h1 em,.dark .h2 em,.page-hero .h1 em,.page-hero .h2 em,.cta-inner .h2 em,.cta-panel h2 em,.section.bg-ink .h2 em{color:var(--cognac-light)}
.lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:46ch}
.small{font-size:14px;color:var(--muted);line-height:1.55}
.eyebrow,.tag,.lbl{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-body);font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;line-height:1.5;color:var(--ink)}
.eyebrow::before,.tag::before,.num-eyebrow::before{content:"";width:28px;height:1px;background:var(--cognac-deep);flex-shrink:0}
.lbl::before{content:none}
.dark .eyebrow,.dark .tag,.bg-ink .eyebrow,.on-ink .eyebrow,.page-hero .eyebrow,.hero .tag,.cta-panel .tag,.cta-inner .eyebrow{color:var(--champagne)}
.dark .eyebrow::before,.dark .tag::before,.page-hero .eyebrow::before,.hero .tag::before,.bg-ink .eyebrow::before,.cta-panel .tag::before{background:var(--cognac-light)}
.dark,.bg-ink,.on-ink{color:var(--on-dark)}
.dark .lead,.bg-ink .lead,.on-ink .lead,.page-hero .lead{color:var(--muted-on-dark)}
.ed{font:inherit;color:inherit}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:17px 22px 17px 26px;border-radius:var(--r-ctl);border:0;cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:700;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;background:var(--cognac);color:var(--espresso-deep);transition:background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}
.btn .ic{transition:transform var(--dur-1) var(--ease)}
.btn:hover .ic{transform:translateX(4px)}
.btn:active{transform:translateY(1px)}
.btn-primary,.btn-light,.btn-dark,.btn-red{background:var(--cognac);color:var(--espresso-deep)}
.btn-primary:hover,.btn-light:hover,.btn-dark:hover,.btn-red:hover,.btn:hover{background:var(--champagne);color:var(--espresso-deep)}
.btn-ghost,.btn-outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
.btn-ghost:hover,.btn-outline:hover{background:var(--ink);color:var(--ivory);box-shadow:inset 0 0 0 1px var(--ink)}
.btn-white{background:var(--ivory);color:var(--ink)}
.dark .btn-outline,.dark .btn-ghost,.bg-ink .btn-outline,.on-ink .btn-outline,.page-hero .btn-outline,.cta-band .btn-outline,.cta .btn-outline,.notfound .btn-outline,main[data-page="index"] #services .btn-ghost,#pricing .btn-primary{color:var(--champagne);background:transparent;box-shadow:inset 0 0 0 1px var(--line-dark-strong)}
.dark .btn-outline:hover,.dark .btn-ghost:hover,.bg-ink .btn-outline:hover,.page-hero .btn-outline:hover,.cta-band .btn-outline:hover,.cta .btn-outline:hover,.notfound .btn-outline:hover,main[data-page="index"] #services .btn-ghost:hover,#pricing .btn-primary:hover{background:var(--champagne);color:var(--espresso-deep);box-shadow:inset 0 0 0 1px var(--champagne)}
.btn-sm{padding:12px 16px 12px 18px;font-size:12px}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

.more,.arrow-link{position:relative;display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding-bottom:6px}
.more::after,.arrow-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.35;transform-origin:left;transition:transform var(--dur-2) var(--ease-out),opacity var(--dur-1)}
.more:hover::after,.arrow-link:hover::after,a:hover .more::after,a:hover .arrow-link::after{opacity:1}
.more .ic,.arrow-link .ic{transition:transform var(--dur-1) var(--ease)}
.more:hover .ic,.arrow-link:hover .ic,a:hover .more .ic,a:hover .arrow-link .ic{transform:translateX(4px)}

/* ---------- Photography frames ---------- */
.ph{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px;padding:18px;overflow:hidden;border-radius:var(--r-img);background:var(--concrete);color:var(--muted);isolation:isolate}
.ph.dark{background:var(--espresso-2);color:var(--muted-on-dark)}
.ph::before{content:"";position:absolute;top:16px;left:16px;width:28px;height:28px;opacity:.45;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8a2 2 0 0 1 2-2h2l1.5-2h7L17 6h2a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8a2 2 0 0 1 2-2h2l1.5-2h7L17 6h2a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E") center/contain no-repeat}
.ph>span{position:relative;z-index:1;font-size:13px;line-height:1.45;max-width:36ch}
.ph b{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:3px}
/* Warm, cinematic grade applied to every existing photograph */
.ph>.ph-img,.hero-bg,.cta-panel img{filter:sepia(.24) saturate(.82) contrast(1.06) brightness(.9) hue-rotate(-4deg)}
.ph>.ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:scale var(--dur-3) var(--ease-out),filter var(--dur-2) var(--ease)}
.ph.has-photo{background:var(--espresso-deep)}
.ph.has-photo::before,.ph.has-photo>span{display:none}
.ph.has-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(11,11,12,0) 45%,rgba(11,11,12,.38) 100%),linear-gradient(0deg,rgba(168,134,91,.06),rgba(168,134,91,.06))}
.ph.se-has-img>.ph-img{display:none}
a:hover .ph>.ph-img,.lift:hover .ph>.ph-img,.svc-tile:hover .ph>.ph-img,.row:hover .ph>.ph-img,.hero-card:hover .ph>.ph-img{scale:1.045}
.r-16x9{aspect-ratio:16/9}.r-4x3{aspect-ratio:4/3}.r-4x5{aspect-ratio:4/5}.r-1x1{aspect-ratio:1/1}.r-3x2{aspect-ratio:3/2}
.sun{display:none}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;color:var(--on-dark);transition:background-color .4s var(--ease),box-shadow .4s var(--ease)}
.site-header::before{content:"";position:absolute;inset:0 0 -40px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(11,11,12,.55),rgba(11,11,12,0));transition:opacity .4s var(--ease)}
.site-header.scrolled{background:rgba(11,11,12,.96);box-shadow:0 1px 0 var(--line-dark)}
.site-header.scrolled::before{opacity:0}
.site-header .header-inner,.site-header .logo-img{transition:height .4s var(--ease)}
.site-header.scrolled .header-inner{height:76px}
.site-header.scrolled .logo-img{height:46px}
.header-inner{display:flex;align-items:center;gap:24px;height:112px}
.logo{display:flex;align-items:center;flex-shrink:0}
.logo-img{display:block;height:78px;width:auto}
.main-nav{margin:0 auto}
.main-nav>ul{display:flex;align-items:center;gap:6px}
.main-nav>ul>li>a{position:relative;display:inline-flex;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:600;letter-spacing:.04em;color:rgba(244,243,240,.86);transition:color var(--dur-1) var(--ease)}
.main-nav>ul>li>a::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:1px;background:var(--cognac-light);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-2) var(--ease-out)}
.main-nav>ul>li>a:hover,.has-mega.open>.mega-trigger,.has-mega:hover>.mega-trigger{color:var(--on-dark)}
.main-nav>ul>li>a:hover::after,.has-mega.open>.mega-trigger::after,.has-mega:hover>.mega-trigger::after{transform:scaleX(1)}
.mega-trigger .ic{transition:transform var(--dur-1) var(--ease)}
.has-mega:hover .mega-trigger .ic,.has-mega.open .mega-trigger .ic{transform:rotate(180deg)}
.header-cta{flex-shrink:0}
.menu-toggle{display:none;width:46px;height:46px;border-radius:var(--r-ctl);border:0;cursor:pointer;color:var(--on-dark);background:transparent;box-shadow:inset 0 0 0 1px var(--line-dark-strong)}
.menu-toggle .ic{margin:auto}

/* Mega menu */
.has-mega{position:static}
.mega{position:absolute;left:var(--gutter);right:var(--gutter);max-width:var(--container);margin:0 auto;top:calc(100% - 4px);display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;border-radius:0;background:var(--espresso-deep) var(--grain);color:var(--on-dark);box-shadow:0 0 0 1px var(--line-dark),0 40px 80px -24px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .5s var(--ease-out),visibility .3s}
.has-mega:hover .mega,.has-mega:focus-within .mega,.has-mega.open .mega{opacity:1;visibility:visible;transform:none}
.mega::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.mega>div{padding:36px 36px 40px;background:none;border-left:1px solid var(--line-dark)}
.mega>div:first-child{border-left:0}
.mega-k{display:block;color:var(--cognac-light);margin-bottom:10px;font-size:11px}
.mega h4{font-family:var(--font-display);font-size:34px;font-weight:400;letter-spacing:-.01em;line-height:1;margin-bottom:20px}
.mega h4 a{transition:color var(--dur-1)}
.mega h4 a:hover{color:var(--cognac-light)}
.mega ul{display:grid;gap:0}
.mega li a{display:block;padding:9px 0;font-size:14.5px;color:var(--muted-on-dark);border-top:1px solid rgba(236,234,229,.08);transition:color var(--dur-1),padding-left var(--dur-2) var(--ease-out)}
.mega li a:hover{color:var(--on-dark);padding-left:6px}

/* Mobile menu */
.mobile-menu{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;padding:0 var(--gutter) calc(20px + env(safe-area-inset-bottom,0px));overflow-y:auto;background:var(--espresso-deep) var(--grain);color:var(--on-dark);opacity:0;visibility:hidden;transform:translateX(24px);transition:opacity .35s var(--ease),transform .5s var(--ease-out),visibility .35s}
.mobile-menu.open{opacity:1;visibility:visible;transform:none}
.mobile-menu .top{display:flex;justify-content:space-between;align-items:center;min-height:72px;padding-top:env(safe-area-inset-top,0px);margin-bottom:16px}
.mobile-menu .logo-img{height:42px}
.mobile-menu .menu-toggle{display:grid!important}
.mobile-menu nav{display:flex;flex-direction:column}
.mobile-menu nav>a,.mobile-menu summary{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1.1;padding:16px 0;border-bottom:1px solid var(--line-dark);cursor:pointer;list-style:none}
.mobile-menu nav>a .ic{width:18px;height:18px;opacity:.5}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary .ic{transition:transform var(--dur-1)}
.mobile-menu details[open] summary .ic{transform:rotate(180deg)}
.mobile-menu details[open] summary{border-bottom-color:transparent}
.mm-sub{display:flex;flex-direction:column;gap:0;padding:0 0 16px;border-bottom:1px solid var(--line-dark)}
.mm-sub a{display:flex;flex-direction:column;gap:2px;padding:14px 0 14px 16px;border-left:1px solid var(--cognac);margin-bottom:6px;background:none}
.mm-sub b{font-weight:600;font-size:16px}
.mm-sub span{font-size:13px;color:var(--muted-on-dark)}
.mm-sub .mm-all{flex-direction:row;align-items:center;gap:8px;border-left:0;padding:10px 0 0;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cognac-light)}
.mm-foot{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:28px}
.mm-foot .btn{width:100%}
.mm-foot .btn-outline{color:var(--champagne);box-shadow:inset 0 0 0 1px var(--line-dark-strong)}
.mm-hours{text-align:center;font-size:13px;color:var(--muted-on-dark);margin-top:2px}
.scroll-progress{display:none}

/* ==========================================================================
   HOME — Hero
   ========================================================================== */
.hero{position:relative;min-height:max(720px,100svh);display:flex;align-items:flex-end;color:var(--on-dark);background:var(--espresso);overflow:hidden;isolation:isolate;view-timeline:--hero block}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--grain)}
.hero::after{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(70% 60% at 82% 18%,rgba(201,171,130,.18),rgba(201,171,130,0) 60%),
  linear-gradient(180deg,rgba(11,11,12,.62) 0%,rgba(11,11,12,.12) 26%,rgba(11,11,12,.18) 46%,rgba(11,11,12,.86) 82%,var(--espresso-deep) 100%),
  linear-gradient(90deg,rgba(14,14,15,.72) 0%,rgba(14,14,15,.25) 48%,rgba(14,14,15,.2) 100%)}
.hero-inner{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:48px;padding-top:160px;padding-bottom:clamp(56px,7vw,96px)}
.hero-inner::before{content:"";position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(28px,3.2vw,44px);height:1px;background:var(--line-dark)}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:28px;max-width:820px}
.hero .tag{padding:0;background:none;box-shadow:none}
.hero-title{font-family:var(--font-display);font-weight:400;font-style:italic;color:var(--cognac-light);font-size:clamp(64px,8.6vw,138px);line-height:.92;letter-spacing:-.02em}
.hero-title::first-line{font-style:normal;color:var(--on-dark)}
.hero-sub{font-size:18px;line-height:1.55;color:rgba(244,243,240,.84);max-width:44ch;padding-left:20px;border-left:1px solid var(--cognac-light)}
.hero-card{display:flex;gap:18px;align-items:stretch;width:430px;flex-shrink:0;padding:14px;border-radius:0;background:rgba(11,11,12,.88);box-shadow:inset 0 0 0 1px var(--line-dark);transition:box-shadow var(--dur-2) var(--ease)}
.hero-card:hover{box-shadow:inset 0 0 0 1px var(--line-dark-strong)}
.hero-card .ph{width:150px;flex-shrink:0;border-radius:0;padding:0}
.hero-card-body{display:flex;flex-direction:column;gap:8px;padding:6px 6px 4px}
.hero-card h2{font-family:var(--font-display);font-size:30px;font-weight:400;line-height:1.05}
.hero-card p{font-size:14px;line-height:1.5;color:var(--muted-on-dark)}
.hero-card .more{margin-top:auto;justify-content:space-between;color:var(--champagne)}
.hero-card .more::after{display:none}
.hero-card .more .ic{width:30px;height:30px;padding:7px;border-radius:var(--r-ctl);background:var(--cognac);color:var(--espresso-deep)}

/* ---------- Section heads ---------- */
.sec-split,.sec-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:24px 72px;align-items:end;margin-bottom:clamp(48px,6vw,88px)}
.sec-split>.stack,.sec-head>div{display:flex;flex-direction:column;gap:22px;min-width:0}
.sec-split .lead,.sec-head>.lead,.sec-head>p{font-size:17px;max-width:34ch}
.sec-head.center{grid-template-columns:1fr;justify-items:center;text-align:center}
.sec-head.center .eyebrow,.sec-head.center .tag{justify-content:center}
.sec-head.center .tag::after{content:"";width:28px;height:1px;background:var(--cognac-deep)}
.dark .sec-split{padding-bottom:clamp(36px,4vw,56px);border-bottom:1px solid var(--line-dark)}

/* ==========================================================================
   HOME — Services (editorial spreads on midnight)
   ========================================================================== */
main[data-page="index"] #services{background:var(--midnight);color:var(--on-dark)}
main[data-page="index"] #services .tag{color:var(--champagne)}
main[data-page="index"] #services .tag::before{background:var(--cognac-light)}
main[data-page="index"] #services .lead{color:var(--muted-on-dark)}
/* Equal columns: the gap (not per-column padding) sets the spacing, so every column
   and every photo is the same width. Hairline rules sit centred in the gap. */
.svc-tiles{--svc-gap:clamp(40px,4.8vw,72px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(6,auto);column-gap:var(--svc-gap);row-gap:0;counter-reset:svc;border-top:1px solid var(--line-dark)}
.svc-tile{position:relative;display:flex;flex-direction:column;padding:40px 0 8px;border:0;background:none;overflow:visible;counter-increment:svc}
.svc-tile+.svc-tile::after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--svc-gap)/-2);width:1px;background:var(--line-dark);pointer-events:none}
/* Subgrid: number, photo, heading, description, tags, link share rows across all three columns */
@supports (grid-template-rows:subgrid){
  .svc-tile{display:grid;grid-row:span 6;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);row-gap:0}
}
.svc-tile-body{display:contents}
/* 1. Number  → 24px → photo */
.svc-tile-body::before{content:"0" counter(svc) " / 03";order:1;display:block;margin:0 0 24px;font-size:11.5px;font-weight:600;letter-spacing:.22em;line-height:1.5;color:var(--cognac-light)}
/* 2. Photo   → 32px → heading */
.svc-tile .ph{order:2;width:100%;height:auto;aspect-ratio:4/5;padding:0;border-radius:0;flex-shrink:0}
/* 3. Heading → 12px → description */
.svc-tile h3{order:3;align-self:start;font-family:var(--font-display);font-weight:400;font-size:clamp(38px,3.4vw,54px);line-height:1;margin:32px 0 12px}
/* 4. Description → 24px → divider */
.svc-tile p{order:4;align-self:start;font-size:16px;line-height:1.55;color:var(--muted-on-dark);margin:0 0 24px;max-width:30ch}
/* 5. Divider → 20px → tags: a quiet vertical list, hairline between items, no dots */
.svc-tile .tags{order:5;align-self:start;display:flex;flex-direction:column;gap:0;max-width:none;margin:0 0 32px;padding:10px 0 0;border-top:1px solid var(--line-dark)}
.svc-tile .tags li{display:block;padding:10px 0;border-bottom:1px solid var(--line-dark);background:none;box-shadow:none;font-size:15px;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--muted-on-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svc-tile .tags li:last-child{border-bottom:0}
.svc-tile .tags li::before,.svc-tile .tags li+li::before{content:none}
/* 6. Link, pinned to the bottom row */
.svc-tile .more{order:6;margin-top:auto;align-self:end;justify-self:start;color:var(--champagne)}
.tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:420px}
.tags li{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:0;box-shadow:inset 0 0 0 1px var(--line);font-size:14px;font-weight:600;line-height:1.2}
.tags li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--cognac);flex-shrink:0}
.slides-foot{display:flex;justify-content:center;margin-top:clamp(48px,5vw,72px)}

/* One grade for the three service photos. The Media shot starts cooler and brighter,
   so it gets extra warmth; a slight bottom-anchored zoom crops the red exit sign off the top. */
.svc-tile .ph>.ph-img,.svc-tile:hover .ph>.ph-img{filter:sepia(.26) saturate(.8) contrast(1.04) brightness(.9) hue-rotate(-4deg)}
.svc-tile .ph>.ph-img[src*="video-shoot"],.svc-tile:hover .ph>.ph-img[src*="video-shoot"]{filter:sepia(.42) saturate(.72) contrast(1.05) brightness(.8) hue-rotate(-6deg);transform:scale(1.1);transform-origin:50% 100%}
.svc-tile .ph>.ph-img[src*="automation-hero"],.svc-tile:hover .ph>.ph-img[src*="automation-hero"]{filter:sepia(.22) saturate(.78) contrast(1.04) brightness(.88) hue-rotate(-4deg)}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.svc-tile:hover .ph>.ph-img{scale:1.045}}
@media (prefers-reduced-motion:reduce){.svc-tile:hover .ph>.ph-img{scale:1}}

/* ==========================================================================
   Dark sections — Problems (forest) / Who we work with (espresso)
   ========================================================================== */
.dark{background:var(--forest) var(--grain);color:var(--on-dark)}
main[data-page="index"] .section.dark:not(#problems){background-color:var(--espresso)}
.xlist{display:flex;flex-direction:column;gap:0;counter-reset:x}
.xitem{position:relative;display:grid;grid-template-columns:clamp(96px,10vw,150px) minmax(0,1.05fr) minmax(0,1fr) 48px;gap:24px;align-items:center;padding:clamp(28px,3vw,40px) 0;border-bottom:1px solid var(--line-dark);background:none;box-shadow:none;isolation:isolate}
.xitem::before{content:"";position:absolute;inset:0 calc(-1*var(--gutter));z-index:-1;background:linear-gradient(90deg,rgba(168,134,91,.10),rgba(168,134,91,0) 70%);opacity:0;transition:opacity var(--dur-2) var(--ease)}
.xitem:hover::before,.xitem:focus-visible::before{opacity:1}
.xnum{font-family:var(--font-display);font-weight:400;font-size:clamp(56px,6vw,92px);line-height:.8;color:var(--cognac);transition:transform var(--dur-2) var(--ease-out),color var(--dur-2)}
.xitem:hover .xnum{transform:translateX(8px);color:var(--cognac-light)}
.xtitle{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,2.8vw,44px);line-height:1.02;color:var(--on-dark)}
.xdesc{font-size:16px;line-height:1.55;color:var(--muted-on-dark);max-width:38ch}
.xbtn{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;justify-self:end;color:var(--champagne);box-shadow:inset 0 0 0 1px var(--line-dark-strong);transition:background-color var(--dur-1) var(--ease),color var(--dur-1),box-shadow var(--dur-1),transform var(--dur-2) var(--ease-out)}
.xitem:hover .xbtn{background:var(--cognac);color:var(--espresso-deep);box-shadow:none;transform:translateX(4px)}

/* ==========================================================================
   Why Skyline (warm concrete, drafting-grid)
   ========================================================================== */
main[data-page="index"] #automation{background:var(--concrete)}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:why;border-top:1px solid var(--line-strong);border-left:1px solid var(--line)}
.why-card{position:relative;display:flex;flex-direction:column;gap:12px;min-height:300px;padding:clamp(28px,3vw,44px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:none;counter-increment:why;transition:background-color var(--dur-2) var(--ease)}
.why-card:hover{background:rgba(247,246,243,.7)}
.why-card::after{content:"0" counter(why);position:absolute;top:clamp(24px,2.6vw,38px);right:clamp(24px,2.6vw,40px);font-family:var(--font-display);font-size:30px;line-height:1;color:var(--mahogany)}
.why-card .ic-box{display:grid;place-items:center;width:46px;height:46px;border-radius:0;background:none;color:var(--mahogany);box-shadow:inset 0 0 0 1px rgba(58,58,61,.4);margin-bottom:auto}
.why-card .ic-box .ic{stroke-width:1.3}
.why-card h3{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,2.3vw,34px);line-height:1.05;margin-top:56px;color:var(--ink)}
.why-card p{font-size:15.5px;color:var(--muted);max-width:32ch}

/* ==========================================================================
   Who we work with — rows
   ========================================================================== */
.rows{display:flex;flex-direction:column}
.row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px clamp(48px,6vw,96px);align-items:center;padding:clamp(40px,4.5vw,64px) 0;border-bottom:1px solid var(--line-dark)}
.row:first-child{padding-top:0}
.row:last-child{border-bottom:0;padding-bottom:0}
.row .ph{aspect-ratio:16/10;width:100%;align-self:start;outline:1px solid var(--line-dark);outline-offset:10px;overflow:hidden}
.row-copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.pill{display:inline-flex;align-items:center;gap:12px;padding:0;border-radius:0;font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--cognac-light);box-shadow:none}
.pill::before{content:"";width:28px;height:1px;background:currentColor}
.row-copy h3{font-family:var(--font-display);font-weight:400;font-size:clamp(38px,3.8vw,58px);line-height:1;color:var(--on-dark)}
.row-copy p{font-size:16.5px;color:var(--muted-on-dark);max-width:42ch}

/* ==========================================================================
   Pricing (midnight, hospitality menu)
   ========================================================================== */
#pricing{background:var(--midnight) var(--grain);color:var(--on-dark)}
#pricing .tag{color:var(--champagne)}
#pricing .tag::before{background:var(--cognac-light)}
#pricing .lead{color:var(--muted-on-dark)}
#pricing .sec-split{padding-bottom:clamp(36px,4vw,56px);border-bottom:1px solid var(--line-dark);margin-bottom:0}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:20px;padding:clamp(36px,3.6vw,56px) clamp(24px,2.8vw,44px) clamp(36px,3.6vw,48px);border-radius:0;background:none;border-left:1px solid var(--line-dark)}
.plan:first-child{border-left:0;padding-left:0}
.plan:last-child{padding-right:0}
.plan-featured{background:linear-gradient(180deg,rgba(168,134,91,.12),rgba(168,134,91,.02) 70%);color:var(--on-dark);box-shadow:inset 0 2px 0 var(--cognac)}
.plan-featured+.plan{border-left-color:var(--line-dark)}
.plan-badge{position:static;align-self:flex-start;display:inline-flex;align-items:center;gap:12px;margin-bottom:-6px;padding:0;border-radius:0;background:none;color:var(--cognac-light);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.plan-badge::before{content:"";width:20px;height:1px;background:currentColor}
.plan-name{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,2.8vw,42px);line-height:1;color:var(--on-dark)}
.plan-pitch{color:var(--muted-on-dark);margin-top:-6px;font-size:15.5px}
.plan-price{display:flex;flex-direction:column;gap:6px;padding:24px 0;border-block:1px solid var(--line-dark)}
.plan-price .lbl{font-size:11px;letter-spacing:.22em;color:var(--muted-on-dark)}
.price-big{font-family:var(--font-display);font-weight:400;font-size:clamp(56px,5vw,76px);line-height:.95;letter-spacing:-.02em;color:var(--champagne)}
.per{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-on-dark);vertical-align:.6em;margin-left:4px}
.price-mo{font-size:17px;font-weight:600;color:var(--on-dark)}
.price-mo .per{vertical-align:baseline;margin-left:2px;font-size:11.5px}
.price-mo.none{color:var(--muted-on-dark);font-weight:500}
.plan-inc{display:grid;gap:0;margin-bottom:12px}
.plan-inc li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid rgba(236,234,229,.08);font-size:15px;color:rgba(244,243,240,.88)}
.plan-inc li:last-child{border-bottom:0}
.plan-inc .ic{color:var(--cognac-light);margin-top:4px}
.plan>.btn{margin-top:auto;align-self:stretch}
.plan-featured>.btn{background:var(--cognac);color:var(--espresso-deep)}
.plan-featured>.btn:hover{background:var(--champagne)}

/* ==========================================================================
   Cream override — Services + Pricing (replaces the former midnight blue)
   Re-points the dark-surface roles to light ones inside these two sections,
   then fixes the few hard-coded light tones.
   ========================================================================== */
:root{--cream:#EFEDE9}
main[data-page="index"] #services,#pricing{
  background:var(--cream);color:var(--ink);
  --on-dark:var(--ink);--muted-on-dark:var(--muted);
  --line-dark:var(--line);--line-dark-strong:var(--line-strong);
  --focus:var(--cognac-deep)}
main[data-page="index"] #services .tag,#pricing .tag{color:var(--ink)}
main[data-page="index"] #services .tag::before,#pricing .tag::before{background:var(--cognac-deep)}
main[data-page="index"] #services .lead,#pricing .lead{color:var(--muted)}
main[data-page="index"] #services .h2 em,#pricing .h2 em{color:var(--mahogany)}
/* Services */
.svc-tile-body::before{color:var(--cognac-deep)}
.svc-tile .more{color:var(--ink)}
main[data-page="index"] #services .btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
main[data-page="index"] #services .btn-ghost:hover{background:var(--ink);color:var(--ivory);box-shadow:inset 0 0 0 1px var(--ink)}
/* Pricing */
.plan-featured{background:linear-gradient(180deg,rgba(168,134,91,.14),rgba(168,134,91,.03) 70%);box-shadow:inset 0 2px 0 var(--cognac)}
.plan-badge,.plan-inc .ic{color:var(--cognac-deep)}
.price-big{color:var(--espresso)}
.plan-inc li{color:var(--ink);border-bottom-color:var(--line)}
#pricing .btn-primary{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
#pricing .btn-primary:hover{background:var(--ink);color:var(--ivory);box-shadow:inset 0 0 0 1px var(--ink)}
#pricing .plan-featured>.btn{background:var(--cognac);color:var(--espresso-deep);box-shadow:none}
#pricing .plan-featured>.btn:hover{background:var(--espresso);color:var(--champagne)}

/* ==========================================================================
   FAQ
   ========================================================================== */
main[data-page="index"] #pricing+.section{background:var(--concrete);padding-top:var(--section)!important}
.faq-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px clamp(48px,7vw,112px);align-items:start}
.faq-wrap>.stack,.faq-wrap>div:first-child{position:sticky;top:120px}
.faq-wrap>div:first-child,.included>div:first-child,.prose{display:flex;flex-direction:column;gap:20px}
.faq-wrap .lead .more{margin-top:14px;color:var(--mahogany)}
.faq{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line-strong)}
.faq details{border-radius:0;background:none;border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;cursor:pointer;list-style:none;font-family:var(--font-body);font-weight:600;font-size:18px;line-height:1.4;color:var(--ink);transition:color var(--dur-1)}
.faq summary:hover{color:var(--mahogany)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{width:34px;height:34px;padding:8px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-strong);transition:transform .45s var(--ease-out),background-color var(--dur-1),color var(--dur-1)}
.faq details[open] summary .ic{transform:rotate(45deg);background:var(--ink);color:var(--ivory);box-shadow:none}
.answer{padding:0 56px 28px 0;color:var(--muted);font-size:16px;line-height:1.7;max-width:66ch}
.answer p+p{margin-top:10px}
.faq-group{display:flex;flex-direction:column;gap:20px}
.faq-group+.faq-group{margin-top:64px}
.faq-wrap aside ul{display:flex;flex-direction:column;gap:0;margin-top:20px;border-top:1px solid var(--line)}
.faq-wrap aside ul a{display:flex;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-weight:600;font-size:15px;transition:color var(--dur-1),padding-left var(--dur-2) var(--ease-out)}
.faq-wrap aside ul a:hover{color:var(--ink);padding-left:6px}
/* Smooth native accordion where supported */
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .faq details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .5s var(--ease-out),opacity .4s var(--ease),content-visibility .5s allow-discrete}
  .faq details[open]::details-content{block-size:auto;opacity:1}
}

/* ==========================================================================
   Closing CTA (mahogany, amber light)
   ========================================================================== */
.cta{padding-block:0;background:var(--concrete)}
main[data-page="index"] .cta{padding-bottom:0}
.cta-panel,.cta-inner{position:relative;display:flex!important;flex-direction:column;align-items:flex-start;gap:26px;padding:clamp(56px,8vw,128px) clamp(28px,6vw,96px)!important;border-radius:0;overflow:hidden;color:var(--on-dark);background:var(--mahogany);isolation:isolate}
.cta .container{max-width:none;padding:0}
.cta-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;mix-blend-mode:luminosity;opacity:.32}
.cta-panel::after,.cta-inner::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:
  radial-gradient(55% 75% at 88% 12%,rgba(201,171,130,.30),rgba(201,171,130,0) 62%),
  radial-gradient(40% 60% at 8% 100%,rgba(11,11,12,.55),rgba(11,11,12,0) 70%),
  linear-gradient(90deg,rgba(58,58,61,.96) 30%,rgba(58,58,61,.55))}
.cta-panel::before,.cta-inner::before{content:"";position:absolute;inset:clamp(12px,1.6vw,22px);z-index:-1;pointer-events:none;border:1px solid rgba(236,234,229,.2);background-image:var(--grain)}
.cta-panel .tag,.cta-inner .eyebrow{padding:0;background:none;color:var(--champagne)}
.cta-panel .tag::before{background:var(--champagne)}
.cta-panel h2,.cta-inner .h2{font-family:var(--font-display);font-weight:400;font-size:clamp(48px,6vw,96px);line-height:.96;letter-spacing:-.015em;max-width:14ch;color:var(--on-dark)}
.cta-panel p,.cta-inner .lead{color:rgba(244,243,240,.86);max-width:44ch;font-size:18px}
.cta-panel .btn,.cta-inner .btn-light{background:var(--champagne);color:var(--espresso-deep)}
.cta-panel .btn:hover,.cta-inner .btn-light:hover{background:var(--on-dark);color:var(--espresso-deep)}
.cta-band{padding-block:0;background:inherit}
.cta-inner{max-width:none;margin:0;width:100%}
.cta-inner>div:first-child{display:flex;flex-direction:column;gap:22px}

/* ==========================================================================
   Inner pages — hero
   ========================================================================== */
.page-hero{position:relative;padding:calc(112px + clamp(56px,7vw,104px)) 0 clamp(72px,8vw,120px);background:var(--espresso);color:var(--on-dark);overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(60% 70% at 85% 10%,rgba(201,171,130,.20),rgba(201,171,130,0) 60%),
  radial-gradient(50% 60% at 0% 100%,rgba(14,14,15,.7),rgba(14,14,15,0) 70%),
  var(--grain)}
.page-hero::after{content:"";position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;height:1px;background:var(--line-dark)}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:clamp(32px,4vw,56px);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-on-dark)}
.crumbs li{display:flex;align-items:center;gap:10px}
.crumbs li+li::before{content:"";width:14px;height:1px;background:currentColor;opacity:.6}
.crumbs a{transition:color var(--dur-1)}
.crumbs a:hover{color:var(--on-dark)}
.crumbs [aria-current]{color:var(--champagne)}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px clamp(48px,6vw,96px);align-items:center}
.page-hero-grid>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.page-hero.simple .page-hero-grid{grid-template-columns:minmax(0,1fr)}
.page-hero.simple .page-hero-grid>div:first-child{max-width:960px}
.page-hero .lead{padding-left:20px;border-left:1px solid var(--cognac-light);color:rgba(244,243,240,.82)}
.page-hero .btn-light{background:var(--cognac);color:var(--espresso-deep)}
.page-hero .btn-light:hover{background:var(--champagne)}
.hero-art{position:relative}
.hero-art .ph{aspect-ratio:4/4.6;outline:1px solid var(--line-dark);outline-offset:12px}
.notfound{min-height:70vh;display:flex;align-items:center}

/* ---------- Inner page surfaces ---------- */
.section.bg-white,.section.bg-pearl{background:var(--concrete)}
.section.bg-ink{background:var(--espresso) var(--grain);color:var(--on-dark)}
.section.bg-ink .h2{color:var(--on-dark)}

/* Pain points */
.pain-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,4vw,64px);border-top:1px solid var(--line-strong)}
.pain{display:grid;grid-template-columns:44px minmax(0,1fr);gap:22px;align-items:start;padding:32px 0;border-radius:0;background:none;border-bottom:1px solid var(--line)}
.pain>.ic{width:44px;height:44px;padding:12px;border-radius:0;background:none;color:var(--mahogany);box-shadow:inset 0 0 0 1px rgba(58,58,61,.4);stroke-width:1.5}
.pain h3{font-family:var(--font-display);font-weight:400;font-size:clamp(26px,2.1vw,30px);line-height:1.08;padding-top:4px}
.pain p{color:var(--muted);font-size:15.5px;line-height:1.6;margin-top:10px;text-wrap:pretty}

/* What's included */
.included{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px clamp(48px,7vw,112px);align-items:start}
.included>div:first-child{display:flex;flex-direction:column;gap:22px}
.included>div:first-child .ph{margin-top:24px;outline:1px solid var(--line);outline-offset:10px}
.check-list{display:flex;flex-direction:column;counter-reset:ck;border-top:1px solid var(--line-strong)}
.check-list li{display:flex;gap:20px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line);font-size:17px;counter-increment:ck}
.check-list li::before{content:counter(ck,decimal-leading-zero);flex:0 0 36px;font-family:var(--font-display);font-size:24px;line-height:1;color:var(--mahogany)}
.check-list .ic{display:none}
.check-list.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,4vw,64px)}
.section>.container>.check-list{max-width:820px}

/* Cards (services index, values, contact) */
.card{position:relative;display:flex;flex-direction:column;gap:12px;padding:clamp(28px,3vw,40px);border-radius:0;background:rgba(247,246,243,.55);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease)}
.section.bg-white .card,.section.bg-pearl .card{background:rgba(247,246,243,.7)}
a.card:hover,.lift:hover{box-shadow:inset 0 0 0 1px var(--line-strong);background:var(--ivory)}
.svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.svc-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.svc-card{padding:12px 12px 28px;gap:0}
.svc-card .ph{order:1;aspect-ratio:16/10;border-radius:0}
.svc-body{order:2;display:flex;flex-direction:column;gap:10px;padding:24px 12px 0}
.svc-body h3{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,2.3vw,34px);line-height:1.05}
.svc-body p{color:var(--muted);font-size:15.5px}
.svc-body .arrow-link{margin-top:8px;align-self:flex-start;color:var(--mahogany)}
.media-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px clamp(48px,7vw,112px);align-items:center}
.media-row .ph{outline:1px solid var(--line);outline-offset:10px}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:val;border-top:1px solid var(--line-strong);border-left:1px solid var(--line)}
.value,.section.bg-white .value{min-height:0;gap:12px;background:none;box-shadow:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);counter-increment:val}
.value::before{content:"0" counter(val);font-family:var(--font-display);font-size:28px;line-height:1;color:var(--mahogany);margin-bottom:28px}
.value h3{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,2.3vw,34px);line-height:1.05}
.value p{color:var(--muted);font-size:15.5px}

/* Prose */
.prose{max-width:72ch}
.prose>*+*{margin-top:18px}
.prose h2{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,2.8vw,42px);line-height:1.05;margin-top:48px}
.media-row .prose h2.h2{font-size:clamp(42px,4.8vw,74px);margin-top:12px}
.prose p,.prose li{color:var(--muted)}
.prose ul{display:grid;gap:10px}
.prose ul li{position:relative;padding-left:24px}
.prose ul li::before{content:"";position:absolute;left:0;top:.8em;width:12px;height:1px;background:var(--cognac-deep)}
.prose a:not(.btn){color:var(--mahogany);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.prose a:not(.btn):hover{color:var(--ink)}
.prose .btn-row,.prose>.btn{margin-top:32px}
.note{padding:18px 22px;border-radius:0;background:var(--concrete);border-left:2px solid var(--cognac);font-size:15px}

/* ---------- Contact form ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:20px;align-items:start}
.contact-grid>.card{padding:clamp(28px,4vw,56px)}
.contact-grid>.card>.h3{margin-bottom:28px}
.contact-grid aside{display:flex;flex-direction:column;gap:20px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.opt{color:var(--muted);font-weight:500;font-size:12px;letter-spacing:.04em;text-transform:none}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);padding:15px 16px;border:0;border-radius:var(--r-ctl);background:#FAFAF8;box-shadow:inset 0 0 0 1px var(--line-strong);transition:box-shadow var(--dur-1) var(--ease),background-color var(--dur-1)}
.field input::placeholder,.field textarea::placeholder{color:#7C7C80}
.field textarea{min-height:140px;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;background:#FAFAF8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2363382B' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat;padding-right:42px}
.field input:hover,.field select:hover,.field textarea:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;background-color:#fff;box-shadow:inset 0 0 0 1px var(--cognac-deep),0 0 0 3px rgba(168,134,91,.28)}
.consent{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:14px;color:var(--muted)}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--mahogany);flex-shrink:0}
.form-submit{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px}
.form-error{display:none;margin-top:16px;padding:14px 18px;border-radius:0;background:#EFEDE9;border-left:2px solid var(--mahogany);color:var(--mahogany);font-size:15px}
.contact-card{gap:20px}
.contact-line{display:flex;flex-direction:column;gap:14px}
.contact-line>svg{color:var(--mahogany)}
.contact-line>div{display:flex;flex-direction:column;gap:4px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.contact-card>.contact-line:last-child>div{padding-bottom:0;border-bottom:0}
.contact-line strong{font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.contact-line a{font-family:var(--font-display);font-size:26px;line-height:1.15;transition:color var(--dur-1)}
.contact-line a:hover{color:var(--mahogany)}
.contact-line span{font-size:14px;color:var(--muted)}
.contact-card h3{font-family:var(--font-display);font-size:28px;font-weight:400}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{position:relative;background:var(--espresso-deep) var(--grain);color:var(--muted-on-dark);padding-top:clamp(72px,8vw,120px);overflow:hidden}
.footer-grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:40px 56px;padding-bottom:clamp(40px,5vw,64px)}
.footer-about{display:flex;flex-direction:column;gap:22px;padding-right:24px}
.site-footer .logo-img{height:88px}
.footer-about p{font-family:var(--font-display);font-size:26px;line-height:1.15;color:var(--champagne);max-width:20ch}
.footer-col h4{font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--cognac-light);margin-bottom:20px}
.footer-col h4 a{color:inherit}
.footer-col ul{display:flex;flex-direction:column;gap:12px}
.footer-col span,.footer-col a{font-size:15px}
.footer-col a{transition:color var(--dur-1)}
.footer-col a:hover{color:var(--on-dark)}
.footer-bottom{display:flex!important;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;padding-top:24px;padding-bottom:28px;border-top:1px solid var(--line-dark);font-size:13px;letter-spacing:.04em}
.footer-bottom nav{display:flex;gap:24px}
.footer-bottom a{transition:color var(--dur-1)}
.footer-bottom a:hover{color:var(--on-dark)}
.action-bar{display:none}

/* ==========================================================================
   Motion — CSS only, compositor-friendly, opt-in by preference
   ========================================================================== */
@keyframes sk-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes sk-fade{from{opacity:0}to{opacity:1}}
@keyframes sk-settle{from{scale:1.08}to{scale:1}}
@keyframes sk-drift{from{translate:0 0}to{translate:0 14%}}
@keyframes sk-reveal{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes sk-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media (prefers-reduced-motion:no-preference){
  /* Hero entrance */
  .hero-bg{animation:sk-settle 2.6s var(--ease-out) both}
  .hero-copy>*{animation:sk-rise 1s var(--ease-out) both}
  .hero-copy>:nth-child(1){animation-delay:.15s}
  .hero-copy>:nth-child(2){animation-delay:.28s}
  .hero-copy>:nth-child(3){animation-delay:.44s}
  .hero-copy>:nth-child(4){animation-delay:.58s}
  .hero-card{animation:sk-rise 1s var(--ease-out) .75s both}
  .hero-inner::before{transform-origin:left;animation:sk-line 1.6s var(--ease-out) .4s both}
  .page-hero-grid>div:first-child>*{animation:sk-rise .9s var(--ease-out) both}
  .page-hero-grid>div:first-child>:nth-child(2){animation-delay:.1s}
  .page-hero-grid>div:first-child>:nth-child(3){animation-delay:.2s}
  .page-hero-grid>div:first-child>:nth-child(4){animation-delay:.3s}
  .page-hero .hero-art{animation:sk-fade 1.4s var(--ease) .25s both}

  /* Scroll-driven reveals + restrained parallax (progressive enhancement) */
  @supports (animation-timeline:view()){
    .hero-bg{animation:sk-settle 2.6s var(--ease-out) both,sk-drift linear both;animation-timeline:auto,--hero;animation-range:normal,exit 0% exit 100%}
    .sec-split,.sec-head,.svc-tile,.xitem,.why-card,.row,.plan,.faq details,.pain,.check-list li,.card,.value,.included>div:first-child,.media-row>*,.cta-panel>*,.cta-inner>*,.prose>*,.faq-group{animation:sk-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 42%}
    .svc-tile:nth-child(2),.why-card:nth-child(3n+2),.plan:nth-child(2){animation-range:entry 6% entry 48%}
    .svc-tile:nth-child(3),.why-card:nth-child(3n),.plan:nth-child(3){animation-range:entry 12% entry 54%}
    .row .ph>.ph-img,.hero-art .ph>.ph-img{animation:sk-drift-sm linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  }
}
@keyframes sk-drift-sm{from{translate:0 -4%}to{translate:0 4%}}
.row .ph>.ph-img,.hero-art .ph>.ph-img{height:110%;top:-5%}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .row .ph>.ph-img,.hero-art .ph>.ph-img{height:100%;top:0}
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1100px){
  .main-nav,.header-cta{display:none}
  .menu-toggle{display:grid;margin-left:auto}
  .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-about{grid-column:1/-1}
}
@media (max-width:900px){
  .hero-inner{flex-direction:column;align-items:flex-start}
  .hero-card{width:100%;max-width:460px}
  .sec-split,.sec-head,.faq-wrap,.page-hero-grid,.included,.media-row,.contact-grid,.row{grid-template-columns:minmax(0,1fr)!important}
  .faq-wrap>.stack,.faq-wrap>div:first-child{position:static}
  /* Tablet: one service per row — photo left, copy right */
  .svc-tiles{grid-template-columns:minmax(0,1fr);grid-template-rows:none;border-top:0}
  .svc-tile,.svc-tile:first-child,.svc-tile:last-child{display:grid;grid-row:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto 1fr;column-gap:40px;padding:40px 0;border-top:1px solid var(--line-dark)}
  .svc-tile+.svc-tile::after{content:none}
  .svc-tile .ph{grid-column:1;grid-row:1/-1;aspect-ratio:4/5;align-self:start}
  .svc-tile-body::before,.svc-tile h3,.svc-tile p,.svc-tile .tags,.svc-tile .more{grid-column:2}
  .svc-tile h3{margin-top:0}
  .why-grid,.values,.svc-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plans{grid-template-columns:minmax(0,1fr)}
  .plan,.plan:first-child,.plan:last-child{border-left:0;padding:40px 0;border-bottom:1px solid var(--line-dark)}
  .plan-featured{padding:40px 28px!important;margin-inline:-4px}
  .xitem{grid-template-columns:clamp(72px,12vw,110px) minmax(0,1fr) 44px;gap:8px 20px}
  .xdesc{grid-column:2/3;grid-row:2}
  .xbtn{grid-column:3;grid-row:1/3}
  .xnum{grid-row:1/3}
  .hero-art{max-width:560px}
  .hero-art .ph{aspect-ratio:4/3}
  .row .ph{outline-offset:8px}
}
@media (max-width:640px){
  :root{--section:72px;--gutter:20px}
  body{font-size:16px;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .lead,.sec-split .lead,.sec-head>.lead,.sec-head>p{font-size:16px}
  .h1{font-size:clamp(46px,12.5vw,60px)}
  .h2{font-size:clamp(38px,10.5vw,48px);line-height:1.02}
  .header-inner{height:92px}
  .site-header.scrolled .header-inner{height:64px}
  .site-header.scrolled .logo-img{height:38px}
  .logo-img{height:60px}
  .hero{min-height:calc(100svh - 40px)}
  .hero-bg{object-position:58% 50%}
  .hero-card{display:none}
  .hero-inner{padding-top:120px;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));gap:0}
  .hero-inner::before{bottom:28px}
  .hero-copy{gap:20px}
  .hero .tag{font-size:10.5px;letter-spacing:.18em;gap:10px}
  .hero .tag::before{width:18px}
  .hero-title{font-size:clamp(46px,12.4vw,58px);line-height:.96}
  .hero-sub{font-size:16px;padding-left:16px}
  .sec-split,.sec-head{gap:14px;margin-bottom:36px}
  .lead,.sec-split .lead,.sec-head>.lead,.hero-sub,.cta-panel p,.cta-inner .lead,.row-copy p,.row-copy h3,.svc-tile p,.xdesc,.why-card p,.footer-about p{max-width:none}
  .dark .sec-split,#pricing .sec-split{padding-bottom:28px}
  /* Phone: single column, full-width photos */
  .svc-tile,.svc-tile:first-child,.svc-tile:last-child{grid-template-columns:minmax(0,1fr);grid-template-rows:none;padding:36px 0 44px}
  .svc-tile .ph{grid-column:1;grid-row:auto;aspect-ratio:4/3}
  .svc-tile-body::before,.svc-tile h3,.svc-tile p,.svc-tile .tags,.svc-tile .more{grid-column:1}
  .svc-tile h3{font-size:42px;margin-top:28px}
  .svc-tile .tags{margin-bottom:24px}
  .slides-foot .btn{width:100%}
  .xitem{grid-template-columns:56px minmax(0,1fr) 40px;gap:6px 14px;padding:26px 0}
  .xnum{font-size:48px}
  .xtitle{font-size:28px}
  .xdesc{font-size:15px;margin-top:6px}
  .xbtn{width:40px;height:40px}
  .why-grid,.values{grid-template-columns:minmax(0,1fr)}
  .why-card{min-height:0;padding:28px 24px 30px}
  .why-card h3{margin-top:28px;font-size:30px}
  .sec-head.center{justify-items:start;text-align:left}
  .sec-head.center .tag::after{content:none}
  .row{gap:28px;padding:44px 0}
  .row .ph{outline-offset:6px}
  .row-copy{gap:14px}
  .row-copy h3{font-size:38px}
  .plan-name{font-size:34px}
  .price-big{font-size:56px}
  .plan-inc li{font-size:14.5px}
  .faq-wrap{gap:28px}
  .faq-wrap>aside{display:none}
  .faq summary{padding:22px 0;font-size:16.5px}
  .answer{padding:0 0 22px;font-size:15.5px}
  .cta-panel,.cta-inner{padding:56px 28px!important;gap:20px}
  .cta-panel h2,.cta-inner .h2{font-size:clamp(42px,11.5vw,54px)}
  .cta-panel .btn,.cta-inner .btn{width:100%}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
  .footer-col:last-child{grid-column:1/-1}
  .site-footer{padding-top:56px}
  .site-footer .logo-img{height:70px}
  .footer-about p{font-size:23px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .page-hero{padding:calc(92px + 32px) 0 56px}
  main[data-page="contact"] .page-hero+.section{padding-top:32px}
  .hero+#services{padding-top:64px}
  .crumbs{margin-bottom:28px;font-size:11px}
  .page-hero-grid{gap:36px}
  .page-hero-grid>div:first-child{gap:20px}
  .page-hero .btn-row,.hero-copy,.prose .btn-row{width:100%}
  .page-hero .btn-row .btn,.hero-copy>.btn,.prose .btn-row .btn{width:100%}
  .hero-art .ph{aspect-ratio:16/11;outline-offset:8px}
  .check-list.cols{grid-template-columns:minmax(0,1fr)}
  .check-list li{padding:18px 0;font-size:15.5px;gap:16px}
  .check-list li::before{flex-basis:30px;font-size:21px}
  .pain-list,.svc-grid,.svc-grid.three,.form-grid{grid-template-columns:minmax(0,1fr)}
  .pain{padding:26px 0;gap:16px;grid-template-columns:40px minmax(0,1fr)}
  .pain>.ic{width:40px;height:40px;padding:11px}
  .pain h3{font-size:25px}
  .included{gap:32px}
  .card{padding:24px}
  .svc-body{padding:18px 6px 0}
  .svc-card{padding:8px 8px 22px}
  .media-row{gap:32px}
  .value h3{font-size:28px}
  .contact-grid>.card{padding:24px}
  .contact-line a{font-size:23px}
  .action-bar{display:flex;position:fixed;z-index:90;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:6px;padding:6px;border-radius:var(--r-ctl);background:var(--espresso-deep);box-shadow:0 0 0 1px var(--line-dark),0 14px 36px rgba(0,0,0,.4)}
  .action-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:var(--r-ctl);font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--champagne)}
  .action-bar .get{background:var(--cognac);color:var(--espresso-deep)}
  .action-bar{transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none;transition:transform .45s var(--ease-out),opacity .3s}
  .action-bar.is-shown{transform:none;opacity:1;pointer-events:auto}
}
@media (max-width:360px){
  .footer-grid{grid-template-columns:minmax(0,1fr)}
  .hero-title{font-size:50px}
}
/* ==========================================================================
   REDESIGN PASS 2 — site-wide system, inner pages, homepage refinements
   Appended last so it wins the cascade. Grouped by the brief's item numbers.
   ========================================================================== */

/* ---------- B4. Two light tones only: ivory (default) + cream ---------- */
:root{--ivory:#F7F6F3;--cream:#EFEDE9}
body{background:var(--ivory)}
.section.bg-white,.section.bg-pearl{background:var(--cream)}
main[data-page="index"] #automation,
main[data-page="index"] #pricing+.section{background:var(--ivory)}
.cta,.cta-band{background:transparent}

/* ---------- B5. Intro sits directly under its heading, everywhere ---------- */
.sec-split,.sec-head,.sec-head.center{grid-template-columns:minmax(0,1fr);justify-items:start;text-align:left;gap:20px;align-items:start}
.sec-split>.stack,.sec-head>div:first-child{gap:20px}
.sec-split .lead,.sec-head>.lead,.sec-head>p{max-width:46ch;font-size:17px}
.sec-head>div:empty{display:none}
.sec-head.center .tag::after{content:none}
.sec-head.center .eyebrow,.sec-head.center .tag{justify-content:flex-start}

/* ---------- B6. Type scale: caps only for labels, buttons, numbers ---------- */
.eyebrow,.tag,.pill,.svc-tile-body::before,.mega-k{font-size:12.5px;letter-spacing:.14em}
.btn{letter-spacing:.1em}
.btn-sm{font-size:12.5px}
/* links, footer headings, form labels, small meta → normal case */
.more,.arrow-link{font-size:14.5px;font-weight:600;letter-spacing:0;text-transform:none}
.footer-col h4{font-size:13.5px;font-weight:600;letter-spacing:.02em;text-transform:none}
.field label{font-size:13.5px;font-weight:600;letter-spacing:0;text-transform:none}
.plan-price .lbl,.lbl{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}
.per{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}
.price-mo .per{font-size:13px}
.plan-badge{font-size:12.5px;letter-spacing:.14em}
.crumbs{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}
.contact-line strong{font-size:13.5px;font-weight:600;letter-spacing:0;text-transform:none}
.mm-sub .mm-all{font-size:14px;letter-spacing:0;text-transform:none}
.faq-wrap .lead .more{font-size:inherit}

/* ---------- B7. Italic accent words: hero + closing CTA headings only ---------- */
.h2 em,.h3 em,.section .h1 em{font-style:normal;color:inherit}
.page-hero .h1 em,.cta-inner .h2 em,.cta-panel h2 em{font-style:italic;color:var(--cognac-light)}

/* ---------- B8. Two button styles ---------- */
/* Primary: solid cognac */
.btn,.btn-primary,.btn-light,.btn-dark,.btn-red{background:var(--cognac);color:var(--espresso-deep);box-shadow:none}
.btn:hover,.btn-primary:hover,.btn-light:hover,.btn-dark:hover,.btn-red:hover{background:var(--cognac-deep);color:var(--ivory)}
/* Secondary: thin outline (ink on light, champagne on dark) */
.btn-outline,.btn-ghost,
main[data-page="index"] #services .btn-ghost,
#pricing .btn-primary{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
.btn-outline:hover,.btn-ghost:hover,
main[data-page="index"] #services .btn-ghost:hover,
#pricing .btn-primary:hover{background:var(--ink);color:var(--ivory);box-shadow:inset 0 0 0 1px var(--ink)}
.dark .btn-outline,.page-hero .btn-outline,.cta-band .btn-outline,.cta .btn-outline,.notfound .btn-outline,.mm-foot .btn-outline{color:var(--champagne);box-shadow:inset 0 0 0 1px var(--line-dark-strong)}
.dark .btn-outline:hover,.page-hero .btn-outline:hover,.cta-band .btn-outline:hover,.cta .btn-outline:hover,.notfound .btn-outline:hover{background:var(--champagne);color:var(--espresso-deep);box-shadow:inset 0 0 0 1px var(--champagne)}
/* Recommended plan keeps the solid button */
#pricing .plan-featured>.btn{background:var(--cognac);color:var(--espresso-deep);box-shadow:none}
#pricing .plan-featured>.btn:hover{background:var(--cognac-deep);color:var(--ivory)}
/* On the mahogany CTA band the primary is champagne */
.cta-panel .btn,.cta-inner .btn-light,.cta-inner .btn-primary{background:var(--champagne);color:var(--espresso-deep)}
.cta-panel .btn:hover,.cta-inner .btn-light:hover,.cta-inner .btn-primary:hover{background:var(--ivory);color:var(--espresso-deep)}

/* ---------- B9. Offset frames only on page-hero photos ---------- */
.row .ph,.included>div:first-child .ph,.media-row .ph{outline:0}

/* ---------- E22. One photo grade everywhere; crop the exit sign ---------- */
.ph>.ph-img,.hero-bg,.cta-panel img,
.svc-tile .ph>.ph-img,.svc-tile:hover .ph>.ph-img{filter:sepia(.26) saturate(.8) contrast(1.04) brightness(.9) hue-rotate(-4deg)}
.ph>.ph-img[src*="video-shoot"],.svc-tile .ph>.ph-img[src*="video-shoot"],.svc-tile:hover .ph>.ph-img[src*="video-shoot"]{filter:sepia(.42) saturate(.72) contrast(1.05) brightness(.8) hue-rotate(-6deg);transform:scale(1.1);transform-origin:50% 100%}
/* the service pages' "What's included" photo now leads the page hero instead */
.included>div:first-child .ph{display:none}
/* the all-services page is an index: names, lines, links — no repeated photos */
main[data-page="services"] .svc-card .ph{display:none}

/* ---------- B10. Editorial service grids (no boxes) ---------- */
.svc-grid,.svc-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(32px,3.6vw,56px);border-top:1px solid var(--line-strong)}
.svc-grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.svc-card,.section.bg-white .svc-card,.section.bg-pearl .svc-card{display:flex;flex-direction:column;gap:0;padding:32px 0 40px;background:none;box-shadow:none;border-bottom:1px solid var(--line)}
a.svc-card:hover{background:none;box-shadow:none}
.svc-card .ph{order:1;aspect-ratio:4/3;margin-bottom:24px}
.svc-card .svc-body{order:2;padding:0;gap:10px}
.svc-body h3{font-size:clamp(28px,2.2vw,34px)}
.svc-body p{max-width:40ch}
.svc-body .arrow-link{margin-top:12px;color:var(--ink)}
a.svc-card:hover .arrow-link .ic{transform:translateX(4px)}
/* services index: compact text entries */
main[data-page="services"] .svc-card{padding:28px 0 32px}
main[data-page="services"] .svc-body h3{font-size:clamp(26px,2vw,30px)}

/* About values: ruled columns, not boxes */
.values{border-left:0;border-top:1px solid var(--line-strong)}
.card.value,.section.bg-white .card.value{padding:32px clamp(20px,2.4vw,36px) 36px 0;background:none;box-shadow:none;border-right:0;border-bottom:0}
.values>.value+.value{padding-left:clamp(20px,2.4vw,36px);border-left:1px solid var(--line)}
.value::before{font-family:var(--font-body);font-size:12.5px;font-weight:600;letter-spacing:.14em;color:var(--cognac-deep);margin-bottom:20px}

/* ---------- B11 + C13. "Sound Familiar?" → forest, numbered like the homepage ---------- */
.section:has(>.container>.pain-list){
  background:var(--forest) var(--grain);color:var(--on-dark);
  --ink:var(--on-dark);--muted:var(--muted-on-dark);--line:var(--line-dark);--line-strong:var(--line-dark-strong);
  --cognac-deep:var(--cognac-light);--mahogany:var(--cognac-light);--focus:var(--cognac-light)}
.section:has(>.container>.pain-list) .eyebrow::before{background:var(--cognac-light)}
.pain-list{counter-reset:pain;border-top:1px solid var(--line-dark)}
.pain{grid-template-columns:56px minmax(0,1fr);gap:20px;padding:32px 0;border-bottom:1px solid var(--line-dark);counter-increment:pain}
.pain>.ic{display:none}
.pain::before{content:counter(pain,decimal-leading-zero);font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.14em;font-variant-numeric:tabular-nums;color:var(--cognac-light);padding-top:9px}
.pain h3{color:var(--on-dark);font-size:clamp(26px,2.1vw,32px)}
.pain p{color:var(--muted-on-dark);max-width:44ch;text-wrap:pretty}

/* ---------- C14. Shorter page heroes, 4:5 photo, buttons above the fold ---------- */
.page-hero{padding:calc(112px + clamp(32px,4vw,56px)) 0 clamp(56px,5vw,80px)}
.page-hero .crumbs{margin-bottom:clamp(24px,3vw,40px)}
.page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:40px clamp(48px,7vw,112px)}
.page-hero-grid>div:first-child{gap:24px}
.page-hero .h1{font-size:clamp(48px,5.4vw,84px)}
.hero-art{width:100%;max-width:420px;justify-self:end}
.hero-art .ph{aspect-ratio:4/5;outline:1px solid var(--line-dark);outline-offset:12px}

/* ---------- C16. Contact: form 60% + unboxed "what happens next" ---------- */
.contact-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px clamp(40px,6vw,96px)}
.contact-grid>.card{background:#F9F8F6;box-shadow:inset 0 0 0 1px var(--line)}
.contact-aside{display:flex;flex-direction:column;gap:36px;padding-top:8px}
.contact-aside .contact-line>div{gap:6px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.contact-line .contact-val{font-family:var(--font-display);font-size:26px;line-height:1.15;color:var(--ink)}
.next-title{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,2.6vw,38px);line-height:1.05;margin-bottom:8px}
.next-list{counter-reset:nx;border-top:1px solid var(--line-strong)}
.next-list li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 12px;padding:20px 0;border-bottom:1px solid var(--line);counter-increment:nx}
.next-list li::before{content:counter(nx,decimal-leading-zero);grid-row:1/3;font-size:13px;font-weight:600;letter-spacing:.14em;font-variant-numeric:tabular-nums;color:var(--cognac-deep);padding-top:3px}
.next-list b{font-weight:600;font-size:16px;color:var(--ink)}
.next-list span{font-size:15px;line-height:1.55;color:var(--muted)}

/* ---------- D18. Homepage problems ---------- */
#problems .sec-split{padding-bottom:0;border-bottom:0;margin-bottom:clamp(40px,5vw,64px)}
#problems .xlist{border-top:1px solid var(--line-dark)}
.xitem{grid-template-columns:80px minmax(0,40fr) minmax(0,45fr) 48px;grid-template-rows:auto auto;column-gap:clamp(20px,2.4vw,40px);row-gap:4px;align-items:baseline;padding:30px 0 26px;text-decoration:none}
.xitem::before{inset:0 calc(-1*var(--gutter))}
.xnum{grid-column:1;grid-row:1;font-family:var(--font-body);font-size:17px;font-weight:600;line-height:1;letter-spacing:.14em;font-variant-numeric:tabular-nums lining-nums;color:#B8976B;transform:none}
.xitem:hover .xnum{transform:none;color:var(--cognac-light)}
.xtitle{grid-column:2;grid-row:1;font-size:clamp(28px,2.5vw,40px);line-height:1.05}
.xdesc{grid-column:3;grid-row:1;max-width:44ch;text-wrap:balance}
.xfix{grid-column:3;grid-row:2;display:flex;align-items:baseline;gap:10px;font-size:14px;font-weight:600;color:var(--champagne);opacity:0;transform:translateY(-4px);transition:opacity var(--dur-1) var(--ease),transform var(--dur-2) var(--ease-out)}
.xfix-k{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cognac-light)}
.xfix-k::after{content:"→";margin-left:10px;letter-spacing:0}
.xitem:hover .xfix,.xitem:focus-visible .xfix{opacity:1;transform:none}
@media (hover:none){.xfix{opacity:1;transform:none}}
.xbtn{grid-column:4;grid-row:1 / span 2;align-self:center;width:44px;height:44px;box-shadow:inset 0 0 0 1px rgba(236,234,229,.22);color:rgba(236,234,229,.6)}
.xitem:hover .xbtn,.xitem:focus-visible .xbtn{background:var(--cognac);color:var(--espresso-deep);box-shadow:none;transform:translateX(4px)}
.xitem:focus-visible{outline:2px solid var(--cognac-light);outline-offset:4px}

/* ---------- D19. Why Skyline: numbers, no icons, no empty boxes ---------- */
.why-grid{border-left:0;border-top:1px solid var(--line-strong);counter-reset:why}
.why-card{min-height:0;padding:32px clamp(20px,2.4vw,36px) 36px 0;gap:10px;border-right:0;border-bottom:1px solid var(--line)}
.why-card:hover{background:none}
.why-card:not(:nth-child(3n+1)){padding-left:clamp(20px,2.4vw,36px);border-left:1px solid var(--line)}
.why-card .ic-box{display:none}
.why-card::after{content:none}
.why-card::before{content:counter(why,decimal-leading-zero);font-size:12.5px;font-weight:600;letter-spacing:.14em;font-variant-numeric:tabular-nums;color:var(--cognac-deep);margin-bottom:14px}
.why-card h3{margin-top:0}

/* ---------- D20. Who we work with: alternating, smaller photos ---------- */
main[data-page="index"] #automation+.section{padding-block:clamp(80px,7vw,100px)}
.row{grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:24px clamp(48px,7vw,112px);padding:32px 0}
.row:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,380px)}
.row:nth-child(even) .ph{order:2}
.row .ph{aspect-ratio:16/10;align-self:center}
.row-copy{gap:14px}
.row-copy h3{font-size:clamp(34px,3.2vw,48px)}

/* ---------- D21. Pricing: aligned rows via subgrid ---------- */
.plans{grid-template-rows:repeat(5,auto)}
.plan{padding-top:72px}
.plan-badge{position:absolute;top:32px;left:clamp(24px,2.8vw,44px);margin:0}
@supports (grid-template-rows:subgrid){
  .plan{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:20px;align-content:start}
  .plan>.btn{align-self:end}
  .plan-inc{align-self:start}
}

/* ---------- B12. Tap targets on phones + responsive for everything above ---------- */
@media (max-width:1100px){
  .svc-grid,.svc-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-grid>:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,3.6vw,56px);align-items:start}
  .svc-grid>:last-child:nth-child(odd) .ph{margin-bottom:0}
  /* the text-only services index stays 3-up until phone width */
  main[data-page="services"] .svc-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
  main[data-page="services"] .svc-grid.three:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  main[data-page="services"] .svc-grid>:last-child:nth-child(odd){grid-column:auto;display:flex}
}
@media (max-width:900px){
  .page-hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-art{justify-self:start;max-width:420px}
  .contact-grid{grid-template-columns:minmax(0,1fr)}
  .xitem{grid-template-columns:56px minmax(0,1fr) 44px;row-gap:8px}
  .xtitle{grid-column:2;grid-row:1}
  .xdesc{grid-column:2;grid-row:2}
  .xfix{grid-column:2;grid-row:3;opacity:1;transform:none}
  .xbtn{grid-column:3;grid-row:1}
  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-card,.why-card:not(:nth-child(3n+1)){padding:24px 24px 28px 0;border-left:0}
  .why-card:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}
  .why-card h3{font-size:28px}
  .row,.row:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:32px}
  .plan>.btn{align-self:stretch}
  .values{grid-template-columns:minmax(0,1fr)}
  .values>.value+.value{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .card.value{padding:28px 0}
  .plans{grid-template-rows:none}
  .plan{display:flex;grid-row:auto}
  .plan-featured{padding:72px 28px 40px!important}
  .plan-badge{left:28px}
}
@media (max-width:640px){
  .svc-grid,.svc-grid.three,.svc-grid:has(>:nth-child(4):last-child){grid-template-columns:minmax(0,1fr)}
  .svc-grid>:last-child:nth-child(odd){display:flex}
  .svc-grid>:last-child:nth-child(odd) .ph{margin-bottom:20px}
  .page-hero{padding:calc(92px + 24px) 0 48px}
  .hero-art .ph{aspect-ratio:4/3}
  .pain{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:26px 0}
  /* problems: number + title on one line, description under, no circle */
  .xitem{grid-template-columns:40px minmax(0,1fr);padding:24px 0;row-gap:8px}
  .xnum{font-size:13px}
  .xtitle{font-size:28px}
  .xbtn{display:none}
  .xdesc{font-size:15.5px;margin-top:0}
  .why-grid{grid-template-columns:minmax(0,1fr)}
  .why-card,.why-card:nth-child(even),.why-card:not(:nth-child(3n+1)){padding:22px 0 24px;border-left:0}
  .why-card::before{margin-bottom:8px}
  .why-card h3{font-size:26px}
  .row,.row:nth-child(even){grid-template-columns:minmax(0,1fr)!important;gap:20px;padding:32px 0}
  .row:nth-child(even) .ph{order:0}
  .row .ph{aspect-ratio:3/2}
  .row-copy h3{font-size:34px}
  .next-list li{grid-template-columns:36px minmax(0,1fr)}
  /* ≥44px tap targets */
  .footer-col ul{gap:0}
  .footer-col a{display:inline-flex;align-items:center;min-height:44px}
  .footer-bottom nav{gap:20px}
  .footer-bottom nav a{display:inline-flex;align-items:center;min-height:44px}
  .crumbs a{display:inline-flex;align-items:center;min-height:44px}
  .crumbs{margin-bottom:12px}
  .more,.arrow-link{min-height:44px;padding-bottom:0}
  .faq-wrap .lead .more{display:inline-flex}
  .prose a:not(.btn){display:inline-block;padding-block:12px;margin-block:-12px}
}

/* ==========================================================================
   ENGAGEMENT PASS — new sections + a restrained motion system
   All motion is opt-in via html.js-motion, which the script only adds when
   the visitor has NOT asked for reduced motion.
   ========================================================================== */
:root{--rv-ease:cubic-bezier(.16,1,.3,1);--rv-dur:1s}

/* The older CSS-only scroll reveals worked in some browsers only; the script now handles reveals everywhere */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .sec-split,.sec-head,.svc-tile,.xitem,.why-card,.row,.plan,.faq details,.pain,.check-list li,.card,.value,.included>div:first-child,.media-row>*,.cta-panel>*,.cta-inner>*,.prose>*,.faq-group{animation:none}
  }
}

/* ---------- B7. Motion system ---------- */
.js-motion .rv{transition:opacity .9s var(--ease),transform var(--rv-dur) var(--rv-ease);transition-delay:var(--rv-d,0ms)}
.js-motion .rv:not(.is-in){opacity:0;transform:translateY(24px)}
/* headings: words rise line by line */
.js-motion .rv-lines .w{display:inline-block;transition:opacity .8s var(--ease),transform 1s var(--rv-ease);transition-delay:calc(var(--ln,0) * 120ms)}
.js-motion .rv-lines:not(.is-in) .w{opacity:0;transform:translateY(.42em)}
/* divider lines draw across */
.js-motion .rv-line{border-top-color:transparent!important;background-image:linear-gradient(var(--ln-c),var(--ln-c));background-repeat:no-repeat;background-origin:border-box;background-position:0 0;background-size:0 1px;transition:background-size 1.4s var(--rv-ease)}
.js-motion .rv-line.is-in{background-size:100% 1px}
/* photos unmask from the bottom edge and settle */
.js-motion .rv-ph{transition:clip-path 1.3s var(--rv-ease),opacity .9s var(--ease)}
.js-motion .rv-ph:not(.is-in){clip-path:inset(0 0 16% 0);opacity:.001}
.js-motion .rv-ph:not(.is-in)>.ph-img{scale:1.08}

/* ---------- B8. Interaction polish ---------- */
.svc-tile .ph,.svc-card .ph{transition:translate .6s var(--rv-ease),clip-path 1.3s var(--rv-ease),opacity .9s var(--ease)}
.svc-tile:hover .ph,.svc-tile:focus-within .ph,a.svc-card:hover .ph,a.svc-card:focus-visible .ph{translate:0 -6px}
.svc-tile:focus-within .ph>.ph-img,a.svc-card:focus-visible .ph>.ph-img{scale:1.045}
.svc-tile:focus-within .more .ic{transform:translateX(4px)}
.plan{transition:background-color .5s var(--ease),box-shadow .5s var(--ease)}
.plan:hover,.plan:focus-within{background-color:rgba(168,134,91,.07);box-shadow:inset 0 2px 0 rgba(168,134,91,.5)}
.plan-featured:hover,.plan-featured:focus-within{box-shadow:inset 0 2px 0 var(--cognac)}
/* header: hides on the way down, returns on the way up */
.site-header{transition:background-color .4s var(--ease),box-shadow .4s var(--ease),transform .5s var(--rv-ease)}
.site-header.is-hidden{transform:translateY(-100%)}

/* ---------- B2. Stats band ---------- */
.stats{background:var(--ivory);padding-block:clamp(56px,6vw,88px)}
.stats-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-strong)}
.stat{display:flex;flex-direction:column;gap:10px;padding:28px clamp(16px,2vw,32px) 4px 0}
.stat+.stat{padding-left:clamp(16px,2vw,32px);border-left:1px solid var(--line)}
.stat-num{font-family:var(--font-display);font-size:clamp(56px,6vw,92px);line-height:.9;letter-spacing:-.02em;color:var(--espresso);font-variant-numeric:tabular-nums}
.stat-label{font-size:15px;line-height:1.45;color:var(--muted);max-width:22ch}

/* ---------- B1. Missed-call calculator ---------- */
.calc-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px clamp(48px,7vw,112px);align-items:start}
.calc-copy{display:flex;flex-direction:column;gap:20px;position:sticky;top:120px}
.calc-copy .lead{max-width:40ch}
.calc-note{font-size:14px;line-height:1.55;color:var(--muted);max-width:44ch;padding-top:16px;border-top:1px solid var(--line)}
.calc-panel{display:flex;flex-direction:column;gap:28px;padding:clamp(28px,3.4vw,48px);background:rgba(247,246,243,.7);box-shadow:inset 0 0 0 1px var(--line)}
.section:not(.bg-white).calc .calc-panel{background:var(--cream)}
.calc-field{display:flex;flex-direction:column;gap:14px}
.calc-field label{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:15px;font-weight:600;color:var(--ink)}
.calc-field output{font-family:var(--font-display);font-size:30px;font-weight:400;line-height:1;color:var(--espresso);font-variant-numeric:tabular-nums}
.calc-field input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;margin:0;background:transparent;cursor:pointer}
.calc-field input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(var(--cognac),var(--cognac)) 0/var(--fill,50%) 100% no-repeat,var(--line-strong)}
.calc-field input[type=range]::-moz-range-track{height:2px;background:var(--line-strong)}
.calc-field input[type=range]::-moz-range-progress{height:2px;background:var(--cognac)}
.calc-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-10px;border-radius:50%;background:var(--ivory);border:2px solid var(--cognac);box-shadow:0 2px 8px rgba(11,11,12,.18);transition:scale .2s var(--ease)}
.calc-field input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--ivory);border:2px solid var(--cognac)}
.calc-field input[type=range]:hover::-webkit-slider-thumb,.calc-field input[type=range]:focus-visible::-webkit-slider-thumb{scale:1.15}
.calc-field input[type=range]:focus-visible{outline:2px solid var(--cognac-deep);outline-offset:6px}
.calc-result{display:flex;flex-direction:column;gap:8px;padding-top:28px;border-top:1px solid var(--line-strong)}
.calc-result-k{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cognac-deep)}
.calc-big{font-family:var(--font-display);font-size:clamp(64px,7vw,108px);line-height:.9;letter-spacing:-.02em;color:var(--mahogany);font-variant-numeric:tabular-nums}
.calc-sub{font-size:15px;color:var(--muted)}
.calc-sub output{font-weight:600;color:var(--ink)}

/* ---------- B5. How it works ---------- */
.hiw-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);border-top:1px solid var(--line-strong);counter-reset:none}
.hiw-track::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--cognac);transform-origin:left;transform:scaleX(1)}
.js-motion .hiw-track:not(.is-in)::before{transform:scaleX(0)}
.js-motion .hiw-track::before{transition:transform 1.8s var(--rv-ease) .2s}
.hiw-step{position:relative;display:flex;flex-direction:column;gap:12px;padding-top:36px}
.hiw-step::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--ivory);box-shadow:inset 0 0 0 2px var(--cognac)}
.bg-white .hiw-step::before{background:var(--cream)}
.hiw-num{font-size:12.5px;font-weight:600;letter-spacing:.14em;font-variant-numeric:tabular-nums;color:var(--cognac-deep)}
.hiw-step h3{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,2.3vw,34px);line-height:1.05}
.hiw-step p{font-size:15.5px;line-height:1.6;color:var(--muted);max-width:28ch}

/* ---------- B4. Full-screen photo break ---------- */
.photo-break{position:relative;display:flex;align-items:flex-end;min-height:min(86vh,780px);overflow:hidden;isolation:isolate;background:var(--espresso-deep);color:var(--on-dark)}
.photo-break-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.photo-break-media img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;filter:sepia(.26) saturate(.8) contrast(1.04) brightness(.82) hue-rotate(-4deg);will-change:transform}
.photo-break::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,11,12,.35) 0%,rgba(11,11,12,0) 35%,rgba(11,11,12,.2) 60%,rgba(11,11,12,.82) 100%),var(--grain)}
.photo-break-inner{padding-block:clamp(56px,7vw,104px)}
.photo-break-title{font-family:var(--font-display);font-weight:400;font-size:clamp(52px,7vw,112px);line-height:.95;letter-spacing:-.02em;max-width:12ch;color:var(--on-dark)}
.photo-break-title em{font-style:normal;color:var(--champagne)}

/* ---------- B3. Proof (ready, hidden until real stories are added) ---------- */
.proof-item{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:24px clamp(40px,6vw,96px);padding-top:40px;border-top:1px solid var(--line-strong)}
.proof-sample{grid-column:1/-1;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mahogany)}
.proof-quote{margin:0;font-family:var(--font-display);font-size:clamp(34px,3.6vw,56px);line-height:1.08}
.proof-cite{display:flex;flex-direction:column;gap:4px;font-size:15px;color:var(--muted)}
.proof-cite b{font-weight:600;color:var(--ink)}
.proof-result{grid-column:2;grid-row:2/4;align-self:start;display:flex;flex-direction:column;gap:8px;padding-left:24px;border-left:1px solid var(--line)}
.proof-result-num{font-family:var(--font-display);font-size:clamp(56px,5vw,80px);line-height:.9;color:var(--mahogany)}
.proof-nav{display:flex;gap:8px;margin-top:32px}
.proof-btn{width:48px;height:48px;border:0;border-radius:50%;background:none;box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer}

/* ---------- B6. AI receptionist phone demo ---------- */
.ph.ph-demo{display:grid;place-items:center;padding:0;background:var(--espresso-deep) var(--grain);color:var(--on-dark)}
.ph.ph-demo::before,.ph.ph-demo::after{content:none}
.phone-demo{position:relative;margin:0;width:100%;height:100%;display:grid;place-items:center}
.phone-frame{position:relative;height:86%;max-height:520px;width:auto;aspect-ratio:9/18.5;border-radius:30px;padding:8px;background:#0B0B0C;box-shadow:inset 0 0 0 1.5px rgba(236,234,229,.28),0 30px 60px -20px rgba(0,0,0,.6)}
.phone-notch{position:absolute;top:14px;left:50%;width:34%;height:16px;translate:-50% 0;border-radius:10px;background:#000;z-index:2}
.phone-screen{position:relative;height:100%;overflow:hidden;border-radius:23px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:40px 10px 14px;background:linear-gradient(180deg,#161617,#0E0E0F);font-size:11.5px;line-height:1.4}
.pd-time{position:absolute;top:36px;left:0;right:0;text-align:center;font-size:10.5px;letter-spacing:.08em;color:rgba(236,234,229,.5)}
.pd-step{transition:opacity .6s var(--ease),transform .7s var(--rv-ease)}
.js-motion [data-phone] .pd-step:not(.on){opacity:0;transform:translateY(10px)}
.pd-missed{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:rgba(236,234,229,.06)}
.pd-missed b{display:block;font-weight:600;color:var(--on-dark)}
.pd-missed span:last-child{color:rgba(236,234,229,.6)}
.pd-dot{width:8px;height:8px;border-radius:50%;background:var(--cognac);flex-shrink:0;box-shadow:0 0 0 3px rgba(168,134,91,.25)}
.pd-bubble{max-width:84%;padding:8px 10px;border-radius:14px}
.pd-out{align-self:flex-end;background:var(--cognac);color:var(--espresso-deep);border-bottom-right-radius:4px}
.pd-in{align-self:flex-start;background:rgba(236,234,229,.12);color:var(--on-dark);border-bottom-left-radius:4px}
.pd-card{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:12px;background:var(--ivory);color:var(--ink)}
.pd-card-k{font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cognac-deep)}
.pd-card b{font-weight:600}
.pd-card span:last-child{color:var(--muted)}
.pd-booked{align-self:center;padding:6px 12px;border-radius:999px;font-weight:600;font-size:11px;color:var(--espresso-deep);background:var(--champagne)}
.pd-replay{position:absolute;right:14px;bottom:14px;z-index:3;min-height:36px;padding:0 14px;border:0;border-radius:2px;background:rgba(11,11,12,.85);box-shadow:inset 0 0 0 1px var(--line-dark-strong);color:var(--champagne);font-size:12.5px;font-weight:600;cursor:pointer}
.pd-replay:hover{background:var(--cognac);color:var(--espresso-deep)}
.hero-art .ph.ph-demo{aspect-ratio:4/5}
.hero-art .phone-frame{height:84%}

/* ---------- B9. Sticky call-to-action (tablet + desktop) ---------- */
.sticky-cta{position:fixed;z-index:80;left:50%;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(620px,calc(100% - 40px));padding:10px 10px 10px 22px;background:rgba(11,11,12,.96);color:var(--on-dark);box-shadow:0 0 0 1px var(--line-dark),0 18px 40px -12px rgba(0,0,0,.5);transform:translate(-50%,calc(100% + 32px));opacity:0;transition:transform .6s var(--rv-ease),opacity .4s var(--ease)}
.sticky-cta.is-shown{transform:translate(-50%,0);opacity:1}
.sticky-cta-text{display:flex;flex-direction:column;line-height:1.3}
.sticky-cta-text b{font-weight:600;font-size:15px}
.sticky-cta-text span{font-size:13.5px;color:var(--muted-on-dark)}
.sticky-cta .btn{background:var(--cognac);color:var(--espresso-deep)}
.sticky-cta .btn:hover{background:var(--champagne)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .hiw-track{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .hiw-step:nth-child(n+3){padding-top:36px}
}
@media (max-width:900px){
  .stats-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(3){padding-left:0;border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line);margin-top:20px}
  .calc-grid{grid-template-columns:minmax(0,1fr)}
  .calc-copy{position:static}
  .proof-item{grid-template-columns:minmax(0,1fr)}
  .proof-result{grid-column:1;grid-row:auto}
}
@media (max-width:640px){
  .sticky-cta{display:none}
  .stat-num{font-size:56px}
  .stat-label{font-size:14px}
  /* how it works: vertical, the line runs down the left */
  .hiw-track{grid-template-columns:minmax(0,1fr);border-top:0;border-left:1px solid var(--line-strong);row-gap:0;padding-left:28px;margin-left:5px}
  .hiw-track::before{left:-1px;right:auto;top:0;bottom:0;width:2px;height:auto;transform-origin:top;transform:scaleY(1)}
  .js-motion .hiw-track:not(.is-in)::before{transform:scaleY(0)}
  .hiw-step,.hiw-step:nth-child(n+3){padding:0 0 32px}
  .hiw-step::before{top:4px;left:-34px}
  .calc-panel{padding:24px 20px}
  .calc-field output{font-size:26px}
  .calc-big{font-size:60px}
  .photo-break{min-height:70svh}
  .photo-break-title{font-size:clamp(44px,12vw,56px)}
  .svc-tile .ph.ph-demo{aspect-ratio:4/5}
}
@media (prefers-reduced-motion:reduce){
  .hiw-track::before{transform:none!important}
  .photo-break-media img{transform:none!important}
}

/* ==========================================================================
   COPY PASS — layout support for the rewritten copy
   ========================================================================== */
/* Hero: "More calls. More jobs." upright, "Less chasing." in cognac italic */
.hero-copy{max-width:1040px}
.hero-title{font-style:normal;color:var(--on-dark);font-size:clamp(56px,7.2vw,116px);line-height:.94}
.hero-title::first-line{font-style:inherit;color:inherit}
.hero-title .ht-line{display:block}
.hero-title .nw{white-space:nowrap}
.hero-title em{display:block;font-style:italic;color:var(--cognac-light)}
.hero-sub{max-width:52ch}
/* Service tiles: the tag list now holds short phrases, so let them wrap */
.svc-tile .tags li{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.45}
/* Longer pain titles and descriptions */
.pain h3{text-wrap:balance}
.xdesc{max-width:48ch}
/* intros carry more words now: keep them to two lines on desktop */
.sec-split .lead,.sec-head>.lead,.sec-head>p{max-width:62ch}

/* ==========================================================================
   SERVICE DETAIL PASS — "The details" explainer on every service page
   ========================================================================== */
.explainer .sec-split .lead{max-width:64ch;font-size:18px;line-height:1.65;color:var(--ink)}
.ex-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(40px,5vw,80px);border-top:1px solid var(--line-strong)}
.ex-block{display:flex;flex-direction:column;gap:14px;padding:36px 0 40px;border-bottom:1px solid var(--line)}
.ex-block h3{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,2.3vw,34px);line-height:1.08;color:var(--ink)}
.ex-block p{font-size:16.5px;line-height:1.72;color:var(--muted);max-width:60ch}
.ex-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(40px,5vw,80px);padding-top:40px}
.ex-k{display:block;margin-bottom:12px;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cognac-deep)}
.ex-fit{font-size:16.5px;line-height:1.65;color:var(--ink);max-width:52ch}
.ex-related ul{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.ex-related li{display:flex;flex-direction:column;gap:2px;padding:14px 0;border-bottom:1px solid var(--line)}
.ex-related a{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-family:var(--font-display);font-size:24px;line-height:1.2;color:var(--ink);transition:color var(--dur-1)}
.ex-related a .ic{transition:transform var(--dur-1) var(--ease)}
.ex-related a:hover{color:var(--mahogany)}
.ex-related a:hover .ic{transform:translateX(4px)}
.ex-related li span{font-size:15px;color:var(--muted)}
@media (max-width:900px){
  .ex-grid,.ex-foot{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .explainer .sec-split .lead{font-size:16.5px}
  .ex-block{padding:28px 0 30px}
  .ex-block h3{font-size:27px}
  .ex-related a{font-size:22px;min-height:44px}
}

/* ==========================================================================
   SHOWCASE PASS — "what it looks like" illustrations on every service page
   ========================================================================== */
/* What's included: heading + checklist left, showcase right */
.included-show{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}
.included-show>div:first-child{gap:24px}
.included-show .check-list{margin-top:8px}
.mock{margin:0;display:flex;flex-direction:column;gap:14px}
.mk-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;aspect-ratio:5/4.3;padding:clamp(20px,3vw,40px);overflow:hidden;isolation:isolate;
  background:radial-gradient(70% 60% at 80% 10%,rgba(201,171,130,.22),rgba(201,171,130,0) 60%),radial-gradient(60% 60% at 0% 100%,rgba(14,14,15,.6),rgba(14,14,15,0) 70%),var(--espresso-deep);
  box-shadow:0 30px 60px -30px rgba(11,11,12,.55);color:var(--ink);font-family:var(--font-body)}
.mk-stage::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--grain);pointer-events:none}
.mock figcaption{display:flex;gap:10px;align-items:baseline;font-size:14px;line-height:1.5;color:var(--muted)}
.mk-cap-k{flex-shrink:0;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cognac-deep)}
/* staged reveal */
.mock .mk-a{transition:opacity .7s var(--ease),transform .9s var(--rv-ease,cubic-bezier(.16,1,.3,1));transition-delay:calc(var(--i,0) * 200ms + 150ms)}
.js-motion .mock:not(.is-in) .mk-a{opacity:0;transform:translateY(16px)}

/* shared bits */
.mk-line{display:block;height:7px;margin:7px 0;border-radius:4px;background:rgba(17,17,18,.1);width:92%}
.mk-line:nth-child(2){width:74%}.mk-line:nth-child(3){width:58%}.mk-line:nth-child(4){width:80%}
.mk-chips{display:flex;flex-wrap:wrap;gap:6px}
.mk-chips em,.mk-post-cta em,.mk-reel-btn,.mk-site-hero em,.mk-callbar,.mk-doc-grand em{font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.02em;padding:6px 11px;border-radius:999px;background:var(--cognac);color:var(--espresso-deep);white-space:nowrap}
.mk-chips em+em{background:transparent;box-shadow:inset 0 0 0 1px rgba(17,17,18,.25);color:var(--ink)}
.mk-stars{color:var(--cognac-deep);letter-spacing:1px;font-size:13px}
.mk-avatar{display:inline-block;width:26px;height:26px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--cognac),var(--mahogany))}
.mk-avatar-lg{width:44px;height:44px}
.mk-mark{display:inline-block;width:26px;height:26px;flex-shrink:0;border-radius:50% 50% 4px 4px;background:radial-gradient(circle at 50% 70%,var(--champagne) 0 30%,transparent 31%),var(--cognac)}
.mk-mark-lg{width:64px;height:64px}
.mk-card{width:min(92%,460px);padding:20px 22px;border-radius:12px;background:var(--ivory);box-shadow:0 24px 50px -20px rgba(0,0,0,.6)}
.mk-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.mk-card-head b{font-family:var(--font-display);font-weight:400;font-size:24px;line-height:1.1}
.mk-card-head span{font-size:12px;color:var(--muted)}
.mk-toast{position:absolute;left:50%;bottom:14px;translate:-50% 0;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(11,11,12,.92);color:var(--champagne);font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.mk-phone{height:94%;max-height:470px}
.mk-screen{justify-content:flex-start;padding:34px 0 0;background:var(--ivory);color:var(--ink)}

/* 1 · search ad */
.mk-browser{width:min(94%,500px);padding:18px;border-radius:12px;background:var(--ivory);box-shadow:0 24px 50px -20px rgba(0,0,0,.6)}
.mk-search{display:flex;align-items:center;gap:10px;padding:11px 16px;margin-bottom:12px;border-radius:999px;background:#fff;box-shadow:0 1px 6px rgba(17,17,18,.15);font-size:14px}
.mk-glass{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--muted);position:relative}
.mk-glass::after{content:"";position:absolute;width:6px;height:2px;background:var(--muted);right:-5px;bottom:-1px;rotate:45deg}
.mk-result{display:flex;flex-direction:column;gap:3px;padding:12px 4px;border-top:1px solid var(--line)}
.mk-result-top{border-top:0;padding:14px;border-radius:10px;background:rgba(168,134,91,.08);box-shadow:inset 0 0 0 1px rgba(168,134,91,.35)}
.mk-spon{font-size:11px;font-weight:700;color:var(--ink)}
.mk-result-top b{font-size:16px;font-weight:600;color:var(--mahogany);line-height:1.3}
.mk-url{font-size:12px;color:var(--forest)}
.mk-result-top p{font-size:12.5px;color:var(--muted);line-height:1.45;margin-bottom:6px}

/* 2 · map pack */
.mk-map{position:relative;width:min(94%,500px);height:42%;border-radius:12px 12px 0 0;overflow:hidden;background:#E3E1DC}
.mk-streets{position:absolute;inset:0;background:
  linear-gradient(90deg,transparent 30%,#F7F6F3 30% 32%,transparent 32% 66%,#F7F6F3 66% 68%,transparent 68%),
  linear-gradient(0deg,transparent 40%,#F7F6F3 40% 43%,transparent 43% 74%,#F7F6F3 74% 76%,transparent 76%),
  linear-gradient(24deg,transparent 48%,rgba(14,14,15,.18) 48% 50%,transparent 50%)}
.mk-pin{position:absolute;width:14px;height:14px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--concrete-grey)}
.mk-pin-you{width:24px;height:24px;background:var(--cognac);box-shadow:0 0 0 6px rgba(168,134,91,.25)}
.mk-pack{width:min(94%,500px);margin-top:-14px;padding:6px 14px;border-radius:0 0 12px 12px;background:var(--ivory);box-shadow:0 24px 50px -20px rgba(0,0,0,.6)}
.mk-listing{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.mk-listing:last-child{border-bottom:0}
.mk-listing>div{display:flex;flex-direction:column;gap:1px}
.mk-listing b{font-size:14px;font-weight:600}
.mk-meta{font-size:11.5px;color:var(--muted)}
.mk-rank{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;background:rgba(17,17,18,.08);color:var(--muted)}
.mk-listing-you{margin:4px -8px;padding:10px 8px;border-radius:8px;background:rgba(168,134,91,.1);border-bottom-color:transparent}
.mk-listing-you .mk-rank{background:var(--cognac);color:var(--espresso-deep)}

/* 3 · Facebook ad */
.mk-post{display:flex;flex-direction:column;gap:8px;padding:6px 0 0}
.mk-post-head{display:flex;gap:8px;align-items:center;padding:0 10px}
.mk-post-head span{display:flex;flex-direction:column;line-height:1.2}
.mk-post-head b{font-size:11.5px}.mk-post-head small{font-size:9.5px;color:var(--muted)}
.mk-post-text{padding:0 10px;font-size:10.5px;line-height:1.4}
.mk-post-img{aspect-ratio:1;background-size:cover;background-position:center;filter:sepia(.2) saturate(.85)}
.mk-post-cta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:-8px 0 0;padding:9px 10px;background:#EDEBE7}
.mk-post-cta span{display:flex;flex-direction:column;line-height:1.25}
.mk-post-cta small{font-size:9px;color:var(--muted)}.mk-post-cta b{font-size:10.5px}
.mk-post-cta em{font-size:10px;padding:5px 9px}

/* 4 · Instagram Reel */
.mock-instagram-ads .mk-screen{padding:0}
.mk-reel{position:relative;flex:1;background-size:cover;background-position:center;color:#fff}
.mk-reel::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,0) 30%,rgba(0,0,0,.65))}
.mk-reel-side{position:absolute;right:10px;bottom:90px;display:flex;flex-direction:column;gap:14px}
.mk-reel-side i{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.9)}
.mk-reel-foot{position:absolute;left:10px;right:40px;bottom:14px;display:flex;flex-direction:column;gap:6px;font-size:10.5px;line-height:1.35}
.mk-reel-user{display:flex;align-items:center;gap:6px}.mk-reel-user b{font-size:11px}.mk-reel-user small{font-size:9px;opacity:.8}
.mk-reel-btn{align-self:stretch;text-align:center;font-size:10.5px}

/* 5 · video */
.mk-video{position:relative;width:min(94%,520px);aspect-ratio:16/9;border-radius:10px;background-size:128%;background-position:30% 100%;box-shadow:0 24px 50px -20px rgba(0,0,0,.6);filter:sepia(.3) saturate(.75) brightness(.85)}
.mk-play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:58px;height:58px;border-radius:50%;background:rgba(236,234,229,.92)}
.mk-play::after{content:"";position:absolute;left:23px;top:18px;border-left:16px solid var(--espresso-deep);border-top:11px solid transparent;border-bottom:11px solid transparent}
.mk-time{position:absolute;right:10px;bottom:16px;padding:3px 7px;border-radius:4px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:600}
.mk-bar{position:absolute;left:10px;right:10px;bottom:8px;height:3px;border-radius:2px;background:rgba(255,255,255,.3)}
.mk-bar i{display:block;width:34%;height:100%;border-radius:2px;background:var(--cognac)}
.mk-clips{display:flex;gap:12px;width:min(94%,520px);justify-content:flex-end;margin-top:-34px;padding-right:16px}
.mk-clip{position:relative;width:17%;aspect-ratio:9/15;border-radius:8px;background-size:cover;background-position:center;box-shadow:0 0 0 3px var(--espresso-deep),0 16px 30px -10px rgba(0,0,0,.6);filter:sepia(.25) saturate(.8)}
.mk-clip span{position:absolute;left:6px;bottom:6px;padding:2px 6px;border-radius:3px;background:rgba(11,11,12,.85);color:var(--champagne);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}

/* 6 · content calendar */
.mk-cal{width:min(94%,520px);padding:16px;border-radius:12px;background:var(--ivory);box-shadow:0 24px 50px -20px rgba(0,0,0,.6)}
.mk-cal-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}
.mk-cal-head b{font-family:var(--font-display);font-weight:400;font-size:22px}
.mk-cal-head span{font-size:11px;color:var(--muted)}
.mk-cal-dow,.mk-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.mk-cal-dow span{font-size:9.5px;font-weight:700;color:var(--muted);text-align:center;padding-bottom:4px}
.mk-day{display:flex;flex-direction:column;gap:3px;min-height:52px;padding:4px;border-radius:5px;background:#FAFAF8;font-size:9px;color:var(--muted)}
.mk-day em{font-style:normal;font-size:8.5px;font-weight:700;line-height:1.2;padding:3px 4px;border-radius:3px;color:var(--espresso-deep)}
.mk-tag-0{background:var(--champagne)}.mk-tag-1{background:rgba(168,134,91,.55)}.mk-tag-2{background:rgba(14,14,15,.18)}.mk-tag-3{background:rgba(58,58,61,.25)}

/* 7 · website */
.mk-site{position:relative;padding:0;overflow:hidden;align-self:flex-start;margin-left:2%}
.mk-dots{display:flex;align-items:center;gap:6px;padding:10px 12px;background:#EDEBE7}
.mk-dots i{width:9px;height:9px;border-radius:50%;background:rgba(17,17,18,.2)}
.mk-dots span{margin-left:10px;padding:3px 12px;border-radius:999px;background:var(--ivory);font-size:10.5px;color:var(--muted)}
.mk-site-hero{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:30px 22px;background-size:cover;background-position:center;color:var(--on-dark);isolation:isolate}
.mk-site-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,11,12,.9),rgba(11,11,12,.4))}
.mk-site-hero b{font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1.05;max-width:12ch}
.mk-site-hero span{font-size:11px;opacity:.85}
.mk-site-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 18px 18px}
.mk-site-tiles i{height:48px;border-radius:6px;background:rgba(17,17,18,.08)}
.mk-phone-small{position:absolute;right:5%;bottom:5%;height:66%!important}
.mk-site-m{height:42%;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;padding:10px;color:#fff;isolation:isolate}
.mk-site-m::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent,rgba(11,11,12,.85))}
.mk-site-m b{font-family:var(--font-display);font-weight:400;font-size:15px;line-height:1.05}
.mk-site-mlines{padding:6px 10px}
.mk-callbar{position:absolute;left:8px;right:8px;bottom:10px;text-align:center;font-size:10px}

/* 8 · business cards */
.mk-bcard{position:absolute;width:min(62%,330px);aspect-ratio:1.75;border-radius:10px;padding:20px;display:flex;box-shadow:0 30px 50px -18px rgba(0,0,0,.7)}
.mk-bcard-front{left:9%;top:16%;rotate:-6deg;flex-direction:column;justify-content:center;gap:6px;background:var(--forest);color:var(--champagne)}
.mk-bcard-front b{font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1}
.mk-bcard-front small{font-size:10.5px;opacity:.8;letter-spacing:.04em}
.mk-bcard-foot{position:absolute;right:16px;bottom:12px;font-size:10px;opacity:.7}
.mk-bcard-back{right:7%;bottom:14%;rotate:5deg;align-items:center;gap:16px;background:var(--ivory)}
.mk-bcard-back span{display:flex;flex-direction:column;font-size:11px;line-height:1.35;color:var(--muted)}
.mk-bcard-back b{font-family:var(--font-display);font-weight:400;font-size:18px;color:var(--ink)}
.mk-qr{position:relative;display:grid;grid-template-columns:repeat(9,1fr);width:78px;aspect-ratio:1;flex-shrink:0;gap:1px}
.mk-qr i{background:transparent}.mk-qr i.on{background:var(--espresso-deep)}
.mk-qr-eye{position:absolute;width:22px;height:22px;background:var(--ivory);box-shadow:inset 0 0 0 4px var(--espresso-deep),inset 0 0 0 7px var(--ivory),inset 0 0 0 11px var(--espresso-deep)}

/* 9 · brand board */
.mk-brand{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:auto auto auto;gap:10px;width:min(94%,520px)}
.mk-brand>div{border-radius:10px;background:var(--ivory);box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.mk-brand-main{grid-row:1/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:26px}
.mk-brand-main b{font-family:var(--font-display);font-weight:400;font-size:26px}
.mk-swatches{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;min-height:60px}
.mk-type{display:flex;align-items:center;gap:12px;padding:12px 16px}
.mk-type b{font-family:var(--font-display);font-weight:400;font-size:40px;line-height:1}
.mk-type span{font-family:var(--font-display);font-size:16px;line-height:1.2}.mk-type small{font-family:var(--font-body);font-size:11px;color:var(--muted)}
.mk-apps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:none!important;box-shadow:none!important}
.mk-app{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 8px;border-radius:10px;font-size:10.5px;font-weight:600;color:var(--muted)}
.mk-van{background:#EDEBE7}.mk-shirt{background:var(--forest);color:var(--champagne)}.mk-icon{background:var(--espresso);color:var(--champagne)}
.mk-icon .mk-mark{border-radius:8px}

/* 10 · social profile grid */
.mk-profile{display:flex;align-items:center;gap:10px;padding:8px 10px 12px}
.mk-profile span{display:flex;flex-direction:column;line-height:1.25}.mk-profile b{font-size:12px}.mk-profile small{font-size:9.5px;color:var(--muted)}
.mk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;flex:1;align-content:start}
.mk-grid i{aspect-ratio:1;background-size:cover;background-position:center;filter:sepia(.25) saturate(.8)}

/* 11 · call log, 12 · quote, 13 · thread, 14 · report */
.mk-row,.mk-rep{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.mk-row:last-child{border-bottom:0}
.mk-row>div{display:flex;flex-direction:column;line-height:1.3}.mk-row b{font-size:14px;font-weight:600}.mk-row small{font-size:11.5px;color:var(--muted)}
.mk-ok,.mk-muted,.mk-age{font-style:normal;font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap}
.mk-ok{background:rgba(14,14,15,.12);color:var(--forest)}.mk-muted{background:rgba(17,17,18,.06);color:var(--muted)}
.mk-dot-muted{background:var(--concrete-grey);box-shadow:none}
.mk-doc-head{display:flex;align-items:center;gap:12px;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.mk-doc-head span{display:flex;flex-direction:column;line-height:1.2}.mk-doc-head b{font-family:var(--font-display);font-weight:400;font-size:22px}.mk-doc-head small{font-size:11px;color:var(--muted)}
.mk-doc-row,.mk-doc-tot,.mk-doc-grand{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;border-bottom:1px dashed var(--line)}
.mk-doc-row b,.mk-doc-tot b{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.mk-doc-tot{color:var(--muted);line-height:1.6;border-bottom:1px solid var(--line-strong)}
.mk-doc-grand{align-items:center;border-bottom:0;padding-top:12px}
.mk-doc-grand span{font-weight:600}.mk-doc-grand b{font-family:var(--font-display);font-weight:400;font-size:28px;margin-left:auto;font-variant-numeric:tabular-nums}
.mk-msg{display:flex;flex-direction:column;gap:3px;padding:12px 14px;margin-bottom:8px;border-radius:10px;background:#FAFAF8;font-size:13px;line-height:1.45;box-shadow:inset 0 0 0 1px var(--line)}
.mk-msg small{font-size:10.5px;font-weight:600;color:var(--muted)}.mk-msg b{font-weight:600}
.mk-msg-auto{background:rgba(168,134,91,.1);box-shadow:inset 0 0 0 1px rgba(168,134,91,.35)}
.mk-msg-reply{background:rgba(14,14,15,.08);box-shadow:inset 0 0 0 1px rgba(14,14,15,.25)}
.mk-stop{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:var(--forest)}
.mk-rep{grid-template-columns:minmax(0,1fr) auto auto}
.mk-rep span{font-size:13px}.mk-rep b{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.mk-age-1{background:rgba(236,234,229,.8);color:var(--espresso-deep)}.mk-age-2{background:rgba(168,134,91,.35);color:var(--mahogany)}.mk-age-3{background:var(--mahogany);color:var(--champagne)}
.mk-rep-tot{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding-top:12px}
.mk-rep-tot span{font-weight:600}.mk-rep-tot b{font-family:var(--font-display);font-weight:400;font-size:30px;line-height:1}
.mk-rep-tot small{grid-column:1/-1;font-size:11.5px;color:var(--forest);font-weight:600}

/* 15 · review request */
.mock-review-automation .mk-screen{padding:44px 10px 0;gap:12px;justify-content:center;background:linear-gradient(180deg,#161617,#0E0E0F)}
.mock-review-automation .pd-time{top:30px}
.mock-review-automation .pd-bubble{max-width:90%;font-size:11px}
.mock-review-automation .pd-bubble u{text-decoration:underline;font-weight:700}
.mk-review{display:flex;gap:8px;padding:10px;border-radius:10px;background:var(--ivory)}
.mk-review>div{flex:1}.mk-review .mk-line{height:6px;margin:6px 0}

/* pull-quote in the explainer */
.ex-pull{margin:clamp(40px,5vw,72px) 0 0;padding:clamp(28px,3vw,40px) 0 0;border-top:2px solid var(--cognac)}
.ex-pull p{font-family:var(--font-display);font-size:clamp(34px,4vw,60px);line-height:1.05;letter-spacing:-.01em;color:var(--ink);max-width:24ch;text-wrap:balance}

/* FAQ: "More questions" */
.faq-more{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:20px;padding:0 18px;border:0;border-radius:2px;background:transparent;box-shadow:inset 0 0 0 1px var(--line-strong);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:background-color var(--dur-1),color var(--dur-1)}
.faq-more:hover{background:var(--ink);color:var(--ivory)}

@media (max-width:1100px){
  .included-show{grid-template-columns:minmax(0,1fr)}
  .mock{max-width:640px}
}
@media (max-width:640px){
  .mk-stage{aspect-ratio:4/4.6;padding:16px}
  .mk-browser,.mk-card{padding:14px}
  .mk-result-top b{font-size:14px}
  .mk-card-head b{font-size:20px}
  .mk-row b{font-size:13px}
  .mk-doc-row,.mk-doc-tot{font-size:12px}
  .mk-doc-grand b{font-size:22px}
  .mk-cal-head{flex-direction:column;gap:2px}.mk-cal-head b{font-size:19px}
  .mk-day{min-height:40px;padding:3px}.mk-day em{font-size:7.5px;padding:2px 3px}
  .mk-bcard{width:68%;padding:14px}.mk-bcard-front b{font-size:20px}.mk-qr{width:60px}.mk-qr-eye{width:17px;height:17px;box-shadow:inset 0 0 0 3px var(--espresso-deep),inset 0 0 0 5px var(--ivory),inset 0 0 0 8px var(--espresso-deep)}
  .mk-site-hero{padding:20px 16px}.mk-site-hero b{font-size:20px}
  .mk-clips{margin-top:-24px}
  .mock-google-ads .mk-result:last-child{display:none}
  .mk-search{margin-bottom:8px;padding:9px 14px;font-size:12.5px}
  .mk-type b{font-size:30px}
  .ex-pull p{font-size:32px}
}

/* ==========================================================================
   COMPACT PASS — same content, less scrolling
   Tighter section rhythm, smaller display sizes, shorter media, denser lists.
   ========================================================================== */
:root{--section:clamp(60px,6vw,92px)}
.sec-split,.sec-head{margin-bottom:clamp(28px,3.2vw,44px);gap:14px}
.sec-split>.stack,.sec-head>div:first-child{gap:14px}
.h2{font-size:clamp(36px,3.7vw,56px)}
.h3{font-size:clamp(26px,2.1vw,32px)}
.dark .sec-split{padding-bottom:0;border-bottom:0}

/* homepage hero stays a full first screen, but no taller than it needs to be */
.hero{min-height:min(100svh,860px)}
.hero-inner{padding-top:140px;padding-bottom:clamp(44px,5vw,72px)}

/* services tiles: landscape photos, tighter lists */
.svc-tiles{grid-template-rows:repeat(6,auto)}
.svc-tile,.svc-tile:first-child,.svc-tile:last-child{padding-top:28px}
.svc-tile-body::before{margin-bottom:16px}
.svc-tile .ph{aspect-ratio:4/3}
.svc-tile h3{font-size:clamp(30px,2.6vw,40px);margin:22px 0 10px}
.svc-tile p{margin-bottom:18px}
.svc-tile .tags{margin-bottom:22px;padding-top:4px}
.svc-tile .tags li{padding:7px 0;font-size:14.5px}
.slides-foot{margin-top:clamp(28px,3vw,44px)}

/* stats */
.stats{padding-block:clamp(36px,4vw,56px)}
.stat{padding-top:20px}
.stat-num{font-size:clamp(48px,4.6vw,72px)}

/* problems */
.xitem{padding:20px 0 16px}
.xtitle{font-size:clamp(26px,2.2vw,34px)}

/* calculator */
.calc-panel{gap:20px;padding:clamp(22px,2.6vw,36px)}
.calc-field{gap:8px}
.calc-result{padding-top:18px}
.calc-big{font-size:clamp(54px,5.4vw,84px)}

/* why skyline */
.why-card,.why-card:not(:nth-child(3n+1)){padding-top:22px;padding-bottom:24px}
.why-card h3{font-size:clamp(24px,2vw,30px)}

/* how it works */
.hiw-step{padding-top:26px;gap:8px}
.hiw-step h3{font-size:clamp(24px,2vw,30px)}

/* who we work with */
main[data-page="index"] #automation+.section{padding-block:clamp(60px,6vw,88px)}
.row{grid-template-columns:minmax(0,320px) minmax(0,1fr);padding:22px 0}
.row:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,320px)}
.row-copy{gap:10px}
.row-copy h3{font-size:clamp(28px,2.6vw,40px)}

/* photo break */
.photo-break{min-height:min(62vh,560px)}
.photo-break-inner{padding-block:clamp(40px,5vw,72px)}
.photo-break-title{font-size:clamp(46px,5.6vw,88px)}

/* pricing */
.plan{padding-top:56px;gap:14px}
.plan-badge{top:24px}
.plan-price{padding:16px 0}
.price-big{font-size:clamp(48px,4.2vw,64px)}
.plan-inc li{padding:8px 0;font-size:14.5px}
@supports (grid-template-rows:subgrid){.plan{row-gap:14px}}

/* FAQ */
.faq summary{padding:18px 0;font-size:17px}
.answer{padding-bottom:20px}
.faq-wrap{gap:28px clamp(40px,6vw,96px)}

/* closing call to action */
.cta-panel,.cta-inner{gap:18px;padding:clamp(44px,5.4vw,84px) clamp(28px,6vw,96px)!important}
.cta-panel h2,.cta-inner .h2{font-size:clamp(40px,4.6vw,72px)}

/* inner page heroes */
.page-hero{padding:calc(112px + clamp(20px,2.6vw,36px)) 0 clamp(40px,4vw,60px)}
.page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,360px)}
.page-hero .h1{font-size:clamp(44px,4.6vw,72px)}
.page-hero-grid>div:first-child{gap:18px}
.hero-art{max-width:360px}
.hero-art .ph{aspect-ratio:5/6}
.page-hero.simple{padding-bottom:clamp(36px,3.6vw,52px)}

/* pain points */
.pain{padding:22px 0}
.pain h3{font-size:clamp(23px,1.8vw,28px)}
.pain p{margin-top:6px}

/* what's included + showcase */
.included{gap:32px clamp(40px,5vw,80px)}
.check-list li{padding:13px 0;font-size:16px}
.mk-stage{aspect-ratio:16/11.5}
.mock{gap:10px}

/* explainer */
.explainer .sec-split .lead{font-size:17px}
.ex-block{padding:24px 0 26px;gap:10px}
.ex-block h3{font-size:clamp(24px,2vw,30px)}
.ex-block p{font-size:16px;line-height:1.65}
.ex-pull{margin-top:clamp(28px,3vw,44px);padding-top:clamp(20px,2vw,28px)}
.ex-pull p{font-size:clamp(30px,3vw,46px)}
.ex-foot{padding-top:26px}
.ex-related li{padding:10px 0}
.ex-related a{font-size:21px}

/* hub + services grids: shorter photos */
.svc-card,.section.bg-white .svc-card,.section.bg-pearl .svc-card{padding:24px 0 28px}
.svc-card .ph{aspect-ratio:16/9;margin-bottom:18px}
.svc-body h3{font-size:clamp(24px,2vw,30px)}
main[data-page="services"] .svc-card{padding:20px 0 22px}

/* about */
.media-row .ph.r-4x5{aspect-ratio:4/4.2}
.media-row{gap:32px clamp(40px,6vw,96px)}
.card.value{padding-top:22px;padding-bottom:24px}
.value::before{margin-bottom:12px}

/* contact */
.form-grid{gap:14px 18px}
.field input,.field select,.field textarea{padding:12px 14px}
.field textarea{min-height:110px}
.contact-aside{gap:24px}
.next-list li{padding:14px 0}

/* footer */
.site-footer{padding-top:clamp(56px,6vw,84px)}
.footer-grid{padding-bottom:clamp(32px,3.6vw,48px)}

@media (max-width:900px){
  .row,.row:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .hero-art{max-width:320px}
  .svc-tile .ph{aspect-ratio:16/9}
}
@media (max-width:640px){
  :root{--section:50px}
  .sec-split,.sec-head{margin-bottom:24px;gap:10px}
  .h2{font-size:clamp(32px,9vw,40px)}
  .hero{min-height:calc(100svh - 60px)}
  /* services tiles: wide photo, compact lists */
  .svc-tile,.svc-tile:first-child,.svc-tile:last-child{padding:26px 0 30px}
  .svc-tile .ph{aspect-ratio:16/9}
  .svc-tile h3{font-size:32px;margin-top:18px}
  .svc-tile .tags li{padding:6px 0;font-size:14px}
  .svc-tile .tags{margin-bottom:16px}
  .stats{padding-block:32px}
  .stat-num{font-size:46px}
  .xitem{padding:18px 0}
  .xtitle{font-size:25px}
  .calc-panel{gap:16px}
  .calc-big{font-size:52px}
  .why-card,.why-card:nth-child(even),.why-card:not(:nth-child(3n+1)){padding:16px 0 18px}
  .why-card h3{font-size:23px}
  .hiw-step,.hiw-step:nth-child(n+3){padding:0 0 22px}
  .row,.row:nth-child(even){grid-template-columns:minmax(0,1fr)!important;gap:14px;padding:22px 0}
  .row .ph{aspect-ratio:16/9}
  .row-copy h3{font-size:28px}
  .photo-break{min-height:52svh}
  .plan,.plan:first-child,.plan:last-child{padding:28px 0}
  .plan-featured{padding:56px 22px 28px!important}
  .price-big{font-size:48px}
  .plan-inc li{padding:7px 0}
  .faq summary{padding:16px 0;font-size:16px}
  .cta-panel,.cta-inner{padding:40px 24px!important}
  .cta-panel h2,.cta-inner .h2{font-size:clamp(36px,10vw,44px)}
  .page-hero{padding:calc(92px + 12px) 0 36px}
  .page-hero .h1{font-size:clamp(40px,11vw,50px)}
  .hero-art{max-width:none}
  .hero-art .ph{aspect-ratio:16/10}
  .hero-art .ph.ph-demo{aspect-ratio:4/4.4}
  .pain{padding:18px 0}
  .pain h3{font-size:22px}
  .check-list li{padding:11px 0;font-size:15px}
  .mk-stage{aspect-ratio:4/4.3}
  .ex-block{padding:20px 0 22px}
  .ex-block h3{font-size:24px}
  .ex-block p{font-size:15.5px}
  .ex-pull p{font-size:28px}
  .svc-card .ph{aspect-ratio:16/9}
  .media-row .ph.r-4x5,.media-row .ph.r-4x3{aspect-ratio:16/10}
  .site-footer{padding-top:44px}
}

/* ---------- phone: swipe rows, compact lists, tap-to-open explainer ---------- */
.swipe-hint{display:none}
@media (max-width:640px){
  .svc-tiles,.plans,main:not([data-page="services"]) .svc-grid{display:flex!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(-1 * var(--gutter));padding:0 var(--gutter) 6px;border-top:0;scrollbar-width:none}
  .svc-tiles::-webkit-scrollbar,.plans::-webkit-scrollbar,.svc-grid::-webkit-scrollbar{display:none}
  .svc-tiles>*,.plans>*,main:not([data-page="services"]) .svc-grid>*{flex:0 0 84%;scroll-snap-align:start;min-width:0}
  .svc-tile,.svc-tile:first-child,.svc-tile:last-child{display:flex!important;padding:18px 0 4px;border-top:1px solid var(--line-dark)}
  .svc-tile+.svc-tile::after{content:none}
  main:not([data-page="services"]) .svc-grid>:last-child:nth-child(odd){display:flex;grid-column:auto}
  .svc-tiles{align-items:flex-start}
  .svc-tile .ph.ph-demo{aspect-ratio:1/1}
  .svc-tile .more{align-self:flex-start;justify-self:auto;margin-top:6px}
  .plan>.btn{white-space:normal;text-align:center;line-height:1.35}
  .svc-card,.section.bg-white .svc-card{border-top:1px solid var(--line);border-bottom:0;padding:18px 0 4px}
  .plan,.plan:first-child,.plan:last-child{display:flex!important;flex-direction:column;padding:56px 18px 22px!important;border:0;border-top:1px solid var(--line-dark);background:rgba(247,246,243,.5)}
  .plan-featured{background:linear-gradient(180deg,rgba(168,134,91,.14),rgba(168,134,91,.03) 70%)!important}
  .plan-badge{left:18px}
  .plan>.btn{margin-top:auto}
  .swipe-hint{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--muted)}
  .dark .swipe-hint,#problems .swipe-hint{color:var(--muted-on-dark)}
  .swipe-hint::after{content:"→";font-size:15px;color:var(--cognac-deep)}
  /* who we work with: thumbnail beside the copy */
  .row,.row:nth-child(even){grid-template-columns:110px minmax(0,1fr)!important;gap:16px;align-items:start;padding:18px 0}
  .row .ph,.row:nth-child(even) .ph{order:0;aspect-ratio:1;outline:0}
  .row-copy{gap:6px}.row-copy h3{font-size:22px}.row-copy p{font-size:14.5px;line-height:1.5}
  .pill{font-size:11px}
  /* why skyline: two columns */
  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-card,.why-card:nth-child(even),.why-card:not(:nth-child(3n+1)){padding:16px 12px 18px 0;border-left:0}
  .why-card:nth-child(even){padding-left:12px;padding-right:0;border-left:1px solid var(--line)}
  .why-card h3{font-size:20px}.why-card p{font-size:13.5px;line-height:1.5}
  /* how it works: two by two */
  .hiw-track{grid-template-columns:repeat(2,minmax(0,1fr));border-left:0;border-top:1px solid var(--line-strong);padding-left:0;margin-left:0;gap:0 16px}
  .hiw-track::before{left:0;right:0;top:-1px;bottom:auto;width:auto;height:2px;transform-origin:left;transform:scaleX(1)}
  .js-motion .hiw-track:not(.is-in)::before{transform:scaleX(0)}
  .hiw-step,.hiw-step:nth-child(n+3){padding:22px 0 18px}
  .hiw-step::before{top:-6px;left:0}
  .hiw-step h3{font-size:21px}.hiw-step p{font-size:13.5px}
  /* explainer: headings first, tap to open */
  .ex-block.is-collapsible{padding:0;gap:0}
  .ex-toggle{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:56px;padding:14px 0;border:0;background:none;text-align:left;font-family:var(--font-display);font-size:23px;line-height:1.15;color:var(--ink);cursor:pointer}
  .ex-toggle::after{content:"+";flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-strong);font-family:var(--font-body);font-size:18px;transition:transform .35s var(--ease)}
  .ex-toggle[aria-expanded="true"]::after{transform:rotate(45deg)}
  .ex-block.is-collapsible .ex-body{display:flex;flex-direction:column;gap:10px;padding-bottom:18px}
  .ex-block.is-collapsible .ex-body[hidden]{display:none}
}


/* ==========================================================================
   POP PASS, part 1: structure changes (phone slide, why grid, audiences)
   ========================================================================== */
/* services slide 3: the phone on its own, centred, no box */
.svc-tile .ph.ph-demo{background:none;overflow:visible;box-shadow:none;outline:0}
.svc-tile .ph.ph-demo .phone-demo{isolation:isolate}
.svc-tile .ph.ph-demo .phone-demo::before{content:"";position:absolute;inset:6% 14%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(201,171,130,.42),rgba(201,171,130,0));filter:blur(18px)}
.svc-tile .ph.ph-demo .phone-frame{height:100%;max-height:none;box-shadow:inset 0 0 0 1.5px rgba(236,234,229,.3),0 34px 60px -22px rgba(11,11,12,.55)}
@media (min-width:901px){
  .svc-tile .ph.ph-demo{aspect-ratio:1/1}
  .svc-tile .ph:not(.ph-demo){aspect-ratio:auto;height:100%;min-height:0}
}
@media (max-width:900px) and (min-width:641px){ .svc-tile .ph.ph-demo .phone-frame{height:94%} }
@media (max-width:640px){ .svc-tile .ph.ph-demo{aspect-ratio:1/1.08} .svc-tile .ph.ph-demo .phone-frame{height:100%} }

/* why grid with five cards: 3 on top, 2 wider below, never a lone card */
@media (min-width:901px){
  .why-5{grid-template-columns:repeat(6,minmax(0,1fr))}
  .why-5>.why-card{grid-column:span 2}
  .why-5>.why-card:nth-child(n+4){grid-column:span 3}
}
@media (max-width:900px){ .why-5>.why-card:last-child{grid-column:1/-1} }

/* more audiences, under the photo rows */
.aud-more{list-style:none;margin:clamp(36px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-dark)}
.aud-more li{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:28px clamp(16px,2vw,28px) 4px 0}
.aud-more li+li{padding-left:clamp(16px,2vw,28px);border-left:1px solid var(--line-dark)}
.aud-more h3{font-family:var(--font-display);font-size:clamp(22px,1.8vw,27px);line-height:1.08;color:var(--on-dark);text-wrap:balance}
.aud-more p{font-size:15px;line-height:1.55;color:var(--muted-on-dark)}
@media (max-width:900px){
  .aud-more{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aud-more li:nth-child(3){padding-left:0;border-left:0}
  .aud-more li:nth-child(n+3){border-top:1px solid var(--line-dark);margin-top:24px}
}
@media (max-width:640px){
  .aud-more{grid-template-columns:minmax(0,1fr)}
  .aud-more li,.aud-more li+li{padding:20px 0 4px;border-left:0;margin-top:0}
  .aud-more li+li{border-top:1px solid var(--line-dark)}
  .aud-more h3{font-size:23px}
}

/* ==========================================================================
   POP PASS, part 2: new type, bolder accent, hover life, industry strip
   ========================================================================== */
:root{
  --font-display:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;
  --font-body:'Inter','Helvetica Neue',Arial,sans-serif;
  --hl-light:rgba(201,171,130,.42);
  --hl-dark:rgba(168,134,91,.62);
  --pop-ease:cubic-bezier(.2,.8,.2,1);
}
body{letter-spacing:-.006em;font-feature-settings:"cv11","ss01"}

/* one family, heavy weights, tight spacing */
.h1,.h2,.h3,.display,.mega h4,.mobile-menu nav>a,.mobile-menu summary,.hero-title,.hero-card h2,.svc-tile h3,.xnum,.xtitle,.why-card h3,.row-copy h3,
.pain h3,.check-list li::before,.svc-body h3,.value::before,.value h3,.prose h2,.contact-line a,.contact-card h3,.contact-line .contact-val,.next-title,
.stat-num,.calc-field output,.calc-big,.hiw-step h3,.photo-break-title,.proof-quote,.proof-result-num,.ex-block h3,.ex-related a,.ex-pull p,
.cta-panel h2,.cta-inner .h2,.aud-more h3{font-weight:720;letter-spacing:-.035em;font-style:normal;font-variation-settings:"opsz" 96}
.footer-about p{font-weight:500;letter-spacing:-.02em}
.mega h4,.mobile-menu nav>a,.mobile-menu summary,.contact-line a,.contact-line .contact-val,.ex-related a,.calc-field output{font-weight:650;letter-spacing:-.02em}
.mk-card-head b,.mk-cal-head b,.mk-site-hero b,.mk-site-m b,.mk-bcard-front b,.mk-bcard-back b,.mk-brand-main b,.mk-type b,.mk-type span,.mk-doc-head b,.mk-doc-grand b,.mk-rep-tot b{font-weight:700;letter-spacing:-.02em;font-style:normal}

/* headlines hit harder, labels stay small: a bigger gap between the two */
.hero-title{font-size:clamp(60px,8vw,128px);line-height:.94;letter-spacing:-.045em;color:var(--on-dark)}
.hero-title em{font-style:normal;color:var(--cognac-light)}
.h2{font-size:clamp(40px,4.6vw,70px);line-height:1.0}
.page-hero .h1{font-size:clamp(46px,5.4vw,84px);line-height:.98;letter-spacing:-.04em}
.cta-panel h2,.cta-inner .h2{font-size:clamp(44px,5.6vw,88px);line-height:.98}
.photo-break-title{font-size:clamp(48px,6.4vw,104px);line-height:.96;letter-spacing:-.045em}
.svc-tile h3{font-size:clamp(30px,2.7vw,42px);line-height:1.02}
.row-copy h3{font-size:clamp(30px,3vw,46px);line-height:1.02}
.tag,.eyebrow,.pill,.svc-tile-body::before,.mega-k{font-size:12px;font-weight:600;letter-spacing:.16em}

/* highlighter swipe behind key words */
.h1 em,.h2 em,mark.hl{font-style:normal;color:inherit;padding:0 .08em;margin:0 -.04em;
  background:linear-gradient(transparent 56%,var(--hl-light) 56%,var(--hl-light) 94%,transparent 94%) no-repeat 0 0/100% 100%;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.dark .h2 em,.dark mark.hl,.page-hero .h1 em,.cta-inner .h2 em,.cta-panel h2 em,.section.bg-ink .h2 em,.dark .h1 em{color:var(--on-dark);
  background-image:linear-gradient(transparent 56%,var(--hl-dark) 56%,var(--hl-dark) 94%,transparent 94%)}
main[data-page="index"] #services .h2 em{color:inherit}
.photo-break-title em{color:var(--cognac-light)}
.js-motion .rv-lines:not(.is-in) em,.js-motion .rv-lines:not(.is-in) mark.hl{background-size:0% 100%}
.js-motion .rv-lines em,.js-motion .rv-lines mark.hl{transition:background-size 1s var(--pop-ease) .55s}
.js-motion .page-hero .h1 em{animation:hl-in 1.1s var(--pop-ease) .5s both}
@keyframes hl-in{from{background-size:0% 100%}to{background-size:100% 100%}}

/* bigger, bolder numbers */
.stat-num{font-size:clamp(64px,7vw,112px);font-weight:780;line-height:.88;letter-spacing:-.05em;color:var(--cognac-deep)}
.stats .stat:hover .stat-num{color:var(--cognac)}
.calc-big{font-size:clamp(64px,6.6vw,104px);font-weight:780;letter-spacing:-.05em;color:var(--cognac-deep)}
.dark .calc-big,.calc .dark .calc-big{color:var(--cognac-light)}
.xnum,.hiw-num{font-weight:780}

/* buttons: solid, rounded, alive */
.btn{border-radius:999px;font-weight:700;letter-spacing:.08em;padding:17px 24px 17px 28px;
  transition:transform .35s var(--pop-ease),box-shadow .35s var(--pop-ease),background-color .3s,color .3s;overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--pop-ease)}
.btn:hover::before{transform:translateX(120%)}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px -12px rgba(168,134,91,.75)}
.btn:active{transform:translateY(0)}
.btn .ic{transition:transform .35s var(--pop-ease)}
.btn:hover .ic{transform:translateX(6px)}
.btn,.btn-primary,.btn-light,.btn-dark,.btn-red{background:var(--cognac);color:var(--espresso-deep)}
.btn:hover,.btn-primary:hover,.btn-light:hover,.btn-dark:hover,.btn-red:hover{background:var(--cognac-light);color:var(--espresso-deep)}
.btn-ghost,.btn-outline{background:transparent;color:var(--ink)}
.btn-ghost:hover,.btn-outline:hover{background:var(--ink);color:var(--ivory);box-shadow:0 14px 30px -14px rgba(11,11,12,.6)}
.cta-panel .btn:hover,.cta-inner .btn-light:hover,.cta-inner .btn-primary:hover{background:var(--ivory);color:var(--espresso-deep)}
.btn-sm{padding:12px 18px 12px 20px}
.sticky-cta .btn{border-radius:999px}

/* links: underline swipes in */
.more::after,.arrow-link::after{opacity:1;height:2px;background:var(--cognac);transform:scaleX(.18);transform-origin:left;transition:transform .45s var(--pop-ease)}
.more:hover::after,.arrow-link:hover::after,a:hover .more::after,a:hover .arrow-link::after,.svc-tile:hover .more::after,.svc-card:hover .more::after{transform:scaleX(1)}
.main-nav>ul>li>a{background:linear-gradient(var(--cognac),var(--cognac)) no-repeat 0 100%/0% 2px;transition:background-size .4s var(--pop-ease),color .2s}
.main-nav>ul>li>a:hover{background-size:100% 2px}
.prose a,.answer a,.ex-block a{text-decoration:none;background:linear-gradient(var(--cognac),var(--cognac)) no-repeat 0 100%/100% 1px;transition:background-size .4s var(--pop-ease)}
.prose a:hover,.answer a:hover,.ex-block a:hover{background-size:100% 40%}

/* photos zoom gently, cards lift */
.ph>.ph-img{transition:scale 1.1s var(--pop-ease),filter .6s}
.ph:hover>.ph-img,a:hover .ph>.ph-img,.svc-tile:hover .ph>.ph-img,.svc-card:hover .ph>.ph-img,.row:hover .ph>.ph-img,.media-row .ph:hover>.ph-img{scale:1.06}
.why-card,.svc-card,.value,.aud-more li,.hiw-step,.pain,.ex-block,.xitem{transition:transform .45s var(--pop-ease),background-color .35s}
@media (hover:hover) and (min-width:901px){
  .why-card:hover,.value:hover,.hiw-step:hover,.aud-more li:hover,.ex-block:hover{transform:translateY(-6px)}
  .svc-card:hover,.svc-tile:hover{transform:translateY(-6px)}
  .svc-tile{transition:transform .45s var(--pop-ease)}
  .why-card:hover h3,.value:hover h3,.hiw-step:hover h3,.svc-card:hover h3,.svc-tile:hover h3{color:var(--cognac-deep)}
  .dark .why-card:hover h3,.aud-more li:hover h3{color:var(--cognac-light)}
  .row:hover .row-copy h3{color:var(--champagne)}
  .row .ph{transition:transform .6s var(--pop-ease)}
  .row:hover .ph{transform:rotate(-1.2deg) scale(1.01)}
  .row:nth-child(even):hover .ph{transform:rotate(1.2deg) scale(1.01)}
  .svc-tile .ph.ph-demo .phone-frame{transition:transform .7s var(--pop-ease)}
  .svc-tile:hover .ph.ph-demo .phone-frame{transform:rotate(-3deg) translateY(-6px)}
}
.why-card h3,.value h3,.hiw-step h3,.svc-card h3,.svc-tile h3,.row-copy h3,.aud-more h3{transition:color .3s}

/* industry strip: a slow ticker of every kind of business we serve */
.ticker{position:relative;overflow:hidden;background:var(--cognac);color:var(--espresso-deep);border-block:1px solid rgba(11,11,12,.15)}
.ticker-track{display:flex;width:max-content;animation:ticker 60s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker ul{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.ticker li{display:flex;align-items:center;gap:clamp(18px,2vw,30px);padding:clamp(14px,1.5vw,20px) 0 clamp(14px,1.5vw,20px) clamp(18px,2vw,30px);
  font-family:var(--font-display);font-weight:720;font-size:clamp(22px,2.4vw,36px);letter-spacing:-.03em;line-height:1;white-space:nowrap}
.ticker li::after{content:"";width:.42em;height:.42em;border-radius:50%;background:var(--espresso-deep);opacity:.85}
.ticker li:nth-child(3n+2){color:var(--ivory)}
@keyframes ticker{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .ticker-track{animation:none}
  .btn:hover,.why-card:hover,.svc-card:hover,.svc-tile:hover,.value:hover,.hiw-step:hover,.aud-more li:hover,.ex-block:hover,.row:hover .ph,.svc-tile:hover .ph.ph-demo .phone-frame{transform:none}
  .ph:hover>.ph-img,a:hover .ph>.ph-img,.svc-tile:hover .ph>.ph-img,.svc-card:hover .ph>.ph-img,.row:hover .ph>.ph-img{scale:1}
  .btn::before{display:none}
}

/* phones */
@media (max-width:640px){
  .hero-title{font-size:clamp(46px,13vw,58px);line-height:.95}
  .h2{font-size:clamp(34px,9.6vw,42px)}
  .page-hero .h1{font-size:clamp(40px,11vw,50px)}
  .cta-panel h2,.cta-inner .h2{font-size:clamp(38px,10.4vw,46px)}
  .photo-break-title{font-size:clamp(40px,11vw,52px)}
  .stat-num{font-size:60px}
  .calc-big{font-size:58px}
  .svc-tile h3{font-size:30px}
  .row-copy h3{font-size:28px}
  .ticker li{font-size:22px}
  .btn{padding:16px 22px 16px 24px}
}


/* POP PASS, part 3: fixes after review */
@media (min-width:901px){
  .svc-tile .ph.ph-demo{aspect-ratio:auto;height:clamp(320px,27vw,400px)}
  .svc-tile .ph.ph-demo .phone-demo{height:100%}
  .svc-tile .ph.ph-demo .phone-frame{height:100%;width:auto}
}
.cta-panel h2 em,.cta-inner h2 em,.cta-inner .h2 em{font-style:normal;color:var(--on-dark);padding:0 .08em;margin:0 -.04em;
  background:linear-gradient(transparent 58%,var(--hl-dark) 58%,var(--hl-dark) 92%,transparent 92%) no-repeat 0 0/100% 100%;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.js-motion .rv-lines:not(.is-in) em{background-size:0% 100%}
:root{--hl-dark:rgba(168,134,91,.5)}
.dark .h2 em,.dark mark.hl,.page-hero .h1 em,.dark .h1 em{background-image:linear-gradient(transparent 60%,var(--hl-dark) 60%,var(--hl-dark) 92%,transparent 92%)}
.faq-more{border-radius:999px;padding:0 22px;transition:background-color .3s,color .3s,transform .35s var(--pop-ease)}
.faq-more:hover{transform:translateY(-2px)}


/* phone slide: explicit sizes (percent heights don't resolve inside the grid) */
.svc-tile .ph.ph-demo .phone-demo{display:flex;align-items:center;justify-content:center}
@media (min-width:901px){ .svc-tile .ph.ph-demo .phone-frame{height:clamp(320px,27vw,400px);width:auto} }
@media (max-width:900px) and (min-width:641px){ .svc-tile .ph.ph-demo{aspect-ratio:auto;height:400px} .svc-tile .ph.ph-demo .phone-frame{height:380px;width:auto} }
@media (max-width:640px){ .svc-tile .ph.ph-demo{aspect-ratio:auto;height:400px} .svc-tile .ph.ph-demo .phone-frame{height:390px;width:auto} }


.svc-tile .ph.ph-demo{display:flex;align-items:center;justify-content:center}
.svc-tile .ph.ph-demo .phone-demo{width:100%;height:100%;margin:0;grid-area:auto;inset:auto;position:relative}
.svc-tile .phone-screen{font-size:11px;gap:6px;padding:34px 9px 12px}
.svc-tile .pd-time{top:30px}
@media (min-width:901px){ .svc-tile .ph.ph-demo{height:clamp(380px,32vw,460px)} .svc-tile .ph.ph-demo .phone-frame{height:clamp(380px,32vw,460px)} }


@media (max-width:900px){ .svc-tile .ph.ph-demo{height:470px} .svc-tile .ph.ph-demo .phone-frame{height:460px} }


.ph-demo .phone-screen{--on-dark:#F7F6F3;color:#F7F6F3}


.page-hero .h1 em,.section .h1 em,.hero-title em{font-style:normal}


/* ==========================================================================
   EXECUTIVE PASS: monochrome + one bronze accent, chrome numerals, calmer type.
   All motion is kept; only its look is refined.
   ========================================================================== */
:root{
  --grain:none;
  --chrome-dark:linear-gradient(180deg,#FFFFFF 0%,#E4E4E6 38%,#9C9CA1 58%,#D9D9DC 80%,#FFFFFF 100%);
  --chrome-light:linear-gradient(180deg,#3A3A3D 0%,#111112 42%,#6E6E73 62%,#1C1C1E 100%);
}
body{background:var(--ivory)}
::selection{background:#111;color:#fff}

/* type: same family, quieter voice */
.h1,.h2,.h3,.display,.hero-title,.svc-tile h3,.xtitle,.why-card h3,.row-copy h3,.pain h3,.svc-body h3,.value h3,.prose h2,
.contact-card h3,.next-title,.hiw-step h3,.photo-break-title,.proof-quote,.ex-block h3,.ex-pull p,.cta-panel h2,.cta-inner .h2,.aud-more h3{
  font-weight:600;letter-spacing:-.032em}
.hero-title{font-weight:620;letter-spacing:-.045em;font-size:clamp(56px,7.4vw,118px)}
.h2{font-size:clamp(38px,4.2vw,64px);line-height:1.02}
.svc-tile h3,.row-copy h3,.aud-more h3,.why-card h3{font-weight:600}
.tag,.eyebrow,.pill,.svc-tile-body::before,.mega-k{font-weight:600;letter-spacing:.2em;font-size:11.5px}
.tag::before,.eyebrow::before,.pill::before{background:var(--cognac)}
.sec-split .lead,.lead{color:var(--muted)}
.dark .lead,.dark .sec-split .lead{color:var(--muted-on-dark)}

/* key words: the highlighter becomes a fine bronze rule that draws in */
.h1 em,.h2 em,mark.hl,.cta-panel h2 em,.cta-inner h2 em,.cta-inner .h2 em,
.dark .h2 em,.dark mark.hl,.page-hero .h1 em,.dark .h1 em,.section.bg-ink .h2 em{
  color:inherit;padding:0;margin:0;
  background-image:linear-gradient(to top,var(--cognac) 0,var(--cognac) .06em,transparent .06em);
  background-repeat:no-repeat;background-position:0 96%;background-size:100% 100%}
.js-motion .rv-lines:not(.is-in) em,.js-motion .rv-lines:not(.is-in) mark.hl{background-size:0% 100%}

/* chrome finish on the big moments */
.hero-title em{background:var(--chrome-dark);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.photo-break-title em{background:var(--chrome-dark);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.stat-num,.calc-big{background:var(--chrome-light);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:600;letter-spacing:-.05em}
.stats .stat:hover .stat-num{filter:brightness(1.25)}
.dark .calc-big,.dark .stat-num{background:var(--chrome-dark);-webkit-background-clip:text;background-clip:text}
.xnum,.hiw-num{font-weight:600;color:var(--cognac-deep)}
.dark .xnum{color:var(--cognac-light)}

/* buttons: ink on light, white on dark; bronze only as a whisper on hover */
.btn,.btn-primary,.btn-light,.btn-dark,.btn-red{background:var(--ink);color:#fff;box-shadow:none}
.btn:hover,.btn-primary:hover,.btn-light:hover,.btn-dark:hover,.btn-red:hover{background:#2C2C2E;color:#fff;box-shadow:0 14px 30px -14px rgba(0,0,0,.45)}
.hero .btn,.dark .btn:not(.btn-ghost):not(.btn-outline),.page-hero .btn:not(.btn-outline):not(.btn-ghost),.cta .btn,.cta-panel .btn,.cta-band .btn:not(.btn-outline),.cta-inner .btn,
.site-header .btn,.sticky-cta .btn,.mobile-menu .btn,.photo-break .btn{background:#fff;color:var(--ink)}
.hero .btn:hover,.dark .btn:not(.btn-ghost):not(.btn-outline):hover,.page-hero .btn:not(.btn-outline):not(.btn-ghost):hover,.cta .btn:hover,.cta-panel .btn:hover,.cta-band .btn:not(.btn-outline):hover,.cta-inner .btn:hover,
.site-header .btn:hover,.sticky-cta .btn:hover,.mobile-menu .btn:hover{background:var(--champagne);color:var(--ink);box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.btn::before{background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%)}
.btn-ghost,.btn-outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
.btn-ghost:hover,.btn-outline:hover{background:var(--ink);color:#fff}
.dark .btn-outline,.dark .btn-ghost,.page-hero .btn-outline,.page-hero .btn-ghost,.cta-band .btn-outline{color:var(--on-dark);box-shadow:inset 0 0 0 1px var(--line-dark-strong)}
.dark .btn-outline:hover,.dark .btn-ghost:hover,.page-hero .btn-outline:hover,.page-hero .btn-ghost:hover,.cta-band .btn-outline:hover{background:#fff;color:var(--ink)}
.more::after,.arrow-link::after{background:var(--ink)}
.dark .more::after,.dark .arrow-link::after,.page-hero .more::after{background:var(--on-dark)}
.main-nav>ul>li>a{background-image:linear-gradient(var(--on-dark),var(--on-dark))}

/* industry strip: quiet, monochrome */
.ticker{background:var(--paper,#F7F6F3);color:var(--ink);border-block:1px solid var(--line)}
.ticker li{font-weight:560;font-size:clamp(18px,1.7vw,24px);letter-spacing:-.02em;color:var(--ink)}
.ticker li:nth-child(3n+2){color:var(--muted)}
.ticker li::after{width:5px;height:5px;background:var(--cognac);opacity:1}

/* photos: neutral, slightly desaturated, consistent */
.ph>.ph-img,.hero-bg,.cta-panel img,.photo-break-media img,.svc-tile .ph>.ph-img,.svc-tile:hover .ph>.ph-img,.row .ph>.ph-img{
  filter:saturate(.72) contrast(1.06) brightness(.94)!important}
.svc-tile .ph>.ph-img[src*="video-shoot"]{filter:saturate(.6) contrast(1.06) brightness(.86)!important}

/* surfaces */
.calc-panel{background:#fff;box-shadow:0 1px 0 var(--line),0 30px 60px -40px rgba(0,0,0,.25)}
.phone-frame{background:#0B0B0C}
.svc-tile .ph.ph-demo .phone-demo::before{background:radial-gradient(closest-side,rgba(0,0,0,.16),rgba(0,0,0,0))}
.pd-out{background:#fff;color:#111}
.pd-booked{background:var(--cognac);color:#111}
.pd-dot{background:var(--cognac);box-shadow:0 0 0 3px rgba(168,134,91,.25)}
.site-footer{background:#0B0B0C}
input[type=range]{accent-color:var(--ink)}


.photo-break-title em{background:none;-webkit-text-fill-color:currentColor;color:rgba(244,243,240,.62)}
.photo-break::after{background:linear-gradient(90deg,rgba(11,11,12,.78) 0%,rgba(11,11,12,.45) 55%,rgba(11,11,12,.2) 100%)}


@media (max-width:640px){ .svc-tile .ph.ph-demo{height:420px} .svc-tile .ph.ph-demo .phone-frame{height:410px} }


@media (max-width:900px){ .svc-tile .pd-time{display:none} .svc-tile .phone-screen{font-size:10.5px;gap:5px;padding:32px 8px 12px} }


/* ==========================================================================
   INSET PASS: everything below the photo header sits in rounded panels,
   set in from the screen edges with a small gap between them.
   ========================================================================== */
:root{--frame:#E2E0DB;--inset:clamp(10px,1.6vw,24px);--panel-r:clamp(18px,1.8vw,28px);--panel-gap:clamp(8px,.9vw,14px)}
body{background:var(--frame)}
:where(main>section:not(.hero,.page-hero)){background-color:var(--ivory)}
main>section:not(.hero):not(.page-hero),main>.ticker,.site-footer{
  margin-inline:var(--inset);border-radius:var(--panel-r);overflow:clip}
main>section:not(.hero):not(.page-hero),main>.ticker{margin-top:var(--panel-gap)}
main>.ticker{border-block:0}
.cta-band,.cta{background:var(--espresso-deep)}
.cta-panel,.cta-inner{border-radius:0}
.site-footer{margin-top:var(--panel-gap);margin-bottom:var(--inset)}
main{padding-bottom:0}
/* panels are narrower than the screen, so ease the inner side padding a touch */
main>section:not(.hero):not(.page-hero)>.container{padding-inline:var(--panel-pad,clamp(18px,4vw,64px))}
@media (max-width:640px){
  :root{--inset:8px;--panel-r:18px;--panel-gap:8px}
  main>section:not(.hero):not(.page-hero)>.container{padding-inline:var(--panel-pad,18px)}
}
@media print{ main>section,main>.ticker,.site-footer{margin:0;border-radius:0} }


/* motto band (replaces the industry ticker) */
main>.motto{margin:var(--panel-gap) var(--inset) 0;border-radius:var(--panel-r);background:#fff;
  padding:clamp(36px,4.6vw,68px) var(--panel-pad,clamp(20px,5vw,72px));text-align:center}
.motto-line{margin:0 auto;max-width:22ch;font-family:var(--font-display);font-weight:600;font-size:clamp(30px,3.8vw,56px);
  line-height:1.06;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.motto-line em{font-style:normal;background:linear-gradient(to top,var(--cognac) 0,var(--cognac) .06em,transparent .06em) no-repeat 0 96%/100% 100%}
@media (max-width:640px){ .motto-line{font-size:30px;max-width:16ch} }


/* ==========================================================================
   SERVICE SLIDES 1 + 2: animated mock-ups (search result, video ad)
   Same step engine as the phone: .pd-step gets .on one after another.
   ========================================================================== */
.ph-search .phone-demo,.ph-post .phone-demo{font-family:var(--font-body)}
.ph-search .phone-demo::before,.ph-post .phone-demo::before{content:"";position:absolute;inset:8% 6%;z-index:-1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(0,0,0,.14),rgba(0,0,0,0));filter:blur(18px)}
.ph-search .pd-replay,.ph-post .pd-replay{right:0;bottom:0}

/* --- 1. search window --- */
.sx-win{width:min(100%,360px);background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(17,17,18,.08),0 34px 60px -26px rgba(11,11,12,.45);color:#111;font-size:12.5px;line-height:1.35}
.sx-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#F2F1EE;border-bottom:1px solid rgba(17,17,18,.07)}
.sx-dots{display:flex;gap:5px}.sx-dots i{width:8px;height:8px;border-radius:50%;background:#D4D2CD}
.sx-url{flex:1;text-align:center;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8C8C90}
.sx-body{display:flex;flex-direction:column;gap:9px;padding:14px}
.sx-q{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:999px;background:#F5F4F1;box-shadow:inset 0 0 0 1px rgba(17,17,18,.08)}
.sx-q svg{width:15px;height:15px;fill:none;stroke:#66666A;stroke-width:2;flex-shrink:0}
.sx-type{display:inline-block;overflow:hidden;white-space:nowrap;border-right:1.5px solid var(--cognac);font-weight:500;max-width:100%}
.js-motion .sx-q.on .sx-type{animation:sx-type 1.2s steps(21,end) both,sx-caret .8s step-end 1.1s 3}
@keyframes sx-type{from{max-width:0}to{max-width:100%}}
@keyframes sx-caret{50%{border-color:transparent}}
.sx-map{position:relative;height:74px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#EDEBE6,#E3E1DB)}
.sx-road{position:absolute;background:#fff;opacity:.9}
.sx-road.r1{left:-10%;right:-10%;top:44%;height:7px;transform:rotate(-8deg)}
.sx-road.r2{top:-10%;bottom:-10%;left:58%;width:7px;transform:rotate(12deg)}
.sx-pin{position:absolute;width:12px;height:12px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#A7A7AB}
.sx-pin.p2{left:22%;top:24%}.sx-pin.p3{left:78%;top:58%}
.sx-pin.you{left:48%;top:30%;width:16px;height:16px;background:#111}
.sx-pin.you::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid var(--cognac);opacity:0}
.js-motion .sx-map.on .sx-pin.you{animation:sx-drop .6s cubic-bezier(.2,1.4,.4,1) .2s both}
.js-motion .sx-map.on .sx-pin.you::after{animation:sx-ping 1.6s ease-out .8s 2}
@keyframes sx-drop{from{transform:translateY(-26px) rotate(-45deg);opacity:0}to{transform:rotate(-45deg);opacity:1}}
@keyframes sx-ping{from{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}
.sx-res{position:relative;display:grid;grid-template-columns:1fr auto;column-gap:10px;row-gap:2px;padding:11px 12px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px rgba(17,17,18,.09)}
.sx-res b{font-size:14px;font-weight:650;letter-spacing:-.01em}
.sx-stars{grid-column:1;color:var(--cognac);font-size:11.5px;letter-spacing:1px}.sx-stars em{font-style:normal;color:#111;font-weight:600;letter-spacing:0;margin-left:3px}
.sx-stars.dim{color:#B9B9BC}.sx-stars.dim em{color:#8C8C90}
.sx-meta{grid-column:1;font-size:11px;color:#66666A}
.sx-badge{grid-column:1/-1;justify-self:start;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cognac-deep);margin-bottom:2px}
.sx-call{grid-column:2;grid-row:2/5;align-self:center;padding:8px 14px;border-radius:999px;background:#111;color:#fff;font-weight:600;font-size:12px}
.sx-top{box-shadow:inset 0 0 0 1.5px #111,0 12px 24px -16px rgba(0,0,0,.4)}
.sx-other{opacity:.55}
.js-motion .sx-top.on .sx-call{animation:sx-tap .5s ease 1.1s both}
@keyframes sx-tap{40%{transform:scale(.9);background:var(--cognac)}100%{transform:scale(1);background:#111}}
.sx-toast,.px-toast{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:12px;background:#111;color:#F4F3F0;font-size:11.5px}
.sx-toast b,.px-toast b{display:block;font-weight:650;font-size:12px}
.sx-toast span:last-child,.px-toast span:last-child{color:rgba(244,243,240,.7)}
.sx-toast b,.px-toast b{color:#fff}

/* --- 2. video ad card --- */
.px-card{width:min(100%,330px);background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 0 0 1px rgba(17,17,18,.08),0 34px 60px -26px rgba(11,11,12,.45);color:#111;font-size:12.5px;line-height:1.35}
.px-head{display:flex;align-items:center;gap:10px;padding:11px 12px}
.px-head b{display:block;font-size:13px;font-weight:650}.px-head small{display:block;font-size:10.5px;color:#8C8C90}
.px-logo{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-weight:700;font-size:13px;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--cognac)}
.px-media{position:relative;height:150px;overflow:hidden;background:linear-gradient(180deg,#2A2A2D 0%,#4A4038 55%,#A8865B 100%)}
.px-sun{position:absolute;left:50%;top:58%;width:84px;height:84px;margin-left:-42px;border-radius:50%;background:radial-gradient(circle,#F3E3C6,rgba(243,227,198,0) 70%)}
.px-hill{position:absolute;left:-10%;right:-10%;border-radius:50% 50% 0 0}
.px-hill.h1{bottom:-46px;height:90px;background:#1C1C1E}
.px-hill.h2{bottom:-62px;height:90px;left:30%;background:#0E0E0F}
.js-motion .px-media.on .px-sun{animation:px-rise 3.2s ease-out both}
.js-motion .px-media.on .px-hill.h2{animation:px-pan 3.2s ease-out both}
@keyframes px-rise{from{transform:translateY(26px);opacity:.4}to{transform:none;opacity:1}}
@keyframes px-pan{from{transform:translateX(18px)}to{transform:none}}
.px-play{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9)}
.px-play svg{width:18px;height:18px;fill:#111;margin-left:2px}
.js-motion .px-media.on .px-play{animation:px-fade .5s ease .3s both}
@keyframes px-fade{to{opacity:0;transform:scale(1.3)}}
.px-prog{position:absolute;left:10px;right:10px;bottom:8px;height:3px;border-radius:3px;background:rgba(255,255,255,.3);overflow:hidden}
.px-prog i{display:block;height:100%;width:100%;background:#fff;transform-origin:left;transform:scaleX(.35)}
.js-motion .px-media.on .px-prog i{animation:px-play 4.2s linear .4s both}
@keyframes px-play{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.px-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#F5F4F1;font-size:12px}
.px-cta b{padding:7px 12px;border-radius:999px;background:#111;color:#fff;font-size:11.5px;font-weight:600;white-space:nowrap}
.px-likes{padding:10px 12px 0;font-size:11.5px;font-weight:600}
.px-heart{color:var(--cognac);display:inline-block}
.js-motion .px-likes.on .px-heart{animation:px-beat .6s ease .2s 2}
@keyframes px-beat{40%{transform:scale(1.45)}}
.px-sep{color:#B9B9BC;margin:0 3px}
.px-comment{padding:6px 12px 2px;font-size:11.5px;color:#3A3A3D}.px-comment b{font-weight:650;color:#111;margin-right:4px}
.px-toast{margin:10px 12px 12px}

/* sizes: desktop slot is the same height as the phone slide */
@media (min-width:901px){
  .svc-tile .ph.ph-search,.svc-tile .ph.ph-post{height:clamp(380px,32vw,460px)}
}
@media (max-width:900px){
  .svc-tile .ph.ph-search,.svc-tile .ph.ph-post{height:470px;aspect-ratio:auto}
}
@media (max-width:640px){
  .svc-tile .ph.ph-search,.svc-tile .ph.ph-post{height:440px}
  .px-media{height:132px}
}
/* reduced motion: everything shown, nothing moves */
@media (prefers-reduced-motion:reduce){
  .sx-type{border-right:0}
  .px-prog i{transform:scaleX(1)}
}


.sx b,.px b,.sx-call,.px-cta b{text-transform:none!important;letter-spacing:-.01em!important;font-family:var(--font-body)}


/* slide 1: Chrome Car Detailing website mock */
.sx-url{text-transform:none!important;letter-spacing:.02em!important}
.ws-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 14px 14px;border-radius:12px;
  background:linear-gradient(160deg,#1A1A1C 0%,#0B0B0C 60%,#2A2A2D 100%);color:#F4F3F0}
.ws-logo{font-weight:800;font-size:15px;letter-spacing:.22em;line-height:1;background:linear-gradient(180deg,#fff,#9C9CA1 60%,#E4E4E6);-webkit-background-clip:text;background-clip:text;color:transparent}
.ws-logo small{display:block;margin-top:3px;font-size:8.5px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;-webkit-text-fill-color:rgba(244,243,240,.6)}
.sx .ws-h{font-size:17px!important;font-weight:650;line-height:1.1;margin-top:4px;color:#fff;letter-spacing:-.02em!important}
.ws-meta{font-size:10.5px;color:rgba(244,243,240,.7)}
.ws-btn{margin-top:4px;padding:7px 13px;border-radius:999px;background:#fff;color:#111;font-size:11px;font-weight:650}
.ws-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-120%)}
.js-motion .ws-hero.on .ws-shine{animation:ws-shine 1.4s ease .3s 2}
@keyframes ws-shine{to{transform:translateX(120%)}}
.js-motion .ws-hero.on .ws-btn{animation:sx-tap .5s ease 1.6s both}
.ws-svc{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ws-svc span{padding:8px 4px;border-radius:9px;background:#F5F4F1;box-shadow:inset 0 0 0 1px rgba(17,17,18,.07);text-align:center;font-size:10.5px;font-weight:600}
.js-motion .ws-svc.on span{animation:ws-pop .45s ease both}
.js-motion .ws-svc.on span:nth-child(2){animation-delay:.12s}.js-motion .ws-svc.on span:nth-child(3){animation-delay:.24s}
@keyframes ws-pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ws-rev{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(17,17,18,.09);font-size:11px;color:#3A3A3D}
@media (max-width:640px){ .sx .ws-h{font-size:16px!important} }


/* ==========================================================================
   JOE'S RENOVATION STORY: 1 found on the map, 2 website, 3 booked by text
   ========================================================================== */
/* 1. map listing */
.jr-map{height:96px}
.jr-you{position:absolute;left:8px;bottom:7px;font-size:9.5px;font-weight:600;letter-spacing:.04em;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.85);color:#3A3A3D}
.jr-phone{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:12px;background:#F5F4F1;font-weight:650;font-size:13.5px;letter-spacing:.01em}
.jr-phone svg{width:15px;height:15px;fill:none;stroke:#111;stroke-width:1.8;flex-shrink:0}
.jr-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.jr-acts span{padding:8px 4px;border-radius:999px;text-align:center;font-size:11px;font-weight:600;box-shadow:inset 0 0 0 1px rgba(17,17,18,.14)}
.jr-acts .jr-call{background:#111;color:#fff;box-shadow:none}
.js-motion .jr-acts.on .jr-call{animation:sx-tap .5s ease .7s both}

/* 2. search, then the website scrolls */
.jw-win .sx-body{gap:8px}
.jw-hit{display:flex;flex-direction:column;gap:1px;padding:9px 12px;border-radius:12px;box-shadow:inset 0 0 0 1.5px #111}
.jw-hit b{font-size:13.5px;font-weight:650}
.jw-hit span{font-size:10.5px;color:#66666A}
.js-motion .jw-hit.on{animation:jw-press .5s ease .7s both}
@keyframes jw-press{50%{transform:scale(.97);background:#F5F4F1}}
.jw-view{position:relative;height:190px;overflow:hidden;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(17,17,18,.1)}
.js-motion [data-phone] .jw-page.pd-step:not(.on){opacity:1;transform:none}
.jw-page{display:flex;flex-direction:column;gap:10px;padding-bottom:10px}
.js-motion .jw-page.on{animation:jw-scroll 4.2s cubic-bezier(.45,0,.25,1) .2s both}
@keyframes jw-scroll{0%,8%{transform:translateY(0)}100%{transform:translateY(calc(-100% + 190px))}}
.jw-hero{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 12px;background:linear-gradient(160deg,#1A1A1C,#0B0B0C 70%,#2A2A2D);color:#fff}
.jw-logo{font-weight:800;font-size:13px;letter-spacing:.18em;line-height:1}
.jw-logo small{display:block;margin-top:3px;font-size:8px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:rgba(244,243,240,.6)}
.sx .jw-hero b{font-size:15px!important;line-height:1.12;font-weight:650;color:#fff}
.jw-btn{padding:6px 11px;border-radius:999px;background:#fff;color:#111;font-size:10.5px;font-weight:650}
.jw-sec{display:flex;flex-direction:column;gap:6px;padding:0 12px}
.jw-k{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cognac-deep)}
.jw-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.jw-grid span{padding:9px 6px;border-radius:8px;background:#F5F4F1;font-size:10.5px;font-weight:600;text-align:center}
.jw-ba{display:grid;grid-template-columns:1fr 1fr;gap:5px;height:58px}
.jw-ba i{border-radius:8px;display:block}
.jw-ba .b{background:repeating-linear-gradient(135deg,#CFCCC6 0 6px,#C4C1BA 6px 12px)}
.jw-ba .a{background:linear-gradient(180deg,#F4F3F0 0 55%,#A8865B 55% 62%,#E6E4DF 62%)}
.jw-q{font-size:10.5px;color:#3A3A3D}
.jw-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 12px 0;padding:10px;border-radius:10px;background:#111;color:#fff;font-size:11.5px}
.jw-foot .jw-btn{font-size:9.5px;padding:5px 9px}

/* 3. iMessage */
.im .phone-frame{background:#0B0B0C}
.im-screen{background:#fff!important;color:#111!important;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",var(--font-body),sans-serif!important;
  justify-content:flex-start!important;gap:6px!important;padding:30px 9px 12px!important}
.im-head{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0 8px;margin-bottom:2px;border-bottom:1px solid #EDEDEF}
.im-av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#A9A9AE,#86868B);color:#fff;font-size:11px;font-weight:600}
.im .im-head b{font-size:11px;font-weight:600;color:#111;text-transform:none!important;letter-spacing:0!important}
.im-head small{font-size:8.5px;color:#8E8E93}
.im-b{max-width:80%;padding:7px 10px;border-radius:15px;font-size:10.5px;line-height:1.32}
.im-out{align-self:flex-end;background:#0A84FF;color:#fff;border-bottom-right-radius:4px}
.im-in{align-self:flex-start;background:#E9E9EB;color:#111;border-bottom-left-radius:4px}
.im-card{align-self:center;display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:2px;padding:8px 14px;border-radius:12px;background:#F2F2F7;font-size:9.5px;color:#66666A}
.im .im-card b{font-size:12.5px;color:#111;text-transform:none!important;letter-spacing:0!important;font-weight:650}
.im-card small{font-size:8.5px;color:#8E8E93}
.js-motion .im .im-card.on{animation:ws-pop .45s ease both}
@media (max-width:900px){ .im-screen{padding:28px 8px 10px!important} .im-b{font-size:10px} }
@media (prefers-reduced-motion:reduce){ .jw-page{transform:none} }

/* stats: never clip a wide number (e.g. 24/7 in a wider font) */
.stat{min-width:0;overflow:visible}
.stat-num{display:inline-block;white-space:nowrap;font-size:clamp(52px,5.4vw,92px);padding-right:.06em}


/* iMessage: header pinned on top, newest messages at the bottom (older ones slide up underneath) */
.im-screen{justify-content:flex-end!important;padding-top:80px!important}
.im-head{position:absolute;z-index:2;top:0;left:0;right:0;padding:30px 0 8px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px)}
@media (max-width:900px){ .im-screen{padding-top:76px!important} .im-head{padding-top:28px} }


/* ==========================================================================
   STORY: 1 search -> 2 website -> 3 iMessage booking (Joe's Renovation Services)
   ========================================================================== */
.sx-tel{font-weight:600;color:#111!important}
.sx .sx-top .sx-call{grid-row:2/6}

/* 2. website loads, then scrolls */
.wb .sx-body{gap:8px}
.wb-load{height:3px;border-radius:3px;background:#ECEBE8;overflow:hidden}
.wb-load i{display:block;height:100%;background:#111;transform-origin:left;transform:scaleX(1)}
.js-motion .wb-load.on i{animation:wb-load 1.1s cubic-bezier(.3,.7,.2,1) both}
@keyframes wb-load{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.wb-view{position:relative;height:clamp(190px,17vw,250px);border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(17,17,18,.09);background:#fff}
.wb-page{display:flex;flex-direction:column}
.js-motion .wb-view.on .wb-page{animation:wb-scroll 6.5s cubic-bezier(.45,0,.25,1) .5s both}
@keyframes wb-scroll{0%,12%{transform:translateY(0)}38%,48%{transform:translateY(-34%)}72%,80%{transform:translateY(-58%)}100%{transform:translateY(-62%)}}
.wb-hero{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:16px 14px;min-height:150px;
  background:linear-gradient(160deg,rgba(11,11,12,.55),rgba(11,11,12,.88)),linear-gradient(135deg,#C9B79A 0%,#8C7B63 45%,#3A3A3D 100%);color:#fff}
.wb-logo{font-weight:800;font-size:13px;letter-spacing:.2em;line-height:1}
.wb-logo small{display:block;margin-top:3px;font-size:8px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;opacity:.65}
.sx .wb-hero b{font-size:16px;font-weight:650;line-height:1.12;max-width:15ch}
.wb-btn{padding:7px 12px;border-radius:999px;background:#fff;color:#111;font-size:10.5px;font-weight:650}
.wb-btn.dark{background:#111;color:#fff}
.wb-sec{display:flex;flex-direction:column;gap:7px;padding:12px 14px;border-top:1px solid rgba(17,17,18,.07)}
.wb-k{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cognac-deep)}
.wb-svc{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.wb-svc span{padding:8px 4px;border-radius:8px;background:#F5F4F1;text-align:center;font-size:10.5px;font-weight:600}
.wb-gal{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.wb-gal i{height:46px;border-radius:8px;display:block}
.wb-gal .g1{background:linear-gradient(135deg,#E9E4DA,#C9BFAF)}.wb-gal .g2{background:linear-gradient(135deg,#3A3A3D,#6E6E73)}
.wb-gal .g3{background:linear-gradient(135deg,#D8D2C6,#A8865B)}.wb-gal .g4{background:linear-gradient(135deg,#F2F0EC,#BDB8AE)}
.wb-rev{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#3A3A3D}
.wb-end{align-items:flex-start;background:#F5F4F1}
.sx .wb-end b{font-size:13px}




/* ==========================================================================
   SERVICE DEMOS: one size for all three, still until Play is pressed
   ========================================================================== */
.svc-tiles{--dev-h:clamp(380px,32vw,460px)}
@media (max-width:900px){ .svc-tiles{--dev-h:460px} }
@media (max-width:640px){ .svc-tiles{--dev-h:420px} }
.svc-tile .ph.ph-demo,.svc-tile .ph.ph-search,.svc-tile .ph.ph-post{height:calc(var(--dev-h) + 10px);aspect-ratio:auto}
.svc-tile .ph.ph-demo .phone-frame{height:var(--dev-h);width:calc(var(--dev-h) * .4865)}
.svc-tile .sx-win{width:calc(var(--dev-h) * .4865);height:var(--dev-h);display:flex;flex-direction:column;border-radius:28px;font-size:11.5px}
.svc-tile .sx-bar{padding:12px 12px 9px;justify-content:center}
.svc-tile .sx-dots{display:none}
.svc-tile .sx-url{font-size:9.5px}
.svc-tile .sx-body{flex:1;min-height:0;overflow:hidden;padding:10px;gap:8px}
.svc-tile .sx-q{padding:8px 10px;gap:7px;font-size:11px}
.svc-tile .sx-map{height:64px;flex-shrink:0}
.svc-tile .sx-res{padding:9px 10px}
.svc-tile .sx b{font-size:12.5px}
.svc-tile .sx-call{padding:7px 10px;font-size:10.5px}
.svc-tile .wb-view{flex:1;height:auto;min-height:0}
.svc-tile .sx .wb-hero b{font-size:14px}
.svc-tile .wb-hero{padding:13px 11px;min-height:0}
.svc-tile .wb-sec{padding:10px 11px}
.svc-tile .wb-svc span,.svc-tile .wb-svc{font-size:9.5px}
.svc-tile .wb-svc{gap:4px}
/* still until played */
.phone-demo.is-still *,.phone-demo.is-still *::before,.phone-demo.is-still *::after{animation:none!important;transition:none!important}
/* the Play / Replay button: centred pill under each graphic */
.svc-tile .pd-replay{left:50%;right:auto!important;bottom:-4px!important;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;
  min-height:34px;padding:0 16px;border-radius:999px;background:#111;color:#fff;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);font-size:12px;font-weight:600;letter-spacing:.02em}
.svc-tile .pd-replay::before{content:"";width:0;height:0;border-left:7px solid currentColor;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent}
.svc-tile .pd-replay:hover{background:var(--cognac);color:#111}
.svc-tile .pd-replay[hidden]{display:none}


/* slide 2: Joe's website, loading then scrolled like a finger would */
.wb .sx-win{position:relative}
.wb .sx-bar{gap:6px}
.wb-lock{width:10px;height:10px;fill:none;stroke:#8C8C90;stroke-width:2.4}
.wb .wb-load{position:relative;height:3px;margin:0;border-radius:0;background:transparent;flex-shrink:0}
.wb .wb-load i{background:#111}
.js-motion .wb .wb-load.on i{animation:wb-load 1.1s cubic-bezier(.3,.7,.2,1) both,wb-done .3s ease 1.2s both}
@keyframes wb-done{to{opacity:0}}
.wb .wb-view{flex:1;min-height:0;height:auto;border-radius:0;box-shadow:none;position:relative}
.wb .wb-page{will-change:transform}
.js-motion .wb .wb-view.on .wb-page{animation:wb-swipe 7.6s cubic-bezier(.45,0,.2,1) .7s both}
@keyframes wb-swipe{
  0%,8%{transform:translateY(0)}
  22%,34%{transform:translateY(calc(var(--scroll,0px) * .34))}
  50%,62%{transform:translateY(calc(var(--scroll,0px) * .68))}
  80%,100%{transform:translateY(var(--scroll,0px))}}
.wb-touch{position:absolute;left:62%;top:62%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;
  background:rgba(17,17,18,.18);box-shadow:0 0 0 6px rgba(17,17,18,.07);opacity:0;pointer-events:none}
.js-motion .wb .wb-view.on .wb-touch{animation:wb-finger 7.6s cubic-bezier(.45,0,.2,1) .7s both}
@keyframes wb-finger{
  0%,7%{opacity:0;transform:translateY(40px)}
  9%{opacity:1;transform:translateY(40px)} 22%{opacity:1;transform:translateY(-50px)} 25%,36%{opacity:0;transform:translateY(40px)}
  38%{opacity:1;transform:translateY(40px)} 50%{opacity:1;transform:translateY(-50px)} 53%,64%{opacity:0;transform:translateY(40px)}
  66%{opacity:1;transform:translateY(40px)} 80%{opacity:1;transform:translateY(-50px)} 84%,100%{opacity:0;transform:translateY(-50px)}}
.wb-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#0B0B0C;color:#fff}
.wb-nav .wb-logo{font-size:11.5px}
.wb-burger{display:flex;flex-direction:column;gap:3px}.wb-burger i{width:14px;height:1.5px;background:#fff;display:block}
.wb .wb-hero{border-radius:0;min-height:0;padding:16px 12px 18px;gap:8px}
.wb .wb-hero span:not(.wb-btn){font-size:10.5px;color:rgba(255,255,255,.75)}
.wb-svc{grid-template-columns:1fr 1fr!important}
.wb-ba{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.wb-ba i{position:relative;display:block;height:64px;border-radius:8px}
.wb-ba .b{background:repeating-linear-gradient(135deg,#CFCCC6 0 6px,#C4C1BA 6px 12px)}
.wb-ba .a{background:linear-gradient(180deg,#F4F3F0 0 52%,#A8865B 52% 60%,#E6E4DF 60%)}
.wb-ba em{position:absolute;left:5px;bottom:5px;font-style:normal;font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 5px;border-radius:4px;background:rgba(255,255,255,.85);color:#111}
.wb-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:11px}
.wb-steps li{display:flex;align-items:center;gap:8px}
.sx .wb-steps b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-size:10px!important;flex-shrink:0}
.wb-rev small{font-size:9.5px;color:#8C8C90}
.wb-end span:not(.wb-btn){font-size:10.5px;color:#66666A}
.wb-end{padding-bottom:16px!important}


/* Play / Replay sits just below each graphic instead of over it */
.svc-tile .ph.ph-demo,.svc-tile .ph.ph-search,.svc-tile .ph.ph-post{height:calc(var(--dev-h) + 50px)}
.svc-tile .ph.ph-demo .phone-demo{align-items:flex-start}
.svc-tile .pd-replay{bottom:0!important}


/* iMessage header: compact, like the real app (status bar, back, small contact, video) */
.im .im-head{position:absolute!important;z-index:3;top:0;left:0;right:0;display:block!important;padding:0 0 5px!important;margin:0!important;gap:0!important;
  background:rgba(247,247,247,.94)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:.5px solid rgba(0,0,0,.14)!important}
.im-status{display:flex;align-items:center;justify-content:space-between;height:26px;padding:6px 16px 0 20px}
.im .im-status b{font-size:9.5px!important;font-weight:600;color:#111;letter-spacing:0!important}
.im-ind{display:flex;align-items:flex-end;gap:1.5px}
.im-ind i{display:block;width:2.5px;background:#111;border-radius:1px}
.im-ind .s1{height:3px}.im-ind .s2{height:4.5px}.im-ind .s3{height:6px}.im-ind .s4{height:7.5px}
.im-ind .bat{display:block;width:15px;height:7px;margin-left:4px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(17,17,18,.45);background:linear-gradient(90deg,#111 0 72%,transparent 72%) 1.5px 1.5px/12px 4px no-repeat}
.im-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 8px}
.im-back{display:flex;align-items:center;gap:1px;color:#0A84FF;font-size:9px;font-weight:500}
.im-back svg{width:7px;height:11px;fill:none;stroke:#0A84FF;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.im-contact{display:flex;flex-direction:column;align-items:center;gap:1px}
.im .im-av{width:22px!important;height:22px!important;font-size:8.5px!important;font-weight:600}
.im-nm{display:flex;align-items:center;gap:1px;font-size:7.5px;color:#111;white-space:nowrap}
.im-nm svg{width:5px;height:8px;fill:none;stroke:#9A9A9F;stroke-width:1.8}
.im-vid{justify-self:end}
.im-vid svg{width:15px;height:11px;fill:none;stroke:#0A84FF;stroke-width:1.8;stroke-linejoin:round}
.im-ts{margin:0 0 2px;text-align:center;font-size:7.5px;line-height:1.35;color:#8E8E93}
.im .im-ts b{font-weight:600;font-size:7.5px!important;color:#8E8E93}
.im .im-screen{padding-top:70px!important}
.svc-tile .im .im-b{font-size:9.5px;padding:6px 9px;border-radius:14px}
.svc-tile .im .im-card{padding:7px 12px}
.svc-tile .im .im-card b{font-size:11px}
.svc-tile .im .im-card span,.svc-tile .im .im-card small{font-size:8px}


.im .im-ts b{text-transform:none!important;letter-spacing:0!important;display:inline}

/* scrolling finger: a pointing hand instead of a dot */
.wb-touch{width:34px!important;height:34px!important;margin:0 0 0 -11px!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.wb-touch svg{display:block;width:100%;height:100%;fill:#fff;stroke:#111;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))}
.wb-touch svg .k{fill:none;stroke-width:1.1;opacity:.55}

/* why grid with four cards: 4 across on desktop, 2x2 on tablets, stacked on phones */
@media (min-width:901px){
  .why-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .why-4>.why-card,.why-4>.why-card:not(:nth-child(3n+1)){padding-left:clamp(18px,2vw,30px);padding-right:clamp(14px,1.6vw,24px);border-left:1px solid var(--line)}
  .why-4>.why-card:first-child{padding-left:0;border-left:0}
}
@media (max-width:900px) and (min-width:641px){
  .why-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-4>.why-card,.why-4>.why-card:not(:nth-child(3n+1)){padding:24px 24px 28px 0;border-left:0}
  .why-4>.why-card:nth-child(even){padding-left:24px;padding-right:0;border-left:1px solid var(--line)}
}

/* FAQ: photo under the intro, fills the left column */
.faq-wrap .faq-ph{width:100%;aspect-ratio:4/3;margin-top:clamp(20px,2.4vw,32px);border-radius:clamp(12px,1.2vw,18px);overflow:hidden}
.faq-wrap .lead .more{display:inline;padding-bottom:2px}
@media (max-width:640px){ .faq-wrap .faq-ph{aspect-ratio:16/10;margin-top:18px} }

/* iMessage: conversation starts right under the contact header (short chats sit at the top, like the real app) */
.im .im-screen{justify-content:flex-start!important;padding-top:78px!important}



/* ==========================================================================
   FOOTER: call to action + full sitemap + contact, polished
   ========================================================================== */
.ft{padding-top:clamp(44px,5vw,72px)!important;color:rgba(244,243,240,.66)}
.ft a{color:inherit;text-decoration:none}
.ft-cta{display:grid;grid-template-columns:minmax(0,1.4fr) auto;align-items:end;gap:28px 48px;padding:clamp(28px,3.4vw,48px);
  border-radius:clamp(14px,1.4vw,22px);background:linear-gradient(135deg,#1A1A1C 0%,#121213 55%,#1F1A14 100%);
  box-shadow:inset 0 0 0 1px rgba(244,243,240,.08);position:relative;overflow:hidden}
.ft-cta::after{content:"";position:absolute;right:-10%;top:-60%;width:55%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(168,134,91,.22),rgba(168,134,91,0));pointer-events:none}
.ft-k{display:inline-flex;align-items:center;gap:12px;font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cognac-light)}
.ft-k::before{content:"";width:28px;height:1px;background:currentColor}
.ft-cta-h{margin:14px 0 0;font-family:var(--font-display);font-weight:600;font-size:clamp(32px,3.8vw,56px);line-height:1.04;letter-spacing:-.03em;color:#F4F3F0;max-width:16ch}
.ft-cta-h em{font-style:normal;background:linear-gradient(to top,var(--cognac) 0,var(--cognac) .06em,transparent .06em) no-repeat 0 96%/100% 100%}
.ft-cta-p{margin:14px 0 0;max-width:46ch;font-size:16px;line-height:1.6;color:rgba(244,243,240,.72)}
.ft-cta-btns{position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;gap:10px}
.ft-cta-btns .btn{justify-content:center}
.ft .ft-cta-btns .btn:not(.btn-outline){background:#fff;color:#111}
.ft .ft-cta-btns .btn:not(.btn-outline):hover{background:var(--champagne);color:#111}
.ft .ft-cta-btns .btn-outline{background:transparent;color:#F4F3F0;box-shadow:inset 0 0 0 1px rgba(244,243,240,.3)}
.ft .ft-cta-btns .btn-outline:hover{background:#fff;color:#111}
.ft-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:36px clamp(24px,3vw,48px);
  padding:clamp(40px,4.6vw,64px) 0 clamp(32px,3.6vw,48px)}
.ft-brand .logo-img{width:150px;height:auto}
.ft-tag{margin:18px 0 0;font-family:var(--font-display);font-size:19px;font-weight:500;line-height:1.3;letter-spacing:-.01em;color:#F4F3F0;max-width:26ch}
.ft-points{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.ft-points li{display:flex;align-items:center;gap:10px}
.ft-points li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--cognac);flex-shrink:0}
.ft-col h4{margin:0 0 16px;font-family:var(--font-body);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cognac-light)}
.ft-col h4 a:hover{color:#fff}
.ft-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14.5px}
.ft-col ul a{background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0% 1px;transition:color .25s,background-size .35s var(--pop-ease,ease)}
.ft-col ul a:hover{color:#fff;background-size:100% 1px}
.ft-info{gap:12px!important}
.ft-info li{display:flex;flex-direction:column;gap:2px}
.ft-lbl{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,243,240,.42)}
.ft-info li span:last-child{color:rgba(244,243,240,.85)}
.ft-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:600;font-size:14px;color:#fff!important}
.ft-link .ic{transition:transform .3s}
.ft-link:hover .ic{transform:translateX(4px)}
.ft-mini{flex-direction:row!important;flex-wrap:wrap;gap:6px 16px!important;margin-top:18px!important;padding-top:16px!important;border-top:1px solid rgba(244,243,240,.1);font-size:13px!important}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;padding-top:22px;padding-bottom:26px;border-top:1px solid rgba(244,243,240,.1);font-size:13px}
.ft-bottom nav{display:flex;gap:22px;flex-wrap:wrap}
.ft-bottom a:hover{color:#fff}
.ft-top{color:#F4F3F0!important;font-weight:600}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (max-width:1100px){
  .ft-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ft-brand{grid-column:1/-1}
}
@media (max-width:900px){
  .ft-cta{grid-template-columns:minmax(0,1fr);align-items:start}
  .ft-cta-btns{flex-direction:row;flex-wrap:wrap}
}
@media (max-width:640px){
  .ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
  .ft-contact{grid-column:1/-1}
  .ft-cta-btns{flex-direction:column}
  .ft-cta-h{font-size:32px}
  .ft-bottom{flex-direction:column;align-items:flex-start}
}

/* footer, minimal: logo + contact details only */
.ft-min{padding-top:clamp(28px,3vw,40px)!important}
.ft-min-row{display:flex;align-items:center;justify-content:space-between;gap:24px 48px;flex-wrap:wrap;padding-bottom:clamp(22px,2.4vw,30px)}
.ft-min .logo-img{width:120px;height:auto}
.ft-min-info{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px clamp(24px,3vw,48px)}
.ft-min-info li{display:flex;flex-direction:column;gap:3px;font-size:14px;color:rgba(244,243,240,.85)}
.ft-min-info a{color:#fff!important;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(244,243,240,.35)}
.ft-min .ft-bottom{padding-top:16px;padding-bottom:18px;font-size:12.5px}
@media (max-width:640px){ .ft-min-row{flex-direction:column;align-items:flex-start} .ft-min-info{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px} }

/* footer: compact call to action + contact strip */
.ft-cta2{padding-top:clamp(26px,2.8vw,36px)!important}
.ft2-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px clamp(24px,3vw,48px);padding-bottom:clamp(20px,2.2vw,28px)}
.ft-cta2 .logo-img{width:116px;height:auto}
.ft2-h{margin:0;font-family:var(--font-display);font-weight:600;font-size:clamp(20px,1.8vw,26px);line-height:1.2;letter-spacing:-.02em;color:#F4F3F0}
.ft2-seo{margin:6px 0 0;max-width:72ch;font-size:13px;line-height:1.55;color:rgba(244,243,240,.55)}
.ft-cta2 .ft2-btn{background:#fff!important;color:#111!important;white-space:nowrap}
.ft-cta2 .ft2-btn:hover{background:var(--champagne)!important}
.ft2-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 32px;padding-top:16px;padding-bottom:18px;border-top:1px solid rgba(244,243,240,.1);font-size:13px}
.ft2-info{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px;color:rgba(244,243,240,.85)}
.ft2-info .ft-lbl{margin-right:6px}
.ft2-info a{color:#fff!important;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(244,243,240,.35)}
.ft2-legal{color:rgba(244,243,240,.5);font-size:12.5px}
.ft2-legal a{color:inherit!important}.ft2-legal a:hover{color:#fff!important}
@media (max-width:900px){ .ft2-top{grid-template-columns:auto minmax(0,1fr)} .ft2-btn{grid-column:1/-1;justify-self:start} }
@media (max-width:640px){
  .ft2-top{grid-template-columns:minmax(0,1fr)} .ft2-btn{justify-self:stretch;justify-content:center}
  .ft2-info{flex-direction:column;gap:6px}
}

/* Who we work with: three aligned columns instead of zig-zag rows */
.section.dark .rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.6vw,40px);border-top:0}
@supports (grid-template-rows:subgrid){
  .section.dark .rows{grid-template-rows:auto auto}
  .section.dark .rows>.row{grid-row:span 2;display:grid!important;grid-template-rows:subgrid;row-gap:20px}
}
.section.dark .rows>.row,.section.dark .rows>.row:nth-child(even){display:flex;flex-direction:column;gap:20px;grid-template-columns:none!important;
  padding:0!important;border:0!important;align-items:stretch}
.section.dark .rows>.row .ph,.section.dark .rows>.row:nth-child(even) .ph{order:0!important;width:100%;aspect-ratio:4/3!important;align-self:stretch;border-radius:clamp(10px,1vw,14px);overflow:hidden;outline:0}
.section.dark .rows>.row .row-copy{gap:10px;align-items:flex-start}
.section.dark .rows>.row .row-copy h3{font-size:clamp(22px,1.9vw,28px)!important;line-height:1.15}
.section.dark .rows>.row .row-copy p{font-size:15px;line-height:1.6;max-width:none}
.section.dark .rows>.row:hover .ph{transform:none}
@media (max-width:900px){
  .section.dark .rows{grid-template-columns:minmax(0,1fr);gap:32px}
  .section.dark .rows>.row,.section.dark .rows>.row:nth-child(even){grid-row:auto;display:grid!important;grid-template-columns:minmax(0,220px) minmax(0,1fr)!important;grid-template-rows:none;column-gap:24px;align-items:center}
}
@media (max-width:640px){
  .section.dark .rows>.row,.section.dark .rows>.row:nth-child(even){display:flex!important;flex-direction:column}
  .section.dark .rows>.row .ph{aspect-ratio:16/10!important}
}

/* FAQ: tighter */
main[data-page="index"] .faq-wrap{align-items:start;gap:24px clamp(32px,4.4vw,72px)}
main[data-page="index"] .faq-wrap>.stack{gap:12px}
main[data-page="index"] .faq-wrap .h2{font-size:clamp(34px,3.4vw,52px);line-height:1.02}
main[data-page="index"] .faq-wrap .faq-ph{aspect-ratio:16/9;margin-top:14px}
main[data-page="index"] .faq summary{padding:15px 0;font-size:16px}
main[data-page="index"] .faq .answer{padding-bottom:16px}
main[data-page="index"] .faq .answer p{font-size:15px;line-height:1.6}
main[data-page="index"] .faq summary .ic{width:34px;height:34px}
main[data-page="index"] .faq-wrap{padding-block:0}
@media (min-width:901px){ main[data-page="index"] .faq-wrap{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)} }

/* ==========================================================================
   MUSHROOM TAUPE: the black content sections become #A99A89 with Deep Mocha text
   (white fails contrast on this mid-tone, so text and accents flip to mocha)
   ========================================================================== */
.dark,.section.dark,.section:has(>.container>.pain-list),.cta-band,.cta,.site-footer,.section.bg-ink{
  --on-dark:#2B211B; --muted-on-dark:rgba(43,33,27,.8); --line-dark:rgba(43,33,27,.2); --line-dark-strong:rgba(43,33,27,.34);
  --cognac-light:#403329; --hl-dark:#403329; --muted-on-ink:rgba(43,33,27,.8);
  background:#A99A89!important;background-image:none!important;color:#2B211B}
.section.dark .tag,.section.dark .pill,.section.dark .eyebrow,.section:has(>.container>.pain-list) .eyebrow{color:#403329}
.section.dark .tag::before,.section.dark .pill::before,.section:has(>.container>.pain-list) .eyebrow::before{background:#403329}
.section.dark .h2,.section.dark h3,.section:has(>.container>.pain-list) .h2,.section:has(>.container>.pain-list) h3,.cta-band .h2{color:#221A15}
.section.dark .lead,.section.dark p,.section:has(>.container>.pain-list) p{color:rgba(43,33,27,.82)}
.section.dark .h2 mark.hl,.section.dark .h2 em{background-image:linear-gradient(to top,#403329 0,#403329 .06em,transparent .06em)}
.section.dark .row:hover .row-copy h3,.aud-more li:hover h3{color:#000}
.section:has(>.container>.pain-list) .ic{color:#403329}
/* closing bands on inner pages */
.cta-band .cta-inner,.cta .cta-panel{background:#A99A89!important;color:#2B211B}
.cta-inner::after,.cta-panel::after{background:none!important}
.cta-inner::before,.cta-panel::before{border-color:rgba(43,33,27,.22)!important;background-image:none!important}
.cta-panel img{opacity:.14!important}
.cta-inner .lead,.cta-panel p{color:rgba(43,33,27,.82)!important}
.cta-inner .eyebrow,.cta-panel .tag{color:#403329!important}
.cta-panel .tag::before{background:#403329!important}
.cta-inner .h2 em,.cta-panel h2 em{color:inherit!important;background-image:linear-gradient(to top,#403329 0,#403329 .06em,transparent .06em)!important}
.cta-band .btn:not(.btn-outline),.cta .btn{background:#2B211B!important;color:#F1E9DC!important}
.cta-band .btn:not(.btn-outline):hover,.cta .btn:hover{background:#403329!important}
.cta-band .btn-outline{color:#2B211B!important;box-shadow:inset 0 0 0 1px rgba(43,33,27,.4)!important}
/* footer */
.site-footer .ft2-h{color:#221A15}
.site-footer .ft2-seo,.site-footer .ft2-legal{color:rgba(43,33,27,.72)}
.site-footer .ft2-info{color:#2B211B}
.site-footer .ft-lbl{color:rgba(43,33,27,.6)}
.site-footer .ft2-info a,.site-footer .ft2-legal a{color:#221A15!important;text-decoration-color:rgba(43,33,27,.4)}
.site-footer .ft2-bottom{border-top-color:rgba(43,33,27,.2)}
.site-footer .ft2-btn{background:#2B211B!important;color:#F1E9DC!important}
.site-footer .ft2-btn:hover{background:#403329!important}

/* taupe sections: cream / white lettering (Warm Ivory), with a whisper of shadow for legibility */
.dark,.section.dark,.section:has(>.container>.pain-list),.cta-band,.cta,.site-footer,.section.bg-ink{
  --on-dark:#FBF7F0; --muted-on-dark:rgba(251,247,240,.92); --line-dark:rgba(251,247,240,.32); --line-dark-strong:rgba(251,247,240,.5);
  --cognac-light:#F1E9DC; --hl-dark:#F1E9DC; color:#FBF7F0}
.section.dark .h2,.section.dark h3,.section:has(>.container>.pain-list) .h2,.section:has(>.container>.pain-list) h3,.cta-band .h2,
.cta-inner .h2,.cta-panel h2,.site-footer .ft2-h{color:#FFFDF9!important;text-shadow:0 1px 2px rgba(64,51,41,.35)}
.section.dark .lead,.section.dark p,.section:has(>.container>.pain-list) p,.cta-inner .lead,.cta-panel p,
.site-footer .ft2-seo,.site-footer .ft2-legal,.site-footer .ft2-info{color:#F7F1E7!important;text-shadow:0 1px 1px rgba(64,51,41,.3)}
.section.dark .tag,.section.dark .pill,.section.dark .eyebrow,.section:has(>.container>.pain-list) .eyebrow,.cta-inner .eyebrow,.cta-panel .tag,.site-footer .ft-lbl{color:#F1E9DC!important}
.section.dark .tag::before,.section.dark .pill::before,.section:has(>.container>.pain-list) .eyebrow::before,.cta-panel .tag::before{background:#F1E9DC!important}
.section.dark .h2 mark.hl,.section.dark .h2 em,.cta-inner .h2 em,.cta-panel h2 em{color:inherit!important;background-image:linear-gradient(to top,#F1E9DC 0,#F1E9DC .06em,transparent .06em)!important}
.section:has(>.container>.pain-list) .ic,.section:has(>.container>.pain-list) .pain-num{color:#F1E9DC}
.section.dark .row:hover .row-copy h3{color:#fff!important}
.site-footer .ft2-info a,.site-footer .ft2-legal a{color:#FFFDF9!important;text-decoration-color:rgba(251,247,240,.5)}
.site-footer .ft2-bottom{border-top-color:rgba(251,247,240,.3)}
.cta-inner::before,.cta-panel::before{border-color:rgba(251,247,240,.35)!important}
.cta-band .btn-outline{color:#FFFDF9!important;box-shadow:inset 0 0 0 1px rgba(251,247,240,.6)!important}
.cta-band .btn-outline:hover{background:#FFFDF9!important;color:#2B211B!important}

/* details: three short blocks side by side, no lone block on its own row */
@media (min-width:901px){ .explainer .ex-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:clamp(24px,3vw,44px)} }

/* ==========================================================================
   IVORY TOPS: inner-page heroes, the scrolled header and the menus move from
   near-black to Ivory #F7F6F3 with ink text (home photo hero stays as is)
   ========================================================================== */
.page-hero,.mega,.mobile-menu,.site-header.scrolled,body:has(main>.page-hero:first-child) .site-header,body:has(main>.page-hero) .site-header{
  --on-dark:#111112; --muted-on-dark:rgba(17,17,18,.68); --line-dark:rgba(17,17,18,.12); --line-dark-strong:rgba(17,17,18,.3);
  --cognac-light:#A8865B; --champagne:#7A6142; --hl-dark:#A8865B; --focus:#A8865B}
.page-hero{background:#EAE6DF!important;color:#111112}
.page-hero::before{background:radial-gradient(60% 70% at 85% 10%,rgba(168,134,91,.10),rgba(168,134,91,0) 60%)!important}
.page-hero .h1,.page-hero .h2,.page-hero h1{color:#111112}
.page-hero .lead{color:rgba(17,17,18,.72)!important;border-left-color:#A8865B!important}
.page-hero .eyebrow{color:#7A6142!important}
.page-hero .eyebrow::before{background:#A8865B!important}
.page-hero .h1 em{color:inherit!important;background-image:linear-gradient(to top,#A8865B 0,#A8865B .06em,transparent .06em)!important}
.page-hero .crumbs{color:rgba(17,17,18,.6)}
.page-hero .crumbs [aria-current]{color:#111112}
.page-hero .btn:not(.btn-outline):not(.btn-ghost),.page-hero .btn-light{background:#111112!important;color:#F7F6F3!important}
.page-hero .btn:not(.btn-outline):not(.btn-ghost):hover,.page-hero .btn-light:hover{background:#2A2A2C!important}
.page-hero .btn-outline,.page-hero .btn-ghost{color:#111112!important;box-shadow:inset 0 0 0 1px rgba(17,17,18,.32)!important;background:transparent!important}
.page-hero .btn-outline:hover,.page-hero .btn-ghost:hover{background:#111112!important;color:#F7F6F3!important}
.page-hero .hero-art .ph{outline-color:rgba(17,17,18,.14)}
.page-hero .sun{opacity:.35}
/* header: dark lettering over ivory heroes and once scrolled */
body:has(main>.page-hero) .site-header,.site-header.scrolled{color:#111112}
body:has(main>.page-hero) .site-header::before,.site-header.scrolled::before{opacity:0!important}
.site-header.scrolled{background:rgba(247,246,243,.96)!important;box-shadow:0 1px 0 rgba(17,17,18,.1)!important;backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px)}
body:has(main>.page-hero) .site-header .main-nav a,.site-header.scrolled .main-nav a,
body:has(main>.page-hero) .site-header .menu-toggle,.site-header.scrolled .menu-toggle{color:#111112}
body:has(main>.page-hero) .site-header .btn,.site-header.scrolled .btn{background:#111112!important;color:#F7F6F3!important}
body:has(main>.page-hero) .site-header .btn:hover,.site-header.scrolled .btn:hover{background:#2A2A2C!important}
/* menus */
.mega{background:#F7F6F3!important;color:#111112;box-shadow:0 24px 60px -20px rgba(17,17,18,.25),0 0 0 1px rgba(17,17,18,.08)!important}
.mega li a{border-top-color:rgba(17,17,18,.08)!important}
.mobile-menu{background:#F7F6F3!important;color:#111112}
.mobile-menu .btn{background:#111112!important;color:#F7F6F3!important}
.mobile-menu nav>a,.mobile-menu summary{border-bottom-color:rgba(17,17,18,.12)!important}

/* darker logo on ivory */
body:has(main>.page-hero) .site-header .logo-img,.site-header.scrolled .logo-img,.mobile-menu .logo-img{content:url("../img/logo-skyline-dark.svg")}
/* "Who it's for" lines up with "Works well with": same label, same top rule, same first-line height */
.ex-foot{align-items:start}
.ex-fit .ex-fit-t{display:block;padding-top:14px;border-top:1px solid var(--line)}
@media (min-width:901px){.ex-fit .ex-fit-t{padding-top:10px}}
.ex-foot .ex-fit{max-width:none}
/* explainer footer: pull line + who-it's-for on the left, works-well-with on the right, all starting on one line */
.ex-foot.ex-level{margin-top:clamp(28px,3vw,44px);padding-top:clamp(22px,2.2vw,30px);border-top:2px solid var(--cognac);align-items:start}
.ex-level .ex-pull{margin:0;padding:0;border:0}
.ex-level .ex-pull p{font-size:clamp(28px,2.6vw,40px);max-width:22ch}
.ex-level .ex-left{display:flex;flex-direction:column;gap:18px;min-width:0}
.ex-level .ex-fit .ex-k{display:block}
.ex-level .ex-related{padding-top:6px}
@media (max-width:900px){.ex-level .ex-pull p{font-size:28px}.ex-level .ex-related{padding-top:0}}
/* FAQ blocks on inner pages: heading stays put, everything tighter */
.faq-wrap>.stack,.faq-wrap>div:first-child{position:static!important;top:auto}
main:not([data-page="index"]) .section:has(>.faq-wrap){padding-block:clamp(44px,4.6vw,68px)}
main:not([data-page="index"]) .faq-wrap{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:24px clamp(36px,5vw,72px)}
main:not([data-page="index"]) .faq-wrap>div:first-child{gap:12px}
main:not([data-page="index"]) .faq-wrap .h2{font-size:clamp(32px,3.1vw,46px);line-height:1.04;text-wrap:balance}
main:not([data-page="index"]) .faq-wrap .faq{border-top:1px solid var(--line-strong)}
main:not([data-page="index"]) .faq-wrap .faq summary{padding:15px 0;font-size:16.5px;gap:18px}
main:not([data-page="index"]) .faq-wrap .faq summary .ic{width:28px;height:28px;padding:6px;flex-shrink:0}
main:not([data-page="index"]) .faq-wrap .faq .answer{padding-bottom:16px}
.faq>.faq-more{margin-top:14px;min-height:40px;padding:0 18px;font-size:12.5px}
@media (max-width:900px){main:not([data-page="index"]) .faq-wrap{grid-template-columns:minmax(0,1fr);gap:18px}}
/* footer: one compact row of keyword service links */
.site-footer .ft2-links{display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:14px;padding-bottom:12px;border-top:1px solid rgba(251,247,240,.3);font-size:12.5px;line-height:1.5}
.site-footer .ft2-links a{color:#FBF7F0;text-decoration:none;opacity:.92;transition:opacity .2s}
.site-footer .ft2-links a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){.site-footer .ft2-links{gap:4px 14px;font-size:12px}}
/* final audit: one tighter vertical rhythm for every panel */
main>section.section{padding-block:clamp(48px,4.4vw,66px)}
main:not([data-page="index"]) .section:has(>.faq-wrap){padding-block:clamp(40px,3.8vw,56px)}
.cta-band .cta-inner{padding-top:clamp(40px,3.6vw,56px)!important;padding-bottom:clamp(40px,3.6vw,56px)!important}
main[data-page="index"] #automation+.section{padding-block:clamp(48px,4.4vw,66px)}
.cta-band .cta-inner .h2{margin-bottom:0}
main>.motto{padding-block:clamp(36px,3.4vw,50px)}
.sec-head,.sec-split{margin-bottom:clamp(24px,2.6vw,38px)}
@media (max-width:640px){main>section.section{padding-block:44px}.cta-band .cta-inner{padding-top:36px!important;padding-bottom:36px!important}}
/* closing band: heading left, copy + button right (no empty half) */
@media (min-width:901px){
  .cta-band .cta-inner{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:auto auto;column-gap:clamp(40px,5vw,88px);row-gap:18px;align-items:end}
  .cta-band .cta-inner>div:first-child{display:contents}
  .cta-band .cta-inner .h2{grid-column:1;grid-row:1/3;align-self:center;margin:0}
  .cta-band .cta-inner .lead{grid-column:2;grid-row:1;align-self:end;margin:0;max-width:40ch}
  .cta-band .cta-inner .btn-row{grid-column:2;grid-row:2;align-self:start;margin:0}
}
@media (max-width:900px){.page-hero .crumbs{row-gap:0;margin-bottom:22px}.page-hero .crumbs a{min-height:36px}}

/* ==========================================================================
   HEADER 2: frozen, solid on arrival, two tiers (info strip + main bar)
   ========================================================================== */
.site-header.hdr2{position:fixed;top:0;left:0;right:0;z-index:60;transform:none!important;color:#111112;
  background:#F7F6F3!important;box-shadow:0 1px 0 rgba(17,17,18,.09)!important;backdrop-filter:none;-webkit-backdrop-filter:none;
  --on-dark:#111112;--muted-on-dark:rgba(17,17,18,.66);--line-dark:rgba(17,17,18,.12);--line-dark-strong:rgba(17,17,18,.3);--cognac-light:#A8865B;--champagne:#7A6142}
.site-header.hdr2::before{display:none!important}
.site-header.hdr2.scrolled{box-shadow:0 1px 0 rgba(17,17,18,.08),0 12px 30px -18px rgba(17,17,18,.35)!important}
/* info strip */
.hdr-top{background:#111112;color:#EDE7DD;font-size:12.5px;letter-spacing:.02em}
.hdr-top-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:38px}
.hdr-tag{display:flex;align-items:center;gap:9px;margin:0;font-weight:500;color:#EDE7DD;white-space:nowrap}
.hdr-tag .ic,.hdr-facts .ic{width:14px;height:14px;color:#C9A878;flex-shrink:0}
.hdr-short{display:none}
.hdr-facts{display:flex;align-items:center;gap:0;margin:0;padding:0;list-style:none;white-space:nowrap}
.hdr-facts li{display:flex;align-items:center;gap:8px;padding:0 18px;color:rgba(237,231,221,.86)}
.hdr-facts li+li{border-left:1px solid rgba(237,231,221,.2)}
.hdr-facts li:last-child{padding-right:0}
.hdr-book{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:#E3C79E!important;letter-spacing:.04em}
.hdr-book .ic{color:currentColor!important;transition:transform .3s var(--ease)}
.hdr-book:hover{color:#fff!important}.hdr-book:hover .ic{transform:translateX(3px)}
/* main bar */
.site-header.hdr2 .header-inner,.site-header.hdr2.scrolled .header-inner{height:74px;gap:clamp(14px,2vw,28px)}
.site-header.hdr2 .logo-img,.site-header.hdr2.scrolled .logo-img{height:52px}
.site-header.hdr2 .main-nav{margin:0 auto}
.site-header.hdr2 .main-nav>ul{gap:2px}
.site-header.hdr2 .main-nav>ul>li>a{padding:10px clamp(9px,1vw,14px);font-size:14px;font-weight:600;letter-spacing:.01em;color:#2A2A2C;
  background:linear-gradient(#A8865B,#A8865B) no-repeat 50% calc(100% - 2px)/0 2px;transition:background-size .35s var(--pop-ease),color .2s}
.site-header.hdr2 .main-nav>ul>li>a::after{display:none}
.site-header.hdr2 .main-nav>ul>li>a:hover,.site-header.hdr2 .has-mega:hover>.mega-trigger,.site-header.hdr2 .has-mega.open>.mega-trigger{color:#111112;background-size:calc(100% - 2*clamp(9px,1vw,14px)) 2px}
.site-header.hdr2 .main-nav a[aria-current="page"],.site-header.hdr2 .main-nav a.is-active{color:#111112;background-size:calc(100% - 2*clamp(9px,1vw,14px)) 2px}
.site-header.hdr2 .header-cta{background:#111112!important;color:#F7F6F3!important;box-shadow:0 10px 24px -14px rgba(17,17,18,.6)}
.site-header.hdr2 .header-cta:hover{background:#A8865B!important;color:#111112!important}
.site-header.hdr2 .menu-toggle{color:#111112;border-color:rgba(17,17,18,.2)}
/* mega: three columns + a promo card */
.site-header.hdr2 .mega{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,.95fr);top:100%;background:#FFFFFF!important;border-top:2px solid #A8865B}
.site-header.hdr2 .mega>div{padding:30px 30px 34px}
.site-header.hdr2 .mega h4{font-size:24px;margin-bottom:12px}
.site-header.hdr2 .mega li a{font-size:14px;padding:8px 0}
.mega-promo{display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:#111112!important;color:#EDE7DD;border-left:0!important}
.mega-promo>.ic{width:30px;height:30px;color:#C9A878}
.mega-promo .mega-k{color:#C9A878!important;margin:0}
.mega-promo p{margin:0;font-size:15px;line-height:1.5;color:rgba(237,231,221,.9)}
body .site-header.hdr2 .mega-promo .btn{margin-top:auto;background:#F7F6F3!important;color:#111112!important}
body .site-header.hdr2 .mega-promo .btn:hover{background:#C9A878!important;color:#111112!important}
/* category quick links fold into the Services menu on narrower screens */
@media (max-width:1240px){.site-header.hdr2 .nav-cat{display:none}}
@media (max-width:1040px){.hdr-facts li:nth-child(2){display:none}}
@media (max-width:900px){
  .hdr-top-in{height:32px;justify-content:center}
  .hdr-facts{display:none}.hdr-long{display:none}.hdr-short{display:inline}
  .site-header.hdr2 .header-inner{height:64px}
  .site-header.hdr2 .logo-img{height:44px}
}
/* page tops start right under the frozen header and fit on arrival */
.page-hero{padding-top:calc(112px + clamp(22px,2.6vw,38px))!important;padding-bottom:clamp(36px,3.6vw,52px)!important}
.page-hero .crumbs{margin-bottom:clamp(18px,2vw,28px)}
.page-hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,380px)!important;gap:28px clamp(36px,4.6vw,72px)!important;align-items:center}
.page-hero .h1{font-size:clamp(40px,4.3vw,66px)!important;line-height:1.02!important;max-width:18ch}
.page-hero.simple .h1{max-width:20ch}
.page-hero-grid>div:first-child{gap:18px!important}
.page-hero .hero-art{max-width:380px}
.page-hero .hero-art .ph{aspect-ratio:4/4.4}
@media (max-width:900px){
  .page-hero{padding-top:calc(96px + 22px)!important}
  .page-hero-grid{grid-template-columns:minmax(0,1fr)!important}
  .page-hero .h1{font-size:clamp(36px,9.4vw,46px)!important}
}
/* home: the photo hero sits under the solid header */
main[data-page="index"] .hero{margin-top:112px;min-height:calc(100svh - 112px)}
@media (max-width:900px){main[data-page="index"] .hero{margin-top:96px;min-height:calc(100svh - 96px)}}

/* ==========================================================================
   CLOSING BAND + FOOTER 3: taupe call-to-action card, then a clean ivory
   footer with organised service columns (no more blending)
   ========================================================================== */
/* closing band */
.cta-band .cta-inner{background:#A99A89!important;background-image:radial-gradient(70% 120% at 100% 0%,rgba(255,250,240,.18),rgba(255,250,240,0) 60%),radial-gradient(60% 90% at 0% 100%,rgba(43,33,27,.16),rgba(43,33,27,0) 60%)!important;
  box-shadow:0 30px 60px -40px rgba(43,33,27,.55)}
.cta-band .cta-inner::before{inset:14px!important;border:1px solid rgba(251,247,240,.28)!important;border-radius:calc(var(--panel-r,18px) - 8px)}
.cta-band .cta-inner .h2{font-size:clamp(34px,3.4vw,54px)!important;line-height:1.02;max-width:17ch}
.cta-band .cta-inner .lead{font-size:clamp(16px,1.25vw,18px);color:#FBF7F0!important}
.cta-band .cta-inner .btn-row .btn{background:#111112!important;color:#F7F6F3!important;box-shadow:0 14px 28px -16px rgba(17,17,18,.7)}
.cta-band .cta-inner .btn-row .btn:hover{background:#F7F6F3!important;color:#111112!important}

/* footer */
.site-footer.ft3{background:#F7F6F3!important;background-image:none!important;color:#111112!important;text-shadow:none!important;
  padding:0!important;border-top:3px solid #A8865B;overflow:hidden;
  --on-dark:#111112;--muted-on-dark:rgba(17,17,18,.66);--line-dark:rgba(17,17,18,.12)}
.site-footer.ft3 *{text-shadow:none!important}
.ft3-main{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,48px);padding-top:clamp(36px,3.6vw,52px);padding-bottom:clamp(30px,3vw,44px)}
.ft3-brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-right:clamp(0px,2vw,24px)}
.site-footer.ft3 .logo-img{height:64px!important;content:normal}
.ft3-blurb{margin:0;font-size:14px;line-height:1.6;color:rgba(17,17,18,.68)!important;max-width:38ch}
.site-footer.ft3 .ft3-btn{background:#111112!important;color:#F7F6F3!important;font-size:12.5px;padding:12px 20px;min-height:0}
.site-footer.ft3 .ft3-btn:hover{background:#A8865B!important;color:#111112!important}
.ft3-h{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid rgba(17,17,18,.12);font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.ft3-h a{color:#7A6142!important;text-decoration:none}
.ft3-h a:hover{color:#111112!important}
.ft3-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ft3-col li{line-height:1.35}
.ft3-col li a{font-size:14px;line-height:1.35;color:#2A2A2C!important;text-decoration:none;background:linear-gradient(#A8865B,#A8865B) no-repeat 0 100%/0 1px;transition:background-size .3s var(--ease),color .2s}
.ft3-col li a:hover{color:#111112!important;background-size:100% 1px}
.ft3-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 28px;padding-top:16px;padding-bottom:18px;border-top:1px solid rgba(17,17,18,.12)}
.ft3-info{display:flex;flex-wrap:wrap;gap:6px 24px;margin:0;padding:0;list-style:none}
.ft3-info li{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(17,17,18,.72)}
.ft3-info .ic{width:14px;height:14px;color:#A8865B}
.ft3-legal{margin:0;font-size:12.5px;color:rgba(17,17,18,.6)!important}
.ft3-legal a{color:rgba(17,17,18,.75)!important;text-decoration:underline;text-decoration-color:rgba(17,17,18,.25);text-underline-offset:3px}
.ft3-legal a:hover{color:#111112!important}
@media (max-width:1100px){.ft3-main{grid-template-columns:repeat(4,minmax(0,1fr))}.ft3-brand{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px 28px}.ft3-blurb{flex:1 1 320px}}
@media (max-width:700px){
  .ft3-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
  .ft3-brand{flex-direction:column;align-items:flex-start}
  .ft3-blurb{flex:none}
  .ft3-bar{flex-direction:column;align-items:flex-start}
  .ft3-col li a{display:inline-block;padding:3px 0}
}

/* ==========================================================================
   TYPE: Montserrat headings + Karla body
   ========================================================================== */
:root{--font-display:'Montserrat','Helvetica Neue',Arial,sans-serif;--font-body:'Karla','Helvetica Neue',Arial,sans-serif}
body{font-family:var(--font-body)}
.h1,.h2,.h3,.display,.hero-title,.motto-line,.mega h4,.ex-pull p,.ex-related a,.ex-block h3,.why-card h3,.row-copy h3,.hiw-step h3,
.svc-tile h3,.xtitle,.cta-inner .h2,.cta-panel h2,.mobile-menu nav>a,.mobile-menu summary,.photo-break-title,.contact-card h3,.next-title,.aud-more h3,.calc-big,.stat-num{
  font-family:var(--font-display);font-weight:700;letter-spacing:-.025em}
.page-hero .h1,.hero-title{font-weight:700;letter-spacing:-.03em;line-height:1.04!important}
.page-hero .h1{font-size:clamp(38px,3.9vw,60px)!important}
.h2{letter-spacing:-.025em;line-height:1.08}
.ex-block h3,.why-card h3,.hiw-step h3,.row-copy h3,.svc-tile h3,.aud-more h3{font-weight:600;letter-spacing:-.015em}
.eyebrow,.tag,.lbl,.pill,.mega-k,.ft3-h,.hdr-top{font-family:var(--font-body)}
.btn,.faq summary,.main-nav a{font-family:var(--font-body)}
.lead,p{font-family:var(--font-body)}

/* body text: warm charcoal, darker than before but lighter than headings (#111112) */
:root{--muted:#3A3937}
.page-hero .lead{color:#3A3937!important}
.ft3-blurb,.ft3-info li{color:#3A3937!important}
.ft3-legal{color:#4A4845!important}
.ft3-legal a{color:#3A3937!important}
.page-hero .crumbs{color:#4A4845}
.ex-related li span,.faq .answer,.faq .answer p{color:#3A3937}
/* info strip removed: header is a single 74px bar (64px on phones) */
.page-hero{padding-top:calc(74px + clamp(22px,2.6vw,38px))!important}
main[data-page="index"] .hero{margin-top:74px;min-height:calc(100svh - 74px)}
@media (max-width:900px){.page-hero{padding-top:calc(64px + 22px)!important}main[data-page="index"] .hero{margin-top:64px;min-height:calc(100svh - 64px)}}
.ph.has-photo::before{display:none!important}
@media print{
  .site-header,.action-bar,.mobile-menu{display:none}
  .hero,.page-hero,.dark,#pricing,.cta-panel,.cta-inner,.site-footer{background:#fff!important;color:#000!important}
}

/* ===== Overlay cards: crisp UI moments laid over photos ===== */
.ov-wrap{position:relative}
.ov{position:absolute;z-index:3;display:flex;align-items:center;gap:14px;max-width:min(330px,86%);padding:14px 18px 14px 14px;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 18px 40px -12px rgba(11,11,12,.35),0 2px 6px rgba(11,11,12,.08);font-family:var(--font-body);text-align:left;line-height:1.3}
.ov-ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--cognac);color:#fff}
.ov-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ov-ic.go{background:#2e9d58}
.ov .ov-k{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ov-k i{width:7px;height:7px;border-radius:50%;background:#2e9d58;box-shadow:0 0 0 3px rgba(46,157,88,.18)}
.ov .ov-t{display:block;font-family:var(--font-body);font-size:16px;font-weight:600;letter-spacing:-.005em;text-transform:none;margin:2px 0 0;color:var(--ink)}
.ov-s{display:block;font-size:13px;color:var(--muted);margin-top:1px}
.ov-stars{color:#E3A008;letter-spacing:1px;font-size:13px}
.ov.bl{left:20px;bottom:20px}.ov.tr{right:20px;top:20px}.ov.br{right:20px;bottom:20px}.ov.tl{left:20px;top:20px}
@media (max-width:900px){.ov.bl,.ov.tl{left:12px}.ov.tr,.ov.br{right:12px}.ov.bl,.ov.br{bottom:12px}.ov.tl,.ov.tr{top:12px}.ov{padding:11px 14px 11px 11px;gap:11px}.ov-ic{width:38px;height:38px}.ov-t{font-size:15px}}

/* ===== About page (redesign) ===== */
.ab-hero{position:relative;min-height:min(86vh,820px);display:flex;align-items:flex-end;color:#fff;background:var(--espresso);overflow:hidden;isolation:isolate}
.ab-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ab-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,11,12,.35) 0%,rgba(11,11,12,.05) 30%,rgba(11,11,12,.55) 70%,rgba(11,11,12,.85) 100%)}
.ab-hero-inner{padding-top:160px;padding-bottom:clamp(56px,7vw,96px)}
.ab-hero .crumbs{color:rgba(255,255,255,.85)}
.ab-hero .crumbs [aria-current]{color:#fff}
.ab-hero .eyebrow{color:var(--cognac-light)}
.ab-hero .h1{color:#fff;max-width:15ch;margin:18px 0 22px}
.ab-hero .h1 em{color:var(--cognac-light)}
.ab-hero .lead{color:rgba(255,255,255,.82);max-width:44ch}
.ab-story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:start}
.ab-story .h2{margin-top:18px}
.ab-story-copy p{font-size:17px;line-height:1.65;color:var(--muted);max-width:52ch}
.ab-story-copy .ab-big{font-family:var(--font-display);font-size:clamp(24px,2.2vw,32px);line-height:1.3;color:var(--ink);margin-bottom:22px;max-width:30ch}
.ab-story-copy .btn-row{margin-top:30px}
.ab-promise-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px);margin-top:clamp(36px,4vw,56px);padding:0;list-style:none}
.ab-promise-list li{border-top:1px solid var(--line-strong);padding-top:26px}
.ab-n{display:block;font-family:var(--font-display);font-size:clamp(44px,4vw,64px);line-height:1;color:var(--cognac);margin-bottom:22px}
.ab-promise-list h3{font-family:var(--font-display);font-size:clamp(22px,1.8vw,26px);line-height:1.2;margin-bottom:10px;color:var(--ink)}
.ab-promise-list p{font-size:16px;line-height:1.6;color:var(--muted)}
.ab-who-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.ab-who-ph{aspect-ratio:4/5;padding:0}
.ab-who .h2{margin:18px 0 18px}
.ab-who-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin-top:30px;padding:0;list-style:none}
.ab-who-list li{padding:15px 0;border-bottom:1px solid var(--line);font-size:16px;font-weight:500;color:var(--ink)}
.ab-show{position:relative;min-height:min(80vh,720px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:var(--espresso)}
.ab-show-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.ab-show-inner{padding-block:clamp(40px,6vw,80px)}
.ab-show-card{max-width:520px;background:var(--ivory);padding:clamp(28px,3.5vw,48px);box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}
.ab-show-card .h2{margin:16px 0 16px}
.ab-show-card p{font-size:17px;line-height:1.65;color:var(--muted)}
@media (max-width:900px){
  .ab-story-grid,.ab-who-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .ab-promise-list{grid-template-columns:minmax(0,1fr);gap:0}
  .ab-promise-list li{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:14px;padding:22px 0}
  .ab-n{grid-row:1/3;font-size:36px;margin:0}
  .ab-who-ph{aspect-ratio:16/11}
}
@media (max-width:640px){
  .ab-hero{min-height:620px}
  .ab-hero-inner{padding-top:120px;padding-bottom:44px}
  .ab-who-list{grid-template-columns:minmax(0,1fr)}
  .ab-show{min-height:0;display:block;background:var(--ivory)}
  .ab-show-bg{position:relative;height:300px}
  .ab-show-inner{padding:0}
  .ab-show-card{box-shadow:none;padding:32px var(--gutter) 48px}
}

/* ===== Contact page (redesign) ===== */
.ct{background:var(--ivory)}
.ct-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"intro form" "next form";grid-template-rows:auto 1fr}
.ct-intro,.ct-next{background:var(--espresso);color:#fff;padding-left:max(var(--gutter),calc((100vw - var(--container))/2));padding-right:clamp(32px,5vw,80px)}
.ct-intro{grid-area:intro;padding-top:calc(112px + clamp(40px,5vw,72px));padding-bottom:40px}
.ct-next{grid-area:next;padding-bottom:clamp(56px,6vw,88px)}
.ct-form{grid-area:form;padding:calc(112px + clamp(40px,5vw,72px)) max(var(--gutter),calc((100vw - var(--container))/2)) clamp(56px,6vw,88px) clamp(32px,5vw,80px)}
.ct .crumbs{color:rgba(255,255,255,.75)}
.ct .crumbs [aria-current]{color:#fff}
.ct .eyebrow{color:var(--cognac-light)}
.ct-intro .h1{color:#fff;margin:18px 0 20px;font-size:clamp(44px,4.6vw,76px)}
.ct-intro .h1 em{color:var(--cognac-light)}
.ct-intro .lead{color:rgba(255,255,255,.78)}
.ct-next-title{font-family:var(--font-display);font-size:24px;font-weight:400;color:#fff;padding-top:32px;border-top:1px solid rgba(255,255,255,.16);margin-bottom:22px}
.ct-steps{display:grid;gap:20px;padding:0;margin:0;list-style:none}
.ct-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:16px;align-items:start}
.ct-n{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--cognac-light);color:var(--cognac-light);font-weight:600;font-size:14px}
.ct-steps b{display:block;font-weight:600;color:#fff;font-size:16px;margin-bottom:3px}
.ct-steps span:not(.ct-n){color:rgba(255,255,255,.7);font-size:15px;line-height:1.5}
.ct-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16)}
.ct-facts dt{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:6px}
.ct-facts dd{margin:0;font-size:15px;color:#fff;line-height:1.4}
.ct-form-title{font-family:var(--font-display);font-size:clamp(28px,2.4vw,36px);font-weight:400;color:var(--ink);margin-bottom:28px}
.ct-form .form-submit{margin-top:24px}
@media (max-width:900px){
  .ct-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "form" "next";min-height:0}
  .ct-intro,.ct-next{padding-left:var(--gutter);padding-right:var(--gutter)}
  .ct-intro{padding-top:120px;padding-bottom:40px}
  .ct-form{padding:36px var(--gutter) 44px}
  .ct-next{padding-top:8px;padding-bottom:48px}
  .ct-next-title{border-top:0;padding-top:32px}
  .ct-facts{grid-template-columns:minmax(0,1fr);gap:14px}
  .ct-form .form-grid{grid-template-columns:minmax(0,1fr)}
}

/* ==========================================================================
   PREMIUM PASS (10 Nov 2026): same colours, fonts and copy. Calmer, more
   editorial layout. Removes the template tells: rounded inset panels,
   accent rules before labels, letter-spaced uppercase everywhere,
   highlighter underlines on headline words, offset outline frames.
   ========================================================================== */
body{background:var(--ivory)}
main>section:not(.hero):not(.page-hero),main>.ticker,.site-footer{margin-inline:0!important;border-radius:0!important;margin-top:0!important}
.site-footer{margin-bottom:0!important}
main>section:not(.hero):not(.page-hero)+section:not(.dark):not(.cta-band):not(.bg-white):not(.ab-show){border-top:1px solid var(--line)}
main>section:not(.hero):not(.page-hero)>.container{padding-inline:var(--gutter)!important}
.section{padding-block:clamp(80px,9vw,140px)}
@media (max-width:640px){.section{padding-block:64px}}

/* labels: quiet, sentence case, no rule */
.eyebrow,.tag,.pill,.lbl{letter-spacing:.02em!important;text-transform:none!important;font-size:14px!important;font-weight:500!important;gap:0!important;color:var(--cognac-deep)}
.eyebrow::before,.tag::before,.num-eyebrow::before,.pill::before{content:none!important;display:none!important}
.dark .eyebrow,.dark .tag,.dark .pill,.page-hero .eyebrow,.hero .tag,.bg-ink .eyebrow,.cta-panel .tag{color:var(--cognac-light)}
.hero .tag{padding:0!important;background:none!important;border:0!important;box-shadow:none!important}

/* headline accent words: colour only, no highlighter */
.h1 em,.h2 em,.h3 em,mark.hl{background:none!important;padding:0!important;margin:0!important;text-decoration:none!important;font-style:normal;color:var(--cognac-deep)!important}
.dark .h1 em,.dark .h2 em,.dark mark.hl,.page-hero .h1 em,.hero mark.hl,.cta-inner .h2 em,.cta-panel h2 em,.section.bg-ink .h2 em,.ab-hero .h1 em,.ct-intro .h1 em,.photo-break em,.hero-title em{color:var(--cognac-light)!important}
.h1 em::after,.h2 em::after,mark.hl::after{content:none!important}

/* buttons and links: sentence case, no tracking */
.btn{text-transform:none!important;letter-spacing:0!important;font-size:15px!important;font-weight:600!important}
.more,.arrow-link,.mm-sub .mm-all,.faq-more{text-transform:none!important;letter-spacing:0!important;font-size:15px!important;font-weight:600!important}
.crumbs{text-transform:none!important;letter-spacing:0!important;font-size:13px!important;font-weight:500!important}
.footer-col h4,.ft3-h,.ft-col h4,.ft-k{text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:600!important}
.field label{text-transform:none!important;letter-spacing:0!important}
.ov .ov-k{text-transform:none!important;letter-spacing:0!important;font-size:12px!important}
.ct-facts dt{text-transform:none!important;letter-spacing:0!important;font-size:13px!important}

/* photos: clean edges, no offset frames */
.row .ph,.hero-art .ph,.included>div:first-child .ph,.media-row .ph{outline:0!important}
.hero-art .sun{display:none!important}
.ph{border-radius:0}
main>.motto{margin:0!important;border-radius:0!important;background:var(--ivory)!important;border-bottom:1px solid var(--line)}
.motto-line em{background:none!important;color:var(--cognac-deep)}
.section.dark .h2 mark.hl,.section.dark .h2 em,.cta-inner .h2 em,.cta-panel h2 em,body .h1 em,body .h2 em,body mark.hl{background-image:none!important}
.section.dark .h2 mark.hl,.section.dark .h2 em,.cta-inner .h2 em,.cta-panel h2 em{color:var(--cognac-light)!important}
.section.dark .rows>.row .ph,.section.dark .rows>.row:nth-child(even) .ph,.faq-wrap .faq-ph,.svc-tile .ph,.svc-card .ph{border-radius:0!important}
.action-bar a{text-transform:none!important;letter-spacing:0!important;font-size:15px!important;font-weight:600!important}
@media (max-width:640px){.ab-hero::after{background:linear-gradient(180deg,rgba(11,11,12,.55) 0%,rgba(11,11,12,.45) 35%,rgba(11,11,12,.7) 70%,rgba(11,11,12,.9) 100%)}}
.action-bar{background:#111112!important;box-shadow:0 12px 30px -10px rgba(0,0,0,.45)!important}
.action-bar .get{background:#111112!important;color:#F7F6F3!important}
.action-bar a{text-transform:uppercase!important;letter-spacing:.12em!important;font-size:13px!important;font-weight:700!important}
/* no chrome gradient text: solid colours only */
.hero-title em,.photo-break-title em{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:var(--cognac-light)!important;color:var(--cognac-light)!important}
.stat-num,.calc-big{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:var(--ink)!important;color:var(--ink)!important}
.dark .calc-big,.dark .stat-num{-webkit-text-fill-color:var(--on-dark)!important;color:var(--on-dark)!important}
.hero .tag{text-transform:uppercase!important;letter-spacing:.14em!important;font-size:13px!important;font-weight:600!important}
@media (max-width:640px){.hero .tag{font-size:11.5px!important;letter-spacing:.12em!important}}
/* "Who we work with": keep the original styling (Marlon preferred it) */
main>section.section.dark{margin-inline:var(--inset)!important;border-radius:var(--panel-r)!important;margin-top:var(--panel-gap)!important;margin-bottom:var(--panel-gap)!important}
main>section.section.dark>.container{padding-inline:var(--panel-pad,clamp(18px,4vw,64px))!important}
@media (max-width:640px){main>section.section.dark>.container{padding-inline:var(--panel-pad,18px)!important}}
.section.dark .rows>.row .ph,.section.dark .rows>.row:nth-child(even) .ph{border-radius:clamp(10px,1vw,14px)!important}
.section.dark .pill,.section.dark .tag{text-transform:uppercase!important;letter-spacing:.22em!important;font-size:11.5px!important;font-weight:600!important;gap:14px!important}
.section.dark .pill::before,.section.dark .tag::before{content:""!important;display:block!important;width:28px;height:1px;background:var(--cognac-light);flex-shrink:0}
.section.dark .h2 mark.hl,.section.dark .h2 em{color:inherit!important;background-image:linear-gradient(to top,#F1E9DC 0,#F1E9DC .06em,transparent .06em)!important;background-repeat:no-repeat!important;background-position:0 96%!important;background-size:100% 100%!important}
/* header refresh 10 Nov: tagline-free lockup, more air, flat CTA */
html:root:root body .site-header.hdr2 .header-inner,html:root:root body .site-header.hdr2.scrolled .header-inner{height:80px}
html:root:root body .site-header.hdr2 .logo-img,html:root:root body .site-header.hdr2.scrolled .logo-img{height:44px;width:auto}
html:root:root body .site-header.hdr2 .main-nav>ul>li>a{letter-spacing:0;font-weight:500;color:#111112}
html:root:root body .site-header.hdr2 .header-cta{box-shadow:none!important;padding:14px 22px}
html:root:root body .site-header.hdr2 .menu-toggle{box-shadow:none;width:44px;height:44px;margin-right:-10px}
@media (max-width:900px){html:root:root body .site-header.hdr2 .header-inner,html:root:root body .site-header.hdr2.scrolled .header-inner{height:68px}html:root:root body .site-header.hdr2 .logo-img,html:root:root body .site-header.hdr2.scrolled .logo-img{height:38px}}
html:root:root body .page-hero{padding-top:calc(80px + clamp(22px,2.6vw,38px))!important}
html:root:root body main[data-page="index"] .hero{margin-top:80px;min-height:calc(100svh - 80px)}
@media (max-width:900px){html:root:root body .page-hero{padding-top:calc(68px + 22px)!important}html:root:root body main[data-page="index"] .hero{margin-top:68px;min-height:calc(100svh - 68px)}}
html:root:root body .site-header.hdr2 .logo-img{content:url("../img/logo-skyline-header.svg?v=1")}
/* mobile header 10 Nov: bolder two-line menu icon aligned to the logo */
@media (max-width:900px){
  html:root:root body .site-header.hdr2 .menu-toggle{display:grid;place-items:center;width:44px;height:44px;margin-right:-8px;color:#111112}
  html:root:root body .site-header.hdr2 .menu-toggle .ic{width:28px;height:28px;stroke-width:2;stroke-linecap:square}
  html:root:root body .site-header.hdr2 .logo-img{height:36px}
}
/* header logo: side-by-side lockup (Marlon, 10 Nov) */
html:root:root body .site-header.hdr2 .logo-img{content:url("../img/logo-skyline-header-h.svg?v=2");height:46px!important;width:auto}
@media (max-width:900px){html:root:root body .site-header.hdr2 .logo-img{height:38px!important}}
