:root{--ease:cubic-bezier(.2,.7,.2,1)}
body.home{font-feature-settings:"ss01","cv11";letter-spacing:-.005em}
.home .wrap{max-width:1120px}
.home h1{font-size:clamp(2.7rem,7.2vw,5.6rem);letter-spacing:-.055em;line-height:.98;margin:.2em 0 .3em}
.home h2{font-size:clamp(2rem,4.6vw,3.4rem);letter-spacing:-.05em;line-height:1.02}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:#333;background:#f4f4f5;padding:6px 14px 6px 8px;border-radius:999px}
.kicker .dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18)}
.grad-text{background:linear-gradient(90deg,#0099ff,#7c5cff 55%,#ff6aa8);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero2{padding:96px 0 56px;position:relative;overflow:hidden}
.hero2:before{content:"";position:absolute;inset:-40% -20% auto auto;width:720px;height:720px;background:radial-gradient(closest-side,rgba(0,153,255,.16),transparent),radial-gradient(closest-side at 70% 60%,rgba(255,106,168,.14),transparent);filter:blur(10px);z-index:-1}
.hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center}
.portrait{aspect-ratio:4/5;border-radius:24px;position:relative;overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.ph-photo{display:grid;place-items:center;text-align:center;color:rgba(255,255,255,.95);font-weight:600;font-size:.9rem;letter-spacing:.01em}
.ph-photo span{background:rgba(255,255,255,.18);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.35);padding:8px 14px;border-radius:999px;position:relative;z-index:1}
.facts{display:flex;flex-wrap:wrap;gap:28px;margin-top:36px;padding-top:28px;border-top:1px solid #eee}
.facts div{font-size:.85rem;color:var(--muted)}.facts b{display:block;font-size:1.5rem;color:#000;letter-spacing:-.03em}
.sec{padding:96px 0}.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}
.sec-head p{max-width:420px;color:var(--muted);margin:0}
.label{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0099ff;margin-bottom:12px}
.work .card{cursor:default}.work .thumb{aspect-ratio:4/3}
.big-num{font-size:clamp(2.2rem,4vw,3rem);font-weight:800;letter-spacing:-.05em;color:#fff;position:relative;z-index:1;text-shadow:0 2px 20px rgba(0,0,0,.15)}
.thumb .badge{position:absolute;left:14px;top:14px;z-index:1;background:rgba(255,255,255,.9);color:#000;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px}
.card .thumb{box-shadow:0 1px 0 rgba(0,0,0,.02);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover .thumb{transform:translateY(-4px);box-shadow:0 24px 50px -20px rgba(40,40,120,.35)}
.feature{background:#0b0b0f;color:#fff;border-radius:32px;padding:clamp(28px,5vw,64px);display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;overflow:hidden;position:relative}
.feature:before{content:"";position:absolute;right:-200px;top:-200px;width:600px;height:600px;background:radial-gradient(closest-side,rgba(255,122,61,.45),transparent),radial-gradient(closest-side at 30% 70%,rgba(255,79,129,.35),transparent);pointer-events:none}
.feature h2{color:#fff}.feature p{color:#b9b9c3}.feature .label{color:#ff9a3c}
.steps3{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px;position:relative}
.steps3 li{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;color:#e7e7ee}
.steps3 li b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.1);font-size:.85rem}
.feature .thumb{aspect-ratio:1/1;border-radius:20px;position:relative}
.quoteline{font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:700;letter-spacing:-.03em;color:#fff;margin:24px 0 0;line-height:1.25}
.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pr{border:1px solid #eee;border-radius:20px;padding:28px;transition:border-color .3s,transform .4s var(--ease),box-shadow .4s}
.pr:hover{border-color:#d9e8ff;transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(0,80,200,.35)}
.pr .n{font-size:.8rem;font-weight:700;color:#0099ff}.pr h3{font-size:1.3rem;margin:8px 0 6px}.pr p{color:var(--muted);margin:0}
.pr.wide{grid-column:1/-1;background:linear-gradient(120deg,#f5f9ff,#fbf5ff)}
.tl{list-style:none;padding:0;margin:0;border-left:2px solid #eee}
.tl li{position:relative;padding:0 0 32px 28px}.tl li:before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #0099ff}
.tl li.now:before{background:#0099ff;box-shadow:0 0 0 5px rgba(0,153,255,.18)}
.tl .role{font-weight:700;font-size:1.1rem;letter-spacing:-.02em}.tl .org{color:var(--muted)}.tl p{margin:6px 0 0;color:#444;max-width:560px}
.when{display:inline-block;font-size:.75rem;font-weight:600;color:#666;background:#f4f4f5;border-radius:999px;padding:2px 10px;margin-left:8px;vertical-align:middle}
.ph{background:transparent;color:#9a9aa3;border:1px dashed #d4d4d8;padding:1px 8px;border-radius:999px;font-weight:500;font-size:.85em;white-space:nowrap}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.family .portrait{aspect-ratio:5/4}
.cta{border-radius:32px;padding:clamp(36px,6vw,80px);text-align:center;color:#fff;position:relative;overflow:hidden}
.cta h2{color:#fff;max-width:760px;margin:0 auto .4em}.cta p{color:rgba(255,255,255,.85);max-width:540px;margin:0 auto}
.cta .btn{background:#fff;color:#000}.cta .btn.alt{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn{transition:transform .25s var(--ease),filter .25s,box-shadow .25s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(0,153,255,.6)}
nav a:not(.pill){position:relative}nav a:not(.pill):after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:#000;transform:scaleX(0);transition:transform .3s var(--ease);transform-origin:left}nav a:not(.pill):hover:after{transform:scaleX(1)}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
html.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
html.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transform:none;transition:none}}
@media(max-width:900px){.hero-grid,.feature,.two-col{grid-template-columns:1fr}.hero-grid .portrait{max-width:420px}.principles{grid-template-columns:1fr}.sec{padding:72px 0}.sec-head{flex-direction:column;align-items:start}}
@media(max-width:560px){.hero2{padding-top:48px}.facts{gap:18px}.feature,.cta{border-radius:24px}.home .grid{grid-template-columns:1fr}}
.vgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 24px}.vgrid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.vgrid.three{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.vgrid,.vgrid.three{grid-template-columns:1fr}}
.vslot{margin:0}.vslot .frame{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#3b6cff,#8a5cff 55%,#ff7ac6);box-shadow:0 20px 40px -24px rgba(30,40,120,.45);transition:transform .4s var(--ease),box-shadow .4s}
.vslot:hover .frame{transform:translateY(-3px);box-shadow:0 28px 50px -24px rgba(30,40,120,.55)}
.vslot video,.vslot iframe{width:100%;height:100%;display:block;object-fit:cover;border:0;background:#000}
.vslot figcaption{margin-top:12px}.vslot figcaption b{display:block;letter-spacing:-.02em}.vslot figcaption span{color:var(--muted);font-size:.88rem}
.vslot.featured{grid-column:1/-1}.vslot.featured .frame{border-radius:20px}
.note{font-size:1.15rem;line-height:1.7;color:#222;max-width:680px}.note p{margin:0 0 1em}
.sig{font-weight:700;letter-spacing:-.02em}
.principles.books{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.principles.books{grid-template-columns:1fr}}
