*, *::before, *::after { box-sizing: border-box; }
:root { --ink:#1c1c1c; --white:#fff; --paper:#f4f4f4; --muted:#777; --line:#dedede; --radius:24px; }
html { scroll-behavior:smooth; scroll-padding-top:88px; }
body { margin:0; background:#fff; color:var(--ink); font:400 16px/1.45 "Plus Jakarta Sans",sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:inherit; } img { display:block; max-width:100%; } button { font:inherit; }
.frame { width:calc(100% - 6.6vw); max-width:1835px; margin-inline:auto; }
.narrative { width:min(62.2vw,1230px); margin-left:max(11.2vw,calc((100vw - 1980px)/2 + 222px)); }
.wrap { width:calc(100% - 6.6vw); max-width:1835px; margin-inline:auto; }
.section { padding:clamp(72px,7vw,130px) 0; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { line-height:1.12; } p { margin-bottom:0; }
.label { color:#888; font-size:clamp(10px,.72vw,14px); font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:clamp(38px,2.7vw,54px); padding:0 clamp(16px,1.4vw,28px); border-radius:999px; text-decoration:none; font-size:clamp(10px,1vw,19px); font-weight:800; text-transform:uppercase; white-space:nowrap; }
.button-light { background:white; color:#111; }
.button-dark { background:#111; color:white; }
.nav { height:clamp(150px,16.55vw,246px); padding:0 4.8vw; display:flex; align-items:center; gap:clamp(12px,1.5vw,24px); background:#fff; color:#111; position:relative; z-index:30; }
.brand { width:clamp(190px,19vw,285px); flex:none; }.brand img { width:100%; }
.nav-links { list-style:none; display:flex; flex:1; justify-content:center; align-items:center; gap:clamp(2px,.3vw,6px); margin:0; padding:0; }
.nav-links a { display:block; padding:10px 3px; text-decoration:none; font-size:clamp(11px,1vw,16px); font-weight:800; white-space:nowrap; }
.nav-links a:hover,.nav-links a:focus-visible { text-decoration:underline; }
.lang { display:flex; align-items:center; height:42px; padding:0 1px; border:1px solid #c9c9c9; border-radius:999px; flex:none; }
.lang span,.lang a { display:grid; place-items:center; width:42px; height:40px; font-size:16px; font-weight:800; text-decoration:none; }
.lang .active { border-radius:50%; background:#000; color:#fff; }
.nav-cta { display:inline-flex; align-items:center; justify-content:center; height:42px; padding:0 19px; border-radius:999px; background:#000; color:#fff; text-decoration:none; font-size:clamp(11px,1vw,16px); font-weight:800; text-transform:uppercase; white-space:nowrap; flex:none; }
.menu-toggle { display:none; background:transparent; border:1px solid #111; border-radius:50%; width:42px; height:42px; cursor:pointer; }
.landing .reveal { opacity:0; translate:0 28px; transition:opacity 850ms cubic-bezier(.22,1,.36,1),translate 850ms cubic-bezier(.22,1,.36,1); transition-delay:var(--reveal-delay,0ms); }
.landing .reveal.is-visible { opacity:1; translate:0 0; }
@media(prefers-reduced-motion:reduce) { .landing .reveal { opacity:1; translate:none; transition:none; } }
.hero { width:calc(100% - 8vw); aspect-ratio:1.5; min-height:0; max-height:none; border-radius:clamp(24px,3vw,45px); overflow:hidden; position:relative; color:white; background:#07130e; }
.hero-media { position:absolute; inset:0; display:block; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 35%,rgba(0,0,0,.18) 100%); }
.hero-copy { position:absolute; z-index:1; width:38%; top:39%; left:56%; }
.hero h1 { font-size:clamp(46px,5vw,84px); font-weight:800; letter-spacing:-.055em; margin-bottom:clamp(32px,4vw,68px); }
.hero p { max-width:690px; font-size:clamp(13px,1.08vw,21px); font-weight:700; line-height:1.32; }
.hero .button { margin-top:clamp(25px,2.3vw,46px); }
.why { padding-top:clamp(70px,5.5vw,110px); }
.why h2,.testimonials h2,.conviction h2 { font-size:clamp(34px,2.95vw,58px); font-weight:800; letter-spacing:-.045em; }
.why h2 { margin-bottom:clamp(30px,2.8vw,56px); }
.lead-rule { border-left:2px solid #111; padding-left:clamp(22px,2.3vw,45px); font-size:clamp(20px,1.85vw,37px); font-weight:300; line-height:1.32; }
.lead-rule em { font-style:italic; }
.narrative-image { width:100%; height:auto; border-radius:clamp(15px,1.6vw,32px); }
.why .narrative-image { margin-top:clamp(44px,3.7vw,74px); }
.why-close { margin-top:clamp(42px,3.1vw,62px); font-size:clamp(19px,1.75vw,35px); font-weight:300; line-height:1.22; }
.why-close strong { font-weight:800; }
.vision { margin-top:clamp(100px,7.5vw,150px); }
.vision-banner { background:#000; border-radius:clamp(22px,2.3vw,46px); color:#fff; padding:clamp(46px,4.7vw,94px) clamp(45px,4.5vw,90px); display:grid; grid-template-columns:.47fr .55fr; gap:3vw; align-items:center; }
.vision-banner h2 { text-align:right; font-size:clamp(30px,2.75vw,55px); font-weight:800; letter-spacing:-.04em; margin:0; }
.vision-banner p { font-size:clamp(18px,1.77vw,35px); font-weight:300; line-height:1.2; }
.vision-banner p strong { font-weight:800; }
.vision-banner p+p { margin-top:clamp(22px,2.5vw,50px); }
.vision-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.3vw; margin-top:1.3vw; }
.vision-cards article { background:#f1f1f1; border-radius:clamp(22px,2.3vw,45px); padding:clamp(20px,1.65vw,33px); }
.number { display:grid; place-items:center; width:clamp(27px,2.4vw,47px); aspect-ratio:1; border-radius:50%; background:#000; color:#fff; font-size:clamp(12px,1.1vw,22px); font-weight:800; }
.vision-cards h3 { font-size:clamp(25px,2.2vw,44px); font-weight:800; margin:clamp(9px,.8vw,16px) 0 0; }
.vision-cards p { font-size:clamp(14px,1.4vw,28px); font-weight:600; line-height:1.15; min-height:2.4em; }
.chips { display:flex; gap:.45vw; margin-top:clamp(16px,1.2vw,25px); }.chips span { flex:1; text-align:center; background:#d9d9d9; border-radius:999px; padding:5px 6px; font-size:clamp(9px,.85vw,17px); font-weight:800; text-transform:uppercase; color:#777; }
.testimonials { width:min(78vw,1545px); padding-top:clamp(105px,7vw,140px); }
.testimonials h2 { margin-bottom:clamp(65px,5vw,100px); }
.testimonial-layout { display:grid; grid-template-columns:20% 1fr; gap:clamp(35px,3vw,60px); align-items:start; }
.testimonial-layout + .testimonial-layout { margin-top:clamp(90px,8vw,160px); }
.testimonial-profile { width:100%; aspect-ratio:1; object-fit:cover; border-radius:50%; }
.testimonial-main blockquote { margin:0; font-size:clamp(19px,1.84vw,37px); font-style:italic; font-weight:400; line-height:1.22; }
.testimonial-work { width:100%; aspect-ratio:1.5; object-fit:cover; border-radius:clamp(16px,1.4vw,28px); margin-top:clamp(35px,2.5vw,50px); }
.testimonial-work--portrait { width:min(100%,620px); aspect-ratio:1060 / 1413; }
.testimonial-credit { margin-top:12px; color:#777; font-size:clamp(11px,.9vw,15px); font-weight:600; }
.testimonial-name { margin-top:clamp(30px,2.4vw,47px); font-size:clamp(18px,1.8vw,36px); line-height:1.15; }
.testimonial-name strong { display:block; text-transform:uppercase; font-weight:800; }.testimonial-name em { display:block; font-weight:300; }
.flexibility { margin-top:clamp(240px,27vw,535px); background:#000; color:#fff; border-radius:clamp(22px,2.3vw,45px); padding:clamp(45px,4.8vw,96px) clamp(35px,4.3vw,85px) clamp(35px,4vw,80px); }
.flexibility h2 { font-size:clamp(34px,2.9vw,58px); font-weight:800; letter-spacing:-.04em; }
.flexibility p { margin:clamp(45px,3.6vw,72px) 0 clamp(68px,5vw,100px); text-align:right; font-size:clamp(19px,1.8vw,36px); font-weight:300; line-height:1.2; }
.flexibility p strong { font-weight:800; }.flexibility p em { font-style:italic; }
.site-frame { border:clamp(12px,1.5vw,30px) solid #333; border-radius:clamp(25px,2.5vw,50px); overflow:hidden; }
.site-frame img { width:100%; height:auto; }
.conviction { padding-top:clamp(130px,8vw,160px); }
.conviction h2 { margin-bottom:clamp(28px,2.6vw,52px); }
.conviction>p:not(.lead-rule) { font-size:clamp(18px,1.7vw,34px); font-weight:400; line-height:1.25; }
.conviction .narrative-image { margin-top:clamp(45px,3.6vw,72px); border:1px solid #111; }
.conviction .lead-rule { margin-top:clamp(46px,3vw,60px); font-size:clamp(19px,1.7vw,34px); font-weight:400; }
.founder { margin-top:clamp(140px,9vw,180px); background:#000; color:#fff; border-radius:clamp(20px,2.2vw,44px); overflow:hidden; display:grid; grid-template-columns:44.5% 1fr; }
.founder>img { width:100%; height:100%; object-fit:cover; object-position:center; }
.founder>div { padding:clamp(42px,4vw,80px) clamp(40px,4vw,80px); align-self:center; }
.founder h2 { font-size:clamp(31px,2.8vw,56px); font-weight:800; margin-bottom:clamp(40px,3.4vw,68px); }
.founder blockquote { margin:0; font-size:clamp(18px,1.65vw,33px); font-weight:300; line-height:1.22; }
.founder p { border-top:1px solid #555; margin-top:clamp(40px,3.1vw,62px); padding-top:clamp(18px,1.5vw,30px); font-size:clamp(14px,1.2vw,24px); }.founder p strong { font-weight:800; }
.pricing{background:var(--white);border-block:1px solid var(--line)}.pricing-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.toggle{display:inline-flex;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--paper);gap:4px;flex:none}.toggle button{border:0;border-radius:999px;background:transparent;min-height:38px;padding:0 17px;cursor:pointer;font:900 11px/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.toggle button.active{background:var(--ink);color:var(--white)}.save-badge{margin-left:7px;padding:3px 7px;border-radius:999px;background:var(--ink);color:var(--white)}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.plan{position:relative;padding:26px;border:1px solid var(--line);border-radius:24px;background:var(--paper);min-height:470px;display:flex;flex-direction:column}.plan.featured{background:var(--ink);color:var(--white);transform:translateY(-12px);box-shadow:0 28px 80px rgba(0,0,0,.12)}.badge{position:absolute;top:20px;right:20px;border:1px solid currentColor;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.plan-name{font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.featured .plan-name{color:rgba(255,255,255,.62)}.plan-desc{margin:18px 0 0;min-height:48px;color:var(--muted);font-size:14px;font-weight:600;line-height:1.55}.featured .plan-desc{color:rgba(255,255,255,.62)}.price{margin:28px 0 4px;font-size:clamp(40px,5vw,68px);line-height:.9;letter-spacing:-.075em;font-weight:900}.period,.saving{color:var(--muted);font-size:12px;font-weight:700}.featured .period,.featured .saving{color:rgba(255,255,255,.58)}.features{margin:28px 0;padding:0;list-style:none;display:grid;gap:13px}.features li{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:700}.features li::before{content:"";width:7px;height:7px;border-radius:50%;margin-top:7px;background:currentColor;flex:none}.features li.missing{color:rgba(28,28,28,.28)}.features li.missing::before{content:"×";width:auto;height:auto;border-radius:0;margin-top:0;background:transparent;font-weight:900;line-height:1}.plan .button{margin-top:auto;width:100%}

.pricing { margin-top:clamp(75px,6vw,120px); background:#fff; border:0; }
.pricing h2 { font-size:clamp(55px,5vw,100px); font-weight:800; letter-spacing:-.06em; margin:clamp(15px,1.5vw,30px) 0 0; }
.pricing .body { color:#777; font-size:clamp(14px,1.12vw,22px); }
.plan:not(.featured) .button { background:transparent; color:var(--ink); border:1px solid #d4d4d4; }
.manifesto { margin-top:clamp(100px,8vw,160px); background:#000; color:#fff; border-radius:clamp(22px,2.3vw,45px); padding:clamp(65px,5.2vw,104px) clamp(60px,6.4vw,128px); display:grid; grid-template-columns:36% 1fr; gap:3vw; }
.manifesto h2 { text-align:right; font-size:clamp(30px,2.65vw,53px); font-weight:800; margin:0; }
.beliefs { display:grid; gap:clamp(26px,2.3vw,46px); }
.beliefs>div { border-left:2px solid #fff; padding-left:clamp(28px,2.1vw,42px); }
.beliefs h3 { font-size:clamp(18px,1.7vw,34px); font-weight:800; margin-bottom:2px; }
.beliefs p { font-size:clamp(18px,1.7vw,34px); font-weight:300; font-style:italic; line-height:1.2; }
.closing { padding:clamp(100px,7vw,140px) 15px 0; display:grid; grid-template-columns:43% 1fr; gap:4vw; }
.closing h2 { font-size:clamp(31px,2.85vw,57px); font-weight:800; letter-spacing:-.04em; }
.closing p { font-size:clamp(19px,1.7vw,34px); font-weight:300; line-height:1.25; margin-bottom:clamp(26px,2vw,40px); }
.footer { padding:clamp(70px,5vw,100px) 15px clamp(45px,3vw,60px); color:#444; font-size:clamp(11px,.95vw,19px); }.footer a { text-decoration:none; }.footer a:hover { text-decoration:underline; }
.features-hero{padding:150px 0 80px;background:#111;color:white}.features-hero h1{max-width:840px}.features-hero p{max-width:720px;color:#ccc;font-size:18px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature-card{padding:28px;border:1px solid var(--line);border-radius:var(--round);background:white;min-height:200px}.feature-card span{font-size:11px;color:var(--muted);font-weight:900}.feature-card h3{font-size:23px;margin:28px 0 8px}.feature-card p{font-size:14px;color:#666}.detail-list{border-top:1px solid var(--line)}.detail-row{display:grid;grid-template-columns:.7fr 1.4fr auto;gap:26px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.detail-row h3,.detail-row p{margin:0}.detail-row p{color:#666}.detail-row code{font:700 11px/1.4 "Plus Jakarta Sans",sans-serif;color:#777}.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.step{padding:24px;background:#111;color:white;border-radius:14px}.step b{font-size:12px;color:#aaa}.step h3{margin:28px 0 8px}.step p{font-size:13px;color:#ccc}.preview{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:center}.preview img{border-radius:var(--round);width:100%}

.features-hero { margin-top:0; }.feature-card { background:#f5f5f5; }
.feature-page .section { padding:95px 0; }
.feature-page .final { padding:90px 3.3vw 0; background:#fff; }
.feature-page .final-card { background:#000; color:#fff; border-radius:28px; padding:70px; display:grid; grid-template-columns:1fr .75fr; gap:40px; }
.feature-page .final h2 { font-size:clamp(36px,4vw,70px); }
.feature-page .final p { color:#ddd; margin-bottom:24px; }
.feature-page .footer { width:100%; display:block; padding-left:0; padding-right:0; }
@media(max-width:1160px) {
  .nav-links { display:none; position:absolute; top:calc(100% - 20px); right:18px; left:18px; background:#fff; border:1px solid #ddd; border-radius:18px; padding:10px; box-shadow:0 10px 40px #0002; }
  .nav.open .nav-links { display:flex; flex-direction:column; align-items:stretch; }
  .nav-links a { padding:12px; font-size:12px; }
  .menu-toggle { display:grid; place-items:center; order:3; }
  .lang { margin-left:auto; }
}
@media(max-width:760px) {
  .frame,.wrap { width:calc(100% - 24px); }
  .narrative,.testimonials { width:calc(100% - 40px); margin-left:20px; }
  .nav { height:68px; padding:0 14px; gap:12px; }.brand { width:140px; }
  .nav-cta { display:none; }
  .hero { width:calc(100% - 24px); aspect-ratio:auto; min-height:650px; max-height:none; border-radius:26px; }
  .hero-media img { object-position:34% center; }
  .hero::after { background:linear-gradient(0deg,#000c,transparent 80%); }
  .hero-copy { width:auto; top:auto; left:0; right:0; bottom:0; padding:30px 24px 42px; }
  .hero h1 { font-size:clamp(44px,10vw,64px); margin-bottom:24px; }.hero p { font-size:14px; line-height:1.4; }
  .hero .button { margin-top:25px; }
  .why { padding-top:70px; }.why h2 { font-size:clamp(32px,7vw,48px); }.lead-rule { font-size:20px; }
  .why-close,.conviction>p:not(.lead-rule) { font-size:19px; }
  .vision { margin-top:100px; }.vision-banner { grid-template-columns:1fr; padding:32px; gap:25px; }.vision-banner h2 { text-align:left; font-size:32px; }.vision-banner p { font-size:19px; }
  .vision-cards { grid-template-columns:1fr; gap:12px; margin-top:12px; }.vision-cards article { padding:25px; }.vision-cards h3 { font-size:29px; }.vision-cards p { font-size:18px; }.chips span { font-size:10px; }
  .testimonials { padding-top:100px; }.testimonials h2 { margin-bottom:35px; }.testimonial-layout { grid-template-columns:1fr; gap:20px; }.testimonial-profile { width:125px; }.testimonial-main blockquote { font-size:19px; }.testimonial-work { margin-top:30px; }.testimonial-name { font-size:20px; }
  .flexibility { margin-top:180px; padding:36px 22px 22px; }.flexibility h2 { font-size:31px; }.flexibility p { font-size:18px; text-align:left; margin:30px 0 40px; }.flexibility p br { display:none; }.site-frame { border-width:10px; }
  .conviction { padding-top:105px; }.conviction h2 { font-size:36px; }.conviction .lead-rule { font-size:20px; }
  .founder { margin-top:100px; grid-template-columns:1fr; }.founder>img { max-height:470px; }.founder>div { padding:35px 28px 45px; }.founder h2 { font-size:34px; margin-bottom:25px; }.founder blockquote { font-size:18px; }.founder p { font-size:14px; }
  .pricing { margin-top:45px; }.pricing-top { flex-direction:column; align-items:flex-start; }.pricing h2 { font-size:58px; }.plans { grid-template-columns:1fr; }.plan { min-height:0; }.plan.featured { transform:none; }
  .manifesto { margin-top:100px; grid-template-columns:1fr; gap:35px; padding:38px 28px; }.manifesto h2 { text-align:left; font-size:32px; }.beliefs h3,.beliefs p { font-size:18px; }
  .closing { grid-template-columns:1fr; gap:15px; padding:90px 10px 0; }.closing h2 { font-size:34px; }.closing p { font-size:19px; }.footer { padding:55px 10px 45px; font-size:12px; }
  .feature-grid,.workflow,.preview,.feature-page .final-card { grid-template-columns:1fr; }.detail-row { grid-template-columns:1fr; gap:10px; }.feature-page .final-card { padding:34px; }
}
@media(max-width:420px) { .nav-cta { display:none; }.button { white-space:normal; text-align:center; }.hero { min-height:650px; } }
.feature-page .features-hero { padding:105px 0 115px; }
.feature-page .features-hero h1 { max-width:960px; margin:20px 0 30px; font-size:clamp(46px,5.4vw,84px); font-weight:800; letter-spacing:-.055em; }
.feature-page .features-hero p { max-width:720px; margin-bottom:35px; font-size:18px; }
.feature-page .section-head { display:grid; grid-template-columns:1fr .75fr; gap:60px; align-items:end; margin-bottom:38px; }
.feature-page .section-head h2,.feature-page .preview h2,.feature-page .publication-panel h2 { font-size:clamp(35px,4.1vw,62px); font-weight:800; letter-spacing:-.045em; }
.feature-page .body { font-size:18px; line-height:1.55; color:#666; }
.feature-page .publication-panel { background:#000; color:#fff; border-radius:28px; padding:70px; display:grid; grid-template-columns:.8fr 1fr; gap:60px; }
.feature-page .publication-panel .label { color:#aaa; }
.feature-page .manifesto-list { display:grid; gap:30px; }
.feature-page .manifesto-list article { border-left:2px solid #fff; padding-left:20px; }
.feature-page .manifesto-list h3 { margin:0 0 8px; font-size:21px; }
.feature-page .manifesto-list p { color:#ccc; font-size:16px; }
@media(max-width:760px) {
  .feature-page .section-head,.feature-page .publication-panel { grid-template-columns:1fr; gap:20px; }
  .feature-page .features-hero { padding:70px 0 85px; }
  .feature-page .features-hero h1 { font-size:45px; }
  .feature-page .publication-panel { padding:35px 28px; }
}
