:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
  --text-3xl: clamp(2.6rem, 1rem + 4vw, 5rem);
  --text-hero: clamp(3.1rem, 0.7rem + 6vw, 7rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --color-bg:#f6f3f1;
  --color-surface:#ffffffde;
  --color-surface-2:#fff9f7d6;
  --color-surface-strong:#fffffff3;
  --color-text:#171214;
  --color-text-muted:#5c5357;
  --color-text-faint:#8a8084;
  --color-text-inverse:#fff8f8;
  --color-border:rgba(23,18,20,.08);
  --color-divider:rgba(23,18,20,.07);
  --color-primary:#b72b34;
  --color-primary-hover:#932029;
  --color-primary-soft:rgba(183,43,52,.10);
  --color-accent-dark:#211a1d;
  --shadow-sm:0 14px 32px rgba(31,22,25,.08);
  --shadow-md:0 24px 70px rgba(31,22,25,.12);
  --radius-sm:.5rem;--radius-md:.85rem;--radius-lg:1.3rem;--radius-xl:1.8rem;--radius-full:9999px;
  --font-display:'Cabinet Grotesk', Inter, sans-serif;
  --font-body:'General Sans', Inter, sans-serif;
  --content-default:1120px;
  --content-wide:1280px;
  --transition-interactive:200ms cubic-bezier(0.16,1,0.3,1);
}
[data-theme="dark"] {
  --color-bg:#0e0a0b;
  --color-surface:rgba(27,19,21,.86);
  --color-surface-2:rgba(34,24,26,.78);
  --color-surface-strong:rgba(36,25,28,.94);
  --color-text:#f8f2f3;
  --color-text-muted:#d4c4c8;
  --color-text-faint:#998b8f;
  --color-text-inverse:#181113;
  --color-border:rgba(255,255,255,.10);
  --color-divider:rgba(255,255,255,.08);
  --color-primary:#df4b55;
  --color-primary-hover:#f16a73;
  --color-primary-soft:rgba(223,75,85,.14);
  --color-accent-dark:#f4ecee;
  --shadow-sm:0 14px 32px rgba(0,0,0,.22);
  --shadow-md:0 24px 70px rgba(0,0,0,.34);
}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:none;scroll-behavior:smooth}
body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--color-text);background:radial-gradient(circle at 10% 12%, rgba(183,43,52,.08), transparent 24%),radial-gradient(circle at 88% 16%, rgba(23,18,20,.06), transparent 22%),linear-gradient(180deg, #f8f5f3 0%, #f6f3f1 55%, #f2edeb 100%);overflow-x:hidden}
[data-theme="dark"] body{background:radial-gradient(circle at 12% 14%, rgba(223,75,85,.14), transparent 20%),radial-gradient(circle at 85% 10%, rgba(255,255,255,.04), transparent 18%),linear-gradient(180deg, #0e0a0b 0%, #140d0f 50%, #100b0c 100%)}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
a,button{transition:all var(--transition-interactive)}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}
.skip-link{position:absolute;top:-100px;left:1rem;z-index:200;background:var(--color-primary);color:var(--color-text-inverse);padding:.8rem 1rem;border-radius:var(--radius-full)}
.skip-link:focus{top:1rem}
.container{width:min(100% - 2rem, var(--content-default));margin-inline:auto}
.wide{width:min(100% - 2rem, var(--content-wide));margin-inline:auto}
.glass{background:var(--color-surface);backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}
.site-header{position:sticky;top:0;z-index:100;padding-top:.75rem}
.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-radius:var(--radius-full)}
.brand{display:flex;align-items:center}
.brand img{height:44px;width:auto}
.nav-links{display:none;gap:1.5rem;font-size:var(--text-sm);color:var(--color-text-muted);align-items:center}
.nav-links>a:hover,.nav-links details:hover>summary{color:var(--color-text)}
.has-submenu{position:relative}
.has-submenu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.4rem}
.has-submenu summary::-webkit-details-marker{display:none}
.submenu{position:absolute;top:calc(100% + .7rem);left:0;min-width:18rem;padding:.7rem;border-radius:1rem;background:var(--color-surface-strong);border:1px solid var(--color-border);box-shadow:var(--shadow-md);display:grid;gap:.25rem}
.submenu a{padding:.7rem .8rem;border-radius:.8rem;color:var(--color-text-muted)}
.submenu a:hover{background:var(--color-primary-soft);color:var(--color-text)}
.header-tools{display:flex;align-items:center;gap:.6rem}
.lang-switcher,.theme-toggle,.header-cta{min-height:44px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-strong);display:inline-flex;align-items:center;justify-content:center}
.lang-switcher{padding:0 .85rem;gap:.5rem;font-size:var(--text-sm);color:var(--color-text-muted)}
.lang-switcher .active{color:var(--color-text);font-weight:700}
.theme-toggle{width:44px}
.header-cta{padding:0 1rem;font-size:var(--text-sm);font-weight:700;background:var(--color-accent-dark);color:var(--color-text-inverse)}
[data-theme="dark"] .header-cta{background:var(--color-primary);color:var(--color-text-inverse)}
.hero{padding:clamp(var(--space-16), 10vw, 9rem) 0 var(--space-16)}
.hero-wrap{display:grid;gap:var(--space-8);align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .85rem;border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.09em;background:var(--color-surface-strong);border:1px solid var(--color-border);color:var(--color-text-muted)}
h1,h2,h3{font-family:var(--font-display);line-height:.98;letter-spacing:-.045em}
h1{font-size:var(--text-hero);max-width:10ch;margin-top:var(--space-6)}
.hero-copy{margin-top:var(--space-6);max-width:60ch;color:var(--color-text-muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--space-8)}
.btn{min-height:50px;padding:0 1.25rem;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700;border:1px solid transparent}
.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--color-primary-hover)}
.btn-secondary{background:var(--color-surface-strong);border-color:var(--color-border)}
.hero-card{padding:clamp(var(--space-8), 4vw, var(--space-12));border-radius:2rem;position:relative;overflow:hidden;background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,250,248,.72));border:1px solid rgba(183,43,52,.10);box-shadow:var(--shadow-md)}
[data-theme="dark"] .hero-card{background:linear-gradient(180deg, rgba(35,24,27,.92), rgba(26,18,20,.86))}
.hero-card:before{content:"";position:absolute;inset:auto -8% -16% auto;width:16rem;height:16rem;border-radius:50%;background:radial-gradient(circle, rgba(183,43,52,.16), transparent 70%)}
.hero-logo-shell{display:grid;place-items:center;min-height:320px;border-radius:1.5rem;background:linear-gradient(180deg,#ffffff 0%,#faf6f4 100%);border:1px solid rgba(23,18,20,.06);padding:2rem}
.hero-logo-shell img{width:min(100%, 420px);height:auto;object-fit:contain}
.hero-note{margin-top:1rem;padding:1rem 1.1rem;border-radius:1rem;background:var(--color-primary-soft);color:var(--color-text-muted);font-size:var(--text-sm)}
.section{padding:clamp(var(--space-12), 8vw, var(--space-24)) 0}
.section-head{display:grid;gap:var(--space-4);max-width:58rem;margin-bottom:var(--space-10)}
.section-head h2{font-size:var(--text-3xl);max-width:12ch}
.section-head p{max-width:64ch;color:var(--color-text-muted)}
.intro-band,.cta-shell{padding:clamp(var(--space-8), 4vw, var(--space-12));border-radius:2rem}
.intro-band{background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,250,248,.44));border:1px solid rgba(23,18,20,.06);box-shadow:var(--shadow-sm)}
[data-theme="dark"] .intro-band{background:linear-gradient(180deg, rgba(35,24,27,.88), rgba(24,17,19,.8))}
.intro-grid,.support-grid,.reads-grid,.process-grid,.contact-grid,.parent-grid,.child-grid{display:grid;gap:var(--space-4)}
.card{padding:clamp(var(--space-6), 3vw, var(--space-8));border-radius:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}
.card p{margin-top:var(--space-4);color:var(--color-text-muted)}
.metric-list{display:grid;gap:var(--space-4)}
.metric-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-divider)}
.metric-row:first-child{border-top:0;padding-top:0}
.parent-grid{grid-template-columns:repeat(12,1fr)}
.parent-card{grid-column:span 12}
.parent-card .small-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.09em;color:var(--color-primary);font-weight:700}
.child-grid{margin-top:var(--space-6)}
.child-link{padding:1rem 1.1rem;border-radius:1rem;background:var(--color-surface-2);border:1px solid var(--color-border);display:block}
.child-link strong{display:block;font-size:var(--text-sm)}
.child-link span{display:block;margin-top:.35rem;color:var(--color-text-muted);font-size:var(--text-sm)}
.services-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}
.service-card{grid-column:span 12;position:relative;overflow:hidden;min-height:20rem}
.service-card .label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.09em;color:var(--color-primary);font-weight:700}
.service-card h3{font-size:var(--text-xl);max-width:13ch;margin-top:var(--space-5)}
.service-points{display:grid;gap:.45rem;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}
.service-a{background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,249,247,.58)), radial-gradient(circle at 78% 18%, rgba(183,43,52,.10), transparent 22%)}
.service-b{background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(250,247,246,.56)), radial-gradient(circle at 18% 80%, rgba(23,18,20,.06), transparent 18%)}
.service-c{background:linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,250,248,.6)), radial-gradient(circle at 88% 82%, rgba(183,43,52,.08), transparent 18%)}
[data-theme="dark"] .service-a,[data-theme="dark"] .service-b,[data-theme="dark"] .service-c{background:linear-gradient(180deg, rgba(37,26,28,.94), rgba(27,19,21,.84))}
.process-card .step{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.09em;color:var(--color-text-faint);font-weight:700}
.contact-card a{color:var(--color-primary);font-weight:700}
.contact-card strong{display:block;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint);margin-bottom:.5rem}
.cta-shell{background:linear-gradient(180deg, rgba(29,22,25,.96), rgba(45,28,32,.94));color:#fff;box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.cta-shell:before{content:"";position:absolute;inset:auto -10% -40% auto;width:22rem;height:22rem;border-radius:50%;background:radial-gradient(circle, rgba(223,75,85,.28), transparent 68%)}
.cta-shell p{margin-top:var(--space-4);max-width:58ch;color:rgba(255,255,255,.78)}
.footer{padding:var(--space-8) 0 var(--space-12);color:var(--color-text-muted)}
.footer-row{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-divider)}
@media (min-width:940px){
  .nav-links{display:flex}
  .hero-wrap{grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr)}
  .intro-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}
  .services-grid .large,.parent-card.large{grid-column:span 7}
  .services-grid .small,.parent-card.small{grid-column:span 5}
  .support-grid,.contact-grid,.child-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reads-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .process-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .footer-row{flex-direction:row;justify-content:space-between;align-items:center}
}
