﻿/*!
 * PICARD. main stylesheet
 * Single file, organized by section. Token-based, mobile-first, modern CSS.
 */:root{--c-bg: var(--wp--preset--color--cream);--c-bg-alt: var(--wp--preset--color--cream-dark);--c-bg-dark: var(--wp--preset--color--navy);--c-bg-dark-deep: var(--wp--preset--color--navy-900);--c-surface: #fff;--c-text: var(--wp--preset--color--ink);--c-text-muted: var(--wp--preset--color--ink-500);--c-text-faded: var(--wp--preset--color--ink-300);--c-text-on-dark: #fff;--c-text-on-dark-muted: rgb(255 255 255 / 0.65);--c-accent: var(--wp--preset--color--coral);--c-accent-dark: var(--wp--preset--color--coral-700);--c-accent-soft: var(--wp--preset--color--coral-100);--c-accent-2: var(--wp--preset--color--acid);--c-line: var(--wp--preset--color--line);--c-line-dark: color-mix(in oklab, var(--wp--preset--color--navy) 70%, transparent);--f-sans: var(--wp--preset--font-family--sans);--f-display: var(--wp--preset--font-family--display);--f-mono: var(--wp--preset--font-family--mono);--s-3xs: var(--wp--preset--spacing--3xs);--s-2xs: var(--wp--preset--spacing--2xs);--s-xs: var(--wp--preset--spacing--xs);--s-sm: var(--wp--preset--spacing--sm);--s-md: var(--wp--preset--spacing--md);--s-lg: var(--wp--preset--spacing--lg);--s-xl: var(--wp--preset--spacing--xl);--s-2xl: var(--wp--preset--spacing--2xl);--s-3xl: var(--wp--preset--spacing--3xl);--s-4xl: var(--wp--preset--spacing--4xl);--s-5xl: var(--wp--preset--spacing--5xl);--t-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);--t-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);--t-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);--t-spring: 600ms cubic-bezier(0.34, 1.56, 0.64, 1);--r-sm: 4px;--r-md: 8px;--r-lg: 16px;--r-xl: 24px;--r-2xl: 32px;--r-full: 9999px;--container: 1280px;--container-rd: 980px;--container-pad: clamp(1.25rem, 4vw, 2.5rem);--header-h: 72px}@media(prefers-color-scheme: dark){:root.theme-auto,:root{--c-bg: var(--wp--preset--color--navy-900);--c-bg-alt: var(--wp--preset--color--navy);--c-bg-dark: var(--wp--preset--color--navy-900);--c-bg-dark-deep: #050314;--c-surface: var(--wp--preset--color--navy);--c-text: #fff;--c-text-muted: color-mix(in oklab, #fff 70%, transparent);--c-text-faded: color-mix(in oklab, #fff 45%, transparent);--c-line: color-mix(in oklab, #fff 12%, transparent)}}:root.theme-light{color-scheme:light;--c-bg: var(--wp--preset--color--cream);--c-bg-alt: var(--wp--preset--color--cream-dark);--c-bg-dark: var(--wp--preset--color--navy);--c-bg-dark-deep: var(--wp--preset--color--navy-900);--c-surface: #fff;--c-text: var(--wp--preset--color--ink);--c-text-muted: var(--wp--preset--color--ink-500);--c-text-faded: var(--wp--preset--color--ink-300);--c-line: var(--wp--preset--color--line)}:root.theme-dark{color-scheme:dark;--c-bg: var(--wp--preset--color--navy-900);--c-bg-alt: var(--wp--preset--color--navy);--c-text: #fff;--c-line: color-mix(in oklab, #fff 12%, transparent)}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;tab-size:4}body{min-height:100svh;background:var(--c-bg);color:var(--c-text);font-family:var(--f-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:2px}::selection{background:var(--c-accent);color:#fff}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}.t-display{font-family:var(--f-sans);font-weight:900;letter-spacing:-0.04em}.t-mono{font-family:var(--f-mono)}.t-eyebrow{font-family:var(--f-mono);font-size:var(--wp--preset--font-size--xs);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--c-text-muted);display:inline-flex;align-items:center;gap:.6rem}.t-eyebrow::before{content:"";display:inline-block;width:6px;height:6px;background:var(--c-accent);border-radius:9999px;flex:0 0 auto}.t-lead{font-size:var(--wp--preset--font-size--lg);line-height:1.45;color:var(--c-text-muted);max-width:60ch}.t-balance{text-wrap:balance}.t-pretty{text-wrap:pretty}.brand-dot{color:var(--c-accent);display:inline-block}.section-title{font-size:clamp(2.5rem,6.5vw,5rem);line-height:.98;letter-spacing:-0.045em;font-weight:900;text-wrap:balance}.section-title .brand-dot{font-weight:inherit}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--container-pad)}.container--read{max-width:var(--container-rd)}.section{padding-block:clamp(5rem,12vw,11rem);position:relative;isolation:isolate}.section__head{max-width:64ch;margin-bottom:var(--s-2xl)}.section--dark{background:var(--c-bg-dark);color:#fff;--c-text: #fff;--c-text-muted: rgba(255,255,255,0.7);--c-line: rgba(255,255,255,0.12)}.section--alt{background:var(--c-bg-alt)}.grid{display:grid;gap:var(--s-md)}.grid-2{grid-template-columns:repeat(auto-fit, minmax(min(100%, 22rem), 1fr))}.grid-3{grid-template-columns:repeat(auto-fit, minmax(min(100%, 18rem), 1fr))}.grid-4{grid-template-columns:repeat(auto-fit, minmax(min(100%, 14rem), 1fr))}.bento{display:grid;gap:var(--s-md);grid-template-columns:repeat(12, 1fr);grid-auto-rows:minmax(220px, auto)}.bento>*{grid-column:span 12}@media(min-width: 768px){.bento--6-6>*:nth-child(odd){grid-column:span 6}.bento--6-6>*:nth-child(even){grid-column:span 6}.bento--7-5>*:nth-child(odd){grid-column:span 7}.bento--7-5>*:nth-child(even){grid-column:span 5}.bento--8-4>*:nth-child(odd){grid-column:span 8}.bento--8-4>*:nth-child(even){grid-column:span 4}}.section-dots{position:absolute;pointer-events:none;z-index:0;color:var(--c-accent);opacity:.18}.section-dots svg{width:100%;height:auto}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:1.1rem 1.9rem;border-radius:var(--r-full);font-size:var(--wp--preset--font-size--sm);font-weight:500;letter-spacing:.02em;line-height:1;background:var(--c-accent);color:#fff;transition:transform var(--t-base),background var(--t-base);will-change:transform}.btn:hover{background:var(--c-accent-dark);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--ghost{background:rgba(0,0,0,0);color:var(--c-text);border:1px solid currentColor}.btn--ghost:hover{background:var(--c-text);color:var(--c-bg)}.btn--dark{background:var(--c-bg-dark);color:#fff}.btn--dark:hover{background:var(--c-bg-dark-deep)}.btn--light{background:#fff;color:var(--c-bg-dark)}.btn--light:hover{background:var(--c-cream)}.btn .btn__arrow{display:inline-block;transition:transform var(--t-spring)}.btn:hover .btn__arrow{transform:translateX(4px)}.link-arrow{display:inline-flex;align-items:center;gap:.35rem;color:var(--c-accent);font-weight:500;border-bottom:1px solid currentColor;padding-bottom:2px;transition:gap var(--t-spring),color var(--t-base)}.link-arrow:hover{gap:.75rem;color:var(--c-accent-dark)}.picard-rotating-dot{--picard-dot-size: 180px;--picard-dot-color: var(--c-accent);--picard-dot-rotation-duration: 20s;position:relative;min-height:100vh;pointer-events:none;z-index:1}.picard-rotating-dot__sticky{position:sticky;top:clamp(80px,var(--picard-dot-sticky-top, 50vh),80vh);width:var(--picard-dot-size);height:var(--picard-dot-size);margin-inline:auto;transform:translateY(-50%);pointer-events:auto}.picard-rotating-dot__shape{position:absolute;inset:0;width:100%;height:100%;color:var(--picard-dot-color);transition:color var(--t-slow);filter:drop-shadow(0 10px 30px color-mix(in oklab, var(--picard-dot-color) 35%, transparent))}.picard-rotating-dot__path{transition:d var(--t-slow),transform var(--t-spring);transform-origin:center}.picard-rotating-dot__text{position:absolute;inset:0;width:100%;height:100%;animation:picard-dot-rotate var(--picard-dot-rotation-duration) linear infinite}.picard-rotating-dot__rotating{fill:var(--picard-dot-color);font-family:var(--f-mono);font-size:14px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;transition:fill var(--t-slow)}.picard-rotating-dot__label{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}@keyframes picard-dot-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.picard-rotating-dot[data-morph=sphere] .picard-rotating-dot__path{d:path("M 100,12 A 88,88 0 1,1 100,188 A 88,88 0 1,1 100,12 Z")}.picard-rotating-dot[data-morph=squircle] .picard-rotating-dot__path{d:path("M 50,20 Q 100,20 130,30 Q 180,50 180,100 Q 180,150 130,170 Q 100,180 50,180 Q 20,160 20,100 Q 20,50 50,20 Z")}.picard-rotating-dot[data-morph=blob] .picard-rotating-dot__path{d:path("M 40,60 Q 60,10 110,15 Q 175,25 175,90 Q 180,160 110,180 Q 50,185 30,140 Q 10,90 40,60 Z")}.picard-rotating-dot[data-morph=arrow] .picard-rotating-dot__path{d:path("M 30,80 L 130,80 L 130,40 L 185,100 L 130,160 L 130,120 L 30,120 Z")}.picard-rotating-dot[data-morph=grid] .picard-rotating-dot__path{d:path("M 30,30 h 40 v 40 h -40 z M 90,30 h 40 v 40 h -40 z M 150,30 h 20 v 40 h -20 z M 30,90 h 40 v 40 h -40 z M 90,90 h 40 v 40 h -40 z M 150,90 h 20 v 40 h -20 z M 30,150 h 40 v 20 h -40 z M 90,150 h 40 v 20 h -40 z")}@supports(animation-timeline: scroll()){@keyframes picard-dot-scale{0%{transform:translateY(-50%) scale(0.6)}20%{transform:translateY(-50%) scale(1)}80%{transform:translateY(-50%) scale(1)}100%{transform:translateY(-50%) scale(0.85)}}.picard-rotating-dot__sticky{animation:picard-dot-scale linear both;animation-timeline:view();animation-range:cover 0% cover 100%}}.picard-rotating-dot--sm .picard-rotating-dot__sticky{width:90px;height:90px}.picard-rotating-dot--lg .picard-rotating-dot__sticky{width:240px;height:240px}.picard-rotating-dot--xl .picard-rotating-dot__sticky{width:320px;height:320px}.picard-rotating-dot--inline{min-height:0}.picard-rotating-dot--inline .picard-rotating-dot__sticky{position:relative;top:auto;transform:none;width:var(--picard-dot-size);height:var(--picard-dot-size)}@media(prefers-reduced-motion: reduce){.picard-rotating-dot__text{animation:none}}.picard-stat{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.picard-stat__value{font-family:"Roboto",system-ui,sans-serif !important;font-style:normal !important;font-weight:900;font-size:clamp(2.75rem,7vw,4.5rem);line-height:.95;letter-spacing:-0.045em;color:inherit;display:inline-flex;align-items:baseline;font-variant-numeric:tabular-nums}.picard-stat__suffix{font-style:normal !important;font-family:inherit !important;font-size:.55em;margin-left:.05em;color:var(--c-accent);font-weight:900}.picard-stat__label{font-family:"Roboto",system-ui,sans-serif;font-style:normal;font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-muted)}em,i,.t-display{font-style:normal;font-family:inherit}.picard-pillar{padding:var(--s-lg);border-radius:var(--r-xl);background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-line);transition:transform var(--t-spring),border-color var(--t-base);display:flex;flex-direction:column;gap:var(--s-sm)}.picard-pillar:hover{transform:translateY(-4px);border-color:var(--c-accent)}.picard-pillar__icon{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--r-full);background:var(--c-accent-soft);color:var(--c-accent-dark)}.picard-pillar__icon svg{width:26px;height:26px}.picard-pillar__title{font-size:var(--wp--preset--font-size--xl);line-height:1.15;letter-spacing:-0.02em;font-weight:700}.picard-pillar__desc{color:var(--c-text-muted);max-width:40ch;line-height:1.55}.section--dark .picard-pillar{background:hsla(0,0%,100%,.04);border-color:hsla(0,0%,100%,.08);color:#fff}.section--dark .picard-pillar:hover{background:hsla(0,0%,100%,.07);border-color:var(--c-accent)}.section--dark .picard-pillar__title{color:#fff}.section--dark .picard-pillar__desc{color:hsla(0,0%,100%,.7)}.site-header{position:absolute;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;height:var(--header-h);padding-inline:clamp(1.5rem,4vw,3rem);background:rgba(0,0,0,0);border:0;backdrop-filter:none;-webkit-backdrop-filter:none}.site-header__inner{width:100%;max-width:1440px;margin-inline:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-md)}.site-logo{display:inline-flex;align-items:center}.site-logo svg{display:block;height:22px;width:auto}.site-nav{display:none}@media(min-width: 1024px){.site-nav{display:flex;justify-content:center;gap:clamp(1.25rem,2vw,2.25rem)}}.site-nav a{font-family:var(--f-sans);font-size:.875rem;font-weight:500;color:hsla(0,0%,100%,.85);letter-spacing:0;padding:.5rem 0;transition:color var(--t-base)}.site-nav a:hover,.site-nav a[aria-current=page]{color:#fff}.site-header__actions{display:flex;gap:.85rem;align-items:center}.social-ico{display:inline-grid;place-items:center;width:24px;height:24px;color:var(--c-accent);transition:transform var(--t-spring),color var(--t-base)}.social-ico:hover{color:#fff;transform:translateY(-2px)}.picard-lang-switch{font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.16em;padding:6px 10px;border:1px solid hsla(0,0%,100%,.2);border-radius:var(--r-full);color:hsla(0,0%,100%,.85);transition:all var(--t-base);margin-left:.5rem}.picard-lang-switch:hover{color:#fff;border-color:#fff}.site-footer{background:var(--c-bg-dark-deep);color:hsla(0,0%,100%,.85);padding-block:clamp(3.5rem,6vw,5.5rem) 1.5rem;text-align:left;position:relative}.site-footer__inner{max-width:1320px;margin:0 auto;padding-inline:clamp(180px,12vw,220px) clamp(2rem,5vw,5rem);display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width: 768px){.site-footer__inner{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}}@media(max-width: 1024px){.site-footer__inner{padding-inline:clamp(1.5rem,5vw,3rem)}}.site-footer__logo{display:inline-block;margin-bottom:1.25rem}.site-footer__logo svg{height:32px;width:auto}.site-footer__tagline{font-family:"Roboto",system-ui,sans-serif;font-size:1rem;font-weight:700;color:#fff;line-height:1.3;max-width:28ch;margin-bottom:1rem}.site-footer__tagline .dot{color:var(--c-accent)}.site-footer__address{font-size:.875rem;line-height:1.6;color:hsla(0,0%,100%,.7);margin-bottom:1rem}.site-footer__address a{color:var(--c-accent)}.site-footer__address a:hover{color:#fff}.site-footer__phones{display:flex;flex-direction:column;gap:.35rem}.site-footer__phones a{font-family:"Roboto",system-ui,sans-serif;font-size:.9375rem;font-weight:500;color:hsla(0,0%,100%,.92);display:inline-flex;align-items:center;gap:.5rem;transition:color var(--t-base)}.site-footer__phones a:hover{color:var(--c-accent)}.site-footer__phones span{font-family:"Roboto",monospace;font-size:.65rem;letter-spacing:.16em;color:hsla(0,0%,100%,.4);padding:.15rem .4rem;border:1px solid hsla(0,0%,100%,.15);border-radius:4px}.site-footer__col h4{font-family:"Roboto",monospace;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:hsla(0,0%,100%,.5);margin-bottom:1rem}.site-footer__col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem;padding:0;margin:0 0 1.5rem}.site-footer__col a{color:hsla(0,0%,100%,.8);font-size:.875rem;transition:color var(--t-base)}.site-footer__col a:hover{color:var(--c-accent)}.site-footer__social{display:flex;gap:.5rem;margin-top:1rem}.site-footer__social a{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.7);transition:all var(--t-base)}.site-footer__social a:hover{background:var(--c-accent);color:#fff;transform:translateY(-2px)}.site-footer__bottom{max-width:1320px;margin:2.5rem auto 0;padding:1.5rem clamp(180px,12vw,220px) 0 clamp(180px,12vw,220px);border-top:1px solid hsla(0,0%,100%,.08);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.75rem;color:hsla(0,0%,100%,.45)}@media(max-width: 1024px){.site-footer__bottom{padding-inline:clamp(1.5rem,5vw,3rem)}}.site-footer__bottom a{color:hsla(0,0%,100%,.6)}.site-footer__bottom a:hover{color:var(--c-accent)}.hero{position:relative;background:var(--c-bg-dark);color:#fff;padding-top:calc(var(--header-h) + clamp(2rem,6vw,5rem));padding-bottom:clamp(4rem,8vw,7rem);overflow:hidden;padding-left:clamp(180px,12vw,220px)}.hero__container{position:relative;width:100%;max-width:1320px;margin:0;padding-right:clamp(2rem,5vw,5rem);display:grid;grid-template-columns:1fr;gap:var(--s-xl);align-items:center}@media(min-width: 1024px){.hero__container{grid-template-columns:1.4fr 1fr;gap:clamp(2rem,5vw,5rem)}}.hero__content{position:relative;z-index:2}.hero__title{font-family:"Roboto",system-ui,sans-serif;font-size:clamp(2.5rem,5vw,4.25rem);line-height:1.04;letter-spacing:-0.035em;font-weight:900;color:#fff;text-wrap:balance;max-width:18ch}.hero__title .dot{color:var(--c-accent)}.hero__sub{margin-top:var(--s-md);font-size:clamp(.95rem,1.1vw,1.0625rem);line-height:1.55;color:hsla(0,0%,100%,.7);max-width:46ch;font-weight:300}.hero__cta{margin-top:var(--s-lg);display:inline-flex;align-items:center;gap:.5rem;color:var(--c-accent);font-weight:500;font-size:.95rem;transition:gap var(--t-spring),color var(--t-base)}.hero__cta::before{content:"—";margin-right:.25rem}.hero__cta:hover{gap:.85rem;color:var(--c-accent-dark)}.hero__pattern{position:relative;display:flex;justify-content:center;align-items:center;min-height:480px;pointer-events:auto}.hero__pattern svg.hero-dots{width:100%;max-width:540px;height:auto;color:hsla(0,0%,100%,.85);pointer-events:auto}@media(max-width: 1024px){.hero{padding-left:clamp(1.5rem,5vw,3rem)}.hero__pattern{min-height:320px}.hero__pattern svg.hero-dots{max-width:400px}}.services-3cols{display:grid;gap:0;grid-template-columns:1fr}@media(min-width: 768px){.services-3cols{grid-template-columns:repeat(3, 1fr)}}.service-col{padding:var(--s-lg) var(--s-md);text-align:center;border-bottom:1px solid var(--c-line);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:var(--s-sm);align-items:center;transition:transform var(--t-spring)}@media(min-width: 768px){.service-col{border-bottom:none;border-right:1px solid var(--c-line)}.service-col:last-child{border-right:none}}.service-col:hover{transform:translateY(-4px)}.service-col__icon{width:72px;height:72px;display:grid;place-items:center;margin-bottom:var(--s-sm)}.service-col__icon svg{width:100%;height:100%}.service-col__title{font-size:clamp(1.125rem,1.6vw,1.375rem);font-weight:700;line-height:1.2;letter-spacing:-0.01em;color:var(--c-text);max-width:18ch}.service-col__desc{font-size:var(--wp--preset--font-size--sm);color:var(--c-text-muted);max-width:30ch;line-height:1.55}.service-col__link{margin-top:auto;color:var(--c-accent);font-weight:500;font-size:var(--wp--preset--font-size--sm);display:inline-flex;align-items:center;gap:.4rem;transition:gap var(--t-spring)}.service-col:hover .service-col__link{gap:.65rem}.section-connector{display:flex;justify-content:center;padding-block:var(--s-2xl)}.section-connector svg{width:100%;max-width:800px;height:80px}.case-card{position:relative;border-radius:var(--r-2xl);overflow:hidden;aspect-ratio:4/3;background:var(--c-bg-alt);transition:transform var(--t-spring)}.case-card:hover{transform:translateY(-4px)}.case-card__media{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;transition:transform var(--t-slow)}.case-card:hover .case-card__media{transform:scale(1.04)}.case-card__overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(15, 10, 38, 0.85) 0%, transparent 60%)}.case-card__body{position:absolute;left:var(--s-md);right:var(--s-md);bottom:var(--s-md);color:#fff;z-index:1}.case-card__client{font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.7}.case-card__title{margin-top:.4rem;font-size:var(--wp--preset--font-size--lg);line-height:1.2;letter-spacing:-0.01em}.picard-cursor{position:fixed;top:0;left:0;width:12px;height:12px;border-radius:50%;background:var(--c-accent);pointer-events:none;z-index:9999;transform:translate(-50%, -50%);opacity:0;transition:width var(--t-spring),height var(--t-spring),opacity var(--t-base);will-change:transform,width,height}body.cursor-on .picard-cursor{opacity:.85}body.cursor-on .picard-cursor.is-hover{width:48px;height:48px;opacity:.5}@media(hover: none){.picard-cursor{display:none}}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 800ms cubic-bezier(0.2, 0.8, 0.2, 1),transform 800ms cubic-bezier(0.2, 0.8, 0.2, 1)}[data-reveal].is-in{opacity:1;transform:translateY(0)}[data-reveal][data-reveal-delay="1"].is-in{transition-delay:100ms}[data-reveal][data-reveal-delay="2"].is-in{transition-delay:200ms}[data-reveal][data-reveal-delay="3"].is-in{transition-delay:300ms}[data-reveal][data-reveal-delay="4"].is-in{transition-delay:400ms}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:400ms;animation-timing-function:cubic-bezier(0.2, 0.8, 0.2, 1)}.vt-hero-title{view-transition-name:hero-title}.vt-rotating-dot{view-transition-name:rotating-dot}.services-band{position:relative;background:var(--c-accent);padding-block:clamp(3rem,6vw,5rem);overflow:hidden;padding-left:clamp(180px,12vw,220px)}@media(max-width: 1024px){.services-band{padding-left:clamp(1.5rem,5vw,3rem)}}.services-band__inner{position:relative;z-index:1;max-width:1320px;padding-right:clamp(2rem,5vw,5rem)}.services-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:clamp(1.5rem,3vw,2.5rem)}.services-tab{display:inline-flex;align-items:center;padding:.65rem 1.25rem;border-radius:9999px;font-size:.8125rem;font-weight:500;color:#fff;background:rgba(0,0,0,0);border:1.5px solid hsla(0,0%,100%,.55);transition:all var(--t-base);cursor:pointer;white-space:nowrap}.services-tab:hover{background:hsla(0,0%,100%,.15)}.services-tab.is-active{background:#fff;color:var(--c-bg-dark);border-color:var(--c-bg-dark)}.expertises-cards{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width: 768px){.expertises-cards{grid-template-columns:repeat(3, 1fr)}}.expertise-card{background:#fff;border-radius:22px;padding:1.75rem 1.75rem 1.5rem;color:var(--c-text);text-align:left;border:0;cursor:pointer;display:flex;flex-direction:column;gap:.85rem;min-height:280px;transition:transform var(--t-spring),box-shadow var(--t-base),opacity var(--t-base);position:relative;outline:3px solid rgba(0,0,0,0);outline-offset:-3px}.expertise-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -25px rgba(0,0,0,.25)}.expertise-card.is-selected{outline-color:var(--c-bg-dark);transform:translateY(-4px);box-shadow:0 30px 60px -25px rgba(0,0,0,.3)}.services-band[data-filter] .expertise-card:not(.is-selected){opacity:.65}.services-band[data-filter] .expertise-card:not(.is-selected):hover{opacity:1}.expertise-card__dot{width:10px;height:10px;background:var(--c-accent);border-radius:50%;display:inline-block;transition:transform var(--t-spring),background var(--t-base)}.expertise-card.is-selected .expertise-card__dot{background:var(--c-bg-dark);transform:scale(1.3)}.expertise-card__title{font-family:"Roboto",system-ui,sans-serif;font-size:clamp(1.5rem,2.2vw,1.875rem);font-weight:800;line-height:1.15;letter-spacing:-0.02em;color:var(--c-text)}.expertise-card__desc{color:var(--c-text-muted);font-size:.9375rem;line-height:1.5}.expertise-card__meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--c-line)}.expertise-card__count{color:var(--c-accent);font-size:.875rem;font-weight:500}.expertise-card__arrow{width:38px;height:38px;display:grid;place-items:center;background:var(--c-accent);color:#fff;border-radius:50%;transition:transform var(--t-spring),background var(--t-base)}.expertise-card.is-selected .expertise-card__arrow{background:var(--c-bg-dark);transform:rotate(45deg)}.expertise-card:hover .expertise-card__arrow{transform:translate(3px, -3px)}.expertise-card.is-selected:hover .expertise-card__arrow{transform:rotate(45deg) scale(1.05)}.expertise-card__arrow svg{width:16px;height:16px}.sub-services-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(0.2, 0.8, 0.2, 1),margin-top .4s var(--t-base);margin-top:0}.services-band[data-filter] .sub-services-wrap{grid-template-rows:1fr;margin-top:clamp(1.5rem,3vw,2.5rem)}.sub-services-wrap>.sub-services{overflow:hidden;min-height:0}.sub-services{display:grid;grid-template-columns:1fr;gap:.85rem;opacity:0;transition:opacity .45s var(--t-base)}.services-band[data-filter] .sub-services{opacity:1}@media(min-width: 640px){.sub-services{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1024px){.sub-services{grid-template-columns:repeat(4, 1fr)}}.services-band[data-filter=strategique] .service-tile:not([data-cat=strategique]),.services-band[data-filter=commerce] .service-tile:not([data-cat=commerce]),.services-band[data-filter=dev] .service-tile:not([data-cat=dev]){display:none}.service-tile{background:#fff;border-radius:14px;padding:1.1rem 1.25rem 1.25rem;color:var(--c-text);text-decoration:none;position:relative;display:flex;flex-direction:column;gap:.6rem;min-height:150px;transition:transform var(--t-spring);opacity:0;transform:translateY(12px);animation:tile-in .45s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;animation-delay:calc(var(--i, 0)*35ms)}.services-band[data-filter] .service-tile{animation-play-state:running}@keyframes tile-in{to{opacity:1;transform:translateY(0)}}.service-tile:hover{transform:translateY(-3px)}.service-tile__category{color:var(--c-accent);font-size:.7rem;font-weight:500;opacity:.7}.service-tile__arrow{position:absolute;top:.9rem;right:.9rem;width:16px;height:16px;color:var(--c-accent);opacity:0;transition:opacity var(--t-base),transform var(--t-spring)}.service-tile:hover .service-tile__arrow{opacity:1;transform:translate(2px, -2px)}.service-tile__icon{width:26px;height:26px;color:var(--c-accent);margin-top:auto}.service-tile__icon svg{width:100%;height:100%}.service-tile__title{font-size:1rem;font-weight:700;line-height:1.25;letter-spacing:-0.005em;color:var(--c-text);margin-top:.2rem}.services-band:not([data-filter]) .services-hint{display:none}.services-hint{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;color:hsla(0,0%,100%,.85);font-size:.8125rem;font-weight:500}.services-band__head{max-width:720px;margin:0 0 clamp(2rem,4vw,3rem)}.services-band__eyebrow{font-family:"Roboto",monospace;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--c-bg-dark);display:inline-flex;align-items:center;gap:.55rem;margin-bottom:.85rem;opacity:.85}.services-band__eyebrow::before{content:"";width:6px;height:6px;background:var(--c-bg-dark);border-radius:50%;display:inline-block}.services-band__title{font-family:"Roboto",system-ui,sans-serif;font-size:clamp(1.875rem,4vw,3rem);font-weight:900;line-height:1.05;letter-spacing:-0.025em;color:#fff}.services-band__title .dot{color:var(--c-bg-dark)}.services-band__intro{margin-top:.85rem;color:hsla(0,0%,100%,.92);font-size:.9375rem;line-height:1.55;max-width:56ch}.floating-cta{position:fixed;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);z-index:90;display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.4rem .9rem .6rem;border-radius:var(--r-full);background:var(--c-accent);color:#fff;font-size:var(--wp--preset--font-size--sm);font-weight:500;line-height:1.2;text-decoration:none;transition:transform var(--t-spring),background var(--t-base)}.floating-cta:hover{background:var(--c-accent-dark);transform:translateY(-3px)}.floating-cta__icon{width:36px;height:36px;display:grid;place-items:center;background:#fff;color:var(--c-accent);border-radius:var(--r-full);flex:0 0 auto}.floating-cta__icon svg{width:18px;height:18px}.floating-cta__text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.floating-cta__text small{font-size:11px;opacity:.75;font-weight:400}@media(max-width: 640px){.floating-cta__text{display:none}.floating-cta{padding:.5rem}}.picard-signature{position:fixed;left:clamp(16px,2vw,32px);top:clamp(180px,38vh,360px);width:130px;height:130px;z-index:60;pointer-events:none}.picard-signature__disc{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:18px;height:18px;background:#fff;border-radius:50%;transition:background var(--t-base)}.picard-signature.on-light .picard-signature__disc{background:var(--c-bg-dark)}.picard-signature__text{position:absolute;inset:0;width:100%;height:100%;will-change:transform}.picard-signature__text text{fill:hsla(0,0%,100%,.95);font-family:"Roboto",system-ui,sans-serif;font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;transition:fill var(--t-base)}.picard-signature.on-light .picard-signature__text text{fill:var(--c-bg-dark)}@media(max-width: 1024px){.picard-signature{display:none}}.approche{background:var(--c-bg-dark);color:#fff;padding-block:clamp(5rem,10vw,9rem);padding-left:clamp(180px,12vw,220px);padding-right:clamp(2rem,5vw,5rem)}@media(max-width: 1024px){.approche{padding-left:clamp(1.5rem,5vw,3rem)}}.approche__inner{max-width:1200px;margin:0}.approche__head{text-align:left;max-width:820px;margin:0 0 clamp(3rem,5vw,4.5rem)}.approche__eyebrow{font-family:"Roboto",monospace;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:hsla(0,0%,100%,.5);display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1rem}.approche__eyebrow::before{content:"";width:6px;height:6px;background:var(--c-accent);border-radius:50%;display:inline-block}.approche__title{font-family:"Roboto",system-ui,sans-serif;font-size:clamp(2.25rem,5vw,4rem);line-height:1.05;letter-spacing:-0.035em;font-weight:900;color:#fff;max-width:20ch}.approche__title .dot{color:var(--c-accent)}.approche__pillars{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:clamp(3rem,5vw,4.5rem)}@media(min-width: 768px){.approche__pillars{grid-template-columns:repeat(3, 1fr)}}.pillar{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:18px;padding:1.75rem;display:flex;flex-direction:column;gap:.85rem;transition:border-color var(--t-base),transform var(--t-spring)}.pillar:hover{border-color:var(--c-accent);transform:translateY(-3px)}.pillar__icon{width:50px;height:50px;display:grid;place-items:center;background:rgba(239,61,105,.15);color:var(--c-accent);border-radius:50%}.pillar__icon svg{width:22px;height:22px}.pillar__title{font-family:"Roboto",system-ui,sans-serif;font-size:1.375rem;font-weight:700;line-height:1.2;letter-spacing:-0.01em;color:#fff}.pillar__desc{color:hsla(0,0%,100%,.65);font-size:.9375rem;line-height:1.55}.approche__stats{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:clamp(1.5rem,3vw,2.5rem);border-top:1px solid hsla(0,0%,100%,.08)}@media(min-width: 640px){.approche__stats{grid-template-columns:repeat(3, 1fr);gap:1.5rem}}.stat{display:flex;flex-direction:column;gap:.5rem}.stat__value{font-family:"Roboto",system-ui,sans-serif !important;font-style:normal !important;font-weight:900;font-size:clamp(3rem,6vw,4.5rem);line-height:.95;letter-spacing:-0.045em;color:#fff;display:inline-flex;align-items:baseline;font-variant-numeric:tabular-nums}.stat__suffix{font-size:.5em;margin-left:.05em;color:var(--c-accent);font-weight:900}.stat__label{font-family:"Roboto",monospace;font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:hsla(0,0%,100%,.5)}.section--dark#contact-section,.section--dark#cta{padding-block:clamp(5rem,9vw,7rem)}.section--dark#contact-section .section-title,.section--dark#cta .section-title{font-size:clamp(2.5rem,5.5vw,4rem);line-height:1.05;letter-spacing:-0.035em;font-weight:900;color:#fff}.section--dark#contact-section .section-title .brand-dot,.section--dark#cta .section-title .brand-dot{color:var(--c-accent)}.section--dark#contact-section p,.section--dark#cta p{color:hsla(0,0%,100%,.72);font-size:1.0625rem;line-height:1.6}.section--dark#contact-section .t-eyebrow,.section--dark#cta .t-eyebrow{color:hsla(0,0%,100%,.55) !important}.section--dark#contact-section .t-eyebrow::before,.section--dark#cta .t-eyebrow::before{background:var(--c-accent)}.section--dark#contact-section .container p,.section--dark#cta .container p{text-wrap:balance;max-width:62ch;margin-left:auto;margin-right:auto}.blog-section{background:var(--c-bg);padding-block:clamp(4rem,8vw,7rem);padding-left:clamp(180px,12vw,220px);padding-right:clamp(2rem,5vw,5rem)}@media(max-width: 1024px){.blog-section{padding-left:clamp(1.5rem,5vw,3rem)}}.blog-section__inner{max-width:1200px}.blog-section__head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;margin-bottom:2.5rem}.blog-section__title{font-family:"Roboto",system-ui,sans-serif;font-size:clamp(1.875rem,3.5vw,2.75rem);font-weight:900;line-height:1.1;letter-spacing:-0.025em;color:var(--c-text)}.blog-section__title .dot{color:var(--c-accent)}.blog-section__link{color:var(--c-accent);font-weight:500;font-size:.9375rem;display:inline-flex;align-items:center;gap:.4rem;transition:gap var(--t-spring)}.blog-section__link:hover{gap:.65rem}.blog-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width: 768px){.blog-grid{grid-template-columns:repeat(3, 1fr)}}.blog-card{background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;color:var(--c-text);transition:transform var(--t-spring),box-shadow var(--t-base);border:1px solid var(--c-line)}.blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px -16px rgba(0,0,0,.15)}.blog-card__image{aspect-ratio:16/9;background:linear-gradient(135deg, var(--c-bg-alt), var(--c-line));overflow:hidden}.blog-card__image img{width:100%;height:100%;object-fit:cover}.blog-card__body{padding:1.25rem 1.5rem 1.5rem}.blog-card__date{font-family:"Roboto",monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-muted);margin-bottom:.5rem}.blog-card__title{font-family:"Roboto",system-ui,sans-serif;font-size:1.125rem;font-weight:700;line-height:1.3;letter-spacing:-0.01em;color:var(--c-text)}.blog-empty{text-align:center;padding:3rem 0;color:var(--c-text-muted);font-size:.95rem}.audit-section{background:var(--c-bg-dark);color:#fff;padding-block:clamp(5rem,10vw,8rem);padding-left:clamp(180px,12vw,220px);padding-right:clamp(2rem,5vw,5rem);text-align:center}@media(max-width: 1024px){.audit-section{padding-left:clamp(1.5rem,5vw,3rem)}}.audit-section__inner{max-width:820px;margin:0 auto;position:relative;z-index:2}.audit-section__badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(239,61,105,.15);color:var(--c-accent);padding:.4rem 1rem;border-radius:9999px;font-family:"Roboto",monospace;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.25rem}.audit-section__badge::before{content:"";width:6px;height:6px;background:var(--c-accent);border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.audit-section__title{font-family:"Roboto",system-ui,sans-serif;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:900;line-height:1.1;letter-spacing:-0.03em;color:#fff;margin-bottom:1.25rem}.audit-section__title .dot{color:var(--c-accent)}.audit-section__sub{color:hsla(0,0%,100%,.7);font-size:1.0625rem;line-height:1.55;max-width:60ch;margin:0 auto 2rem}.audit-form{display:flex;flex-direction:column;gap:.75rem;max-width:540px;margin:0 auto}@media(min-width: 640px){.audit-form{flex-direction:row}.audit-form input{flex:1}}.audit-form input{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.15);color:#fff;padding:.95rem 1.25rem;border-radius:9999px;font-size:.9375rem;outline:none;transition:border-color var(--t-base),background var(--t-base)}.audit-form input::placeholder{color:hsla(0,0%,100%,.45)}.audit-form input:focus{border-color:var(--c-accent);background:hsla(0,0%,100%,.12)}.audit-form button{background:var(--c-accent);color:#fff;border:0;padding:.95rem 1.75rem;border-radius:9999px;font-size:.9375rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--t-base),transform var(--t-spring)}.audit-form button:hover{background:var(--c-accent-dark);transform:translateY(-1px)}.audit-features{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem;font-size:.8125rem;color:hsla(0,0%,100%,.55)}.audit-features span{display:inline-flex;align-items:center;gap:.35rem}.audit-features svg{width:14px;height:14px;color:var(--c-accent)}.audit-section--light{background:var(--c-bg-alt) !important;color:var(--c-text)}.audit-section--light .audit-section__badge{background:rgba(239,61,105,.12);color:var(--c-accent)}.audit-section--light .audit-section__title{color:var(--c-text)}.audit-section--light .audit-section__sub{color:var(--c-text-muted)}.audit-section--light .audit-form input{background:#fff;border-color:var(--c-line);color:var(--c-text)}.audit-section--light .audit-form input::placeholder{color:var(--c-text-faded)}.audit-section--light .audit-form input:focus{border-color:var(--c-accent);background:#fff}.audit-section--light .audit-features{color:var(--c-text-muted)}.audit-section--light .audit-features svg{color:var(--c-accent)}.section--coral{background:var(--c-accent);color:var(--c-bg-dark);--c-text: var(--c-bg-dark);--c-text-muted: rgba(15, 10, 38, 0.75);padding-block:clamp(5rem,9vw,7rem) !important}.section--coral p{color:rgba(15,10,38,.78);font-size:1.0625rem;line-height:1.6}.section--coral .t-eyebrow{color:var(--c-bg-dark) !important;opacity:.7}.section--coral .t-eyebrow::before{background:var(--c-bg-dark)}.section--coral .section-title{color:var(--c-bg-dark) !important}.section--coral .section-title .brand-dot{color:#fff}.section--coral .btn{background:var(--c-bg-dark);color:#fff}.section--coral .btn:hover{background:var(--c-bg-dark-deep)}.section--coral .btn--ghost{background:rgba(0,0,0,0);color:var(--c-bg-dark);border-color:rgba(15,10,38,.35)}.section--coral .btn--ghost:hover{background:var(--c-bg-dark);color:#fff;border-color:var(--c-bg-dark)}.mega-menu{position:fixed;top:var(--header-h);left:0;right:0;background:#fff;color:var(--c-text);z-index:99;box-shadow:0 30px 50px -25px rgba(15,10,38,.25);border-top:1px solid var(--c-line);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s var(--t-base),transform .3s cubic-bezier(0.2, 0.8, 0.2, 1),visibility 0s .3s;pointer-events:none}.mega-menu.is-open{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s,0s,0s;pointer-events:auto}.mega-menu__inner{max-width:1320px;margin:0 auto;padding:clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,5vw,3rem) clamp(1rem,2vw,1.75rem)}.mega-menu__grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width: 768px){.mega-menu__grid{grid-template-columns:repeat(3, 1fr);gap:2.5rem}}.mega-col__head{display:flex;align-items:center;gap:.6rem;padding-bottom:.85rem;margin-bottom:1rem;border-bottom:1px solid var(--c-line);color:var(--c-text);text-decoration:none;transition:color var(--t-base),border-color var(--t-base)}.mega-col__head:hover{color:var(--c-accent);border-bottom-color:var(--c-accent)}.mega-col__dot{width:8px;height:8px;background:var(--c-accent);border-radius:50%;display:inline-block;flex:0 0 auto;transition:transform var(--t-spring)}.mega-col__head:hover .mega-col__dot{transform:scale(1.4)}.mega-col__label{font-family:"Roboto",system-ui,sans-serif;font-size:1.0625rem;font-weight:700;letter-spacing:-0.01em;flex:1}.mega-col__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.mega-col__list a{color:var(--c-text-muted);font-size:.875rem;text-decoration:none;transition:color var(--t-base),padding-left var(--t-spring);display:block;padding:.15rem 0}.mega-col__list a:hover{color:var(--c-accent);padding-left:.4rem}.mega-menu__foot{margin-top:clamp(1.25rem,2vw,1.75rem);padding-top:1.25rem;border-top:1px solid var(--c-line)}.mega-menu__cta{display:inline-flex;align-items:center;gap:.5rem;color:var(--c-text-muted);font-size:.9375rem;text-decoration:none;transition:gap var(--t-spring)}.mega-menu__cta strong{color:var(--c-accent);font-weight:600}.mega-menu__cta:hover{gap:.75rem}.site-nav__chev{display:inline-block;width:12px;height:12px;margin-left:4px;vertical-align:middle;transition:transform var(--t-base)}.site-nav__item.is-open .site-nav__chev{transform:rotate(180deg)}.site-nav__item.has-mega{position:relative}.site-nav__item .site-nav__link{font-size:.875rem;font-weight:500;color:hsla(0,0%,100%,.85);padding:.5rem 0;transition:color var(--t-base);display:inline-flex;align-items:center}.site-nav__item .site-nav__link:hover{color:#fff}.site-nav__item.is-open .site-nav__link{color:#fff}@media(max-width: 1023px){.mega-menu{display:none}}.hub-hero{background:var(--c-bg-dark);color:#fff;padding:calc(var(--header-h) + clamp(3rem,8vw,5rem)) clamp(180px,12vw,220px) clamp(4rem,8vw,6rem) clamp(180px,12vw,220px);position:relative;overflow:hidden;display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}@media(min-width: 1024px){.hub-hero{grid-template-columns:1.4fr 1fr}}@media(max-width: 1024px){.hub-hero{padding-inline:clamp(1.5rem,5vw,3rem)}}.hub-hero__inner{position:relative;z-index:2}.hub-hero{align-items:stretch}.hub-hero__inner{align-self:center}.hub-hero__pattern{position:relative;display:flex;justify-content:center;align-items:center;align-self:center;min-height:100%}.hub-hero__pattern svg{width:100%;max-width:560px;height:auto;opacity:.55;color:#fff}@media(max-width: 1023px){.hub-hero__pattern svg{max-width:360px}}.breadcrumb{font-family:"Roboto",monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:hsla(0,0%,100%,.55);margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.breadcrumb a{color:inherit;transition:color var(--t-base)}.breadcrumb a:hover{color:#fff}.breadcrumb span{opacity:.4}.hub-hero__eyebrow{font-family:"Roboto",monospace;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--c-accent);margin-bottom:.85rem}.hub-hero__title{font-family:"Roboto",system-ui,sans-serif;font-size:clamp(2.5rem,5.5vw,4.5rem);line-height:1.05;letter-spacing:-0.035em;font-weight:900;color:#fff}.hub-hero__title .dot{color:var(--c-accent)}.hub-hero__sub{margin-top:1.25rem;color:hsla(0,0%,100%,.72);font-size:1rem;line-height:1.6;max-width:50ch}.hub-hero__cta{margin-top:2rem;display:flex;gap:.75rem;flex-wrap:wrap}.hub-services{background:var(--c-bg);padding:clamp(1rem,2vw,2rem) clamp(180px,12vw,220px) clamp(4rem,8vw,6rem)}@media(max-width: 1024px){.hub-services{padding-inline:clamp(1.5rem,5vw,3rem)}}.hub-services__inner{max-width:1320px}.hub-services__head{margin-bottom:2.5rem;max-width:60ch}.hub-services__head .section-title{font-size:clamp(2rem,4vw,3rem);margin-top:.5rem}.hub-services__grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width: 640px){.hub-services__grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1024px){.hub-services__grid{grid-template-columns:repeat(3, 1fr)}}.hub-service-card{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:1.5rem;text-decoration:none;color:var(--c-text);transition:transform var(--t-spring),border-color var(--t-base),box-shadow var(--t-base);display:flex;flex-direction:column;gap:.75rem}.hub-service-card:hover{transform:translateY(-4px);border-color:var(--c-accent);box-shadow:0 16px 32px -16px rgba(0,0,0,.15)}.hub-service-card__icon{width:32px;height:32px;color:var(--c-accent)}.hub-service-card__icon svg{width:100%;height:100%}.hub-service-card__title{font-size:1.0625rem;font-weight:700;line-height:1.2;letter-spacing:-0.01em}.hub-service-card__desc{font-size:.875rem;color:var(--c-text-muted);line-height:1.5}.hub-service-card__more{margin-top:auto;color:var(--c-accent);font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;transition:gap var(--t-spring)}.hub-service-card__more svg{width:14px;height:14px}.hub-service-card:hover .hub-service-card__more{gap:.65rem}.hub-other{background:var(--c-bg-dark);color:#fff;padding:clamp(4rem,6vw,5rem) clamp(180px,12vw,220px)}@media(max-width: 1024px){.hub-other{padding-inline:clamp(1.5rem,5vw,3rem)}}.hub-other__inner{max-width:1320px}.hub-other__grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.5rem}@media(min-width: 640px){.hub-other__grid{grid-template-columns:repeat(2, 1fr)}}.other-expertise-card{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:16px;text-decoration:none;color:#fff;transition:all var(--t-base);gap:1rem}.other-expertise-card:hover{background:hsla(0,0%,100%,.08);border-color:var(--c-accent);transform:translateX(4px)}.other-expertise-card__label{font-weight:700;font-size:1.0625rem;flex:1}.other-expertise-card__count{font-family:"Roboto",monospace;font-size:.75rem;color:hsla(0,0%,100%,.55)}.other-expertise-card__arrow{color:var(--c-accent);font-size:1.25rem}.service-hero{background:var(--c-bg-dark);color:#fff;padding:calc(var(--header-h) + clamp(3rem,8vw,5rem)) clamp(180px,12vw,220px) clamp(4rem,8vw,6rem) clamp(180px,12vw,220px);position:relative;display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}@media(min-width: 1024px){.service-hero{grid-template-columns:1.7fr 1fr}}@media(max-width: 1024px){.service-hero{padding-inline:clamp(1.5rem,5vw,3rem)}}.service-hero__inner{position:relative;z-index:2}.service-hero__eyebrow{font-family:"Roboto",monospace;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--c-accent);margin-bottom:.85rem}.service-hero__title{font-family:"Roboto",system-ui,sans-serif;font-size:clamp(2.25rem,5vw,4rem);line-height:1.05;letter-spacing:-0.035em;font-weight:900;color:#fff}.service-hero__title .dot{color:var(--c-accent)}.service-hero__sub{margin-top:1.25rem;color:hsla(0,0%,100%,.72);font-size:1rem;line-height:1.6;max-width:56ch}.service-hero__cta{margin-top:1.75rem;display:flex;gap:.75rem;flex-wrap:wrap}.service-hero__icon{display:grid;place-items:center;width:100%;max-width:280px;margin-inline:auto;aspect-ratio:1;background:rgba(239,61,105,.1);border:1px solid rgba(239,61,105,.3);border-radius:32px;color:var(--c-accent)}.service-hero__icon svg{width:40%;height:40%}.service-content{background:var(--c-bg);padding:clamp(4rem,8vw,6rem) clamp(180px,12vw,220px)}@media(max-width: 1024px){.service-content{padding-inline:clamp(1.5rem,5vw,3rem)}}.service-content__inner{max-width:720px}.service-content__inner p{font-size:1.0625rem;line-height:1.7;color:var(--c-text);margin-bottom:1.25rem}.service-content__inner h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:2.5rem;margin-bottom:1rem}.service-content__inner ul,.service-content__inner ol{padding-left:1.25rem;margin-bottom:1.25rem;line-height:1.7}.service-content__inner a{color:var(--c-accent);text-decoration:underline}.placeholder{color:var(--c-text-muted);font-style:italic}.related-services{background:var(--c-bg-alt);padding:clamp(3rem,6vw,5rem) clamp(180px,12vw,220px)}@media(max-width: 1024px){.related-services{padding-inline:clamp(1.5rem,5vw,3rem)}}.related-services__inner{max-width:1320px}.related-services__head{margin-bottom:1.5rem}.related-services__head .t-eyebrow span{color:var(--c-accent)}.related-services__grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width: 640px){.related-services__grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1024px){.related-services__grid{grid-template-columns:repeat(3, 1fr)}}.related-card{display:flex;align-items:center;gap:.85rem;padding:1.1rem 1.25rem;background:#fff;border:1px solid var(--c-line);border-radius:12px;text-decoration:none;color:var(--c-text);transition:all var(--t-base)}.related-card:hover{border-color:var(--c-accent);transform:translateX(4px)}.related-card__icon{width:24px;height:24px;color:var(--c-accent);flex:0 0 auto}.related-card__icon svg{width:100%;height:100%}.related-card__title{font-weight:600;font-size:.9375rem;flex:1}.related-card__arrow{color:var(--c-accent)}.hub-intro{background:var(--c-bg);padding:clamp(3rem,6vw,5rem) clamp(180px,12vw,220px) clamp(1rem,2vw,2rem)}@media(max-width: 1024px){.hub-intro{padding-inline:clamp(1.5rem,5vw,3rem)}}.hub-intro__inner{max-width:760px}.hub-intro__inner p{font-size:1.0625rem;line-height:1.7;color:var(--c-text);margin-bottom:1.25rem}.hub-intro__inner h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-0.02em;margin-top:2.5rem;margin-bottom:1rem}.hub-intro__inner ul,.hub-intro__inner ol{padding-left:1.5rem;margin-bottom:1.5rem;line-height:1.7}.hub-intro__inner ul li,.hub-intro__inner ol li{margin-bottom:.5rem}.hub-intro__inner strong{color:var(--c-bg-dark);font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:8px;background:var(--c-text);color:var(--c-bg);padding:12px 18px;border-radius:var(--r-md);font-weight:500;z-index:10000;transition:top var(--t-base)}.skip-link:focus{top:8px}.text-accent{color:var(--c-accent)}.bg-accent{background:var(--c-accent);color:#fff}.no-wrap{white-space:nowrap}

/* === MEGA MENU OVERRIDES (appended) === */

.mega-menu__inner{
  padding:clamp(1.5rem,2.5vw,2.25rem) clamp(1.5rem,5vw,3rem) clamp(1.25rem,2vw,2rem);
  max-width:1320px;
  margin:0 auto;
}

/* Column eyebrows */
.mega-col-label{
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--c-text-muted);
  margin-bottom:1rem;
  display:flex;
  align-items:baseline;
  gap:.5rem;
}
.mega-col-label--main{
  padding-left:.25rem;
}
.mega-col-label__hint{
  text-transform:none;
  letter-spacing:0;
  font-weight:500;
  font-size:.75rem;
  color:var(--c-accent);
}
.mega-col-label__hint::before{
  content:"/ ";
  color:var(--c-line);
  margin-right:.2rem;
}

.mega-menu__layout{
  display:grid;
  grid-template-columns:minmax(260px, 320px) 1fr;
  gap:clamp(2rem,4vw,3.5rem);
  align-items:stretch;
  max-height:clamp(320px, 56vh, 460px);
}

/* Aside categories — card style matching homepage expertise tiles */
.mega-aside{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  padding-right:clamp(1rem, 2vw, 1.5rem);
}
.mega-cat{
  display:block;
  padding:.95rem 1rem 1rem;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:12px;
  text-decoration:none;
  color:var(--c-text);
  position:relative;
  transition:border-color .2s var(--t-base), box-shadow .2s var(--t-base), transform .2s var(--t-spring);
}
.mega-cat:hover{
  border-color:rgba(15,10,38,.18);
  box-shadow:0 6px 16px -8px rgba(15,10,38,.18);
  transform:translateY(-1px);
}
.mega-cat.is-active{
  border-color:var(--c-bg-dark);
  box-shadow:0 0 0 1px var(--c-bg-dark), 0 8px 20px -8px rgba(15,10,38,.22);
}
.mega-cat__dot{
  width:8px; height:8px; background:var(--c-accent); border-radius:50%;
  display:block;
  margin-bottom:.65rem;
  transition:transform var(--t-spring), box-shadow .2s var(--t-base);
}
.mega-cat:hover .mega-cat__dot,
.mega-cat.is-active .mega-cat__dot{
  transform:scale(1.3);
  box-shadow:0 0 0 4px rgba(239,61,105,.15);
}
.mega-cat__body{min-width:0; padding-right:34px}
.mega-cat__title{
  display:block;
  font-family:"Roboto",system-ui,sans-serif;
  font-size:1.0625rem;
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--c-text);
  line-height:1.2;
  transition:color .15s var(--t-base);
}
.mega-cat.is-active .mega-cat__title{color:var(--c-bg-dark)}
.mega-cat__desc{
  margin:.35rem 0 0;
  font-size:.8125rem;
  color:var(--c-text-muted);
  line-height:1.45;
}
.mega-cat__arrow{
  position:absolute;
  top:.95rem;
  right:1rem;
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%;
  background:var(--c-accent); color:#fff;
  transition:transform .25s var(--t-spring), background .2s var(--t-base);
}
.mega-cat__arrow svg{width:14px; height:14px; display:block}
.mega-cat:hover .mega-cat__arrow{transform:translate(2px,-2px)}
.mega-cat.is-active .mega-cat__arrow{background:var(--c-bg-dark)}

/* Main panel — services */
.mega-main{
  position:relative;
  min-width:0;
}
.mega-panel{
  display:none;
  height:100%;
}
.mega-panel.is-active{display:block; animation:megaFadeIn .08s linear}
@keyframes megaFadeIn{from{opacity:.6} to{opacity:1}}

.mega-panel__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:.15rem clamp(1rem, 2vw, 1.75rem);
  align-content:start;
}
.mega-panel__list a{
  display:flex; align-items:center; justify-content:space-between;
  padding:.5rem .25rem .5rem .25rem;
  color:var(--c-text);
  font-size:.9375rem;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .15s var(--t-base), padding-left .25s cubic-bezier(.2,.8,.2,1), border-color .15s var(--t-base);
}
.mega-panel__list a:hover{
  color:var(--c-accent);
  padding-left:.6rem;
  border-bottom-color:var(--c-line);
}
.mega-panel__label{flex:1; min-width:0}
.mega-panel__arrow{
  opacity:0;
  transform:translateX(-4px);
  transition:opacity .2s var(--t-base), transform .2s var(--t-spring);
  color:var(--c-accent);
  font-weight:500;
  padding-left:.5rem;
}
.mega-panel__list a:hover .mega-panel__arrow{
  opacity:1;
  transform:translateX(0);
}

/* Footer — full-width cream band, neutral on any page */
.mega-menu__foot{
  background:var(--c-bg);
  padding:1.1rem clamp(1.5rem,5vw,3rem);
  border-top:1px solid var(--c-line);
}
.mega-menu__foot-inner{
  max-width:1320px;
  margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:1.5rem; flex-wrap:wrap;
}
.mega-menu__foot-text{
  color:var(--c-text-muted);
  font-size:.9375rem;
}
.mega-menu__foot-text strong{
  color:var(--c-text);
  font-weight:600;
}
.mega-menu__foot-pill{
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--c-accent); color:#fff;
  padding:.7rem 1.3rem; border-radius:999px;
  font-weight:600; font-size:.9375rem;
  text-decoration:none;
  box-shadow:0 6px 16px -4px rgba(239,61,105,.45);
  transition:background .2s var(--t-base), transform .2s var(--t-spring), box-shadow .2s var(--t-base);
}
.mega-menu__foot-pill:hover{
  background:var(--c-text); color:#fff;
  transform:translateX(3px);
  box-shadow:0 8px 22px -4px rgba(15,10,38,.35);
}

/* Mobile — keep the two-col, but stack panels under aside */
@media (max-width:900px){
  .mega-menu__layout{
    grid-template-columns:1fr;
    max-height:none;
  }
  .mega-aside{
    border-right:0;
    border-bottom:1px solid var(--c-line);
    padding-right:0;
    padding-bottom:.75rem;
    margin-bottom:.75rem;
  }
}
/* === BLOG STYLES (appended) === */

.blog-single{background:#fff}
.post-article{display:block}

/* Header / hero — navy band so the site header is visible */
.post-header{
  background:var(--c-bg-dark);
  color:#fff;
  padding:calc(var(--header-h,80px) + 72px) 0 clamp(4rem,6vw,6rem);
  position:relative;
}
.post-header__inner{
  max-width:780px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
}
.post-breadcrumb{
  display:flex; align-items:center; gap:.5rem;
  font-size:.8125rem; color:rgba(255,255,255,.6);
  margin-bottom:1.75rem;
  flex-wrap:wrap;
}
.post-breadcrumb a{
  color:rgba(255,255,255,.6);
  text-decoration:none;
  transition:color .15s var(--t-base);
}
.post-breadcrumb a:hover{color:var(--c-accent)}
.post-breadcrumb span{color:rgba(255,255,255,.4)}

.post-eyebrow{
  display:inline-block;
  background:var(--c-accent);
  color:#fff;
  padding:.35rem .8rem;
  border-radius:999px;
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  margin-bottom:1.25rem;
  transition:background .2s var(--t-base);
}
.post-eyebrow:hover{background:var(--c-text)}

.post-title{
  font-family:"Roboto",system-ui,sans-serif;
  font-size:clamp(2rem,4vw,3.5rem);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.02em;
  color:#fff !important;
  margin:0 0 1.5rem;
}
.post-title .dot{color:var(--c-accent) !important}

.post-meta{
  display:flex; align-items:center; gap:.65rem;
  flex-wrap:wrap;
  font-size:.875rem;
  color:rgba(255,255,255,.7);
  margin-bottom:1.5rem;
}
.post-meta__item{display:inline-flex; align-items:center; gap:.4rem}
.post-meta__dot{
  width:6px; height:6px; background:var(--c-accent); border-radius:50%;
  display:inline-block;
}
.post-meta__author{color:#fff; font-weight:600}
.post-meta__sep{opacity:.4}

.post-lede{
  font-size:1.1875rem;
  line-height:1.6;
  color:rgba(255,255,255,.85);
  margin:0;
}

/* Cover */
.blog-cover{
  max-width:1100px;
  margin:clamp(2rem,3vw,3rem) auto 0;
  padding:0 clamp(1.5rem,4vw,3rem);
  position:relative;
  z-index:1;
}
/* Article hero cover — only here we want the rounded shadow card look */
.blog-cover > .blog-cover__svg-wrap,
.blog-cover > .blog-cover__img,
.blog-cover svg.blog-cover__img{
  display:block;
  width:100%;
  height:auto;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 24px 60px -20px rgba(15,10,38,.25);
}
.blog-cover > .blog-cover__svg-wrap svg{
  display:block;
  width:100%;
  height:auto;
}

/* Default wrap behavior (used in tiles): fill, no rounded corners of its own */
.blog-cover__svg-wrap{
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}
.blog-cover__svg-wrap svg{
  display:block;
  width:100%;
  height:100%;
}

/* Content */
.post-content{padding:clamp(3rem,6vw,5rem) 0 clamp(2rem,4vw,3rem)}
.post-content__inner{
  max-width:720px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
}
.post-body{font-size:1.0625rem; line-height:1.75; color:var(--c-text)}
.post-body > * + *{margin-top:1.25em}
.post-body h2{
  font-size:1.75rem;
  font-weight:700;
  letter-spacing:-.01em;
  margin-top:2.5em;
  color:var(--c-text);
}
.post-body h3{
  font-size:1.375rem;
  font-weight:700;
  margin-top:2em;
  color:var(--c-text);
}
.post-body a{
  color:var(--c-accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.post-body a:hover{color:var(--c-text)}
.post-body blockquote{
  border-left:3px solid var(--c-accent);
  padding:.5rem 0 .5rem 1.25rem;
  margin-left:0;
  font-style:normal;
  color:var(--c-text);
  font-weight:500;
}
.post-body img{
  max-width:100%;
  height:auto;
  border-radius:8px;
  margin:2rem 0;
}
.post-body ul, .post-body ol{padding-left:1.25rem}
.post-body li + li{margin-top:.4em}
.post-body code{
  background:var(--c-bg);
  padding:.15em .4em;
  border-radius:4px;
  font-size:.9em;
}
.post-body pre{
  background:var(--c-bg-dark);
  color:#fff;
  padding:1.25rem;
  border-radius:8px;
  overflow-x:auto;
  font-size:.875rem;
  line-height:1.6;
}
.post-body pre code{background:transparent; color:inherit; padding:0}

/* Share */
.post-share{
  margin-top:3rem;
  padding-top:2rem;
  border-top:1px solid var(--c-line);
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem;
}
.post-share__label{
  font-size:.875rem;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--c-text);
}
.post-share__label .dot{color:var(--c-accent)}
.post-share__buttons{display:flex; align-items:center; gap:.5rem; flex-wrap:wrap}
.post-share__btn{
  width:40px; height:40px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--c-bg);
  color:var(--c-text);
  border:0;
  cursor:pointer;
  text-decoration:none;
  transition:background .15s var(--t-base), color .15s var(--t-base), transform .2s var(--t-spring);
}
.post-share__btn svg{width:18px; height:18px}
.post-share__btn:hover{
  background:var(--c-accent);
  color:#fff;
  transform:translateY(-2px);
}
.post-share__msg{
  font-size:.8125rem;
  color:var(--c-text-muted);
}

/* Related */
.post-related{
  background:var(--c-bg);
  padding:clamp(3rem,6vw,5rem) 0;
  margin-top:clamp(2rem,5vw,4rem);
}
.post-related__head{
  max-width:1200px;
  margin:0 auto clamp(2rem,3vw,3rem);
  padding:0 clamp(1.5rem,4vw,3rem);
}
.post-related__eyebrow{
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--c-text-muted);
  margin:0 0 .5rem;
}
.post-related__title{
  font-size:clamp(1.75rem,3vw,2.5rem);
  font-weight:700;
  letter-spacing:-.01em;
  margin:0;
  color:var(--c-text);
}
.post-related__title .dot{color:var(--c-accent)}
.post-related__grid{
  max-width:1200px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(1.25rem,2vw,2rem);
}
@media (max-width:880px){.post-related__grid{grid-template-columns:1fr}}

.related-card{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  color:var(--c-text);
  transition:transform .25s var(--t-spring), box-shadow .25s var(--t-base), border-color .15s var(--t-base);
  display:flex; flex-direction:column;
}
.related-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px -10px rgba(15,10,38,.2);
  border-color:rgba(15,10,38,.2);
}
.related-card__cover{aspect-ratio:16/9; overflow:hidden; background:transparent}
.related-card__cover .blog-cover__svg-wrap, .related-card__cover img{display:block; width:100%; height:100%}
.related-card__cover .blog-cover__svg-wrap svg{display:block; width:100%; height:100%}
.related-card__cover img{object-fit:cover}
.related-card__body{padding:1.25rem 1.25rem 1.5rem}
.related-card__eyebrow{
  display:inline-block;
  font-size:.625rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:.5rem;
}
.related-card__title{
  font-size:1.0625rem;
  font-weight:700;
  line-height:1.3;
  margin:0 0 .75rem;
  color:var(--c-text);
}
.related-card__meta{
  font-size:.75rem;
  color:var(--c-text-muted);
}

/* ============ BLOG INDEX (listing) ============ */
.blog-index{background:#fff}
.blog-index__hero{
  background:var(--c-bg-dark);
  color:#fff;
  padding:calc(var(--header-h,80px) + 80px) 0 80px;
}
.blog-index__hero-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
}
.blog-index__eyebrow{
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin:0 0 1rem;
}
.blog-index__title{
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-.02em;
  margin:0 0 1.25rem;
  color:#fff !important;
}
.blog-index__title .dot{color:var(--c-accent) !important}
.blog-index__sub{
  font-size:1.1875rem;
  color:rgba(255,255,255,.7);
  margin:0;
  max-width:580px;
}

.blog-filters{
  background:var(--c-bg);
  padding:1.5rem 0;
  border-bottom:1px solid var(--c-line);
}
.blog-filters__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
  display:flex; align-items:center; gap:.75rem;
  flex-wrap:wrap;
}
.blog-filter{
  padding:.55rem 1.1rem;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:999px;
  color:var(--c-text);
  font-size:.875rem;
  font-weight:500;
  text-decoration:none;
  transition:all .15s var(--t-base);
  white-space:nowrap;
}
.blog-filter:hover{
  border-color:var(--c-bg-dark);
  color:var(--c-bg-dark);
}
.blog-filter.is-active{
  background:var(--c-bg-dark);
  color:#fff;
  border-color:var(--c-bg-dark);
}
.blog-filter__count{
  margin-left:.4rem;
  font-size:.75rem;
  opacity:.6;
  font-variant-numeric:tabular-nums;
}

.blog-list{padding:clamp(3rem,5vw,5rem) 0}
.blog-list__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
}
.blog-list__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(1.5rem,2.5vw,2.25rem);
}
@media (max-width:1024px){.blog-list__grid{grid-template-columns:repeat(2, 1fr)}}
@media (max-width:640px){.blog-list__grid{grid-template-columns:1fr}}

.blog-card{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:14px;
  overflow:hidden;
  text-decoration:none;
  color:var(--c-text);
  display:flex; flex-direction:column;
  transition:transform .25s var(--t-spring), box-shadow .25s var(--t-base), border-color .15s var(--t-base);
}
.blog-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px -12px rgba(15,10,38,.22);
  border-color:rgba(15,10,38,.2);
}
.blog-card__cover{aspect-ratio:16/9; overflow:hidden; background:transparent}
.blog-card__cover .blog-cover__svg-wrap, .blog-card__cover .blog-cover__svg-wrap svg, .blog-card__cover img{
  display:block; width:100%; height:100%;
}
.blog-card__cover img{object-fit:cover}
.blog-card__body{padding:1.5rem 1.5rem 1.75rem; flex:1; display:flex; flex-direction:column}
.blog-card__eyebrow{
  display:inline-block;
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:.75rem;
}
.blog-card__title{
  font-size:1.25rem;
  font-weight:700;
  line-height:1.25;
  margin:0 0 .85rem;
  color:var(--c-text);
}
.blog-card__excerpt{
  font-size:.9375rem;
  line-height:1.55;
  color:var(--c-text-muted);
  margin:0 0 1.25rem;
  flex:1;
}
.blog-card__meta{
  font-size:.75rem;
  color:var(--c-text-muted);
  padding-top:1rem;
  border-top:1px solid var(--c-line);
}

.blog-empty{
  text-align:center;
  padding:4rem 1rem;
  color:var(--c-text-muted);
}
/* === MEGA MENU OVERRIDES (appended) === */

.mega-menu__inner{
  padding:clamp(1.5rem,2.5vw,2.25rem) clamp(1.5rem,5vw,3rem) clamp(1.25rem,2vw,2rem);
  max-width:1320px;
  margin:0 auto;
}

/* Column eyebrows */
.mega-col-label{
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--c-text-muted);
  margin-bottom:1rem;
  display:flex;
  align-items:baseline;
  gap:.5rem;
}
.mega-col-label--main{
  padding-left:.25rem;
}
.mega-col-label__hint{
  text-transform:none;
  letter-spacing:0;
  font-weight:500;
  font-size:.75rem;
  color:var(--c-accent);
}
.mega-col-label__hint::before{
  content:"/ ";
  color:var(--c-line);
  margin-right:.2rem;
}

.mega-menu__layout{
  display:grid;
  grid-template-columns:minmax(260px, 320px) 1fr;
  gap:clamp(2rem,4vw,3.5rem);
  align-items:stretch;
  max-height:clamp(320px, 56vh, 460px);
}

/* Aside categories — card style matching homepage expertise tiles */
.mega-aside{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  padding-right:clamp(1rem, 2vw, 1.5rem);
}
.mega-cat{
  display:block;
  padding:.95rem 1rem 1rem;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:12px;
  text-decoration:none;
  color:var(--c-text);
  position:relative;
  transition:border-color .08s linear, box-shadow .08s linear;
}
.mega-cat:hover{
  border-color:rgba(15,10,38,.18);
  box-shadow:0 6px 16px -8px rgba(15,10,38,.18);
}
.mega-cat.is-active{
  border-color:var(--c-bg-dark);
  box-shadow:0 0 0 1px var(--c-bg-dark), 0 8px 20px -8px rgba(15,10,38,.22);
}
.mega-cat__dot{
  width:8px; height:8px; background:var(--c-accent); border-radius:50%;
  display:block;
  margin-bottom:.65rem;
  transition:transform .08s linear, box-shadow .08s linear;
}
.mega-cat:hover .mega-cat__dot,
.mega-cat.is-active .mega-cat__dot{
  transform:scale(1.3);
  box-shadow:0 0 0 4px rgba(239,61,105,.15);
}
.mega-cat__body{min-width:0; padding-right:34px}
.mega-cat__title{
  display:block;
  font-family:"Roboto",system-ui,sans-serif;
  font-size:1.0625rem;
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--c-text);
  line-height:1.2;
  transition:color .08s linear;
}
.mega-cat.is-active .mega-cat__title{color:var(--c-bg-dark)}
.mega-cat__desc{
  margin:.35rem 0 0;
  font-size:.8125rem;
  color:var(--c-text-muted);
  line-height:1.45;
}
.mega-cat__arrow{
  position:absolute;
  top:.95rem;
  right:1rem;
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%;
  background:var(--c-accent); color:#fff;
  transition:background .08s linear;
}
.mega-cat__arrow svg{width:14px; height:14px; display:block}
.mega-cat.is-active .mega-cat__arrow{background:var(--c-bg-dark)}

/* Main panel — services */
.mega-main{
  position:relative;
  min-width:0;
}
.mega-panel{
  display:none;
  height:100%;
}
.mega-panel.is-active{display:block; animation:megaFadeIn .08s linear}
@keyframes megaFadeIn{from{opacity:.6} to{opacity:1}}

.mega-panel__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:.15rem clamp(1rem, 2vw, 1.75rem);
  align-content:start;
}
.mega-panel__list a{
  display:flex; align-items:center; justify-content:space-between;
  padding:.5rem .25rem .5rem .25rem;
  color:var(--c-text);
  font-size:.9375rem;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .15s var(--t-base), padding-left .25s cubic-bezier(.2,.8,.2,1), border-color .15s var(--t-base);
}
.mega-panel__list a:hover{
  color:var(--c-accent);
  padding-left:.6rem;
  border-bottom-color:var(--c-line);
}
.mega-panel__label{flex:1; min-width:0}
.mega-panel__arrow{
  opacity:0;
  transform:translateX(-4px);
  transition:opacity .2s var(--t-base), transform .2s var(--t-spring);
  color:var(--c-accent);
  font-weight:500;
  padding-left:.5rem;
}
.mega-panel__list a:hover .mega-panel__arrow{
  opacity:1;
  transform:translateX(0);
}

/* Footer — full-width cream band, neutral on any page */
.mega-menu__foot{
  background:var(--c-bg);
  padding:1.1rem clamp(1.5rem,5vw,3rem);
  border-top:1px solid var(--c-line);
}
.mega-menu__foot-inner{
  max-width:1320px;
  margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:1.5rem; flex-wrap:wrap;
}
.mega-menu__foot-text{
  color:var(--c-text-muted);
  font-size:.9375rem;
}
.mega-menu__foot-text strong{
  color:var(--c-text);
  font-weight:600;
}
.mega-menu__foot-pill{
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--c-accent); color:#fff;
  padding:.7rem 1.3rem; border-radius:999px;
  font-weight:600; font-size:.9375rem;
  text-decoration:none;
  box-shadow:0 6px 16px -4px rgba(239,61,105,.45);
  transition:background .2s var(--t-base), transform .2s var(--t-spring), box-shadow .2s var(--t-base);
}
.mega-menu__foot-pill:hover{
  background:var(--c-text); color:#fff;
  transform:translateX(3px);
  box-shadow:0 8px 22px -4px rgba(15,10,38,.35);
}

/* Mobile — keep the two-col, but stack panels under aside */
@media (max-width:900px){
  .mega-menu__layout{
    grid-template-columns:1fr;
    max-height:none;
  }
  .mega-aside{
    border-right:0;
    border-bottom:1px solid var(--c-line);
    padding-right:0;
    padding-bottom:.75rem;
    margin-bottom:.75rem;
  }
}
/* === MOBILE QA SWEEP (defensive fixes for templates I wrote) === */

/* Universal: prevent horizontal scroll on any custom block */
html, body{overflow-x:hidden}
@media(max-width:640px){
  *{max-width:100vw}
  img, svg{max-width:100%; height:auto}
}

/* ============ AUDIT PAGE ============ */
@media(max-width:640px){
  .audit-hero{padding:calc(var(--header-h,80px) + 48px) 0 56px}
  .audit-hero__inner{padding:0 16px}
  .audit-hero__title{font-size:36px}
  .audit-hero__sub{font-size:16px}
  .audit-hero__stats{gap:16px}
  .audit-hero__stat strong{font-size:28px}
  .audit-form-wrap{padding:48px 0}
  .audit-form-wrap__inner{padding:0 16px}
  .audit-steps, .audit-checks, .audit-after, .audit-faq{padding:56px 0}
  .audit-steps__inner, .audit-checks__inner, .audit-after__inner, .audit-faq__inner{padding:0 16px}
  .audit-steps h2, .audit-checks h2, .audit-after h2, .audit-faq h2{font-size:26px;margin-bottom:24px}
  .audit-check{padding:20px}
  .audit-check__count{font-size:30px}
  .audit-check__title{font-size:16px}
  .audit-after p{font-size:15px}
  .audit-after a.btn{padding:14px 24px;font-size:14px;min-height:44px}
  .audit-faq__item{padding-bottom:20px}
  .audit-faq h3{font-size:16px}
  .audit-faq p{font-size:14px}
}

/* ============ ABOUT PAGE ============ */
@media(max-width:640px){
  .about-hero{padding:calc(var(--header-h,80px) + 48px) 0 56px}
  .about-hero__inner{padding:0 16px;gap:32px}
  .about-hero__title{font-size:38px}
  .about-hero__sub{font-size:16px}
  .about-hero__sig-name{font-size:20px}
  .about-section{padding:56px 0}
  .about-section__inner{padding:0 16px}
  .about-section__title{font-size:28px}
  .about-section__lede{font-size:16px}
  .about-prose{font-size:15px}

  .about-stats{padding:56px 0}
  .about-stats__inner{padding:0 16px}
  .about-stat__num{font-size:32px}
  .today-card{padding:24px}
  .today-card__title{font-size:18px}
  .today-card__desc{font-size:14px}
  .about-cta{padding:64px 0}
  .about-cta__inner{padding:0 16px}
  .about-cta p{font-size:15px}
  .about-cta .btn{padding:14px 24px;font-size:14px;min-height:44px}
}

/* ============ CONTACT PAGE ============ */
@media(max-width:640px){
  .contact-hero{padding:calc(var(--header-h,80px) + 48px) 0 56px}
  .contact-hero__inner{padding:0 16px}
  .contact-hero__title{font-size:36px}
  .contact-hero__sub{font-size:16px}
  .contact-channels{padding:48px 0}
  .contact-channels__inner{padding:0 16px}
  .contact-channel{padding:24px}
  .contact-channel__title{font-size:18px}
  .contact-channel__desc{font-size:13px}
  .contact-channel__phone-num{font-size:16px}
  .contact-form-section{padding:56px 0}
  .contact-form-section__inner{padding:0 16px}
  .contact-form-section__title{font-size:26px}
  .contact-form-section__lede{font-size:15px}
  .contact-form input, .contact-form textarea, .contact-form select{padding:12px 14px;font-size:16px}
  .contact-form__btn{width:100%;padding:14px 24px;font-size:15px;min-height:44px;justify-self:stretch}
  .contact-where{padding:56px 0}
  .contact-where__inner{padding:0 16px}
  .contact-where__title{font-size:24px}
  .contact-where__lede{font-size:15px}
  .contact-where__country{padding:6px 12px;font-size:13px}
}

/* ============ LEGAL PAGES ============ */
@media(max-width:640px){
  .legal-hero{padding:calc(var(--header-h,80px) + 40px) 0 40px}
  .legal-hero__inner{padding:0 16px}
  .legal-hero__title{font-size:28px}
  .legal-hero__meta{font-size:13px}
  .legal-content{padding:48px 0}
  .legal-content__inner{padding:0 16px;font-size:15px}
  .legal-content__inner h2{font-size:20px;margin:36px 0 12px}
  .legal-content__inner h3{font-size:16px;margin:24px 0 8px}
  .legal-content__inner blockquote{padding:16px 18px}
}

/* ============ BLOG ============ */
@media(max-width:640px){
  .blog-index__hero{padding:calc(var(--header-h,80px) + 48px) 0 56px}
  .blog-index__hero-inner{padding:0 16px}
  .blog-index__title{font-size:36px}
  .blog-index__sub{font-size:16px}
  .blog-filters{padding:1rem 0}
  .blog-filters__inner{padding:0 16px;gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}
  .blog-filters__inner::-webkit-scrollbar{display:none}
  .blog-filter{padding:.5rem .9rem;font-size:.8125rem;flex-shrink:0}
  .blog-list{padding:48px 0}
  .blog-list__inner{padding:0 16px}
  .blog-list__grid{gap:1rem}
  .blog-card__body{padding:20px}
  .blog-card__title{font-size:1.0625rem}
  .blog-card__excerpt{font-size:.875rem}

  /* Single post */
  .post-header{padding:calc(var(--header-h,80px) + 56px) 0 56px}
  .post-header__inner{padding:0 16px}
  .post-title{font-size:30px}
  .post-meta{font-size:.8125rem}
  .post-lede{font-size:1rem}
  .blog-cover{padding:0 16px;margin-top:24px}
  .post-content{padding:48px 0 32px}
  .post-content__inner{padding:0 16px}
  .post-body{font-size:1rem}
  .post-body h2{font-size:1.4rem}
  .post-body h3{font-size:1.2rem}
  .post-share{margin-top:36px;padding-top:24px}
  .post-share__buttons{gap:.4rem}
  .post-share__btn{width:44px;height:44px}
  .post-related{padding:48px 0}
  .post-related__head{padding:0 16px;margin-bottom:24px}
  .post-related__title{font-size:24px}
  .post-related__grid{padding:0 16px;gap:1rem}
  .related-card__body{padding:16px}
  .related-card__title{font-size:.9375rem}
}

/* Force minimum touch target size on all custom CTAs */
@media(max-width:880px){
  .audit-after a.btn,
  .about-cta .btn,
  .contact-form__btn,
  .contact-channel__phone,
  .post-share__btn,
  .blog-filter,
  .contact-where__country{min-height:36px;line-height:1.3}
}

/* iOS Safari: prevent zoom on input focus */
@media(max-width:640px){
  input[type=text], input[type=email], input[type=tel], input[type=url],
  textarea, select{font-size:16px !important}
}
/* === MOBILE NAV (hamburger + drawer) === */

.site-nav__burger{display:none}

@media(max-width:1023px){
  /* Hide desktop nav + social icons */
  .site-header .site-nav{display:none}
  .site-header__actions{display:none}

  /* Show hamburger */
  .site-nav__burger{
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;
    background:transparent;border:0;cursor:pointer;
    color:#fff;
    padding:0;margin-left:auto;
  }
  .site-nav__burger svg{width:24px;height:24px;display:block}
  .site-nav__burger:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}

  /* Drawer overlay */
  .mobile-drawer{
    position:fixed;inset:0;
    background:#fff;
    z-index:1000;
    transform:translateX(100%);
    transition:transform .35s cubic-bezier(.2,.8,.2,1);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    visibility:hidden;
  }
  .mobile-drawer.is-open{
    transform:translateX(0);
    visibility:visible;
  }

  .mobile-drawer__head{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 20px;
    border-bottom:1px solid var(--c-line);
    position:sticky;top:0;background:#fff;z-index:1;
  }
  .mobile-drawer__brand{
    display:flex;align-items:center;
    font-size:18px;font-weight:700;color:var(--c-text);
    text-decoration:none;
    letter-spacing:-.01em;
  }
  .mobile-drawer__brand .dot{color:var(--c-accent)}
  .mobile-drawer__close{
    width:44px;height:44px;
    background:transparent;border:0;cursor:pointer;
    color:var(--c-text);
    display:flex;align-items:center;justify-content:center;
    padding:0;
  }
  .mobile-drawer__close svg{width:24px;height:24px}

  .mobile-drawer__nav{padding:8px 0}
  .mobile-drawer__link{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 24px;
    color:var(--c-text);
    text-decoration:none;
    font-size:18px;
    font-weight:600;
    border-bottom:1px solid var(--c-line);
    min-height:60px;
  }
  .mobile-drawer__link:hover, .mobile-drawer__link:active{background:var(--c-bg);color:var(--c-accent)}
  .mobile-drawer__link .arrow{color:var(--c-text-muted);font-size:14px}

  /* Expertise category sublist (collapsed by default) */
  .mobile-drawer__expertise{
    border-bottom:1px solid var(--c-line);
  }
  .mobile-drawer__exp-toggle{
    width:100%;
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 24px;
    background:transparent;border:0;
    color:var(--c-text);font-size:18px;font-weight:600;
    cursor:pointer;text-align:left;
    min-height:60px;
  }
  .mobile-drawer__exp-toggle:active{background:var(--c-bg)}
  .mobile-drawer__exp-toggle .chev{
    width:18px;height:18px;color:var(--c-text-muted);
    transition:transform .2s;
  }
  .mobile-drawer__expertise.is-open .mobile-drawer__exp-toggle .chev{transform:rotate(180deg)}
  .mobile-drawer__exp-sub{
    display:none;
    background:var(--c-bg);
    padding:8px 0;
  }
  .mobile-drawer__expertise.is-open .mobile-drawer__exp-sub{display:block}
  .mobile-drawer__exp-cat{
    padding:14px 24px 6px;
    font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:var(--c-text-muted);
    display:flex;align-items:center;gap:8px;
  }
  .mobile-drawer__exp-cat::before{
    content:"";width:6px;height:6px;background:var(--c-accent);border-radius:50%;display:inline-block;
  }
  .mobile-drawer__exp-svc{
    display:block;
    padding:10px 24px;color:var(--c-text);text-decoration:none;
    font-size:15px;
    border-top:1px solid rgba(0,0,0,.05);
  }
  .mobile-drawer__exp-svc:active{background:rgba(0,0,0,.04);color:var(--c-accent)}

  /* CTA pill at bottom */
  .mobile-drawer__cta{
    padding:24px;background:var(--c-bg-dark);color:#fff;margin-top:auto;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
    position:sticky;bottom:0;
  }
  .mobile-drawer__cta-text{color:rgba(255,255,255,.7);font-size:13px}
  .mobile-drawer__cta-pill{
    display:inline-flex;align-items:center;gap:6px;
    background:var(--c-accent);color:#fff;padding:12px 18px;
    border-radius:999px;text-decoration:none;font-weight:600;font-size:14px;
  }

  /* Body scroll lock when drawer is open */
  body.has-drawer-open{overflow:hidden;position:fixed;width:100%}
}

@media(min-width:1024px){
  .mobile-drawer{display:none}
}

/* Hide footer social icons on mobile (they live in the drawer instead) */
@media(max-width:768px){
  .site-footer__social{display:none}
}

/* Mobile drawer socials block */
.mobile-drawer__socials{
  padding:20px 24px;
  border-top:1px solid var(--c-line);
  display:flex;align-items:center;justify-content:space-between;
}
.mobile-drawer__socials-label{
  font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--c-text-muted);
}
.mobile-drawer__socials-icons{display:flex;gap:14px}
.mobile-drawer__socials-icons a{
  color:var(--c-text);
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:var(--c-bg);border-radius:50%;
}
.mobile-drawer__socials-icons a:active{background:var(--c-accent);color:#fff}

/* === FORCE colors inside drawer (override header/global inheritance) === */
.mobile-drawer{color:#1B1340}
.mobile-drawer *{color:inherit}
.mobile-drawer__brand{color:#1B1340 !important;font-family:"Roboto",system-ui,sans-serif;font-weight:700}
.mobile-drawer__brand .dot{color:#EF3D69 !important}
.mobile-drawer__close{color:#1B1340 !important}
.mobile-drawer__link{color:#1B1340 !important}
.mobile-drawer__link .arrow{color:#5B5570 !important}
.mobile-drawer__exp-toggle{color:#1B1340 !important}
.mobile-drawer__exp-toggle .chev{color:#5B5570 !important}
.mobile-drawer__exp-cat{color:#5B5570 !important}
.mobile-drawer__exp-svc{color:#1B1340 !important}
.mobile-drawer__cta-pill{color:#fff !important}
.mobile-drawer__socials-label{color:#5B5570 !important}
.mobile-drawer__socials-icons a{color:#1B1340 !important}

/* FIX expertise cards on coral homepage section — force navy text */
.expertise-card{color:#1B1340 !important}
.expertise-card__title{color:#1B1340 !important}
.expertise-card__desc{color:#5B5570 !important}
.expertise-card__count{color:#EF3D69 !important}

/* FIX drawer expertise sub-list bg + text (vars are getting overridden) */
.mobile-drawer__exp-sub{background:#F7F2E8 !important}
.mobile-drawer__exp-cat{color:#5B5570 !important;background:#F7F2E8 !important}
.mobile-drawer__exp-svc{color:#1B1340 !important;background:#F7F2E8 !important;border-top-color:rgba(0,0,0,.06) !important}

/* ===== NUCLEAR FIX — fully hardcoded drawer colors ===== */
/* Drawer canvas */
.mobile-drawer{background:#fff !important;color:#1B1340 !important}

/* Expertise sub-list — cream bg, navy text */
.mobile-drawer__expertise{background:#fff !important}
.mobile-drawer__exp-sub{background:#F7F2E8 !important;color:#1B1340 !important}
.mobile-drawer__exp-sub > *{background:#F7F2E8 !important}
.mobile-drawer__exp-cat{color:#5B5570 !important;background:#F7F2E8 !important;border-bottom:1px solid rgba(27,19,64,.06) !important}
.mobile-drawer__exp-cat::before{background:#EF3D69 !important}
.mobile-drawer__exp-svc{color:#1B1340 !important;background:#F7F2E8 !important;border-top:1px solid rgba(27,19,64,.06) !important}
.mobile-drawer__exp-svc:active{background:rgba(239,61,105,.08) !important;color:#EF3D69 !important}

/* Social icons block — coral pills */
.mobile-drawer__socials{background:#fff !important;border-top:1px solid #EFE9DD !important}
.mobile-drawer__socials-label{color:#5B5570 !important;background:#fff !important}
.mobile-drawer__socials-icons a{
  background:#EF3D69 !important;
  color:#fff !important;
  width:44px !important;height:44px !important;
  border-radius:50% !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  transition:transform .15s !important;
}
.mobile-drawer__socials-icons a svg{fill:#fff !important;color:#fff !important}
.mobile-drawer__socials-icons a:active{transform:scale(.94)}
/* Blog filters — desktop pills, mobile dropdown */
.blog-filters__select{display:none}
@media(max-width:640px){
  .blog-filters__inner{display:block !important;overflow:visible !important;padding:0 16px}
  .blog-filter{display:none !important}
  .blog-filters__select{
    display:block !important;
    width:100%;
    padding:14px 44px 14px 18px;
    font-size:16px;
    font-weight:600;
    color:#1B1340;
    background-color:#fff;
    background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B1340' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 16px center;
    background-size:18px 18px;
    border:1px solid #EFE9DD;
    border-radius:999px;
    -webkit-appearance:none;
    appearance:none;
    cursor:pointer;
    line-height:1.2;
  }
  .blog-filters__select:focus{outline:2px solid #1B1340;outline-offset:1px}
}

/* Timeline mobile — widen the year column so "Aujourd'hui" fits */
@media(max-width:640px){

}
/* === FORCE LIGHT COLOR SCHEME ===
 * The theme tokens.scss emits @media (prefers-color-scheme: dark){:root{...}}
 * that swaps every --c-* token to dark values. When the user is in iOS dark
 * mode, that block matches and the whole site flips: navy bg, white text,
 * invisible headings on cream sections, etc.
 *
 * Fix: redeclare every --c-* token to its LIGHT value inside the same media
 * query, at HIGHER cascade position so we win. This neutralizes the dark
 * variant entirely without touching the theme source.
 */
html, body{
  color-scheme: only light !important;
  forced-color-adjust: none;
}

@media (prefers-color-scheme: dark){
  :root, :root.theme-auto, :root.theme-dark, html, body{
    color-scheme: only light !important;

    --c-bg:           var(--wp--preset--color--cream) !important;
    --c-bg-alt:       var(--wp--preset--color--cream-dark) !important;
    --c-bg-dark:      var(--wp--preset--color--navy) !important;
    --c-bg-dark-deep: var(--wp--preset--color--navy-900) !important;
    --c-surface:      #fff !important;

    --c-text:         var(--wp--preset--color--ink) !important;
    --c-text-muted:   var(--wp--preset--color--ink-500) !important;
    --c-text-faded:   var(--wp--preset--color--ink-300) !important;
    --c-text-on-dark: #fff !important;
    --c-text-on-dark-muted: rgba(255,255,255,.65) !important;

    --c-accent:       var(--wp--preset--color--coral) !important;
    --c-accent-dark:  var(--wp--preset--color--coral-700) !important;
    --c-accent-soft:  var(--wp--preset--color--coral-100) !important;
    --c-accent-2:     var(--wp--preset--color--acid) !important;

    --c-line:         var(--wp--preset--color--line) !important;
  }
  html{filter:none !important; -webkit-filter:none !important}
  body{background: var(--wp--preset--color--cream) !important; color: var(--wp--preset--color--ink) !important}
}

/* Timeline dot fix — coral dot, thin coral line */
@media(max-width:640px){
  .timeline__content::before{
    left:-26px !important;
    top:8px !important;
    width:10px !important;
    height:10px !important;
    background:#EF3D69 !important;
    box-shadow:none !important;
    border:0 !important;
  }
  .timeline::before{
    left:46px !important;
    width:1px !important;
    background:rgba(239,61,105,.2) !important;
  }
}
/* === SCOPED CASCADE FIXES (post-cleanup) ===
 * These are the only overrides still needed after force-light fixed iOS auto-dark.
 * They address cases where theme.json CSS variables (--c-bg, --c-text, --c-text-muted)
 * are redefined in dark sections, breaking custom blocks that depend on them.
 */

/* Mobile drawer — its CSS lives outside any theme section so it never inherits
   the dark redefinitions. Hardcoded colors keep it visually stable. */
.mobile-drawer{color:#1B1340}
.mobile-drawer__brand{color:#1B1340;font-family:"Roboto",system-ui,sans-serif;font-weight:700}
.mobile-drawer__brand .dot{color:#EF3D69}
.mobile-drawer__close{color:#1B1340;background:transparent}
.mobile-drawer__link{color:#1B1340;background:#fff;border-bottom:1px solid #EFE9DD;font-weight:600}
.mobile-drawer__link .arrow{color:#5B5570}
.mobile-drawer__link:hover, .mobile-drawer__link:active{background:#F7F2E8;color:#EF3D69}
.mobile-drawer__link:hover .arrow, .mobile-drawer__link:active .arrow{color:#EF3D69}
.mobile-drawer__nav > .mobile-drawer__link:last-child{border-bottom:0}

.mobile-drawer__expertise{background:#fff;border-bottom:1px solid #EFE9DD}
.mobile-drawer__exp-toggle{color:#1B1340;background:#fff;font-weight:600}
.mobile-drawer__exp-toggle .chev{color:#5B5570}
.mobile-drawer__exp-sub{background:#F7F2E8;color:#1B1340;display:none;padding:8px 0}
.mobile-drawer__expertise.is-open .mobile-drawer__exp-sub{display:block}

.mobile-drawer__svc{display:block;padding:14px 24px;color:#1B1340;background:#F7F2E8;text-decoration:none;font-size:15px;border-top:1px solid rgba(27,19,64,.06)}
.mobile-drawer__svc--all{font-weight:700;color:#EF3D69;border-top:0}
.mobile-drawer__svc:active{background:rgba(239,61,105,.1);color:#EF3D69}

.mobile-drawer__cat{background:#fff;margin:8px 16px;border-radius:10px;border:1px solid #EFE9DD;overflow:hidden}
.mobile-drawer__cat-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff;color:#1B1340;border:0;font-size:16px;font-weight:700;cursor:pointer;text-align:left}
.mobile-drawer__cat-dot{width:8px;height:8px;background:#EF3D69;border-radius:50%;flex:0 0 auto}
.mobile-drawer__cat-label{flex:1}
.mobile-drawer__cat-chev{width:18px;height:18px;color:#5B5570;transition:transform .2s}
.mobile-drawer__cat.is-open .mobile-drawer__cat-chev{transform:rotate(180deg)}
.mobile-drawer__cat-sub{display:none;background:#fff;border-top:1px solid #EFE9DD}
.mobile-drawer__cat.is-open .mobile-drawer__cat-sub{display:block}
.mobile-drawer__cat .mobile-drawer__svc{background:#fff;padding-left:34px;border-top:1px solid rgba(27,19,64,.04)}
.mobile-drawer__cat .mobile-drawer__svc--all{background:#fff;padding-left:34px}

.mobile-drawer__socials{background:#fff;border-top:1px solid #EFE9DD}
.mobile-drawer__socials-label{color:#5B5570;background:#fff}
.mobile-drawer__socials-icons a{background:#EF3D69;color:#fff;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.mobile-drawer__socials-icons a svg{fill:#fff;color:#fff}

.mobile-drawer__cta{background:#1B1340}
.mobile-drawer__cta-text{color:rgba(255,255,255,.7);background:transparent}
.mobile-drawer__cta-pill{background:#EF3D69;color:#fff}

/* Audit page var-cascade fix — the local --cream/--navy resolve via theme tokens
   that can be navy in dark sections. Hardcode locally. */
.audit-check li{background:#F7F2E8;color:#1B1340}

/* Expertise cards on coral section — the section sets color:white which propagates to title/desc */
.expertise-card__title{color:#1B1340}
.expertise-card__desc{color:#5B5570}

/* Blog cards — text colors needed because the dark hero section sets color:white that propagates */
.blog-card{color:#1B1340}
.blog-card__title{color:#1B1340}
.blog-card__excerpt{color:#5B5570}
.blog-card__meta{color:#5B5570}
.blog-card__eyebrow{color:#EF3D69}

.related-card{color:#1B1340}
.related-card__title{color:#1B1340}
.related-card__meta{color:#5B5570}
.related-card__eyebrow{color:#EF3D69}

/* Post body */
.post-body, .post-body p, .post-body li{color:#1B1340}
.post-body h2, .post-body h3{color:#1B1340}

/* Audit page critical fixes — local vars depend on theme tokens that can flip */
.audit-form-wrap h2{color:#1B1340}
.audit-form-wrap p{color:#5B5570}
.audit-steps h2{color:#1B1340}
.audit-step h3{color:#1B1340}
.audit-step p{color:#5B5570}
.audit-step__num{color:#EF3D69}
.audit-checks h2{color:#1B1340}
.audit-check__title{color:#1B1340}
.audit-check__count{color:#EF3D69}
.audit-check p{color:#5B5570}
.audit-faq h2{color:#1B1340}
.audit-faq h3{color:#1B1340}
.audit-faq p{color:#5B5570}

/* About page text */
.about-prose, .about-prose p{color:#1B1340}
.about-section__lede{color:#5B5570}
.today-card__title{color:#1B1340}
.today-card__desc{color:#5B5570}
.timeline__title{color:#1B1340}
.timeline__desc{color:#5B5570}

/* Contact page text */
.contact-channel__title{color:#1B1340}
.contact-channel__desc{color:#5B5570}
.contact-form label{color:#5B5570}
.contact-form input, .contact-form textarea, .contact-form select{color:#1B1340}
.contact-where__lede{color:#5B5570}

/* Legal pages */
.legal-content__inner, .legal-content__inner p, .legal-content__inner li, .legal-content__inner h2, .legal-content__inner h3{color:#1B1340}

/* Audit promo form on homepage — visible labels on navy bg */
.audit-form__field{display:block;margin-bottom:14px}
.audit-form__label{
  display:block;font-size:12px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:8px;
}
.audit-form input::placeholder{color:#9D97AE;opacity:1}

/* About sections — hardcode backgrounds so they do not rely on body var(--c-bg) which can flip */
.about-section{background:#fff}
.about-section--cream{background:#F7F2E8}

/* Hide social icons in header — they live in the footer instead */
.site-header .social-ico{display:none !important}

/* Audit homepage CTA — single button (replaces the old 2-field form) */
.audit-cta{display:flex;justify-content:center;margin:0 auto 1.5rem;max-width:540px}
.audit-cta__button{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  width:100%;
  padding:18px 32px;
  font-size:16px;font-weight:600;
  background:#EF3D69;color:#fff;
  border-radius:999px;border:0;
  text-decoration:none;
  transition:background .2s ease, transform .25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.audit-cta__button:hover{background:#D02F58;transform:translateY(-2px);color:#fff}
.audit-cta__button::after{
  content:"→";font-weight:400;font-size:18px;
  transition:transform .25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.audit-cta__button:hover::after{transform:translateX(4px)}

/* Audit homepage form — match input width and padding to button */
.audit-form{display:flex;flex-direction:column;gap:14px}
.audit-form input{
  width:100%;
  box-sizing:border-box;
  padding:18px 24px;
  font-size:16px;
  border-radius:999px;
  border:0;
  background:#fff;
  color:#1B1340;
}
.audit-form input::placeholder{color:#9D97AE;opacity:1}
.audit-form button{
  width:100%;
  box-sizing:border-box;
  padding:18px 24px;
  font-size:16px;
  font-weight:600;
  border-radius:999px;
  border:0;
  background:#EF3D69;
  color:#fff;
  cursor:pointer;
}

/* Force expertise card title + description visibility on coral homepage section */
.expertise-card{color:#1B1340}
.expertise-card *{color:inherit}
.expertise-card__title{color:#1B1340;font-weight:800}
.expertise-card__desc{color:#5B5570}
.expertise-card__count{color:#EF3D69}

/* Service tile inside expertise card (mobile accordion) — keep titles visible */
.mobile-services-panel .service-tile{color:#1B1340}
.mobile-services-panel .service-tile__title{color:#1B1340}
.mobile-services-panel .service-tile__category{color:#EF3D69}

/* Timeline dots — solid coral, no cream halo dependency */

@media(max-width:640px){

}
