/* Layout extension only. Brand colors, type and pill radii follow canonical CSS. */
.service-details{margin-top:var(--space-md);border-top:1px solid var(--border)}
.service-details>summary{padding-block:var(--space-md);color:var(--ink);font-weight:700;cursor:pointer}
.service-details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.service-details>p{margin-top:var(--space-md);color:var(--muted)}
.va .primary-offer{align-content:center}
:root{--radius:12px;--radius-sm:8px;--radius-lg:16px;--space-md:1.5rem;--sans:Nunito,system-ui,sans-serif;--brand-purple:#7e4699;--subtle:var(--muted);--border-strong:#aaa69e}:root[data-theme=dark]{--border-strong:#3a3745}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--border-strong:#3a3745}}
.selected-header{position:sticky;top:0;z-index:500;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 30px;background:var(--bg);border-bottom:1px solid var(--border);font-family:Nunito,system-ui,sans-serif}
.selected-logo{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none;white-space:nowrap}.selected-logo .logo-x{background:linear-gradient(135deg,#33BDEF 0%,#9957B3 50%,#FF2D78 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}
.selected-nav{display:flex;align-items:center;gap:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface);padding:5px}.selected-nav a{color:var(--ink);text-decoration:none;font-size:13px;padding:8px 14px;border-radius:999px;white-space:nowrap}.selected-nav a:hover,.selected-nav a:focus-visible{background:var(--pale, var(--accent-light, #f3e8ff));color:var(--accent)}.selected-nav .selected-available{background:var(--pale, var(--accent-light, #f3e8ff));color:var(--accent);padding-inline:17px}.selected-available i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green, #1f9d55);margin-right:8px}
.selected-tools{display:flex;align-items:center;gap:18px}.resume-tertiary{color:var(--ink);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px;white-space:nowrap;padding:10px 0}.language-control{display:flex;flex-direction:column;font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.05em}.language-control select{font:600 13px Nunito,system-ui;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px;min-width:125px;cursor:pointer}.selected-theme{width:34px;height:34px;font-size:20px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer}
.va .button{border-radius:999px}.va .borrowed-discovery{background:var(--surface);padding:40px;border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:55px}.va .borrowed-closing h2 em{color:var(--brand)}.concierge-entry{display:flex;flex-direction:column;gap:3px;color:var(--accent);font-size:14px;font-weight:700;text-decoration:none;margin-top:18px}.concierge-entry span{font-weight:400;font-size:12px}.concierge-entry:hover span{text-decoration:underline}.other-engagements{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.restored-offer{padding:30px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.restored-offer h3{font-size:25px;margin:10px 0 18px}.restored-offer p{font-size:14px;color:var(--muted);margin-bottom:16px}.restored-offer .card-actions{display:flex;flex-wrap:wrap;gap:12px 22px}.restored-offer a{font-size:13px;color:var(--accent)}
.selected-footer-links{display:flex;flex-wrap:wrap;gap:12px 25px;flex-basis:100%;padding-top:20px;border-top:1px solid var(--border);width:100%}.selected-footer-links a{color:var(--muted);font-size:13px;text-decoration:none}.selected-footer-links a:hover{text-decoration:underline}.site-footer{flex-wrap:wrap}.restored footer .selected-footer-links{max-width:1192px;margin:20px auto}.restored footer .footer-links{display:none}.restored .reveal{opacity:1;transform:none}.restored .preview-form-note{font-size:13px;color:var(--muted)}.restored .selected-footer-links{padding:24px}.restored .language-selector{display:none}
.va .section-heading{display:block}.va .section-heading>p{margin-top:15px}.va .cst-row{margin-top:20px}.va .work-card{position:relative;cursor:pointer}.va .work-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.va .card-extra-actions{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px}.va .card-extra-actions a{font-size:12px;font-weight:700;color:var(--accent);padding:5px 0}.va .card-body{min-width:0}
.hero{position:relative;isolation:isolate}.hero>.identity,.hero>.hero-layout{position:relative;z-index:1}.work-card::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(153,87,179,.09),transparent 55%);opacity:0;transition:opacity .2s}.work-card:hover::after{opacity:1}.restored .explore-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.restored .explore-card{min-width:0;max-width:100%;box-sizing:border-box}.restored .explore-card>span{min-width:0;overflow-wrap:anywhere}
.vouch-progress{display:flex;align-items:center;gap:4px}.vouch-progress button{position:relative;width:28px;height:32px;padding:0;border:0;background:transparent;cursor:pointer;transition:width .25s}.vouch-progress button::before{content:'';position:absolute;left:6px;right:6px;top:11px;height:10px;background:var(--border-strong);border-radius:999px}.vouch-progress button[aria-current=true]{width:64px}.vouch-progress button[aria-current=true]::before{background:var(--border)}.vouch-progress button span{display:none}.vouch-progress button[aria-current=true] span{display:block;position:absolute;left:6px;right:6px;top:11px;height:10px;border-radius:999px;background:var(--brand);clip-path:inset(0 100% 0 0);animation:review-progress 7s linear forwards}.vouch-progress.is-paused button span{animation-play-state:paused}.carousel-controls{flex-wrap:wrap}.carousel-controls [data-quote-count]{font-size:11px}@keyframes review-progress{to{clip-path:inset(0 0 0 0)}}
@media(max-width:1100px){.selected-header{flex-wrap:wrap;gap:10px;padding:12px 24px}.selected-tools{margin-left:auto}.selected-nav{order:3;flex-basis:100%;justify-content:center;flex-wrap:wrap}.selected-header~main{scroll-margin-top:140px}html{scroll-padding-top:150px}}
@media(max-width:760px){.selected-header{padding:10px 16px;gap:8px}.selected-tools{gap:12px}.resume-tertiary{font-size:12px}.language-control select{min-width:105px;font-size:12px;padding:5px}.selected-theme{width:34px;height:34px}.selected-logo{font-size:18px}.selected-nav a{font-size:11px;padding:7px 10px}.selected-nav .selected-available{padding-inline:10px}.va .borrowed-discovery{padding:25px;grid-template-columns:1fr;gap:24px}.other-engagements{grid-template-columns:1fr}.restored-offer{padding:24px}.concierge-entry{order:4;margin-top:0}.hero-footnote{order:5}.cst-row{align-items:flex-start!important}.cst-seg{max-width:100%}.cst-seg-btn{font-size:12px!important;padding-inline:10px!important}.cst-right{max-width:100%}.selected-footer-links{gap:12px 18px}.restored .selected-header{height:auto}.va .hero-actions{margin-top:0}}
@media(max-width:355px){.selected-tools{gap:8px}.selected-header{padding-inline:12px}.selected-logo{font-size:16px}.resume-tertiary{font-size:11px}.language-control select{min-width:91px;font-size:11px}.selected-theme{width:28px;height:28px}.selected-nav a{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.vouch-progress button span{animation:none!important;clip-path:inset(0)}.va *, .va *::before, .va *::after{animation:none!important;transition:none!important}}
html[data-motion=off] .vouch-progress button span{animation:none!important;clip-path:inset(0)}
html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
/* One résumé action, identical tertiary-link styling across all selected pages. */
.resume-tertiary{display:inline-flex;align-items:center;min-height:44px;padding:10px 0;border:0;border-radius:0;background:transparent;box-shadow:none;font-family:var(--sans);font-weight:700;line-height:1.4}
.hero-actions .resume-tertiary{font-size:14px;margin-inline:8px}
.resume-tertiary:hover{color:var(--accent)}
/* Canonical organic field + semantic project pathways, behind (never over) UI. */
:root{--scrim-rgb:248,247,245;--ink-rgb:26,26,26}
html[data-theme=dark]{--scrim-rgb:15,14,19;--ink-rgb:245,243,238}
.va #ambient-wrap,.va #hero-gm-wrap{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.va #ambient-wrap{z-index:0}.va #hero-gm-wrap{z-index:1}
.va #ambient,.va #hero-gm{position:absolute;inset:0;width:100%;height:100%;display:block}
.va main,.va .site-footer{position:relative;z-index:2}
.va .offer,.va .restored-offer{position:relative;isolation:isolate;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.va .offer::before,.va .restored-offer::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:2px;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),var(--brand),var(--accent) 45%,transparent 75%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity .2s ease}
.va .offer:hover::before,.va .offer:focus-within::before,.va .restored-offer:hover::before,.va .restored-offer:focus-within::before{opacity:1}
.va .offer:focus-within,.va .restored-offer:focus-within{border-color:var(--brand)}
.va .discovery h2 em,.va .services h2 em,.va .lab-copy h2 em{color:var(--brand)}
/* F2 (handoff §5): canonical pink pill for card-link--live on the home page. prototype.css has no --brand-light/--brand-mid/--live-fg, so the canonical values are literals, scoped to .va, never a bare :root (fleet F6). "a.card-link--live" gives (0,2,1) so it outranks ".va .card-extra-actions a". */
.va a.card-link--live{display:inline-flex;align-items:center;background:#FFE4EE;border:1px solid rgba(255,45,120,.12);border-radius:99px;padding:.2em .75em;font-size:.8125rem;font-weight:500;color:#A50F44;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}
.va a.card-link--live:hover,.va a.card-link--live:focus-visible{background:var(--brand);color:#fff;border-color:var(--brand);text-decoration:none}
html[data-theme=dark] .va a.card-link--live{background:rgba(255,45,120,.18);border-color:rgba(255,45,120,.28);color:#FF7FA8}
html[data-theme=dark] .va a.card-link--live:hover,html[data-theme=dark] .va a.card-link--live:focus-visible{background:var(--brand);color:#fff;border-color:var(--brand)}
.onepager-sheet{max-width:960px;margin:35px auto;padding:32px}.onepager-sheet h1{font-size:36px;margin:8px 0 12px}.onepager-print{font:inherit;border:1px solid var(--border);border-radius:999px;padding:10px 18px;background:var(--surface);color:var(--ink);cursor:pointer;margin:8px 0 22px}.onepager-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.onepager-card{border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;gap:14px;background:var(--surface)}.onepager-card img{width:80px;height:100px;object-fit:cover;object-position:top;border-radius:8px;flex-shrink:0}.onepager-card img.landscape{object-fit:contain;object-position:center;background:var(--bg)}.onepager-band{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;padding:0;border:0}.onepager-band>div{border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:var(--surface)}.onepager-band h2{font-size:18px;margin:0 0 6px}.onepager-band p{font-size:13px;line-height:1.5;margin:0 0 6px}.onepager-band p:last-child{margin:0}.onepager-vouch{grid-column:1/-1}.onepager-vouch p:first-child{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:17px}.onepager-card h2{font-size:22px;margin:6px 0}.onepager-card p{font-size:13px;line-height:1.5}.onepager-card small{font-size:10px;color:var(--muted)}.onepager-sheet>footer{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px;font-size:13px;padding:14px 0}
@media(max-width:768px){.va #hero-gm-wrap{display:none}.onepager-grid{grid-template-columns:1fr}.onepager-sheet{padding:20px;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.va .offer,.va .restored-offer{transform:none!important}.va .offer::before,.va .restored-offer::before{transition:none}}
@media print{@page{size:A4 portrait;margin:0}.onepager{background:white!important;color:#1a1a1a!important}.onepager .selected-header,.onepager-print{display:none!important}.onepager-sheet{margin:0;padding:12mm;max-width:none}.onepager-sheet h1{font-size:26px}.onepager .logo-x{background:none!important;-webkit-text-fill-color:#8E4DAB!important;color:#8E4DAB!important}.onepager-grid{grid-template-columns:1fr 1fr;gap:10px}.onepager-card{break-inside:avoid;padding:12px;background:white!important;color:#1a1a1a!important}.onepager-card p{font-size:10px;line-height:1.4}.onepager-card h2{font-size:16px}.onepager-card img{width:76px;height:100px}.onepager-card img.landscape{background:#f3f2ef!important}.onepager-band{gap:10px;margin-top:10px;padding:0;break-inside:avoid}.onepager-band>div{padding:14px;background:white!important;color:#1a1a1a!important}.onepager-band h2{font-size:15px}.onepager-band p{font-size:11px;line-height:1.45}.onepager-vouch p:first-child{font-size:13px}.onepager-sheet>footer{border:0;font-size:10px}.onepager-sheet .resume-tertiary{display:none}}

/* 2026-09-27 About hero: avatar 160px, vouch card on the right (mirrors v6c2-about.html) */
.about-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,400px);gap:var(--space-xl);align-items:center}
.about-vouch{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-2)}
.about-vouch .card-type{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}
.about-vouch blockquote{margin:0 0 .75rem;border-left:3px solid var(--brand,#FF2D78);padding:2px 0 2px .85rem;font-style:italic;color:var(--ink);font-size:.9375rem;line-height:1.55}
.about-vouch figcaption{font-size:.8125rem;color:var(--muted);line-height:1.9}
.about-vouch figcaption b{color:var(--ink)}
.about-vouch .t-verify{font-size:.75rem;font-weight:600;color:var(--accent);text-decoration:none}
.about-vouch .t-verify:hover,.about-vouch .t-verify:focus-visible{text-decoration:underline}
@media(max-width:860px){.about-hero-grid{grid-template-columns:1fr;gap:var(--space-lg)}}
/* 2026-09-27 Contact hero centered (Josue: "Center this") */
.contact-hero--centered .wrap{text-align:center}
.contact-hero--centered .hero-lead{margin-inline:auto}
.contact-hero--centered .cc-flip{margin-inline:auto;text-align:left}

.va .language-control select,.language-control select{border-radius:999px;padding:7px 12px}
.va .footer-name{font-weight:600;font-size:.9375rem;color:var(--ink)}
/* Visual audit 2026-09-27: one-pager collapses to one column on phones; wide diagrams announce their sideways scroll; two-up screen rows fill their figures; permission board keeps its gutter. */
@media(max-width:600px){.onepager-grid,.onepager-band{grid-template-columns:1fr}}
.scroll-hint{display:none;font-size:.75rem;color:var(--muted);margin:0 0 6px}
@media(max-width:760px){.scroll-hint{display:block}}
.screen-row figure>img{max-width:100%}

/* Newsletter — double opt-in signup. Layout only; colour, type and radii come
   from the canonical tokens. The trap input is hidden from people and from
   assistive tech, but still reachable by a form-filling bot. */
.newsletter{padding-block:48px}
.newsletter-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:start;padding:32px;border:1px solid var(--border);border-radius:var(--radius-lg,16px);background:var(--pale,transparent)}
.newsletter-copy h2{font-size:clamp(26px,3.2vw,36px);line-height:1.1;margin:8px 0 0}
.newsletter-copy p{margin-top:14px;font-size:14px;line-height:1.5;color:var(--muted)}
.newsletter-form{display:flex;flex-direction:column;gap:12px}
.newsletter-form input[type=email]{width:100%;padding:12px 14px;font:inherit;font-size:15px;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm,8px)}
.newsletter-form input[type=email]:focus-visible{outline:2px solid var(--brand-purple);outline-offset:2px}
.newsletter-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.45;color:var(--muted)}
.newsletter-consent input{margin-top:2px;flex:0 0 auto}
.newsletter-consent a{color:inherit}
.newsletter-form .button{align-self:flex-start;font-family:inherit;cursor:pointer}
.newsletter-form .button[disabled]{opacity:.6;cursor:default}
.newsletter-status{margin:0;font-size:12px;line-height:1.45;color:var(--muted);min-height:1.45em}
.newsletter-status.is-error{color:#b3261e}
.nl-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
@media(max-width:860px){.newsletter{padding-block:32px}.newsletter-inner{grid-template-columns:1fr;gap:24px;padding:24px}.newsletter-form .button{align-self:stretch;text-align:center}}

/* Two named voices under the hero, and the plain statement of what a review is not. */
.voices{padding-block:var(--space-md);display:grid;gap:14px}
.voices-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}
.voice{margin:0;padding-left:16px;border-left:2px solid var(--accent)}
.voice blockquote{margin:0;font-family:Playfair,Georgia,serif;font-size:17px;line-height:1.45}
.voice figcaption{margin-top:10px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;font-size:12px}
.voice figcaption small{display:block;color:var(--muted)}
.voice figcaption a{font-size:11px;white-space:nowrap;color:var(--accent)}
.offer-limits{margin-top:var(--space-md);font-size:13px;color:var(--muted);max-width:70ch}
.offer-limits a{color:var(--accent)}
@media(max-width:720px){.voices-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  /* Phones: the full testimonial carousel sits straight under the hero, replacing the two-quote strip. */
  main{display:flex;flex-direction:column}
  main>.hero{order:-2}
  main>.vouch-section{order:-1}
  main>.voices{display:none}
}
/* Language picker: drawn chevron with room on the right (the native arrow ignored padding and touched the border). */
.va .language-control select,.language-control select{-webkit-appearance:none;appearance:none;padding:7px 34px 7px 14px;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%278%27 viewBox=%270 0 12 8%27%3E%3Cpath d=%27M1 1.5l5 5 5-5%27 fill=%27none%27 stroke=%27%23888%27 stroke-width=%271.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}
