/* ==========================================================================
   WebProductLabs — shared stylesheet
   Class/ID prefix: wpl-
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --wpl-ink:#14181f;
  --wpl-ink-70:rgba(20,24,31,.72);
  --wpl-ink-55:rgba(20,24,31,.6);
  --wpl-paper:#f2efe6;
  --wpl-paper-dim:#e8e3d3;
  --wpl-paper-line:rgba(20,24,31,.14);
  --wpl-cream-text:#efece3;
  --wpl-dark-line:rgba(242,239,230,.16);
  --wpl-signal:#2f6f5b;
  --wpl-signal-dark:#234f42;
  --wpl-signal-soft:#dce7e0;
  --wpl-copper:#b8763b;
  --wpl-copper-soft:#ecdcc4;
  --wpl-radius-s:6px;
  --wpl-radius-m:10px;
  --wpl-radius-l:16px;
  --wpl-maxw:1360px;
  --wpl-header-h:76px;
  --wpl-shadow-card: 0 18px 40px -22px rgba(20,24,31,.35);
  --wpl-ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--wpl-paper);
  color:var(--wpl-ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,p,figure{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0;}
input,textarea{font:inherit;}

h1,h2,h3,h4,.wpl-display{
  font-family:'Fraunces',Georgia,serif;
  font-weight:500;
  letter-spacing:-0.01em;
  line-height:1.08;
}

.wpl-em{
  font-style:italic;
  font-weight:400;
  color:var(--wpl-signal);
}
.wpl-em--dark{color:#8fd6bd;}
.wpl-em--copper{color:var(--wpl-copper);}

/* Skip link */
.wpl-skip{
  position:absolute;
  left:12px;top:-60px;
  background:var(--wpl-ink);
  color:var(--wpl-paper);
  padding:12px 18px;
  border-radius:var(--wpl-radius-s);
  z-index:1000;
  transition:top .2s var(--wpl-ease);
  font-weight:600;
}
.wpl-skip:focus{top:12px;}

:focus-visible{
  outline:2.5px solid var(--wpl-signal);
  outline-offset:3px;
  border-radius:4px;
}

.wpl-container{
  max-width:var(--wpl-maxw);
  margin:0 auto;
  padding:0 40px;
}
.wpl-container--wide{max-width:1520px;}

.wpl-section{padding:118px 0;}
.wpl-section--tight{padding:76px 0;}
.wpl-section--dark{background:var(--wpl-ink);color:var(--wpl-cream-text);}
.wpl-section--dim{background:var(--wpl-paper-dim);}

.wpl-kicker{
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:14px;
  color:var(--wpl-signal);
  margin:0 0 14px;
}
.wpl-section--dark .wpl-kicker{color:#8fd6bd;}

.wpl-h2{
  font-size:clamp(30px,3.6vw,44px);
  max-width:720px;
}
.wpl-lede{
  font-size:19px;
  color:var(--wpl-ink-70);
  max-width:600px;
  margin-top:18px;
}
.wpl-section--dark .wpl-lede{color:rgba(242,239,230,.72);}

.wpl-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:15px 28px;
  border-radius:999px;
  font-weight:600;
  font-size:15.5px;
  transition:transform .18s var(--wpl-ease), background .18s var(--wpl-ease), border-color .18s var(--wpl-ease), color .18s var(--wpl-ease);
  border:1.5px solid transparent;
  white-space:nowrap;
}
.wpl-btn--primary{background:var(--wpl-signal);color:#fff;}
.wpl-btn--primary:hover{background:var(--wpl-signal-dark);transform:translateY(-2px);}
.wpl-btn--ghost{border-color:var(--wpl-ink);color:var(--wpl-ink);}
.wpl-btn--ghost:hover{background:var(--wpl-ink);color:var(--wpl-paper);transform:translateY(-2px);}
.wpl-section--dark .wpl-btn--ghost{border-color:rgba(242,239,230,.5);color:var(--wpl-cream-text);}
.wpl-section--dark .wpl-btn--ghost:hover{background:var(--wpl-cream-text);color:var(--wpl-ink);}
.wpl-link-arrow{
  display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15.5px;color:var(--wpl-ink);
  border-bottom:1.5px solid transparent;padding-bottom:2px;transition:border-color .18s var(--wpl-ease), gap .18s var(--wpl-ease);
}
.wpl-link-arrow:hover{border-color:currentColor;gap:11px;}
.wpl-section--dark .wpl-link-arrow{color:var(--wpl-cream-text);}
.wpl-link-arrow svg{width:16px;height:16px;}

/* ---------------- Header ---------------- */
.wpl-header{
  position:fixed;top:0;left:0;right:0;z-index:900;
  height:var(--wpl-header-h);
  display:flex;align-items:center;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .25s var(--wpl-ease), border-color .25s var(--wpl-ease), backdrop-filter .25s var(--wpl-ease);
}
.wpl-header.wpl-is-scrolled{
  background:rgba(242,239,230,.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom-color:var(--wpl-paper-line);
}
.wpl-header__inner{
  max-width:var(--wpl-maxw);
  margin:0 auto;
  width:100%;
  padding:0 40px;
  display:flex;align-items:center;justify-content:space-between;
}
.wpl-brand{
  display:flex;align-items:center;gap:10px;
  font-family:'Fraunces',serif;font-size:21px;font-weight:600;
  color:#fff;
  transition:color .25s var(--wpl-ease);
}
.wpl-header.wpl-is-scrolled .wpl-brand{color:var(--wpl-ink);}
.wpl-brand__mark{width:30px;height:30px;flex-shrink:0;}
.wpl-brand em{font-style:italic;color:#8fd6bd;font-weight:500;transition:color .25s var(--wpl-ease);}
.wpl-header.wpl-is-scrolled .wpl-brand em{color:var(--wpl-signal);}

.wpl-nav{display:flex;align-items:center;gap:36px;}
.wpl-nav__list{display:flex;align-items:center;gap:32px;}
.wpl-nav__list a{
  font-size:15px;font-weight:500;color:rgba(242,239,230,.8);
  position:relative;padding:6px 0;
  transition:color .25s var(--wpl-ease);
}
.wpl-nav__list a:hover{color:#fff;}
.wpl-nav__list a[aria-current="page"]{color:#fff;}
.wpl-header.wpl-is-scrolled .wpl-nav__list a{color:var(--wpl-ink-70);}
.wpl-header.wpl-is-scrolled .wpl-nav__list a:hover{color:var(--wpl-ink);}
.wpl-header.wpl-is-scrolled .wpl-nav__list a[aria-current="page"]{color:var(--wpl-ink);}
.wpl-nav__list a[aria-current="page"]::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--wpl-signal);
}
.wpl-nav__cta{margin-left:4px;}

.wpl-burger{
  display:none;
  width:42px;height:42px;
  border-radius:50%;
  align-items:center;justify-content:center;
  border:1px solid rgba(242,239,230,.35);
}
.wpl-header.wpl-is-scrolled .wpl-burger{border-color:var(--wpl-paper-line);}
.wpl-burger span{display:block;width:18px;height:1.5px;background:#fff;position:relative;transition:background .25s var(--wpl-ease);}
.wpl-header.wpl-is-scrolled .wpl-burger span{background:var(--wpl-ink);}
.wpl-burger span::before,.wpl-burger span::after{
  content:"";position:absolute;left:0;width:18px;height:1.5px;background:#fff;transition:transform .2s var(--wpl-ease), top .2s var(--wpl-ease), background .25s var(--wpl-ease);
}
.wpl-header.wpl-is-scrolled .wpl-burger span::before,
.wpl-header.wpl-is-scrolled .wpl-burger span::after{background:var(--wpl-ink);}
.wpl-burger span::before{top:-6px;}
.wpl-burger span::after{top:6px;}
.wpl-burger[aria-expanded="true"] span{background:transparent;}
.wpl-burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg);}
.wpl-burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg);}

.wpl-mobile-panel{
  display:none;position:fixed;top:var(--wpl-header-h);left:0;right:0;
  background:var(--wpl-paper);
  border-bottom:1px solid var(--wpl-paper-line);
  padding:18px 24px 30px;
  transform:translateY(-12px);
  opacity:0;
  pointer-events:none;
  transition:transform .22s var(--wpl-ease), opacity .22s var(--wpl-ease);
  z-index:850;
}
.wpl-mobile-panel.wpl-is-open{transform:translateY(0);opacity:1;pointer-events:auto;}
.wpl-mobile-panel a{display:block;padding:14px 4px;font-size:18px;font-weight:500;border-bottom:1px solid var(--wpl-paper-line);}
.wpl-mobile-panel .wpl-btn{margin-top:18px;width:100%;justify-content:center;}

@media (max-width:900px){
  .wpl-nav__list,.wpl-nav__cta{display:none;}
  .wpl-burger{display:flex;}
  .wpl-mobile-panel{display:block;}
  .wpl-header__inner,.wpl-container{padding:0 22px;}
}

/* ---------------- Reveal / motion ---------------- */
html.wpl-js-ready .wpl-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--wpl-ease), transform .7s var(--wpl-ease);}
html.wpl-js-ready .wpl-reveal.wpl-in-view{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html.wpl-js-ready .wpl-reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
}
noscript .wpl-reveal{opacity:1;}

/* ---------------- Hero (stacked: copy top, visual strip below) ---------------- */
.wpl-hero{
  padding:calc(var(--wpl-header-h) + 76px) 0 0;
  background:var(--wpl-ink);
  color:var(--wpl-cream-text);
  overflow:hidden;
}
.wpl-hero__copy{max-width:820px;}
.wpl-hero__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:14px;font-weight:600;color:#8fd6bd;
  margin-bottom:22px;
}
.wpl-hero__eyebrow span.wpl-dot{width:7px;height:7px;border-radius:50%;background:#8fd6bd;display:inline-block;}
.wpl-hero h1{
  font-size:clamp(40px,6vw,74px);
  color:#fff;
}
.wpl-hero__sub{
  font-size:clamp(17px,1.6vw,21px);
  color:rgba(242,239,230,.76);
  max-width:600px;
  margin-top:26px;
}
.wpl-hero__ctas{display:flex;align-items:center;gap:28px;margin-top:40px;flex-wrap:wrap;}
.wpl-hero__avail{
  margin-top:28px;font-size:14.5px;color:rgba(242,239,230,.6);
  display:flex;align-items:center;gap:9px;
}
.wpl-hero__avail .wpl-dot{width:7px;height:7px;border-radius:50%;background:var(--wpl-copper);}

.wpl-hero__strip{
  margin-top:72px;
  border-top:1px solid var(--wpl-dark-line);
  padding:40px 0 0;
  position:relative;
}
.wpl-hero__mock{
  width:100%;
  border-radius:var(--wpl-radius-l) var(--wpl-radius-l) 0 0;
  overflow:hidden;
  border:1px solid var(--wpl-dark-line);
  border-bottom:none;
  background:#191d25;
}
.wpl-hero__mockbar{
  display:flex;align-items:center;gap:7px;
  padding:14px 20px;border-bottom:1px solid var(--wpl-dark-line);
}
.wpl-hero__mockbar span{width:10px;height:10px;border-radius:50%;background:rgba(242,239,230,.18);}
.wpl-hero__mockbody{padding:34px 40px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.wpl-hero__mockcard{
  background:rgba(242,239,230,.04);
  border:1px solid var(--wpl-dark-line);
  border-radius:var(--wpl-radius-m);
  padding:22px;
  min-height:150px;
}
.wpl-hero__mockcard .wpl-bar{height:8px;border-radius:4px;background:rgba(242,239,230,.14);margin-bottom:10px;}
.wpl-hero__mockcard .wpl-bar--accent{background:var(--wpl-signal);width:44%;}
.wpl-hero__mockcard .wpl-bar--w60{width:60%;}
.wpl-hero__mockcard .wpl-bar--w80{width:80%;}
.wpl-hero__mockcard .wpl-bar--w40{width:40%;}
@media (max-width:760px){
  .wpl-hero__mockbody{grid-template-columns:1fr;padding:24px 20px 0;}
  .wpl-hero__ctas{gap:18px;}
}

/* ---------------- Trust strip ---------------- */
.wpl-trust{padding:52px 0;border-bottom:1px solid var(--wpl-paper-line);}
.wpl-trust__label{font-size:14px;color:var(--wpl-ink-55);font-weight:500;margin-bottom:26px;}
.wpl-trust__row{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:28px 36px;
}
.wpl-trust__name{font-family:'Fraunces',serif;font-size:19px;color:var(--wpl-ink-55);font-weight:500;}

/* ---------------- Services — numbered vertical rows ---------------- */
.wpl-services__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;}
.wpl-services__list{margin-top:64px;border-top:1px solid var(--wpl-paper-line);}
.wpl-srow{
  display:grid;
  grid-template-columns:90px 1.1fr 1.6fr auto;
  align-items:start;
  gap:32px;
  padding:38px 0;
  border-bottom:1px solid var(--wpl-paper-line);
}
.wpl-srow__num{font-family:'Fraunces',serif;font-size:20px;color:var(--wpl-ink-55);padding-top:4px;}
.wpl-srow__icon{width:44px;height:44px;border-radius:var(--wpl-radius-s);background:var(--wpl-signal-soft);display:flex;align-items:center;justify-content:center;}
.wpl-srow__icon svg{width:22px;height:22px;color:var(--wpl-signal);}
.wpl-srow h3{font-size:22px;margin-top:14px;}
.wpl-srow p{color:var(--wpl-ink-70);font-size:15.5px;padding-top:2px;}
.wpl-srow__more{align-self:center;justify-self:end;}
@media (max-width:820px){
  .wpl-srow{grid-template-columns:56px 1fr;row-gap:12px;}
  .wpl-srow__more{grid-column:2;justify-self:start;}
}

.wpl-page-intro{
  padding:calc(var(--wpl-header-h) + 64px) 0 20px;
  background:var(--wpl-ink);color:var(--wpl-cream-text);
}
.wpl-page-intro h1{font-size:clamp(34px,4.6vw,54px);color:#fff;max-width:720px;}
.wpl-page-intro p{margin-top:18px;color:rgba(242,239,230,.72);max-width:560px;font-size:18px;}

/* ---------------- Pricing — elevated featured card ---------------- */
.wpl-pricing__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin-top:60px;align-items:center;
  border:1px solid var(--wpl-paper-line);
  border-radius:var(--wpl-radius-l);
  overflow:visible;
}
.wpl-price-card{
  background:#fff;
  padding:44px 36px 40px;
  border-right:1px solid var(--wpl-paper-line);
  position:relative;
}
.wpl-price-card:last-child{border-right:none;}
.wpl-price-card:first-child{border-radius:var(--wpl-radius-l) 0 0 var(--wpl-radius-l);}
.wpl-price-card:last-child{border-radius:0 var(--wpl-radius-l) var(--wpl-radius-l) 0;}
.wpl-price-card--featured{
  background:var(--wpl-ink);color:var(--wpl-cream-text);
  transform:scale(1.08);
  border-radius:var(--wpl-radius-l);
  box-shadow:var(--wpl-shadow-card);
  z-index:2;
  padding:52px 38px 48px;
}
.wpl-price-card__badge{
  display:inline-block;font-size:13px;font-weight:600;color:var(--wpl-copper);
  background:var(--wpl-copper-soft);padding:5px 12px;border-radius:999px;margin-bottom:18px;
}
.wpl-price-card--featured .wpl-price-card__badge{background:rgba(184,118,59,.22);}
.wpl-price-card h3{font-size:22px;}
.wpl-price-card__tagline{color:var(--wpl-ink-70);font-size:14.5px;margin-top:8px;}
.wpl-price-card--featured .wpl-price-card__tagline{color:rgba(242,239,230,.68);}
.wpl-price-card__price{font-family:'Fraunces',serif;font-size:44px;margin-top:22px;}
.wpl-price-card__price span{font-family:'Inter',sans-serif;font-size:14px;font-weight:500;color:var(--wpl-ink-55);}
.wpl-price-card--featured .wpl-price-card__price span{color:rgba(242,239,230,.55);}
.wpl-price-card__feats{margin-top:26px;display:flex;flex-direction:column;gap:13px;}
.wpl-price-card__feats li{display:flex;gap:10px;font-size:14.5px;align-items:flex-start;}
.wpl-price-card__feats svg{width:16px;height:16px;flex-shrink:0;margin-top:3px;color:var(--wpl-signal);}
.wpl-price-card--featured .wpl-price-card__feats svg{color:#8fd6bd;}
.wpl-price-card .wpl-btn{margin-top:30px;width:100%;justify-content:center;}
@media (max-width:900px){
  .wpl-pricing__grid{grid-template-columns:1fr;border-radius:var(--wpl-radius-l);}
  .wpl-price-card,.wpl-price-card:first-child,.wpl-price-card:last-child{border-radius:0;border-right:none;border-bottom:1px solid var(--wpl-paper-line);}
  .wpl-price-card--featured{transform:none;border-radius:0;}
}

/* ---------------- Additional services — menu-style two column ---------------- */
.wpl-menu{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:0 64px;}
.wpl-menu__item{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:20px 0;border-bottom:1px dashed var(--wpl-dark-line);
}
.wpl-menu__name{font-size:16px;}
.wpl-menu__name strong{display:block;font-weight:600;color:#fff;}
.wpl-menu__name small{color:rgba(242,239,230,.6);font-size:13.5px;}
.wpl-menu__right{display:flex;align-items:baseline;gap:16px;flex-shrink:0;}
.wpl-menu__price{font-family:'Fraunces',serif;font-size:19px;color:#fff;}
.wpl-menu__order{font-size:13.5px;font-weight:600;color:#8fd6bd;border-bottom:1px solid transparent;}
.wpl-menu__order:hover{border-color:#8fd6bd;}
@media (max-width:760px){.wpl-menu{grid-template-columns:1fr;}}

/* ---------------- Process — alternating zig-zag ---------------- */
.wpl-process__list{margin-top:64px;}
.wpl-prow{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
  padding:52px 0;border-bottom:1px solid var(--wpl-paper-line);
}
.wpl-prow:last-child{border-bottom:none;}
.wpl-prow:nth-child(even) .wpl-prow__num{order:2;text-align:right;}
.wpl-prow:nth-child(even) .wpl-prow__body{order:1;}
.wpl-prow__num{font-family:'Fraunces',serif;font-size:96px;color:var(--wpl-signal-soft);line-height:1;}
.wpl-prow h3{font-size:24px;}
.wpl-prow p{margin-top:12px;color:var(--wpl-ink-70);font-size:16px;max-width:440px;}
.wpl-prow__meta{margin-top:14px;font-size:13.5px;font-weight:600;color:var(--wpl-signal);}
@media (max-width:760px){
  .wpl-prow{grid-template-columns:1fr;gap:14px;}
  .wpl-prow:nth-child(even) .wpl-prow__num,.wpl-prow:nth-child(even) .wpl-prow__body{order:initial;text-align:left;}
  .wpl-prow__num{font-size:56px;}
}

/* ---------------- Guarantee band — two column ---------------- */
.wpl-guarantee{background:var(--wpl-signal);color:#fff;padding:64px 0;}
.wpl-guarantee__row{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;}
.wpl-guarantee__badge{width:64px;height:64px;flex-shrink:0;}
.wpl-guarantee h2{font-size:clamp(24px,3vw,32px);color:#fff;max-width:640px;}
.wpl-guarantee p{margin-top:10px;color:rgba(255,255,255,.82);font-size:16px;max-width:560px;}
@media (max-width:700px){.wpl-guarantee__row{grid-template-columns:1fr;text-align:left;}}

/* ---------------- Comparison — paired cards ---------------- */
.wpl-compare{margin-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.wpl-compare__card{border-radius:var(--wpl-radius-l);padding:38px 34px;border:1px solid var(--wpl-paper-line);}
.wpl-compare__card--us{background:var(--wpl-ink);color:var(--wpl-cream-text);border-color:var(--wpl-ink);}
.wpl-compare__card h3{font-size:19px;margin-bottom:22px;display:flex;align-items:center;gap:10px;}
.wpl-compare__card ul{display:flex;flex-direction:column;gap:15px;}
.wpl-compare__card li{display:flex;gap:12px;font-size:15px;align-items:flex-start;}
.wpl-compare__card li svg{width:17px;height:17px;flex-shrink:0;margin-top:2px;}
.wpl-compare__card--us svg{color:#8fd6bd;}
.wpl-compare__card--them svg{color:var(--wpl-ink-55);}
.wpl-compare__card--them{color:var(--wpl-ink-70);}
@media (max-width:760px){.wpl-compare{grid-template-columns:1fr;}}

/* ---------------- FAQ — two-column accordion ---------------- */
.wpl-faq{margin-top:56px;column-count:2;column-gap:56px;}
@media (max-width:820px){.wpl-faq{column-count:1;}}
.wpl-faq__item{break-inside:avoid;margin-bottom:14px;border-bottom:1px solid var(--wpl-paper-line);}
.wpl-faq__q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:20px 2px;font-size:16.5px;font-weight:600;text-align:left;
}
.wpl-faq__q svg{width:18px;height:18px;flex-shrink:0;transition:transform .22s var(--wpl-ease);color:var(--wpl-signal);}
.wpl-faq__q[aria-expanded="true"] svg{transform:rotate(45deg);}
.wpl-faq__a{
  max-height:0;overflow:hidden;transition:max-height .28s var(--wpl-ease);
}
.wpl-faq__a p{padding:0 2px 22px;color:var(--wpl-ink-70);font-size:15.5px;max-width:92%;}
.wpl-faq__a a{color:var(--wpl-signal);font-weight:600;border-bottom:1px solid currentColor;}
@media (prefers-reduced-motion:reduce){.wpl-faq__a{transition:none;}}

/* ---------------- About — timeline / milestone ---------------- */
.wpl-about__intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;}
.wpl-about__intro p{color:var(--wpl-ink-70);font-size:16.5px;margin-bottom:18px;max-width:480px;}
.wpl-about__visual{border-radius:var(--wpl-radius-l);overflow:hidden;background:var(--wpl-paper-dim);border:1px solid var(--wpl-paper-line);}
@media (max-width:900px){.wpl-about__intro{grid-template-columns:1fr;gap:36px;}}

.wpl-timeline{margin-top:76px;position:relative;padding-left:36px;border-left:1.5px solid var(--wpl-paper-line);}
.wpl-timeline__item{position:relative;padding-bottom:52px;}
.wpl-timeline__item:last-child{padding-bottom:0;}
.wpl-timeline__dot{position:absolute;left:-42px;top:2px;width:13px;height:13px;border-radius:50%;background:var(--wpl-signal);border:3px solid var(--wpl-paper);}
.wpl-timeline__year{font-family:'Fraunces',serif;font-size:15px;color:var(--wpl-signal);font-weight:500;}
.wpl-timeline__item h3{font-size:19px;margin-top:6px;}
.wpl-timeline__item p{margin-top:8px;color:var(--wpl-ink-70);font-size:15.5px;max-width:520px;}

.wpl-stats{
  margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--wpl-paper-line);border-bottom:1px solid var(--wpl-paper-line);
}
.wpl-stat{padding:34px 24px;border-right:1px solid var(--wpl-paper-line);}
.wpl-stat:last-child{border-right:none;}
.wpl-stat__num{font-family:'Fraunces',serif;font-size:38px;}
.wpl-stat__label{margin-top:6px;font-size:14px;color:var(--wpl-ink-70);}
@media (max-width:760px){.wpl-stats{grid-template-columns:1fr 1fr;}.wpl-stat{border-bottom:1px solid var(--wpl-paper-line);}}

.wpl-team{margin-top:80px;}
.wpl-team__grid{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px;}
.wpl-team__card{border:1px solid var(--wpl-paper-line);border-radius:var(--wpl-radius-m);padding:28px 24px;}
.wpl-avatar{
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-weight:600;font-size:17px;color:#fff;
  margin-bottom:18px;
}
.wpl-team__card h3{font-size:17px;}
.wpl-team__role{font-size:13.5px;color:var(--wpl-signal);font-weight:600;margin-top:4px;}
.wpl-team__note{margin-top:12px;font-size:14.5px;color:var(--wpl-ink-70);}

/* ---------------- Reviews — featured + 3 supporting ---------------- */
.wpl-reviews__grid{margin-top:60px;display:grid;grid-template-columns:1.3fr 1fr;gap:30px;}
.wpl-review--featured{
  background:var(--wpl-ink);color:var(--wpl-cream-text);
  border-radius:var(--wpl-radius-l);padding:52px 48px;display:flex;flex-direction:column;justify-content:space-between;
}
.wpl-review--featured .wpl-review__quote{font-family:'Fraunces',serif;font-size:clamp(22px,2.4vw,28px);font-style:italic;line-height:1.35;color:#fff;}
.wpl-review__stack{display:flex;flex-direction:column;gap:20px;}
.wpl-review{border:1px solid var(--wpl-paper-line);border-radius:var(--wpl-radius-m);padding:26px 26px;background:#fff;}
.wpl-review__quote{font-size:15.5px;color:var(--wpl-ink-70);}
.wpl-review__by{display:flex;align-items:center;gap:12px;margin-top:22px;}
.wpl-review--featured .wpl-review__by{margin-top:30px;}
.wpl-review__by-text strong{display:block;font-size:14.5px;}
.wpl-review__by-text span{font-size:13px;color:var(--wpl-ink-55);}
.wpl-review--featured .wpl-review__by-text span{color:rgba(242,239,230,.6);}
.wpl-review .wpl-avatar,.wpl-review--featured .wpl-avatar{width:40px;height:40px;font-size:14px;margin-bottom:0;}
@media (max-width:900px){.wpl-reviews__grid{grid-template-columns:1fr;}}

/* ---------------- Footer ---------------- */
.wpl-footer{background:var(--wpl-ink);color:rgba(242,239,230,.78);padding:88px 0 30px;}
.wpl-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding-bottom:64px;border-bottom:1px solid var(--wpl-dark-line);}
.wpl-footer__brand{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-size:20px;color:#fff;margin-bottom:16px;}
.wpl-footer__brand em{font-style:italic;color:#8fd6bd;font-weight:500;}
.wpl-footer p.wpl-footer__desc{max-width:280px;font-size:14.5px;}
.wpl-footer h4{font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;color:rgba(242,239,230,.9);margin-bottom:18px;}
.wpl-footer ul{display:flex;flex-direction:column;gap:12px;}
.wpl-footer a{font-size:14.5px;}
.wpl-footer a:hover{color:#fff;}
.wpl-footer__contact li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;}
.wpl-footer__contact svg{width:16px;height:16px;flex-shrink:0;margin-top:3px;color:#8fd6bd;}
.wpl-footer__bottom{padding-top:26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:13px;color:rgba(242,239,230,.5);}
.wpl-footer__bottom .wpl-legal-shortcuts{display:flex;gap:20px;flex-wrap:wrap;}
@media (max-width:820px){.wpl-footer__grid{grid-template-columns:1fr 1fr;row-gap:40px;}}
@media (max-width:520px){.wpl-footer__grid{grid-template-columns:1fr;}}

/* ---------------- Sticky CTA ---------------- */
.wpl-sticky-cta{
  position:fixed;right:26px;bottom:26px;z-index:500;
  opacity:0;transform:translateY(14px);pointer-events:none;
  transition:opacity .28s var(--wpl-ease), transform .28s var(--wpl-ease);
}
.wpl-sticky-cta.wpl-is-visible{opacity:1;transform:none;pointer-events:auto;}
.wpl-sticky-cta a{box-shadow:0 14px 30px -12px rgba(20,24,31,.45);}
@media (max-width:600px){.wpl-sticky-cta{right:16px;bottom:16px;}.wpl-sticky-cta .wpl-btn{padding:13px 20px;font-size:14.5px;}}

/* ---------------- Cookie banner ---------------- */
.wpl-cookie{
  position:fixed;left:20px;right:20px;bottom:20px;z-index:950;
  max-width:560px;margin:0 auto;
  background:var(--wpl-ink);color:var(--wpl-cream-text);
  border-radius:var(--wpl-radius-l);
  padding:26px 28px;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.5);
  transform:translateY(140%);
  transition:transform .38s var(--wpl-ease);
}
.wpl-cookie.wpl-is-visible{transform:translateY(0);}
.wpl-cookie p{font-size:14.5px;color:rgba(242,239,230,.8);}
.wpl-cookie a{color:#8fd6bd;font-weight:600;border-bottom:1px solid currentColor;}
.wpl-cookie__actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;}
.wpl-cookie__actions button{padding:11px 20px;border-radius:999px;font-weight:600;font-size:14px;}
.wpl-cookie__accept{background:var(--wpl-signal);color:#fff;}
.wpl-cookie__decline{border:1px solid rgba(242,239,230,.35);color:var(--wpl-cream-text);}
@media (prefers-reduced-motion:reduce){.wpl-cookie{transition:none;}}

/* ---------------- Contact page ---------------- */
.wpl-contact__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:start;margin-top:8px;}
.wpl-contact__cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.wpl-contact__card{border:1px solid var(--wpl-paper-line);border-radius:var(--wpl-radius-m);padding:28px 26px;}
.wpl-contact__card svg{width:22px;height:22px;color:var(--wpl-signal);margin-bottom:16px;}
.wpl-contact__card h3{font-size:15px;font-weight:600;font-family:'Inter',sans-serif;}
.wpl-contact__card p,.wpl-contact__card a{margin-top:8px;font-size:15px;color:var(--wpl-ink-70);}
.wpl-contact__card a:hover{color:var(--wpl-ink);}
.wpl-contact__side{background:var(--wpl-ink);color:var(--wpl-cream-text);border-radius:var(--wpl-radius-l);padding:40px 34px;}
.wpl-contact__side h3{font-size:21px;color:#fff;}
.wpl-contact__side p{margin-top:12px;font-size:15px;color:rgba(242,239,230,.72);}
.wpl-contact__side .wpl-btn{margin-top:24px;width:100%;justify-content:center;}
.wpl-contact__side .wpl-btn + .wpl-btn{margin-top:12px;}
.wpl-map{margin-top:52px;border-radius:var(--wpl-radius-l);overflow:hidden;border:1px solid var(--wpl-paper-line);height:400px;}
.wpl-map iframe{width:100%;height:100%;border:0;}
@media (max-width:900px){.wpl-contact__grid{grid-template-columns:1fr;}.wpl-contact__cards{grid-template-columns:1fr;}}

/* ---------------- Legal page ---------------- */
.wpl-legal__subnav{
  position:sticky;top:var(--wpl-header-h);z-index:50;
  background:var(--wpl-paper);border-bottom:1px solid var(--wpl-paper-line);
  padding:16px 0;display:flex;gap:28px;overflow-x:auto;
}
.wpl-legal__subnav a{font-size:14.5px;font-weight:600;color:var(--wpl-ink-55);white-space:nowrap;}
.wpl-legal__subnav a:hover{color:var(--wpl-ink);}
.wpl-legal__doc{padding:70px 0;border-bottom:1px solid var(--wpl-paper-line);max-width:760px;}
.wpl-legal__doc:last-of-type{border-bottom:none;}
.wpl-legal__doc h2{font-size:28px;}
.wpl-legal__doc .wpl-legal__updated{font-size:13.5px;color:var(--wpl-ink-55);margin-top:8px;}
.wpl-legal__doc h3{font-size:17px;margin-top:32px;font-family:'Inter',sans-serif;font-weight:600;}
.wpl-legal__doc p{margin-top:12px;color:var(--wpl-ink-70);font-size:15.5px;}
.wpl-legal__doc ul{margin-top:12px;display:flex;flex-direction:column;gap:8px;}
.wpl-legal__doc li{font-size:15.5px;color:var(--wpl-ink-70);padding-left:18px;position:relative;}
.wpl-legal__doc li::before{content:"–";position:absolute;left:0;color:var(--wpl-signal);}

/* Utility */
.wpl-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
