@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,600&family=DM+Sans:wght@400;500;600&family=Libre+Franklin:wght@400;500;600&family=Manrope:wght@400;500;600&family=Rye&family=Sora:wght@400;500;600&family=Unbounded:wght@500;600;700&display=swap');

:root { color-scheme: dark; --bg:#081210; --surface:#0d1b18; --ink:#f4f2e9; --muted:#aab5ad; --accent:#8de1c0; --accent2:#e3b96c; --line:rgba(141,225,192,.2); --display:'Cormorant Garamond',serif; --body:'Manrope',sans-serif; --radius:28px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:clip; }
body { margin:0; color:var(--ink); background:var(--bg); font-family:var(--body); line-height:1.65; overflow-x:hidden; }
body::before { content:''; position:fixed; inset:0; pointer-events:none; z-index:-1; background:radial-gradient(circle at 50% 0,var(--glow,rgba(141,225,192,.14)),transparent 38%),linear-gradient(115deg,transparent 0 48%,var(--wash,rgba(255,255,255,.025)) 48% 52%,transparent 52%); }
a { color:inherit; }
.skip { position:absolute; left:-999px; top:10px; z-index:99; padding:10px 14px; background:var(--ink); color:var(--bg); }
.skip:focus { left:10px; }
.shell { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.nav { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--bg) 88%,transparent); backdrop-filter:blur(16px); }
.nav-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.wordmark { display:flex; align-items:center; gap:12px; text-decoration:none; font-family:var(--display); font-size:1.3rem; font-weight:700; letter-spacing:.02em; }
.seal { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--accent); border-radius:50%; color:var(--accent); font-family:var(--body); font-size:.66rem; font-weight:700; letter-spacing:.05em; transform:rotate(-4deg); }
.nav-links { display:flex; align-items:center; gap:26px; font-size:.82rem; color:var(--muted); }
.nav-links a { text-decoration:none; }
.nav-links a:hover,.nav-links a:focus-visible { color:var(--accent); }
.hero { min-height:760px; display:grid; align-items:center; position:relative; padding:90px 0 70px; }
.hero::before,.hero::after { content:''; position:absolute; border:1px solid var(--line); pointer-events:none; }
.hero::before { width:420px; height:420px; right:-140px; top:110px; border-radius:50%; }
.hero::after { width:220px; height:220px; right:60px; top:210px; border-radius:50%; }
.eyebrow { display:flex; align-items:center; gap:14px; color:var(--accent); font-size:.68rem; font-weight:700; letter-spacing:.25em; text-transform:uppercase; }
.eyebrow::before { content:''; width:40px; height:1px; background:currentColor; }
h1,h2,h3 { margin:0; font-family:var(--display); line-height:1.02; text-wrap:balance; }
h1 { max-width:920px; margin-top:28px; font-size:clamp(4rem,9.2vw,8.6rem); font-weight:600; letter-spacing:-.045em; overflow-wrap:anywhere; }
.hero-copy { max-width:680px; margin:34px 0 0; color:var(--muted); font-size:clamp(1rem,1.5vw,1.25rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px; border:1px solid var(--accent); border-radius:999px; text-decoration:none; color:var(--bg); background:var(--accent); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:transform .2s ease,box-shadow .2s ease; }
.button.secondary { color:var(--ink); background:transparent; border-color:var(--line); }
.button:hover { transform:translateY(-2px); box-shadow:0 10px 32px var(--glow); }
.entity-note { position:absolute; right:0; bottom:54px; width:300px; padding:22px; border-left:1px solid var(--accent); color:var(--muted); font-size:.78rem; }
.entity-note strong { display:block; color:var(--ink); font-family:var(--display); font-size:1.1rem; }
.section { padding:130px 0; border-top:1px solid var(--line); }
.section-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(50px,8vw,120px); align-items:start; }
.kicker { color:var(--accent); font-size:.68rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; }
h2 { margin-top:18px; font-size:clamp(2.8rem,5.4vw,5rem); font-weight:600; letter-spacing:-.035em; }
.about-copy { padding-top:24px; color:var(--muted); font-size:1.08rem; }
.promise { margin-top:36px; padding:28px 0 0; border-top:1px solid var(--line); color:var(--accent2); font-family:var(--display); font-size:clamp(1.6rem,3vw,2.4rem); font-style:italic; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); margin-top:64px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.principle { min-height:250px; padding:34px; background:var(--surface); }
.principle + .principle { border-left:1px solid var(--line); }
.number { display:block; margin-bottom:44px; color:var(--accent); font-size:.68rem; letter-spacing:.15em; }
.principle h3 { font-size:1.7rem; }
.principle p { color:var(--muted); font-size:.9rem; }
.statement { padding:150px 0; text-align:center; }
.statement blockquote { max-width:920px; margin:0 auto; font-family:var(--display); font-size:clamp(2.8rem,6vw,5.8rem); line-height:1.05; letter-spacing:-.035em; }
.statement blockquote::before { content:'“'; display:block; color:var(--accent); font-size:4rem; line-height:.5; }
.responsible { padding:70px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(135deg,var(--surface),transparent); }
.responsible p { max-width:760px; color:var(--muted); }
.company-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px; }
.company-card { padding:28px; border-top:1px solid var(--line); }
.company-card span { display:block; color:var(--muted); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; }
.company-card strong { display:block; margin-top:8px; font-family:var(--display); font-size:1.55rem; }
.footer { padding:64px 0 34px; border-top:1px solid var(--line); }
.footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; }
.footer p { max-width:480px; color:var(--muted); font-size:.86rem; }
.footer h3 { margin-bottom:14px; color:var(--accent); font-family:var(--body); font-size:.67rem; letter-spacing:.2em; text-transform:uppercase; }
.footer-links { display:grid; gap:8px; }
.footer-links a { color:var(--muted); text-decoration:none; font-size:.86rem; }
.footer-links a:hover { color:var(--ink); }
.legal-line { margin-top:50px; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:24px; color:var(--muted); font-size:.75rem; }
.legal-page main { padding:90px 0 130px; }
.legal-page h1 { max-width:none; font-size:clamp(3.4rem,7vw,6.5rem); }
.legal-intro { max-width:760px; margin-top:24px; color:var(--muted); }
.legal-content { max-width:820px; margin-top:70px; }
.legal-content h2 { margin:54px 0 14px; font-family:var(--body); font-size:1.35rem; letter-spacing:0; }
.legal-content p,.legal-content li { color:var(--muted); }
.legal-content strong { color:var(--ink); }

body[data-theme='knights'] { --bg:#070913; --surface:#101426; --ink:#f2f5ff; --muted:#aab1c9; --accent:#7de7ff; --accent2:#b9a7ff; --line:rgba(125,231,255,.18); --glow:rgba(91,174,255,.17); --wash:rgba(126,92,255,.05); --display:'Cinzel',serif; --body:'Sora',sans-serif; --radius:8px; }
body[data-theme='knights'] .seal { border-radius:8px; transform:rotate(45deg); }
body[data-theme='knights'] .seal span { transform:rotate(-45deg); }
body[data-theme='knights'] h1 { text-transform:uppercase; letter-spacing:-.025em; font-size:clamp(3.5rem,8vw,7.4rem); }
body[data-theme='knights'] .hero::before,body[data-theme='knights'] .hero::after { transform:rotate(45deg); border-radius:0; }

body[data-theme='zippy'] { color-scheme:light; --bg:#fff3d9; --surface:#fffaf0; --ink:#1c292a; --muted:#536465; --accent:#e64b2f; --accent2:#007e7b; --line:rgba(28,41,42,.2); --glow:rgba(230,75,47,.18); --wash:rgba(0,126,123,.06); --display:'Unbounded',sans-serif; --body:'DM Sans',sans-serif; --radius:38px; }
body[data-theme='zippy'] .seal { border-radius:15px 50% 50% 50%; transform:rotate(8deg); }
body[data-theme='zippy'] h1 { font-size:clamp(3.6rem,8.4vw,7.6rem); line-height:1.06; }
body[data-theme='zippy'] .hero::before { border-width:18px; border-color:color-mix(in srgb,var(--accent) 22%,transparent); }
body[data-theme='zippy'] .hero::after { border-width:10px; border-color:color-mix(in srgb,var(--accent2) 20%,transparent); }

body[data-theme='west'] { color-scheme:light; --bg:#e9dcc4; --surface:#f2e9d8; --ink:#2b1d16; --muted:#6c5647; --accent:#9e391f; --accent2:#27534f; --line:rgba(43,29,22,.22); --glow:rgba(158,57,31,.18); --wash:rgba(43,29,22,.035); --display:'Rye',serif; --body:'Libre Franklin',sans-serif; --radius:2px; }
body[data-theme='west'] .seal { border-radius:50% 50% 8px 8px; transform:none; }
body[data-theme='west'] h1 { font-size:clamp(3.5rem,7.6vw,7.1rem); letter-spacing:-.02em; }
body[data-theme='west'] .hero::before,body[data-theme='west'] .hero::after { border-radius:50% 50% 0 0; border-style:dashed; }
body[data-theme='west'] .principles { box-shadow:12px 12px 0 rgba(43,29,22,.08); }

@media (max-width:800px) { .nav-links a:not(.button){display:none} .hero{min-height:720px} .entity-note{position:static;margin-top:60px;width:auto} .section-grid,.footer-top{grid-template-columns:1fr} .principles{grid-template-columns:1fr}.principle+.principle{border-left:0;border-top:1px solid var(--line)} .company-row{grid-template-columns:1fr}.responsible{padding:36px 26px}.legal-line{flex-direction:column} }
@media (max-width:520px) { .shell{width:min(100% - 28px,1160px)} .wordmark{font-size:1rem}.nav-links{gap:8px}.nav-links .button{padding:0 14px;min-height:42px}.hero{padding-top:58px}h1{font-size:3.15rem}.section{padding:90px 0}.statement{padding:110px 0}.principle{min-height:auto}.hero::before,.hero::after{opacity:.45} body[data-theme='knights'] h1{font-size:2.75rem} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *{animation:none!important;transition:none!important} }
