:root{
  --ink:#101418; --ink2:#a3adb8; --paper:#060809; --card:#12161b;
  --line:#262d34; --brand:#f97316; --brand-dark:#ff8c42;
  --radius:16px; --shadow:0 10px 30px rgba(0,0,0,.45);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:#ece9e2;background:var(--paper);line-height:1.65;font-size:17px}
h1,h2,h3,h4{font-family:'Manrope',system-ui,sans-serif;line-height:1.15;letter-spacing:-.02em}
h1{font-size:clamp(2.4rem,6vw,4.2rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.5vw,2.5rem);font-weight:800;margin-bottom:.5em}
h3{font-size:1.25rem;font-weight:700}
img{max-width:100%;display:block}
a{color:var(--brand-dark)}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--brand-dark);margin-bottom:.6em}
.eyebrow.light{color:#ffb37a}
.lede{font-size:1.12rem;color:var(--ink2);max-width:640px}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}
.subhead{margin:2.2em 0 1em;font-size:1.4rem}
.fineprint{font-size:.9rem;color:var(--ink2);margin-top:2em}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(6,8,9,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:10px;padding-bottom:10px}
.brand img{height:52px;width:auto;background:#fff;border-radius:10px;padding:5px 9px}
.main-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.main-nav a{color:#ece9e2;text-decoration:none;font-weight:600;font-size:.95rem}
.main-nav a:hover,.main-nav a.active{color:var(--brand-dark)}
.nav-toggle{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:#ece9e2}
.btn{display:inline-block;padding:.8em 1.5em;border-radius:999px;font-weight:700;text-decoration:none;font-size:1rem;transition:transform .15s,background .15s;border:2px solid transparent}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark)}
.btn-dark{background:#1a2027;color:#fff;border-color:#39424c}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.nav-cta{color:#fff !important;padding:.55em 1.2em}

/* hero */
.hero{position:relative;background-size:cover;background-position:center;color:#fff}
.hero-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,12,14,.78) 30%,rgba(10,12,14,.25))}
.hero-in{position:relative;padding:120px 24px 64px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;width:100%}
.hero h1{text-transform:lowercase}
.hero-sub{font-size:1.25rem;max-width:560px;margin:1em 0 1.6em;color:#f3f0ea}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.page-hero{position:relative;padding:90px 0 70px;background:var(--ink);color:#fff;background-size:cover;background-position:center}
.page-hero .lede{color:#d8d3c8}
.page-hero .hero-in{padding:0 24px}
.page-hero h1{margin-bottom:.3em}
/* uniform page-hero banners (2026-11-07): one height on every sub-page */
.page-hero.ph{height:clamp(400px,58svh,620px);padding:0;display:flex}
.page-hero.ph .hero-in{padding:0 24px 46px}
@media (max-width:700px){.page-hero.ph{height:auto;min-height:400px}}
/* stacked-index anchors (2026-11-07): keep anchored sections clear of the sticky header */
section[id]{scroll-margin-top:92px}

/* sections */
.section{padding:80px 0}
.section.alt{background:#0b0e11}
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.card .tag{font-weight:600;color:var(--brand-dark)}
.feature-big{background:var(--ink);color:#fff}
.feature-big h3{color:#ffb37a;margin-bottom:.4em}
.upgrade h3{margin-bottom:.25em}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split-img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;height:100%;object-fit:cover}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.duo img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;height:100%;object-fit:cover}
.media-card{padding:0;overflow:hidden}
.media-card img{height:220px;width:100%;object-fit:cover}

/* social pack page */
.pack-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.pk-media{background:#0b0e11}
.pk-media img,.pk-media video{width:100%;display:block;object-fit:contain}
.pack-grid{align-items:start}
.pk-media.tall{display:flex;justify-content:center}
.pk-media.tall img,.pk-media.tall video{width:auto;max-width:100%;max-height:560px}
.pk-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pk-trio img{width:100%;height:auto;object-fit:contain;display:block}
.pk-cell{aspect-ratio:4/5;background:#0b0e11;display:flex;align-items:center;justify-content:center}
.pk-trio .pk-cell img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.pack-body{padding:20px 22px 22px}
.pack-body h3{margin-bottom:.3em}
.pack-body p{margin:0}
.pack-src{margin-top:.85em !important;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-dark)}
.caption-text{white-space:pre-line;background:#0e1114;border:1px solid var(--line);border-radius:12px;padding:16px 18px;font-size:.92rem;line-height:1.55}
.caption-text .tags{color:var(--brand-dark)}
/* social pack groups (2026-11-07 tidy-up) */
.pack-group{grid-column:1/-1;margin-top:18px}
.pack-group:first-child{margin-top:0}
.pack-group h3{font-size:1.35rem;margin:0 0 .25em;display:flex;align-items:center;gap:14px}
.pack-group h3::after{content:"";flex:1;height:1px;background:var(--line)}
.pack-group p{margin:0;color:var(--ink2)}
.media-card h3{padding:18px 22px}

/* before/after */
.ba{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.ba-imgs{display:grid;grid-template-columns:1fr 1fr}
.ba-imgs div{position:relative}
.ba-imgs img{width:100%;height:230px;object-fit:cover}
.ba-imgs span{position:absolute;left:10px;bottom:10px;background:rgba(10,12,14,.75);color:#fff;font-size:.75rem;font-weight:700;padding:.25em .7em;border-radius:999px;text-transform:uppercase;letter-spacing:.08em}
.ba figcaption{padding:14px 20px;font-weight:700;font-family:'Manrope',sans-serif}

/* before/after drag slider */
.ba-stage{position:relative;height:230px;overflow:hidden;background:#0b0e11}
.ba-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-before-img{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.ba-tag{position:absolute;top:10px;z-index:3;background:rgba(10,12,14,.75);color:#fff;font-size:.72rem;font-weight:700;padding:.25em .7em;border-radius:999px;text-transform:uppercase;letter-spacing:.08em;pointer-events:none}
.ba-tag-before{left:10px}
.ba-tag-after{right:10px}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.18);z-index:4;pointer-events:none}
.ba-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:#fff;color:#101418;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:1px;box-shadow:0 2px 10px rgba(0,0,0,.4);white-space:nowrap}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5;-webkit-appearance:none;appearance:none;background:transparent}

/* dark section + feature icons */
.section.dark{background:var(--ink);color:#e9e5dc}
.section.dark h2,.section.dark .subhead{color:#fff}
.section.dark .lede{color:#cfd4da}
.section.dark .eyebrow{color:#ffb37a}
.section.dark .ba{background:#171c22;border-color:#2a3138}
.section.dark .ba figcaption{color:#fff}
.fi{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--brand);color:#fff;margin-bottom:12px}
.fi svg{width:23px;height:23px}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:1.5em}
.gallery img{height:200px;width:100%;object-fit:cover;border-radius:12px;transition:transform .2s}
.gallery a:hover img{transform:scale(1.03)}

/* pricing */
.size-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:1.2em 0 2em}
.size-btn{aspect-ratio:1/1;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:.5em;border-radius:14px;border:2px solid var(--line);background:#12161b;color:#ece9e2;font-weight:700;cursor:pointer;font-size:1.2rem;line-height:1.25}
.size-btn.selected{background:var(--brand);color:#fff;border-color:var(--brand)}
@media (max-width:640px){.size-picker{gap:8px}.size-btn{font-size:.85rem;border-radius:10px;padding:.35em}}
@media (max-width:400px){.size-btn{font-size:.8rem}}
.price-card{text-align:left;position:relative}
.price-card .price{font-family:'Manrope',sans-serif;font-size:2.6rem;font-weight:800;margin:.2em 0 .4em}
.price-card.popular{border:2px solid var(--brand)}
.badge{position:absolute;top:-13px;right:20px;background:var(--brand);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.1em;padding:.35em .9em;border-radius:999px}
.ticks{list-style:none;margin:0 0 1.4em}
.ticks li{padding:.3em 0 .3em 1.6em;position:relative}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--brand-dark);font-weight:800}
.addon-price{font-family:'Manrope',sans-serif;font-size:1.7rem;font-weight:800;margin:.15em 0 .3em}
.addon h4{font-size:1.1rem}

/* bundles */
.bundle-row{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin-bottom:70px}
.bundle-row img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;height:340px;object-fit:cover}
.bundle-row.flip img{order:2}
.bundle-line{font-weight:700;letter-spacing:.03em;margin-bottom:1em}

/* video */
.video{position:relative;padding-top:56.25%;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* cta + footer */
.cta-band{background:var(--ink);color:#fff;padding:70px 0;text-align:center}
.cta-band h2{margin-bottom:.8em}
.cta-band .hero-cta{justify-content:center}
.site-footer{background:#0b0e11;color:#cfd4da;padding:60px 0 0;margin-top:0}
.footer-in{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:40px}
.footer-logo{height:56px;width:auto;background:#fff;border-radius:10px;padding:6px 10px;margin-bottom:14px}
.site-footer h4{color:#fff;margin-bottom:.6em}
.site-footer a{color:#ffb37a;text-decoration:none}
.footer-base{border-top:1px solid #232a31;padding:18px 24px;font-size:.85rem;color:#8a939e}
.stars{font-size:2.2rem;color:#f5a623;letter-spacing:.2em}
.about-text{font-size:1.12rem;margin-bottom:1.6em}
.dark-cta{justify-content:center;margin:1.6em 0}

/* ===== motion package (2026-11-06) ===== */

/* day-to-dusk hero + parallax layer */
.hero{overflow:hidden;display:flex;flex-direction:column;min-height:94vh;min-height:94svh}
.hero-media{position:absolute;inset:-12% 0;will-change:transform}
.hero-day{position:absolute;inset:0;background-image:url('img/hero-day.jpg');background-size:cover;background-position:center}
.hero-dusk{position:absolute;inset:0;background-image:url('img/hero-dusk.jpg');background-size:cover;background-position:center}
.hero-dusk{opacity:0;animation:duskloop 14s ease-in-out infinite}

@keyframes duskloop{0%,16%{opacity:0}40%,60%{opacity:1}84%,100%{opacity:0}}

/* stats band */
.stats-band{background:var(--ink);color:#fff;padding:46px 0 42px}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}
.stat-num{font-family:'Manrope',sans-serif;font-size:clamp(2rem,4.5vw,3rem);font-weight:800;color:#ffb37a;line-height:1.05}
.stat-num.stat-word{font-size:clamp(1.45rem,3.2vw,2.15rem);padding-top:.3em}
.stat-label{margin-top:.55em;color:#cfd4da;font-size:.98rem}

/* services ticker */
.ticker{background:#0b0e11;border-top:1px solid #232a31;overflow:hidden;padding:13px 0}
.ticker-track{display:flex;width:max-content;animation:tickmove 32s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-set{display:flex;align-items:center;gap:26px;padding-right:26px;font-family:'Manrope',sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;color:#e9e5dc;white-space:nowrap}
.ticker-set b{color:var(--brand);font-weight:400}
@keyframes tickmove{to{transform:translateX(-50%)}}

/* hover life */
.card{transition:transform .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.6)}
.media-card img{transition:transform .45s ease}
.media-card:hover img{transform:scale(1.04)}
.gallery a{display:block;overflow:hidden;border-radius:12px}
.gallery img{transition:transform .45s ease}
.gallery a:hover img{transform:scale(1.04)}
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-230%) skewX(-18deg);transition:transform .65s ease;pointer-events:none}
.btn:hover::after{transform:translateX(330%) skewX(-18deg)}

/* scroll reveals — hidden state only ever applies when JS added .js-motion */
.js-motion .rv{transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
.js-motion .rv:not(.rv-in){opacity:0;transform:translateY(22px)}

@media (max-width:900px){
  .stats-in{grid-template-columns:repeat(2,1fr)}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .hero-dusk{animation:none;opacity:0}
  .ticker-track{animation:none}
  .js-motion .rv:not(.rv-in){opacity:1;transform:none}
  .js-motion .rv,.card,.gallery img,.media-card img,.btn::after{transition:none}
}

@media (max-width:900px){
  .grid-2,.grid-3,.split,.bundle-row,.footer-in{grid-template-columns:1fr}
  .grid-bundles{grid-template-columns:repeat(3,1fr);gap:10px}
  .grid-bundles .card{padding:16px 12px}
  .grid-bundles h3{font-size:1rem}
  .grid-bundles .price-card .price{font-size:1.45rem}
  .grid-bundles .ticks{font-size:.78rem;margin-bottom:1em}
  .grid-bundles p{font-size:.8rem}
  .grid-bundles .ticks li{padding:.25em 0 .25em 1.2em}
  .grid-bundles .btn{padding:.55em .7em;font-size:.78rem;display:block;text-align:center}
  .grid-bundles .badge{top:-9px;right:8px;font-size:.58rem;padding:.3em .7em}
  .grid-keep2{grid-template-columns:repeat(2,1fr);gap:10px}
  .grid-keep2 .card{padding:16px 12px}
  .grid-keep2 h3{font-size:1.02rem}
  .grid-keep2 p{font-size:.82rem}
  .grid-keep3{grid-template-columns:repeat(3,1fr);gap:10px}
  .grid-keep3 .card{padding:14px 10px}
  .grid-keep3 h3{font-size:.92rem}
  .grid-keep3 p{font-size:.76rem}
  .grid-keep3 .fi{width:32px;height:32px;border-radius:9px;margin-bottom:8px}
  .grid-keep3 .fi svg{width:17px;height:17px}
  .grid-keep3 .ba-stage{height:110px}
  .grid-keep3 .ba figcaption{padding:8px 10px;font-size:.72rem}
  .grid-keep3 .ba-tag{font-size:.56rem;top:6px;padding:.2em .55em}
  .grid-keep3 .ba-knob{width:24px;height:24px;font-size:8px}
  .bundle-row.flip img{order:0}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#0d1114;flex-direction:column;align-items:flex-start;padding:18px 24px;border-bottom:1px solid var(--line)}
  .main-nav.open{display:flex}
  .nav-toggle{display:block}
  .site-header .wrap{position:relative}
  .hero-in{padding:80px 24px 70px}
  .ba-imgs img{height:170px}
}

/* ===== lightbox + description reveal (2026-11-06) ===== */
.ba-lightbox{position:fixed;inset:0;z-index:200;background:rgba(3,4,5,.94);display:none;align-items:center;justify-content:center;flex-direction:column;padding:24px}
.ba-lightbox.open{display:flex}
.ba-stage-big{width:min(1100px,94vw);height:min(76vh,760px);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.6)}/* JS resizes it to the photo's true aspect ratio on open */
.ba-close{position:absolute;top:14px;right:18px;width:46px;height:46px;border-radius:50%;border:1px solid #39424c;background:#12161b;color:#fff;font-size:26px;line-height:1;cursor:pointer;z-index:5}
.ba-close:hover{background:var(--brand);border-color:var(--brand)}
.ba-lb-cap{margin-top:16px;color:#ece9e2;font-family:'Manrope',sans-serif;font-weight:700}
.ba-expand{position:absolute;right:10px;bottom:10px;z-index:6;width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(10,12,14,.72);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.ba-expand svg{width:17px;height:17px}
.ba-expand:hover{background:var(--brand)}
@media (hover:hover) and (pointer:fine){
  }
@media (hover:hover) and (pointer:fine){
  }
@media (max-width:900px){
  .ba-expand{width:28px;height:28px;right:6px;bottom:6px}
  .ba-expand svg{width:14px;height:14px}
  .ba-stage-big{height:62vh}
}

/* signature carousel (2026-11-06: carousel per Paul, was a grid collage) */
.sig-carousel{position:relative;margin-top:1.6em}
.sig-gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sig-gallery::-webkit-scrollbar{display:none}
.sig-gallery img{flex:0 0 46%;height:340px;width:auto;object-fit:cover;border-radius:12px;scroll-snap-align:start}
.sig-gallery img.wide{flex-basis:64%}
.sig-nav{position:absolute;top:50%;transform:translateY(-60%);width:46px;height:46px;border-radius:50%;border:1px solid #39424c;background:rgba(10,13,16,.85);color:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;transition:background .2s}
.sig-nav:hover{background:var(--brand);border-color:var(--brand)}
.sig-prev{left:-8px}
.sig-next{right:-8px}
@media (max-width:900px){
  .sig-gallery{gap:10px}
  .sig-gallery img{flex-basis:82%;height:240px}
  .sig-gallery img.wide{flex-basis:94%}
  .sig-nav{width:40px;height:40px;font-size:24px}
  .sig-prev{left:4px}
  .sig-next{right:4px}
}

/* signature photo viewer (2026-11-06) */
.sig-gallery img{cursor:zoom-in}
.photo-lb-img{max-width:94vw;max-height:80vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.photo-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid #39424c;background:#12161b;color:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center}
.photo-nav:hover{background:var(--brand);border-color:var(--brand)}
.photo-prev{left:16px}
.photo-next{right:16px}
@media (max-width:900px){
  .photo-nav{width:40px;height:40px;font-size:24px}
  .photo-prev{left:8px}
  .photo-next{right:8px}
}

/* linked media card (2026-11-06) */
.media-link{display:block;text-decoration:none;color:inherit}
.media-hint{padding:0 22px 18px;margin-top:-8px;color:var(--brand-dark);font-weight:700;font-size:.92rem}

/* example links on pricing cards (2026-11-06) */
.ex-link{display:inline-block;margin-top:.7em;color:var(--brand-dark);font-weight:700;font-size:.92rem;text-decoration:none}
.ex-link:hover{text-decoration:underline}
@media (max-width:900px){ .grid-bundles .ex-link{font-size:.74rem;margin-top:.5em} }

/* ===== interactive + informative additions (2026-11-06) ===== */
.dusk-toggle{margin-top:18px;background:rgba(10,12,14,.55);color:#fff;border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:.55em 1.2em;font-weight:700;font-size:.92rem;cursor:pointer;backdrop-filter:blur(4px)}
.dusk-toggle:hover{background:var(--brand);border-color:var(--brand)}
.hero.show-dusk .hero-dusk{animation:none;opacity:1}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--brand);color:#fff;font-family:'Manrope',sans-serif;font-weight:800;font-size:1.15rem;margin-bottom:12px}
.step h3{margin-bottom:.3em}
.pts-card{padding:32px}
.pts-label{display:block;font-weight:600;margin-bottom:1em}
.pts-card input[type=range]{width:100%;accent-color:var(--brand);height:36px;cursor:pointer}
.pts-outs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center;margin-top:1.2em}
.pts-num{font-family:'Manrope',sans-serif;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800;color:#ffb37a}
.pts-cap{color:var(--ink2);font-size:.92rem;margin-top:.3em}
.rev-wrap{position:relative;margin-top:1.6em}
.rev-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 16px;scrollbar-width:none}
.rev-track::-webkit-scrollbar{display:none}
.rev-card{min-width:235px;max-width:235px;scroll-snap-align:start}
.rev-card .stars{font-size:1.25rem;margin-bottom:.5em}
.rev-name{font-family:'Manrope',sans-serif;font-weight:800;font-size:1.08rem}
.rev-sub{color:var(--ink2);font-size:.9rem}
.rev-cta{display:flex;flex-direction:column;gap:14px;justify-content:center}
.rev-wrap .photo-nav{top:42%}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:12px}
.faq summary{cursor:pointer;font-family:'Manrope',sans-serif;font-weight:700;font-size:1.05rem}
.faq details p{margin-top:.6em;color:var(--ink2)}
/* (the mobile sticky bar's styles lived here; the bar's markup was removed
   from every page on 2026-11-07 — the footer buttons below replace it) */
@media (max-width:900px){
  .pts-outs{gap:10px}
  .rev-wrap .photo-nav{display:none}
}

.hero-guarantee{align-self:flex-start;margin-top:20px;padding:.55em 1.1em;border:1px solid rgba(255,140,66,.7);border-radius:999px;background:rgba(8,10,12,.55);font-weight:700;font-size:.98rem}

.feature-big[data-spw]{cursor:pointer}
.spw-hint{color:var(--brand-dark);font-weight:700;font-size:.92rem;margin-top:10px}
.spw-plus{display:inline-block;transition:transform .25s;font-weight:800}
.feature-big[data-spw].open .spw-plus{transform:rotate(45deg)}
.spw-feats{max-height:0;opacity:0;overflow:hidden;transition:max-height .45s ease,opacity .3s ease,margin .3s ease}
.feature-big[data-spw].open .spw-feats{max-height:480px;opacity:1;margin-top:10px}
@media (hover:hover) and (pointer:fine){
  .feature-big[data-spw]:hover .spw-feats{max-height:480px;opacity:1;margin-top:10px}
  .feature-big[data-spw]:hover .spw-plus{transform:rotate(45deg)}
}
.spw-feats ul{list-style:none;display:grid;gap:6px}
.spw-feats li{padding-left:20px;position:relative;color:var(--muted);font-size:.95rem;line-height:1.35}
.spw-feats li::before{content:"\2713";position:absolute;left:0;color:var(--brand-dark);font-weight:800}

/* upgrade cards on home: tap/click reveals the full description (2026-11-07) */
.card.upgrade.upg-t{cursor:pointer}
.upg-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;margin-top:8px;color:var(--brand-dark);font-weight:700;font-size:.92rem;font-family:inherit;cursor:pointer}
.upg-plus{display:inline-block;transition:transform .25s;font-weight:800}
.card.upgrade.upg-t.open .upg-plus{transform:rotate(45deg)}
.upg-desc{max-height:0;opacity:0;overflow:hidden;transition:max-height .45s ease,opacity .3s ease,margin .3s ease}
.card.upgrade.upg-t.open .upg-desc{max-height:480px;opacity:1;margin-top:8px}

/* combined text-or-call buttons (2026-11-06): phones get a Call/Text chooser, desktops get Email */
.cb-wrap{position:relative;display:inline-block}
.cb-d{display:none}
button.btn{font-family:inherit;cursor:pointer}
.cb-pop{position:absolute;top:calc(100% + 8px);left:0;min-width:190px;background:#12161b;border:1px solid #39424c;border-radius:14px;overflow:hidden;display:none;z-index:95;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.cb-pop.open{display:block}
.cb-pop a{display:block;padding:13px 18px;color:#fff;text-decoration:none;font-weight:700;text-align:center;white-space:nowrap;font-size:1rem}
.cb-pop a + a{border-top:1px solid #262d34}
.cb-pop a:active{background:var(--brand)}
.cb-up .cb-pop{top:auto;bottom:calc(100% + 8px)}
.cb-link{background:none;border:0;padding:0;font:inherit;color:var(--brand);cursor:pointer}
@media (min-width:901px){
  .cb-m{display:none}
  .cb-d{display:inline-block}
}

/* contact form (2026-11-07) */
.contact-card{max-width:640px;margin:2em auto 0;text-align:left}
.contact-card label{display:block;font-weight:600;margin-bottom:1.05em}
.contact-card input[type="text"],.contact-card input[type="email"],.contact-card input[type="tel"],.contact-card textarea{width:100%;margin-top:.35em;padding:.75em 1em;border-radius:10px;border:1px solid var(--line);background:#0b0e11;color:#ece9e2;font:inherit;font-weight:400}
.contact-card textarea{resize:vertical}
.contact-card input:focus,.contact-card textarea:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
.contact-card .btn{width:100%;text-align:center}
.form-thanks{text-align:center;padding:1.2em 0}
.form-thanks h3{color:var(--brand-dark);margin-bottom:.4em;font-size:1.4rem}

/* combined contact buttons — final state (Paul, 2026-11-07): mailto "Email"
   buttons are gone entirely because they depended on the visitor's default
   mail app; the Contact page carries a real form instead. Every combined
   button lives in a .cb-wrap, so all wraps are hidden at ALL widths —
   desktop shows ZERO Email Paul / Email Delia anywhere, footer included.
   The single exception is mobile (<=900px): the footer wraps are restored,
   so every page's footer keeps "Text or Call Paul" + "Text or Call Delia".
   The rule is not keyed to either person. Button-only .hero-cta rows
   collapse instead of leaving an empty flex row, and at desktop widths a
   CTA band whose action row held only combined buttons (Home, Property
   Website) collapses completely; the Bundles band stays because its row
   also contains a real features link. The mobile sticky bar held only
   combined buttons; it was hidden by the rules below, and its markup was
   removed outright later the same day when Paul asked for the footer
   buttons back as two slim orange buttons (see .ftr-calls at the end). */
.cb-wrap{display:none}
.hero-cta:not(:has(> :not(.cb-wrap))){display:none}
@media (min-width:901px){
  .cta-band:has(.hero-cta .cb-wrap):not(:has(.hero-cta > :not(.cb-wrap))){display:none}
}
@media (max-width:900px){
  footer .cb-wrap{display:inline-block}
  body{padding-bottom:0}
}

/* mobile footer call buttons (Paul, 2026-11-07): in the footer the two
   combined buttons render as real buttons — BOTH filled orange
   (.btn-primary), slim padding to keep phone space, side by side in one
   row. They replace the old text-link look; no sticky bar anymore.
   Desktop is untouched: .ftr-calls stays hidden and the wraps with it,
   so no buttons or Email links show in any desktop footer. */
.ftr-calls{display:none}
@media (max-width:900px){
  footer .ftr-calls{display:flex;gap:10px;margin-top:14px}
  footer .ftr-calls .cb-wrap{display:block;flex:1}
  footer .ftr-calls .cb-m{display:block;width:100%}
  footer .ftr-calls .btn-slim{padding:.5em .5em;font-size:.95rem}
  footer .ftr-calls .cb-wrap:last-child .cb-pop{left:auto;right:0}
}
