/* ==========================================================================
   Prestigious Limousine — theme stylesheet
   Values are the prototype's (or_files/…Standalone.html), taken from its inline
   styles: paper #faf8f4, linen #f1ede4, ink #1c1a17, brass #8a6a35; Jost for
   text, Libre Caslon Text for headings; a 1280px column with 28px gutters.
   Section colours come from the engine's schemes (.light, .cream …), which set
   --sch-bg / --sch-text / --sch-muted / --sch-accent on each section.
   ========================================================================== */

/* ---------- Fonts (self-hosted, from the prototype bundle) ---------------- */
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;
  src:url('fonts/jost-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;
  src:url('fonts/jost-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/caslon-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/caslon-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Libre Caslon Text';font-style:italic;font-weight:400;font-display:swap;
  src:url('fonts/caslon-400i-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Libre Caslon Text';font-style:italic;font-weight:400;font-display:swap;
  src:url('fonts/caslon-400i-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/caslon-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/caslon-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Tokens -------------------------------------------------------- */
:root{
  --pl-paper:#faf8f4;
  --pl-linen:#f1ede4;
  --pl-ink:#1c1a17;
  --pl-body:#55504a;
  --pl-muted:#6b6459;
  --pl-brass:#8a6a35;
  --pl-brass-deep:#6b5228;
  --pl-rule:rgba(138,106,53,.25);
  --pl-rule-soft:rgba(138,106,53,.2);
  --pl-field-rule:rgba(138,106,53,.35);
  --pl-small:#6f6a60;          /* prototype #8a8478 — 3.2:1 on linen; see README */
  --pl-post-text:#3a3630;
  --pl-serif:'Libre Caslon Text',Georgia,'Times New Roman',serif;
  --pl-sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pl-col:1280px;
  --pl-gutter:28px;
  --pl-header-h:81px;
}

/* ---------- Base ---------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--pl-header-h) + 12px)}
body{margin:0;background:var(--pl-paper);color:var(--pl-ink);font-family:var(--pl-sans);font-size:16px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
picture{display:block}
a{color:var(--pl-brass);text-decoration:none}
a:hover{color:var(--pl-brass-deep)}
::selection{background:var(--pl-brass);color:var(--pl-paper)}
h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul{margin:0}
ul{padding:0;list-style:none}
address{font-style:normal}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--pl-brass);outline-offset:3px}
[hidden]{display:none!important}

.pl-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--pl-ink);color:var(--pl-paper);padding:10px 16px;font-size:14px}
.pl-skip:focus{top:12px;color:var(--pl-paper)}

.pl-wrap{max-width:var(--pl-col);margin:0 auto;padding-left:var(--pl-gutter);padding-right:var(--pl-gutter)}

/* ---------- Shared type --------------------------------------------------- */
.pl-eyebrow{font-family:var(--pl-sans);font-size:12px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--sch-accent,var(--pl-brass));margin-bottom:12px;line-height:1.5}
.pl-title{font-family:var(--pl-serif);font-weight:400;color:var(--sch-text,var(--pl-ink));line-height:1.2}
.pl-title--section{font-size:36px}
.pl-title--lead{font-size:40px;margin-bottom:20px}
.pl-title--page{font-size:44px;margin-bottom:16px}
.pl-lede{font-size:15px;line-height:1.7;color:var(--sch-muted,var(--pl-muted));max-width:640px}
.pl-rule{width:60px;height:1px;background:var(--pl-brass);margin-bottom:24px}

.pl-head{margin-bottom:48px}
.pl-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.pl-more{font-size:14px;letter-spacing:.5px;color:var(--sch-accent,var(--pl-brass));white-space:nowrap}
.pl-more:hover{color:var(--sch-text,var(--pl-brass-deep))}

/* Rich text (split body, articles, text block) */
.pl-rt p{margin:0 0 18px}
.pl-rt p:last-child{margin-bottom:0}
.pl-rt a{color:var(--sch-accent,var(--pl-brass));text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.pl-rt h2,.pl-rt h3{font-family:var(--pl-serif);font-weight:400;color:var(--sch-text,var(--pl-ink));line-height:1.25;margin:36px 0 14px}
.pl-rt h2{font-size:26px}
.pl-rt h3{font-size:21px}
.pl-rt ul,.pl-rt ol{margin:0 0 18px;padding-left:1.25em}
.pl-rt ul{list-style:disc}
.pl-rt li{margin-bottom:6px}
.pl-rt blockquote{margin:28px 0;padding-left:20px;border-left:2px solid var(--pl-brass);font-family:var(--pl-serif);font-style:italic;font-size:19px;line-height:1.6}

/* ---------- Buttons & links ----------------------------------------------- */
.pl-btns{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.pl-btns--center{justify-content:center}
.pl-btns__item{display:inline-flex;flex-direction:column;gap:6px}

/* The engine's scheme CSS repaints any ".btn"; these are ".pl-btn" on purpose. */
.pl-btn{display:inline-block;padding:16px 32px;font-family:var(--pl-sans);font-size:14px;font-weight:500;letter-spacing:1px;text-transform:uppercase;line-height:1.3;text-align:center;border:1px solid transparent;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.pl-btn--solid{background:var(--pl-brass);color:var(--pl-paper);border-color:var(--pl-brass)}
.pl-btn--solid:hover{background:var(--pl-brass-deep);border-color:var(--pl-brass-deep);color:var(--pl-paper)}
.pl-btn--outline{background:transparent;color:var(--sch-text,var(--pl-ink));border-color:rgba(28,26,23,.3);font-weight:400}
.pl-btn--outline:hover{border-color:var(--pl-brass);color:var(--sch-text,var(--pl-ink))}
.dark .pl-btn--outline,.charcoal .pl-btn--outline{border-color:rgba(250,248,244,.4)}
.pl-btn--sm{padding:10px 20px;font-size:13px;font-weight:400}

.pl-textlink{display:inline-block;border-bottom:1px solid var(--sch-accent,var(--pl-brass));color:var(--sch-accent,var(--pl-brass));font-size:14px;padding-bottom:2px}
.pl-textlink:hover{color:var(--sch-text,var(--pl-brass-deep))}

/* ---------- Photos -------------------------------------------------------- */
.pl-photo{position:relative;overflow:hidden;background:var(--pl-linen)}
.pl-photo picture,.pl-photo__img{width:100%;height:100%}
.pl-photo__img{object-fit:cover;object-position:var(--pl-pos,50% 50%)}
/* Media-picker live preview: the engine lays its own layer over the frame
   before Save; keep it on top and hide the old picture underneath. */
.bc-bg-host>.page-head__bg{position:absolute;inset:0;z-index:1;background-size:cover;background-position:center}
.bc-bg-host>.page-head__bg[data-empty]{background:var(--pl-linen)}
.bc-bg-host>.page-head__bg~picture,.bc-bg-host>.page-head__bg~img,
.bc-bg-host>.page-head__bg~.bc-slide-track,.bc-bg-host>.page-head__bg~video{visibility:hidden}
.bc-bg-host>.page-head__slide-track,.bc-bg-host>.page-head__video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}
.page-head__slide-item{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease}
.page-head__slide-item.is-active{opacity:1}
.pl-photo>.page-head__overlay{display:none}
.pl-photo .bc-bg-controls{z-index:6}

/* ---------- Header -------------------------------------------------------- */
.pl-header{position:sticky;top:0;z-index:50;background:rgba(250,248,244,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--pl-rule)}
body:has(#bc-admin-bar) .pl-header{top:var(--bc-admin-bar-h,0px)}
.pl-header__inner{max-width:var(--pl-col);margin:0 auto;padding:18px var(--pl-gutter);display:flex;align-items:center;justify-content:space-between;gap:24px}
.pl-brand{display:flex;flex-direction:column;line-height:1;flex-shrink:0;color:var(--pl-ink)}
.pl-brand:hover{color:var(--pl-ink)}
.pl-brand__name{font-family:var(--pl-serif);font-size:22px;letter-spacing:1px;white-space:nowrap}
.pl-brand__sub{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--pl-brass);margin-top:4px;white-space:nowrap}

.pl-menu{display:flex;align-items:center;justify-content:space-between;gap:24px;flex:1 1 auto}
.pl-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:0 auto}
.pl-nav__link{font-size:14px;letter-spacing:.5px;color:var(--pl-ink);font-weight:500}
.pl-nav__link:hover{color:var(--pl-brass)}
.pl-nav__link.is-current{color:var(--pl-brass);font-weight:600}
.pl-header__actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.pl-header__phone{font-family:var(--pl-serif);font-size:16px;color:var(--pl-ink);white-space:nowrap}
.pl-header__phone:hover{color:var(--pl-brass)}
.pl-header__call,.pl-burger{display:none}

@media (max-width:1180px){
  .pl-header__inner{flex-wrap:wrap;gap:0 12px;padding-top:14px;padding-bottom:14px}
  .pl-brand{margin-right:auto}
  .pl-header__call,.pl-burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--pl-rule);background:transparent;color:var(--pl-ink);cursor:pointer;padding:0}
  .pl-header__call{color:var(--pl-brass)}
  .pl-burger__close{display:none}
  .pl-header.is-open .pl-burger__open{display:none}
  .pl-header.is-open .pl-burger__close{display:inline}
  .pl-menu{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 10px;max-height:calc(100vh - 80px);overflow-y:auto}
  .pl-header.is-open .pl-menu{display:flex}
  .pl-nav{flex-direction:column;align-items:stretch;gap:0;margin:0;border-top:1px solid var(--pl-rule)}
  .pl-nav__link{padding:14px 0;border-bottom:1px solid var(--pl-rule);font-size:16px}
  .pl-header__actions{flex-wrap:wrap;justify-content:space-between;padding-top:16px}
  .pl-header__phone{font-size:18px}
}
@media (max-width:420px){
  .pl-header__inner{gap:0 8px}
  .pl-brand__name{font-size:18px;letter-spacing:.5px}
  .pl-brand__sub{letter-spacing:3px}
  .pl-header__actions .pl-btn{flex:1 1 100%}
}
/* Brand, call button and burger stay on one row down to a 320px phone. */
@media (max-width:370px){
  .pl-header__inner{gap:0 8px}
  .pl-brand__name{font-size:17px;letter-spacing:0}
  .pl-brand__sub{font-size:10px}
  .pl-header__call,.pl-burger{width:40px;height:40px}
}

/* ---------- Sections ------------------------------------------------------ */
.pl-sec{position:relative}
/* Blocks that make up an inner page share one vertical rhythm: 80px above the
   first, 80px below each, and none doubled between two of them. */
.pl-flow{padding-top:80px;padding-bottom:80px}
.pl-flow+.pl-flow{padding-top:0}
/* Two sections on the same background read as one band: the second drops its
   top padding, so the gap is the first one's bottom padding, not both. A change
   of background keeps both paddings. The home stats strip keeps the prototype's
   90px before the section under it. */
.light.pl-sec+.light.pl-sec,.cream.pl-sec+.cream.pl-sec,.grey.pl-sec+.grey.pl-sec,
.gold-tint.pl-sec+.gold-tint.pl-sec,.dark.pl-sec+.dark.pl-sec,.charcoal.pl-sec+.charcoal.pl-sec{padding-top:0}
.pl-stats--band.pl-sec+.pl-sec{padding-top:90px}

/* Hero (home) ------------------------------------------------------------- */
.pl-hero{position:relative;width:100%;height:640px;overflow:hidden;background:var(--pl-ink)}
.pl-hero__media{position:absolute;inset:0}
.pl-hero__media picture,.pl-hero__img,.pl-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pl-hero__slides{position:absolute;inset:0}
.pl-hero__slides .bc-slide-item{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s ease}
.pl-hero__slides .bc-slide-item.is-active{opacity:1}
.pl-hero__wash{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(28,26,23,.55) 0%,rgba(28,26,23,.15) 55%,rgba(28,26,23,.05) 100%)}
.pl-hero .bc-bg-controls{z-index:7}
.pl-hero__inner{position:relative;z-index:3;max-width:var(--pl-col);margin:0 auto;padding:0 var(--pl-gutter);height:100%;display:flex;flex-direction:column;justify-content:center}
.pl-hero__card{background:rgba(250,248,244,.92)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:36px;max-width:560px}
.pl-hero__title{font-family:var(--pl-serif);font-weight:400;font-size:clamp(32px,5vw,54px);line-height:1.1;color:var(--pl-ink)}
.pl-hero__lede{font-size:16px;color:var(--pl-body);margin-top:18px;line-height:1.6}
.pl-hero .pl-btns{margin-top:32px}
.pl-btn__num{white-space:nowrap}

/* Stats ------------------------------------------------------------------- */
.pl-stats--band .pl-stats__row{padding:56px 0;display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid var(--pl-rule)}
.pl-stats--band .pl-stat{min-width:140px}
.pl-stats--ruled .pl-stats__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;padding:48px 0;border-top:1px solid var(--pl-rule);border-bottom:1px solid var(--pl-rule)}
.pl-stat__value{font-family:var(--pl-serif);font-size:40px;color:var(--sch-accent,var(--pl-brass));line-height:1.25}
.pl-stats--ruled .pl-stat__value{font-size:36px}
.pl-stat__label{font-size:13px;color:var(--sch-muted,var(--pl-muted));letter-spacing:.5px;margin-top:6px}
.pl-stats--ruled .pl-stat__label{letter-spacing:0}

/* Services ---------------------------------------------------------------- */
.pl-services--teaser{padding:90px 0}
/* Hairlines between cells only. The prototype drew them as a 1px grid gap over
   a brass background, which also painted every empty cell of a short last row
   brass (7 services in 3 columns). Here each cell draws its own right and bottom
   rule and the clip hides the outermost ones, so an empty cell stays paper. */
.pl-cells-clip{overflow:hidden}
.pl-cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0 -1px -1px 0}
.pl-cell{border-right:1px solid var(--pl-rule);border-bottom:1px solid var(--pl-rule)}
.pl-services--page .pl-cells{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.pl-services--page .pl-head{margin-bottom:64px}
.pl-cell{background:var(--sch-bg,var(--pl-paper));padding:36px 28px}
.pl-services--page .pl-cell{padding:40px 32px}
.pl-cell__name{font-family:var(--pl-serif);font-weight:400;font-size:20px;line-height:1.3;margin-bottom:12px;color:var(--sch-text,var(--pl-ink))}
.pl-services--page .pl-cell__name{font-size:22px;margin-bottom:14px}
.pl-cell__desc{font-size:14px;color:var(--sch-muted,var(--pl-muted));line-height:1.6}
.pl-services--page .pl-cell__desc{line-height:1.7}
.pl-services__cta{margin-top:72px}
.pl-services--teaser .pl-services__cta{margin-top:48px}

/* Fleet preview cards ----------------------------------------------------- */
.pl-fleetcards{padding:90px 0}
.pl-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.pl-card__photo{height:220px}
.pl-card__name{font-family:var(--pl-serif);font-weight:400;font-size:20px;margin-top:18px;line-height:1.3}
.pl-card__meta{font-size:13px;color:var(--sch-muted,var(--pl-muted));margin-top:6px}

/* Text beside photo ------------------------------------------------------- */
.pl-split--teaser{padding:90px 0}
.pl-split__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.pl-split--photo-left .pl-split__photo{order:-1}
.pl-split .pl-head{margin-bottom:0}
.pl-split--teaser .pl-title{margin-bottom:20px}
.pl-split__body{font-size:15px;color:var(--sch-muted,var(--pl-muted));line-height:1.7;margin-bottom:24px}
.pl-split--page .pl-split__body{line-height:1.8}
.pl-split--page .pl-split__body:last-child{margin-bottom:0}
.pl-split__photo{height:340px}
.pl-split--page .pl-split__photo{height:420px}
.pl-citylist{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:28px}
.pl-citylist li{font-size:14px;color:var(--pl-body)}
.dark .pl-citylist li,.charcoal .pl-citylist li{color:var(--sch-muted)}
.pl-adminrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}

/* Testimonials ------------------------------------------------------------ */
.pl-quotes{padding:90px 0;border-top:1px solid var(--pl-rule);border-bottom:1px solid var(--pl-rule)}
.pl-quotes__wrap{max-width:1000px;text-align:center}
.pl-quotes__eyebrow{margin-bottom:40px}
.pl-quotes__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px;text-align:left}
.pl-quote__text{font-family:var(--pl-serif);font-style:italic;font-size:17px;line-height:1.6;color:var(--sch-text,var(--pl-ink))}
.pl-quote__name{font-size:13px;color:var(--sch-accent,var(--pl-brass));margin-top:16px;letter-spacing:.5px}

/* Call to action ---------------------------------------------------------- */
.pl-cta{padding:100px 0}
.pl-cta__wrap{max-width:900px;text-align:center}
.pl-cta__title{font-family:var(--pl-serif);font-weight:400;font-size:32px;line-height:1.25;margin-bottom:20px}
.pl-cta__text{font-size:15px;color:var(--sch-muted,var(--pl-muted));margin-bottom:32px}

/* Fleet page -------------------------------------------------------------- */
.pl-fleet .pl-head{margin-bottom:64px}
.pl-fleet__list{display:flex;flex-direction:column;gap:1px;background:var(--pl-rule)}
.pl-vehicle{background:var(--sch-bg,var(--pl-paper));padding:48px 0;display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:48px;align-items:center}
.pl-vehicle__photo{height:280px}
.pl-vehicle__name{font-family:var(--pl-serif);font-weight:400;font-size:26px;line-height:1.25;margin-bottom:10px}
.pl-vehicle__meta{font-size:13px;color:var(--sch-accent,var(--pl-brass));letter-spacing:.5px;margin-bottom:18px}
.pl-vehicle__desc{font-size:15px;color:var(--sch-muted,var(--pl-muted));line-height:1.7;max-width:520px}
.pl-vehicle .pl-textlink{margin-top:20px}

/* Service area ------------------------------------------------------------ */
.pl-area .pl-head{margin-bottom:56px}
.pl-area__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.pl-area__photo{height:380px}
.pl-area__cities{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px 16px}
.pl-area__cities li{border-left:2px solid var(--pl-brass);padding-left:14px;font-size:15px;color:var(--sch-text,var(--pl-ink))}
.pl-area{padding-bottom:72px}

/* Columns ----------------------------------------------------------------- */
.pl-columns__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px}
.pl-columns--ruled .pl-columns__grid{border-top:1px solid var(--pl-rule);padding-top:48px}
.pl-column__title{font-family:var(--pl-serif);font-weight:400;font-size:20px;line-height:1.3;margin-bottom:10px}
.pl-column__text{font-size:14px;color:var(--sch-muted,var(--pl-muted));line-height:1.7}

/* Text block -------------------------------------------------------------- */
.pl-text__col{max-width:816px}
.pl-text .pl-head{margin-bottom:28px}
.pl-text__body{font-size:16px;line-height:1.8;color:var(--sch-muted,var(--pl-post-text))}

/* Blog index -------------------------------------------------------------- */
.pl-blog .pl-head{margin-bottom:64px}
.pl-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}
.pl-post{display:block;color:var(--sch-text,var(--pl-ink))}
.pl-post:hover{color:var(--sch-text,var(--pl-ink))}
.pl-post__img{position:relative;display:block;height:200px;overflow:hidden;background:var(--pl-linen)}
.pl-post__img picture,.pl-post__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.pl-post:hover .pl-post__img img{transform:scale(1.03)}
.pl-post__meta{display:block;font-size:12px;color:var(--sch-accent,var(--pl-brass));letter-spacing:.5px;margin-top:18px}
.pl-post__title{display:block;font-family:var(--pl-serif);font-size:21px;margin-top:8px;line-height:1.3}
.pl-post:hover .pl-post__title{color:var(--pl-brass-deep)}
.pl-post__desc{display:block;font-size:14px;color:var(--sch-muted,var(--pl-muted));margin-top:10px;line-height:1.6}
.pl-pager{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:56px}
.pl-pager__info{font-size:13px;color:var(--sch-muted,var(--pl-muted))}

/* Blog post --------------------------------------------------------------- */
.pl-article{max-width:760px;margin:0 auto;padding:80px var(--pl-gutter)}
.pl-arthead__back{display:inline-block;font-size:13px;color:var(--pl-brass);margin-bottom:32px;letter-spacing:.5px}
.pl-arthead__meta{font-size:12px;color:var(--pl-brass);letter-spacing:.5px;margin-bottom:12px}
.pl-arthead__title{font-family:var(--pl-serif);font-weight:400;font-size:38px;line-height:1.2;margin-bottom:28px}
.pl-artcover__photo{height:360px;margin-bottom:36px}
.pl-artbody__text{font-size:16px;color:var(--pl-post-text);line-height:1.9}
.pl-artbody__text p{margin:0 0 20px}

/* Contact ----------------------------------------------------------------- */
.pl-contact .pl-head{margin-bottom:56px}
.pl-contact .pl-title{margin-bottom:0}
.pl-contact__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px}
.pl-form{display:grid;gap:20px}
.pl-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.pl-field label{display:block;font-size:12px;color:var(--sch-muted,var(--pl-muted));margin-bottom:8px;letter-spacing:.5px;text-transform:uppercase}
.pl-field input,.pl-field select,.pl-field textarea{display:block;width:100%;background:#fff;border:1px solid var(--pl-field-rule);border-radius:0;color:var(--pl-ink);padding:14px;font-family:var(--pl-sans);font-size:14px;line-height:1.4;min-height:50px}
.pl-field select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238a6a35' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.pl-field textarea{resize:vertical;min-height:110px}
.pl-field input:focus,.pl-field select:focus,.pl-field textarea:focus{outline:none;border-color:var(--pl-brass);box-shadow:0 0 0 1px var(--pl-brass)}
.pl-form__submit{justify-self:start}
.pl-form__submit[disabled]{opacity:.6;cursor:progress}
.pl-form__error,.pl-form .bc-form-msg{font-size:14px;color:#9b2c1f;border:1px solid rgba(155,44,31,.35);background:rgba(155,44,31,.06);padding:12px 16px;margin-bottom:4px}
.pl-thanks{border:1px solid var(--pl-brass);padding:40px;text-align:center}
.pl-thanks__title{font-family:var(--pl-serif);font-size:24px;margin-bottom:12px}
.pl-thanks__text{font-size:15px;color:var(--sch-muted,var(--pl-muted))}
.pl-nap{border-top:1px solid var(--pl-rule);padding-top:8px}
.pl-nap__row{padding:24px 0;border-bottom:1px solid var(--pl-rule)}
.pl-nap__row:last-child{border-bottom:0}
.pl-nap dt{font-size:12px;color:var(--sch-accent,var(--pl-brass));letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}
.pl-nap dd{font-size:16px;color:var(--sch-text,var(--pl-ink));line-height:1.6;overflow-wrap:anywhere}
.pl-nap dd a{color:var(--sch-text,var(--pl-ink))}
.pl-nap dd a:hover{color:var(--pl-brass)}
.pl-nap__big{font-size:18px}
.pl-contact__photo{height:220px;margin-top:12px}

/* 404 --------------------------------------------------------------------- */
.pl-404{padding:100px 0 110px}
.pl-404__inner{max-width:760px;text-align:center}
.pl-404 .pl-lede{margin:0 auto 32px}
.pl-404__links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin-top:40px;font-size:14px}
.pl-404__links a{color:var(--pl-body)}
.pl-404__links a:hover{color:var(--pl-brass)}

/* ---------- Footer -------------------------------------------------------- */
.pl-footer{border-top:1px solid var(--pl-rule);background:var(--pl-linen)}
.pl-footer__cols{max-width:var(--pl-col);margin:0 auto;padding:64px var(--pl-gutter) 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px}
.pl-footer__name{font-family:var(--pl-serif);font-size:20px;margin-bottom:8px}
.pl-footer__tag{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#806231}
.pl-footer__h{display:block;font-size:12px;color:#806231;letter-spacing:1px;margin-bottom:16px;text-transform:uppercase;list-style:none;cursor:default}
.pl-footer__h::-webkit-details-marker{display:none}
.pl-footer__h::marker{content:''}
.pl-footer__caret{display:none}
.pl-footer__links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.pl-footer__links a,.pl-footer__text,.pl-footer__text a{font-size:14px;color:var(--pl-body)}
.pl-footer__text{line-height:2}
.pl-footer__links a:hover,.pl-footer__text a:hover{color:var(--pl-brass)}
.pl-footer__legal{max-width:var(--pl-col);margin:0 auto;padding:24px var(--pl-gutter);border-top:1px solid var(--pl-rule-soft);font-size:12px;color:var(--pl-small)}

/* ---------- Long-form pages (services, fleet, cities) ---------------------- */
.pl-title--sub{font-size:32px;margin-bottom:0}
.pl-head .pl-title--sub + .pl-lede{margin-top:14px}

/* Breadcrumbs */
.pl-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;color:var(--sch-muted,var(--pl-muted));margin-bottom:28px;letter-spacing:.3px}
.pl-crumbs a{color:var(--sch-muted,var(--pl-muted))}
.pl-crumbs a:hover{color:var(--sch-accent,var(--pl-brass))}
.pl-crumbs__sep{color:var(--pl-rule);color:rgba(138,106,53,.55)}
.pl-crumbs [aria-current]{color:var(--sch-text,var(--pl-ink))}

/* Intro */
.pl-intro{padding-bottom:64px}
.pl-intro .pl-head{margin-bottom:0}
.pl-intro .pl-lede{font-size:16px;max-width:680px}
.pl-intro__btns{margin-top:32px}
.pl-intro__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:56px;align-items:center}
.pl-intro--photo .pl-intro__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.pl-intro__photo{height:380px}

/* Running text sections: a reading column aligned with the page's left edge */
.pl-text__col{max-width:var(--pl-col)}
.pl-text .pl-head,.pl-text__body{max-width:760px}
.pl-text{padding-bottom:64px}
.pl-text__body{font-size:16px;line-height:1.8;color:var(--sch-muted,var(--pl-body))}
.pl-text__body h3{font-size:22px;margin:32px 0 10px}
.pl-text__body strong{color:var(--sch-text,var(--pl-ink));font-weight:500}
.pl-text__body li::marker{color:var(--pl-brass)}

/* At a glance */
.pl-facts{padding-bottom:64px}
.pl-facts__title{margin-bottom:28px}
.pl-facts__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 40px;margin:0}
.pl-fact{border-top:1px solid var(--pl-rule);padding:20px 0 22px}
.pl-fact dt{font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--sch-accent,var(--pl-brass));margin-bottom:8px}
.pl-fact dd{margin:0;font-size:15px;line-height:1.6;color:var(--sch-text,var(--pl-ink))}
.pl-fact dd a{color:var(--sch-text,var(--pl-ink));border-bottom:1px solid var(--pl-rule)}
.pl-fact dd a:hover{color:var(--pl-brass);border-color:var(--pl-brass)}

/* Steps */
.pl-steps .pl-head{margin-bottom:36px}
.pl-steps__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px;margin:0;padding:0;list-style:none;border-top:1px solid var(--pl-rule);padding-top:36px}
.pl-step__n{display:block;font-family:var(--pl-serif);font-size:34px;line-height:1;color:var(--sch-accent,var(--pl-brass));margin-bottom:16px}
.pl-step__title{font-family:var(--pl-serif);font-weight:400;font-size:20px;line-height:1.3;margin-bottom:10px}
.pl-step__text{font-size:14px;line-height:1.7;color:var(--sch-muted,var(--pl-muted))}

/* FAQ */
.pl-faq__wrap .pl-head{margin-bottom:28px}
.pl-faq__list{max-width:860px;border-top:1px solid var(--pl-rule)}
.pl-qa{border-bottom:1px solid var(--pl-rule)}
.pl-qa__q{display:flex;align-items:center;gap:20px;padding:22px 0;cursor:pointer;list-style:none}
.pl-qa__q::-webkit-details-marker{display:none}
.pl-qa__q::marker{content:''}
.pl-qa__title{flex:1;font-family:var(--pl-serif);font-weight:400;font-size:19px;line-height:1.4;color:var(--sch-text,var(--pl-ink))}
.pl-qa__q:hover .pl-qa__title{color:var(--pl-brass-deep)}
.pl-qa__icon{position:relative;flex:none;width:14px;height:14px}
.pl-qa__icon::before,.pl-qa__icon::after{content:'';position:absolute;left:0;top:6.5px;width:14px;height:1.5px;background:var(--sch-accent,var(--pl-brass));transition:transform .2s ease}
.pl-qa__icon::after{transform:rotate(90deg)}
.pl-qa[open] .pl-qa__icon::after{transform:rotate(0)}
.pl-qa__a{padding:0 40px 24px 0;font-size:15px;line-height:1.75;color:var(--sch-muted,var(--pl-body))}
.pl-qa__pending{font:11px/1.2 system-ui,sans-serif;color:#8a5a00;background:#fff3cd;border:1px dashed #d8b94a;padding:3px 6px}
.pl-qa.is-pending{background:repeating-linear-gradient(135deg,transparent 0 12px,rgba(216,185,74,.08) 12px 24px)}

/* Related links */
.pl-links .pl-head{margin-bottom:28px}
.pl-linkcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0 -1px -1px 0}
.pl-linkcard{display:block;padding:28px 28px 30px 0;border-right:1px solid var(--pl-rule);border-bottom:1px solid var(--pl-rule);color:var(--sch-text,var(--pl-ink))}
.pl-linkcard{padding-left:0}
.pl-linkcards .pl-linkcard{padding:28px 28px 30px}
.pl-linkcard:hover{color:var(--sch-text,var(--pl-ink));background:rgba(138,106,53,.05)}
.pl-linkcard__title{font-family:var(--pl-serif);font-weight:400;font-size:20px;line-height:1.3;margin-bottom:8px}
.pl-linkcard__arrow{color:var(--sch-accent,var(--pl-brass));transition:transform .2s ease;display:inline-block}
.pl-linkcard:hover .pl-linkcard__arrow{transform:translateX(4px)}
.pl-linkcard__text{display:block;font-size:14px;line-height:1.6;color:var(--sch-muted,var(--pl-muted))}
.pl-linkcard.is-dead,.pl-chip.is-dead{opacity:.45;text-decoration:line-through}
.pl-chips{display:flex;flex-wrap:wrap;gap:10px}
.pl-chip{display:inline-block;padding:10px 16px;border:1px solid var(--pl-rule);font-size:14px;color:var(--sch-text,var(--pl-ink))}
.pl-chip:hover{border-color:var(--pl-brass);color:var(--pl-brass-deep)}

/* Links inside cells, cards, city lists */
.pl-cell__name a{color:inherit}
.pl-cell--link{position:relative}
.pl-cell__more{display:inline-block;margin-top:14px;font-size:13px;letter-spacing:.3px;color:var(--sch-accent,var(--pl-brass))}
.pl-cell--link:hover .pl-cell__name a{color:var(--pl-brass-deep)}
.pl-cell__name a::after{content:'';position:absolute;inset:0}
.pl-card--link{display:block;color:var(--sch-text,var(--pl-ink))}
.pl-card--link:hover{color:var(--sch-text,var(--pl-ink))}
.pl-card--link:hover .pl-card__name{color:var(--pl-brass-deep)}
.pl-citylist a,.pl-area__cities a{color:inherit;border-bottom:1px solid transparent}
.pl-citylist a:hover,.pl-area__cities a:hover{color:var(--pl-brass-deep);border-color:var(--pl-brass)}
.pl-vehicle__name a{color:inherit}
.pl-vehicle__name a:hover{color:var(--pl-brass-deep)}
.pl-vehicle__links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px}
.pl-vehicle .pl-vehicle__links .pl-textlink{margin-top:0}
.pl-column__link{margin-top:14px}

/* Passenger-count panel in place of a vehicle photograph */
.pl-vpanel{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid var(--pl-rule);background:linear-gradient(160deg,rgba(138,106,53,.06),rgba(138,106,53,0))}
.pl-vpanel__up,.pl-vpanel__l{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--sch-muted,var(--pl-muted))}
.pl-vpanel__n{font-family:var(--pl-serif);font-size:72px;line-height:1.05;color:var(--sch-accent,var(--pl-brass))}
.pl-split--nophoto .pl-split__grid{grid-template-columns:minmax(0,1fr)}
.pl-split--nophoto .pl-split__text{max-width:860px}
.pl-area--nophoto .pl-area__grid{grid-template-columns:minmax(0,1fr)}
.pl-area--nophoto .pl-area__cities{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}

/* Rates */
.pl-rates .pl-head{margin-bottom:28px}
.pl-rates__table{width:100%;border-collapse:collapse;font-size:15px}
.pl-rates__table th,.pl-rates__table td{text-align:left;padding:18px 20px 18px 0;border-bottom:1px solid var(--pl-rule);vertical-align:top}
.pl-rates__table thead th{font-size:12px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:var(--sch-accent,var(--pl-brass));border-bottom-color:rgba(138,106,53,.45)}
.pl-rates__table tbody th{font-family:var(--pl-serif);font-weight:400;font-size:18px}
.pl-rates__table tbody th a{color:var(--sch-text,var(--pl-ink))}
.pl-rates__table tbody th a:hover{color:var(--pl-brass-deep)}
.pl-rates__empty{color:var(--sch-muted,var(--pl-muted));font-style:italic}
.pl-rates__note{font-size:14px;line-height:1.7;color:var(--sch-muted,var(--pl-muted));margin-top:20px;max-width:760px}
.pl-adminhint{font:11px system-ui,sans-serif;color:#8a5a00;background:#fff3cd;padding:1px 5px;margin-left:6px;font-style:normal}

/* Photo credit (CC BY / BY-SA attribution) */
.pl-photo__credit{position:absolute;right:0;bottom:0;z-index:2;margin:0;max-width:100%;padding:3px 8px;font-size:10.5px;line-height:1.4;letter-spacing:.2px;color:rgba(250,248,244,.92);background:rgba(28,26,23,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-photo__credit a{color:inherit}
.pl-photo__credit a:hover{color:#fff;text-decoration:underline}
.pl-hero .pl-photo__credit{z-index:4}

/* Photo row */
.pl-gallery{padding-bottom:64px}
.pl-gallery__row{display:grid;gap:24px}
.pl-gallery__row--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pl-gallery__row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pl-gallery__photo{height:340px}
.pl-gallery__row--3 .pl-gallery__photo{height:280px}
.pl-gallery__cap{font-size:13px;color:var(--sch-muted,var(--pl-muted));margin-top:10px;letter-spacing:.2px}

/* Photos in service cells and link cards */
.pl-cell__photo{height:180px;margin:-36px -28px 24px}
.pl-services--page .pl-cell__photo{height:220px;margin:-40px -32px 26px}
.pl-linkcards .pl-linkcard--photo{padding-top:0}
.pl-linkcard__photo{height:190px;margin:0 -28px 22px;overflow:hidden}
.pl-linkcard--photo .pl-photo__img{transition:transform .5s ease}
.pl-linkcard--photo:hover .pl-photo__img,.pl-cell--link:hover .pl-photo__img{transform:scale(1.03)}
.pl-cell__photo .pl-photo__img{transition:transform .5s ease}
.pl-card .pl-photo__img{transition:transform .5s ease}
.pl-card--link:hover .pl-photo__img{transform:scale(1.03)}

/* Post closing */
.pl-postend{padding:56px 0;border-top:1px solid var(--pl-rule);border-bottom:1px solid var(--pl-rule)}
.pl-postend__cta{max-width:760px}
.pl-postend__title{font-family:var(--pl-serif);font-size:26px;margin-bottom:10px}
.pl-postend__text{font-size:15px;line-height:1.7;color:var(--sch-muted,var(--pl-muted));margin-bottom:24px}
.pl-postend__text a{color:var(--sch-accent,var(--pl-brass));border-bottom:1px solid currentColor}
.pl-postmore .pl-head{margin-bottom:32px}
.pl-article + .pl-postend{margin-top:0}

/* Licenses in the footer */
.pl-footer__licenses a{color:var(--pl-small);border-bottom:1px solid var(--pl-rule-soft)}
.pl-footer__licenses a:hover{color:var(--pl-brass)}

/* ---------- Admin-only helpers (never rendered for visitors) --------------- */
/* An empty editable field must still be something to click into (a rate cell,
   an empty lede). Only the admin's markup carries data-edit. */
[data-edit]:empty{display:inline-block;min-width:4em;min-height:1.2em;border-bottom:1px dashed #d8b94a;vertical-align:bottom}
.pl-choice{display:inline-flex;align-items:center;gap:6px;font:12px/1.2 system-ui,sans-serif;color:#555;background:#fff8db;border:1px dashed #d8b94a;padding:4px 6px;margin-top:10px;text-transform:none;letter-spacing:0}
.pl-choice select{font:12px system-ui,sans-serif;padding:2px}
.pl-adminnote{font:13px/1.5 system-ui,sans-serif;color:#555;background:#fff8db;border:1px dashed #d8b94a;padding:8px 10px;margin-top:16px}
.pl-adminnote input{font:13px system-ui,sans-serif;padding:4px 6px;margin-top:4px}

/* ---------- Responsive ---------------------------------------------------- */
@media (max-width:1000px){
  /* Keep three vehicles / four figures on one row on a tablet instead of
     leaving the last one alone on a second row. */
  .pl-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
  .pl-stats--ruled .pl-stats__row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
  .pl-columns__grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px}
  .pl-title--page{font-size:38px}
  .pl-title--section{font-size:32px}
  .pl-vehicle{grid-template-columns:minmax(220px,340px) 1fr;gap:32px}
}
@media (max-width:900px){
  .pl-split__grid,.pl-area__grid,.pl-contact__grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .pl-split--photo-left .pl-split__photo{order:0}
  .pl-split__photo,.pl-split--page .pl-split__photo{height:320px}
  .pl-area__photo{height:300px}
  .pl-intro--photo .pl-intro__grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .pl-intro__photo{height:300px}
  .pl-services--teaser,.pl-fleetcards,.pl-split--teaser,.pl-quotes{padding:72px 0}
  .pl-cta{padding:80px 0}
}
@media (max-width:760px){
  :root{--pl-gutter:20px}
  .pl-flow{padding-top:56px;padding-bottom:56px}
  .pl-title--page,.pl-title--lead{font-size:32px}
  .pl-title--section{font-size:28px}
  .pl-head{margin-bottom:36px}
  .pl-services--page .pl-head,.pl-fleet .pl-head,.pl-blog .pl-head{margin-bottom:40px}
  .pl-area .pl-head,.pl-contact .pl-head{margin-bottom:36px}
  .pl-hero{height:auto;min-height:560px}
  .pl-hero__inner{padding-top:56px;padding-bottom:56px;min-height:560px}
  .pl-hero__card{padding:28px 24px}
  .pl-cells,.pl-services--page .pl-cells,.pl-cards,.pl-posts,.pl-quotes__grid{grid-template-columns:minmax(0,1fr)}
  .pl-cell,.pl-services--page .pl-cell{padding:28px 22px}
  .pl-stats--band .pl-stats__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;padding:40px 0}
  .pl-stats--band .pl-stat{min-width:0}
  .pl-stats--ruled .pl-stats__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;padding:36px 0}
  .pl-stat__value{font-size:34px}
  .pl-vehicle{grid-template-columns:minmax(0,1fr);gap:22px;padding:36px 0}
  .pl-vehicle__photo{height:240px}
  .pl-vehicle__name{font-size:24px}
  .pl-services__cta{margin-top:48px}
  .pl-services--teaser,.pl-fleetcards,.pl-split--teaser,.pl-quotes{padding:56px 0}
  .pl-cta{padding:64px 0}
  .pl-cta__title{font-size:28px}
  .pl-columns--ruled .pl-columns__grid{padding-top:36px}
  .pl-columns__grid{gap:28px}
  .pl-area__cities{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-title--sub{font-size:26px}
  .pl-intro{padding-bottom:44px}
  .pl-intro .pl-lede{font-size:15px}
  .pl-text,.pl-facts{padding-bottom:44px}
  .pl-text__body{font-size:15px}
  .pl-facts__grid{grid-template-columns:minmax(0,1fr)}
  .pl-steps__list{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:28px}
  .pl-qa__title{font-size:17px}
  .pl-qa__a{padding-right:0}
  .pl-linkcards{grid-template-columns:minmax(0,1fr)}
  .pl-linkcards .pl-linkcard{padding:22px 0}
  .pl-linkcards .pl-linkcard--photo{padding-top:0}
  .pl-linkcard__photo{margin:0 0 18px;height:200px}
  .pl-gallery__row--2,.pl-gallery__row--3{grid-template-columns:minmax(0,1fr)}
  .pl-gallery__photo,.pl-gallery__row--3 .pl-gallery__photo{height:240px}
  .pl-gallery{padding-bottom:44px}
  .pl-cell__photo,.pl-services--page .pl-cell__photo{height:190px;margin:-28px -22px 20px}
  .pl-vpanel__n{font-size:56px}
  .pl-rates__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .pl-rates__table,.pl-rates__table tbody,.pl-rates__table tr,.pl-rates__table th,.pl-rates__table td{display:block;width:100%}
  .pl-rates__table tr{border-top:1px solid var(--pl-rule);padding:14px 0}
  .pl-rates__table th,.pl-rates__table td{border:0;padding:4px 0}
  .pl-rates__table td{display:flex;justify-content:space-between;gap:16px;font-size:14px}
  .pl-rates__table td::before{content:attr(data-label);color:var(--sch-muted,var(--pl-muted));font-size:12px;letter-spacing:.5px;text-transform:uppercase}
  .pl-article{padding-top:48px;padding-bottom:56px}
  .pl-arthead__title{font-size:30px}
  .pl-artcover__photo{height:240px;margin-bottom:28px}
  .pl-thanks{padding:32px 22px}
  .pl-form__submit{justify-self:stretch}
  /* Footer accordion: Navigate / Contact / Service Area fold into tap rows. */
  .pl-footer__cols{grid-template-columns:minmax(0,1fr);gap:0;padding-top:48px;padding-bottom:36px}
  .pl-footer__brand{padding-bottom:28px}
  .pl-footer__col{border-top:1px solid var(--pl-rule)}
  .pl-footer__col:last-child{border-bottom:1px solid var(--pl-rule)}
  .pl-footer__h{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;margin:0;padding:16px 0;font-size:13px;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .pl-footer__caret{display:block;flex:none;width:9px;height:9px;margin:-5px 4px 0 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s ease,margin .2s ease}
  .pl-footer__col[open] .pl-footer__caret{transform:rotate(-135deg);margin-top:4px}
  .pl-footer__body{padding-bottom:20px}
  .pl-footer__links{gap:2px}
  .pl-footer__links a{padding:7px 0}
  .pl-footer__legal{border-top:0}
}
@media (max-width:480px){
  .pl-hero .pl-btns{flex-direction:column;align-items:stretch}
  .pl-hero .pl-btn{width:100%}
  .pl-hero__title{font-size:30px}
  .pl-post__img{height:190px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
