/* ============================================================
   PWC UI overlay, Edition 2026.2 (September 2026)
   Loaded last on every page; overrides each page's own inline styles.
   Implements /brand/ and reads /assets/brand-tokens.css. Every colour,
   size and radius here is a token; a hex written below is a bug.

   What changed from the 2026-08 overlay, in one line each:
   - the page is ivory, full width, no aurora gradient, no floating card
   - a slim sticky header with the monogram and the name, text nav
   - Cinzel for the page title and the wordmark only; Jost for the rest
   - one dark band per page (the contact band), solid Deep Plum, no gradients
   - radii capped at 20 px, two shadows, Slate Plum for secondary text
   ============================================================ */
@import url('/assets/brand-tokens.css');

:root{
  /* names older page CSS still reads */
  --pwc-ink:var(--pwc-charcoal);--pwc-hair:var(--pwc-line);--pwc-byz:var(--pwc-byzantium);
  --pwc-grad:var(--pwc-amethyst);           /* gradients are retired; anything asking for one gets the solid */
  --pwc-shadow-card:var(--shadow-1);--pwc-shadow-pop:var(--shadow-2);
  --display:var(--font-display);--sans:var(--font-text);
  --content:860px;                          /* reading column for text pages */
}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
}
::selection{background:var(--pwc-amethyst-200);color:var(--pwc-plum)}

/* ---------- Ground ---------- */
html body{margin:0;background:var(--paper) !important;background-attachment:scroll !important;
  color:var(--ink);font-family:var(--font-text);font-size:var(--fs-body);line-height:var(--lh-body);
  letter-spacing:0;-webkit-font-smoothing:antialiased}
html.pwc-aura body{background:var(--paper) !important;background-attachment:scroll !important}
html body input,html body button,html body select,html body textarea{font-family:inherit}

/* The page shell stops being a floating card and becomes the page. Children
   sit in a reading column; the chrome (header, nav, contact band, footer) is
   allowed the full container. */
html.pwc-aura div.site{background:transparent;max-width:none;margin:0;padding:0 0 var(--sp-8);
  border:0;border-radius:0;box-shadow:none}
html.pwc-aura div.site > *{max-width:var(--content);margin-left:auto;margin-right:auto;
  padding-left:var(--gutter);padding-right:var(--gutter);box-sizing:border-box}
html.pwc-aura div.site > .pnav,html.pwc-aura div.site > .cta-band,
html.pwc-aura div.site > .ftr{max-width:var(--container)}
html body div.topbar:empty{display:none}

/* ---------- Guides: they paint the aurora on .site itself and keep their own
   column layout (a fixed contents rail depends on it), so only the paint
   changes here, not the geometry. ---------- */
html body div.site.en,html body div.site.fr{background:var(--paper) !important;box-shadow:none !important;
  border:0 !important;border-radius:0 !important}
html body div.topbar:not(:empty){height:3px;background:var(--pwc-amethyst-100)}
html body div.topbar:not(:empty) .prog{background:var(--primary)}

/* ---------- Header: slim, sticky, translucent ---------- */
html body .hdr{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  gap:var(--sp-5);height:64px;padding-top:0;padding-bottom:0;margin-bottom:0;border-bottom:1px solid var(--line);
  background:rgba(246,241,233,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
html.pwc-aura div.site > .hdr{max-width:none;padding-left:0;padding-right:0}
html body .hdr .brand{margin-left:max(var(--gutter),calc((100% - var(--container)) / 2 + var(--gutter)))}
html body .hdr .langbar{margin-right:max(var(--gutter),calc((100% - var(--container)) / 2 + var(--gutter)))}
html body .brand{display:flex;align-items:center;gap:12px;text-decoration:none}
html body .logo{width:36px;height:36px;border-radius:9px;flex:none;font-size:0;color:transparent;
  background:url('/assets/brand/monogram-solid.svg') center/contain no-repeat;box-shadow:none;border:0}
html body .logo::after{content:none}
html body .brand .n{font-family:var(--font-display) !important;font-weight:600;font-size:14px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--primary);line-height:1.1}
html body .brand .n small{display:none}

/* ---------- Language toggle ---------- */
html body .langbar{display:flex;border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden;
  background:var(--surface);box-shadow:none}
html body .langbtn{border:0;border-radius:0;background:var(--surface);color:var(--ink-2);padding:7px 14px;
  font-size:12px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}
html body .langbtn.active{background:var(--primary);color:#fff}

/* ---------- Page nav: text links, not pills ---------- */
html body .pnav{display:flex;flex-wrap:nowrap;gap:var(--sp-5);justify-content:center;align-items:center;
  padding-top:14px;padding-bottom:14px;margin:0 auto var(--sp-2);border-bottom:1px solid var(--line);
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
html body .pnav::-webkit-scrollbar{display:none}
html body .pnav a{display:inline-block;flex:none;background:none;border:0;border-radius:0;padding:4px 0;
  font-size:13.5px;font-weight:500;color:var(--ink-2);text-decoration:none;letter-spacing:0;
  border-bottom:2px solid transparent;transition:color var(--dur-fast),border-color var(--dur-fast);
  transform:none;box-shadow:none}
html body .pnav a:hover{color:var(--primary);transform:none;box-shadow:none;border-color:var(--pwc-amethyst-200)}
html body .pnav a[aria-current]{background:none;color:var(--primary);border-bottom-color:var(--primary)}
@media (max-width:700px){html body .pnav{justify-content:flex-start;gap:var(--sp-4)}}

/* ---------- Typography ---------- */
html body h1,html body h2,html body h3,html body h4{font-family:var(--font-text) !important;font-weight:600;
  color:var(--ink);letter-spacing:0;line-height:var(--lh-heading)}
html body .hero{text-align:left;padding-top:var(--sp-8);padding-bottom:var(--sp-5)}
html body .hero h1{font-family:var(--font-display) !important;font-size:var(--fs-h1);line-height:var(--lh-display);
  letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin:0 0 var(--sp-4);font-weight:600}
html body .hero p{color:var(--ink-2);font-size:18px;max-width:var(--measure);margin:0 0 var(--sp-3);line-height:1.55}
html body .hero .mono{font-family:var(--font-text);font-size:var(--fs-label);letter-spacing:var(--track-label);
  text-transform:uppercase;font-weight:600;color:var(--primary);margin:0 0 var(--sp-3)}
html body .sec h2{font-size:var(--fs-h2);border:0;padding:0;margin:0 0 var(--sp-3);display:block}
html body .sec h2::after{content:none}
html body .sec h3{font-size:var(--fs-h3);margin:var(--sp-5) 0 var(--sp-2);color:var(--ink)}
html body .sec h4{font-size:16px;margin:var(--sp-4) 0 var(--sp-2)}
html body .sec p,html body .sec li,html body .tldr li{font-size:var(--fs-body);color:var(--ink);line-height:var(--lh-body)}
html body .sec p{max-width:var(--measure)}
html body .sec{margin-top:var(--sp-7)}
html body .tldr h2,html body .toc h2{font-family:var(--font-text) !important;font-size:var(--fs-label);
  letter-spacing:var(--track-label);text-transform:uppercase;font-weight:600;color:var(--primary);margin:0 0 var(--sp-3)}
html body .role,html body .updated,html body .uc,html body .eye{font-family:var(--font-text) !important;
  font-weight:600;letter-spacing:var(--track-label);text-transform:uppercase;font-size:var(--fs-label)}
html body .updated{color:var(--primary);background:var(--pwc-amethyst-50);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:6px 12px}
html body .cta-name,html body .foot-name,html body .headline{font-family:var(--font-display) !important;font-weight:600}
html body a{color:var(--primary)}

/* ---------- Cards and panels ---------- */
html body .tldr,html body .toc,html body .note,html body .calcbox,html body .compare .col,
html body .reslist li,html body .faq details{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-md) !important;box-shadow:var(--shadow-1)}
html body .tldr{padding:var(--sp-5)}
html body .toc{background:var(--pwc-amethyst-50)}
html body .toc a{color:var(--primary);font-weight:500}
html body .note{border-left:3px solid var(--primary);background:var(--pwc-amethyst-50)}
html body .note.hot{border-left-color:var(--pwc-warning);background:var(--pwc-warning-tint)}
html body .compare .col{transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
html body .compare .col:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
html body .compare .col h4{font-family:var(--font-text) !important;font-weight:600;color:var(--ink)}
html body .reslist li{transition:border-color var(--dur-fast),transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}
html body .reslist li:hover{border-color:var(--pwc-amethyst-300);transform:translateY(-1px);box-shadow:var(--shadow-2)}
html body .badge{width:28px;height:28px;font-size:13px;background:var(--primary);color:#fff;
  font-family:var(--font-text) !important;font-weight:600;box-shadow:none}

/* ---------- Tables ---------- */
html body .ptable{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}
html body .ptable th{font-family:var(--font-text);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-2);background:var(--pwc-amethyst-50)}
html body .ptable th,html body .ptable td{padding:11px 12px;border-bottom:1px solid var(--line)}
html body .ptable tbody tr{transition:background var(--dur-fast)}
html body .ptable tbody tr:hover{background:var(--pwc-amethyst-50)}

/* ---------- TOC as a text list, not chips ---------- */
html body .toc ol{display:block;columns:2;column-gap:var(--sp-6);padding-left:20px;margin:0;list-style:decimal}
html body .toc li{margin:0 0 6px;break-inside:avoid}
html body .toc a{display:inline;background:none;border:0;border-radius:0;padding:0;font-size:15px;
  transform:none;box-shadow:none}
html body .toc a:hover{transform:none;box-shadow:none;text-decoration:underline;text-underline-offset:3px}
@media (max-width:600px){html body .toc ol{columns:1}}

/* ---------- FAQ ---------- */
html body .faq details{transition:border-color var(--dur-fast),box-shadow var(--dur-base)}
html body .faq details:hover{border-color:var(--pwc-amethyst-300)}
html body .faq details[open]{border-color:var(--pwc-amethyst-300);box-shadow:var(--shadow-2)}
html body .faq summary{font-family:var(--font-text);font-weight:600;position:relative;padding-right:34px;list-style:none;color:var(--ink)}
html body .faq summary::-webkit-details-marker{display:none}
html body .faq summary::after{content:"+";position:absolute;right:0;top:50%;width:24px;height:24px;margin-top:-12px;
  border-radius:50%;background:var(--pwc-amethyst-100);color:var(--primary);text-align:center;line-height:24px;
  font-weight:600;font-size:16px;transition:transform var(--dur-base) var(--ease-out),background var(--dur-fast),color var(--dur-fast)}
html body .faq details[open] summary::after{transform:rotate(45deg);background:var(--primary);color:#fff}

/* ---------- Buttons: one system ---------- */
html body .crossbtn,html body .cbtns a,html body .pcta a.pbtn,html body button[type=submit],
html body .pwc-send{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:var(--r-pill) !important;padding:12px 22px;font-family:var(--font-text) !important;font-weight:600;
  font-size:15px;letter-spacing:0;text-decoration:none;border:1px solid transparent;cursor:pointer;
  background:var(--primary) !important;color:#fff !important;box-shadow:none;
  transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background var(--dur-fast)}
html body .crossbtn:hover,html body .cbtns a:hover,html body .pcta a.pbtn:hover,html body button[type=submit]:hover,
html body .pwc-send:hover{transform:translateY(-1px);box-shadow:var(--shadow-2);background:var(--pwc-amethyst-600) !important;
  text-decoration:none;color:#fff !important}

/* ---------- Cross links panel: a light card, not a dark one ---------- */
html body .cross{background:var(--pwc-amethyst-50);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:var(--sp-6) var(--sp-5);position:relative;overflow:hidden;color:var(--ink);text-align:center}
html body .cross::before{content:none}
html body .cross h3{color:var(--ink);letter-spacing:0;font-size:var(--fs-h3);margin:0 0 var(--sp-2)}
html body .cross p{color:var(--ink-2);font-size:var(--fs-body);margin:0 0 var(--sp-4)}
html body .cross a:not(.crossbtn),html body .crossalt,html body .crossalt a{color:var(--primary)}
html body .pcta{border-radius:var(--r-lg);background:var(--pwc-amethyst-50);border:1px solid var(--line)}
html body .pcta .eye{color:var(--primary)}

/* ---------- Lead capture widget (injected at runtime, hence !important) ---------- */
html body .pwc-cap{border-radius:var(--r-lg) !important;background:var(--dark) !important;box-shadow:none !important}
html body .pwc-cap h4{font-family:var(--font-text) !important;font-weight:600;letter-spacing:0}
html body .pwc-cap button{border-radius:var(--r-pill) !important;font-family:var(--font-text) !important;font-weight:600 !important;
  box-shadow:none;transition:transform var(--dur-base) var(--ease-out)}
html body .pwc-cap button:hover{transform:translateY(-1px)}
html body .pwc-modal{border-radius:var(--r-lg) !important;font-family:var(--font-text) !important}
html body .pwc-modal h3{font-family:var(--font-text) !important;font-weight:600}
html body .pwc-modal input[type=text],html body .pwc-modal input[type=email]{border-radius:var(--r-sm) !important;
  border:1px solid var(--line) !important}
html body .pwc-modal input:focus{border-color:var(--primary) !important;box-shadow:0 0 0 3px var(--pwc-amethyst-100)}

/* ---------- Forms ---------- */
html body .field input,html body .field select,html body .field textarea,html body .input-shell{border-radius:var(--r-sm);
  border:1px solid var(--line);background:var(--surface);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
html body .field input:focus,html body .field select:focus,html body .field textarea:focus,
html body .input-shell:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--pwc-amethyst-100);outline:none}
html body .field-label{font-family:var(--font-text);font-size:var(--fs-small);font-weight:500;letter-spacing:0;color:var(--ink-2)}
:focus-visible{outline:3px solid var(--pwc-amethyst-300);outline-offset:2px}

/* ---------- Calculator ---------- */
html body .ghead{font-family:var(--font-text);font-size:var(--fs-label);letter-spacing:var(--track-label);font-weight:600;color:var(--primary)}
html body .cta{border-radius:var(--r-lg)}

/* ---------- Calculator header (its own markup: header.site, .mono, .brand-name, .lang) ---------- */
html body header.site{position:sticky;top:0;z-index:20;background:rgba(246,241,233,.86);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:none}
html body header.site .site-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between}
html body header.site .mono{width:36px;height:36px;border-radius:9px;font-size:0;color:transparent;box-shadow:none;border:0;
  background:url('/assets/brand/monogram-solid.svg') center/contain no-repeat}
html body header.site .brand-name{font-family:var(--font-display) !important;font-weight:600;font-size:14px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}
html body header.site .brand-tag{display:none}
html body .lang{display:flex;border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden;background:var(--surface)}
html body .lang button{border:0;border-radius:0;background:var(--surface);color:var(--ink-2);padding:7px 14px;font-size:12px;
  font-weight:600;letter-spacing:.06em;cursor:pointer}
html body .lang button[aria-pressed="true"]{background:var(--primary);color:#fff}
html body nav.pnav{max-width:var(--container);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}

/* ---------- Reading progress and back to top ---------- */
html body .pwc-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--primary);z-index:999;pointer-events:none}
html body .pwc-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:var(--surface);color:var(--primary);font-size:18px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;
  transform:translateY(10px);transition:opacity var(--dur-base),transform var(--dur-base) var(--ease-out);box-shadow:var(--shadow-2);z-index:998}
html body .pwc-top.on{opacity:1;pointer-events:auto;transform:none}
html body .pwc-top:hover{transform:translateY(-2px)}

/* ---------- The one dark band: contact ---------- */
html body .cta-band{margin-top:var(--sp-9);border-radius:var(--r-lg);padding:var(--sp-8) var(--sp-6);text-align:center;
  color:var(--on-dark);position:relative;overflow:hidden;background:var(--dark);box-shadow:none}
html body .cta-band::before{content:none}
html body .cta-photo{width:132px;height:132px;border-radius:50%;object-fit:cover;object-position:50% 32%;
  border:3px solid rgba(246,241,233,.9);box-shadow:none;margin:0 auto var(--sp-5);display:block}
html body .cta-band h2{font-family:var(--font-display) !important;color:var(--on-dark);font-size:28px;font-weight:600;
  margin:0 0 var(--sp-3);line-height:1.15;letter-spacing:.04em;text-transform:uppercase}
html body .cta-band p{color:var(--pwc-orchid);font-size:var(--fs-body);max-width:52ch;margin:0 auto var(--sp-5)}
html body .cta-rows{max-width:470px;margin:var(--sp-5) auto 0;display:flex;flex-direction:column;gap:10px}
html body .crow{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-md);padding:12px 16px}
/* The number in the row is white. The Call/Text/Email pills are NOT: an
   earlier version matched every tel: link in the band and painted the Call
   button's text white on its ivory pill. */
html body .crow .cv,html body .crow .cv a,html body .crow .cv a[href^="tel"]{color:#fff !important;font-weight:600;font-size:15px;text-align:left;text-decoration:none;word-break:break-all}
html body .cbtns{display:flex;gap:8px;flex:none}
html body .cbtns a,html body .cbtns a[href^="tel"],html body .cbtns a[href^="sms"],html body .cbtns a[href^="mailto"]{
  background:var(--pwc-ivory) !important;color:var(--pwc-plum) !important;padding:8px 16px;font-size:13.5px}
html body .cbtns a:hover{background:#fff !important;color:var(--pwc-plum) !important}

/* ---------- Footer ---------- */
html body .logos{display:flex;align-items:center;justify-content:center;gap:26px;margin:0 0 var(--sp-4);flex-wrap:wrap}
html body .logos img{opacity:.9;height:auto}
html body .logos a{display:inline-flex;text-decoration:none}
html body .ftr{margin-top:var(--sp-8);border-top:1px solid var(--line);padding:var(--sp-6) var(--gutter) var(--sp-5);
  text-align:center;font-size:var(--fs-small);line-height:1.65;color:var(--ink-2)}
html body .ftr-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 32%;
  border:2px solid var(--surface);box-shadow:var(--shadow-1);margin:0 auto var(--sp-3);display:block}
html body .fnav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 0;margin:0 auto var(--sp-4);max-width:760px;font-size:13px}
html body .fnav a,html body .ftr-legal a{color:var(--primary);text-decoration:none;padding:3px 9px;border-radius:6px}
html body .fnav a:hover,html body .ftr-legal a:hover{background:var(--pwc-amethyst-50);text-decoration:none}
html body .fsep{color:var(--pwc-amethyst-200);padding:0 2px;user-select:none}
html body .ftr .cta-name{font-family:var(--font-display) !important;color:var(--primary);font-size:15px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:600}
html body .ftr-role{color:var(--ink-2);letter-spacing:0;margin-top:2px}
html body .ftr-tel,html body .ftr-mail{margin-top:6px;color:var(--ink)}
html body .ftr a{color:var(--primary)}
html body .ftr-brok{margin-top:8px;color:var(--ink-2);font-size:13px}
html body .ftr-legal{margin-top:12px;font-size:13px}
html body .ftr .disc,html body .ftr .disclaimer{font-size:12.5px;color:var(--ink-2);margin:var(--sp-4) auto 0;line-height:1.6;max-width:640px}

/* Every page can use the en/fr span pattern. */
body.en .fr{display:none}
body.fr .en{display:none}

/* ---------- Scroll reveal (Chromium; static elsewhere) ---------- */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    html.pwc-aura .sec{animation:pwc-rise both;animation-timeline:view();animation-range:entry 0% entry 40%}
  }
}
@keyframes pwc-rise{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}

/* ---------- Phone ---------- */
@media (max-width:620px){
  html body .hdr{height:58px}
  html body .brand{flex-direction:row;align-items:center;margin-left:var(--gutter)}
  html body .hdr .langbar{margin-right:var(--gutter)}
  html body .logo{width:30px;height:30px;border-radius:8px}
  html body .brand .n{font-size:11px;letter-spacing:.12em}
  html body .hero{padding-top:var(--sp-6)}
  html body .hero h1{font-size:24px;letter-spacing:.05em}
  html body .hero p{font-size:16px}
  html body .cta-band{padding:var(--sp-6) var(--sp-4);border-radius:var(--r-md)}
  html body .cta-band h2{font-size:22px}
  html body .crow{flex-direction:column;align-items:stretch;gap:10px}
  html body .crow .cv{text-align:center}
  html body .cbtns{justify-content:center}
  html body .logos{gap:18px}
}

@media (max-width:420px){
  /* The name runs under the language toggle at phone width; the monogram carries the brand alone. */
  html body .brand .n,html body header.site .brand-name{display:none}
}

/* ---------- Print (clients print the guides) ---------- */
@media print{
  html body .topbar,html body .langbar,html body .cross,html body .pcta,html body .pwc-cap,
  html body #pwc-lead-mount,html body .pwc-top,html body .pwc-progress,html body .pnav,html body .fnav,
  html body .cta-band{display:none !important}
  html body{background:#fff !important}
  html body .hdr{position:static;background:#fff;backdrop-filter:none}
  html body .sec{animation:none !important;opacity:1 !important;transform:none !important}
}
