/* Website-type templates (blog, story, profile, business, store, creator).
   Loaded only by those demos, after portfolio-demo.css. Each layout sets its own skin. */

/* ---------- skins ---------- */
.layout-blog-mag{--bg:#fbf8f3;--ink:#1d1a16;--muted:#6b645b;--line:#e8e1d6;--accent:#c4532f;--accent-ink:#9a3b1e;--panel:#f3ece1;--v2-display:'DM Serif Display',Georgia,serif}
.layout-blog-night{--bg:#0d1117;--ink:#e8edf2;--muted:#8b98a5;--line:#222b36;--accent:#7ee0b5;--accent-ink:#7ee0b5;--panel:#151c25;--v2-display:'Space Grotesk',sans-serif}
.layout-story-chapters{--bg:#f7f1e8;--ink:#2a2420;--muted:#6d6259;--line:#e4d8c8;--accent:#b5654a;--accent-ink:#8f4a33;--panel:#efe4d4;--v2-display:'DM Serif Display',Georgia,serif}
.layout-story-journey{--bg:#0f1210;--ink:#f1efe8;--muted:#a6aba3;--line:#2a302b;--accent:#e8b04b;--accent-ink:#e8b04b;--panel:#181d19;--v2-display:'DM Serif Display',Georgia,serif}
.layout-profile-links{--bg:#fdf7fb;--ink:#21162a;--muted:#6f6478;--line:#eadff0;--accent:#7c4dff;--accent-ink:#5b2fd6;--panel:#f3eaf9;--v2-display:Manrope,sans-serif}
.layout-profile-card{--bg:#0e0f12;--ink:#f3f1ec;--muted:#a3a39e;--line:#26282d;--accent:#d8b46a;--accent-ink:#d8b46a;--panel:#17191d;--v2-display:'Space Grotesk',sans-serif}
.layout-biz-studio{--bg:#f6f4ef;--ink:#1f2420;--muted:#646b64;--line:#dfe0d8;--accent:#2f5d50;--accent-ink:#2f5d50;--panel:#e9ebe3;--v2-display:'DM Serif Display',Georgia,serif}
.layout-biz-local{--bg:#fffdf5;--ink:#14213d;--muted:#55607a;--line:#e7e3d3;--accent:#ffc300;--accent-ink:#14213d;--panel:#fff3c4;--v2-display:'Space Grotesk',sans-serif}
.layout-store-craft{--bg:#faf5ee;--ink:#2b2420;--muted:#74675d;--line:#eadfd1;--accent:#c9774f;--accent-ink:#8c4a2c;--panel:#f2e7da;--v2-display:'DM Serif Display',Georgia,serif}
.layout-store-loom{--bg:#121110;--ink:#f4ecd8;--muted:#b3a98f;--line:#2c2924;--accent:#c9a24a;--accent-ink:#d9b45c;--panel:#1b1916;--v2-display:'DM Serif Display',Georgia,serif}
.layout-creator-media{--bg:#0b0b14;--ink:#f5f3ff;--muted:#a7a3c2;--line:#25243a;--accent:#ff5c8a;--accent-ink:#ff8fb0;--panel:#15142a;--v2-display:'Space Grotesk',sans-serif}
.layout-creator-kit{--bg:#fff7f3;--ink:#2b1f24;--muted:#7a6a70;--line:#f1e1da;--accent:#e98a9a;--accent-ink:#b9566a;--panel:#fdeae4;--v2-display:'DM Serif Display',Georgia,serif}

[class*="layout-blog-"],[class*="layout-story-"],[class*="layout-profile-"],[class*="layout-biz-"],[class*="layout-store-"],[class*="layout-creator-"]{background:var(--bg);color:var(--ink)}
.v2 h1,.v2 h2,.v2 h3{font-family:var(--v2-display);letter-spacing:-.02em}
.v2 h1{font-size:clamp(42px,6vw,84px);line-height:1}
.v2 h2{font-size:clamp(30px,3.6vw,48px);line-height:1.05}
.v2 .overline{color:var(--accent-ink);margin-bottom:16px}
.v2-lede{margin-top:22px;max-width:56ch;font-size:17px;line-height:1.65;color:var(--muted)}
.v2 .demo-button{background:var(--accent);color:#fff}
.layout-biz-local .v2 .demo-button,.layout-store-loom .v2 .demo-button,.layout-profile-card .v2 .demo-button,.layout-story-journey .v2 .demo-button,.layout-blog-night .v2 .demo-button{color:#111}
.v2 .intro-actions{margin-top:30px}
.v2-sec{padding-block:clamp(56px,8vw,96px);border-top:1px solid var(--line)}
.v2-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px;margin-bottom:36px}
.v2-aside{max-width:30ch;font-size:13px;color:var(--muted)}
.v2-kicker{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
.v2-meta{margin-top:10px;font-size:12px;color:var(--muted)}
.v2-note{margin-top:18px;font-size:12px;color:var(--muted)}
.v2-chips{display:flex;flex-wrap:wrap;gap:8px}
.v2-chips a{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:600;background:var(--bg);transition:background .2s,border-color .2s}
.v2-chips a:hover,.v2-chips a[aria-current]{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.v2 img{width:100%;height:auto;object-fit:cover}
.v2-feature-media img,.v2-post-media img,.v2-stop-media img,.v2-tile img{height:100%}
.v2-tint{position:relative;width:100%;height:100%;min-height:160px;overflow:hidden;background:linear-gradient(135deg,var(--a),var(--b))}
.v2-tint i,.v2-tint b{position:absolute;border-radius:50%;filter:blur(2px)}
.v2-tint i{width:60%;aspect-ratio:1;right:-12%;top:-18%;background:#fff3}
.v2-tint b{width:38%;aspect-ratio:1;left:10%;bottom:-14%;background:#0002}
.v2-tint-0{--a:#f4c7a1;--b:#c4532f}.v2-tint-1{--a:#d6e4d2;--b:#5d8a6a}.v2-tint-2{--a:#ffd9e2;--b:#ff5c8a}.v2-tint-3{--a:#c8d7f4;--b:#3d5a99}.v2-tint-4{--a:#fbe7a1;--b:#e0a526}.v2-tint-5{--a:#e6d4f5;--b:#7c4dff}
.v2-authorband{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center}
.v2-authorband p:not(.overline){margin-top:10px;color:var(--muted);max-width:56ch}
.v2-avatar{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:var(--accent);color:#fff;font:700 28px/1 var(--v2-display)}
.v2-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px}
.v2-table{width:100%;border-collapse:collapse;font-size:14px}
.v2-table caption{caption-side:top;text-align:left;padding:14px 18px;font-weight:700}
.v2-table th,.v2-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}
.v2-table th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--panel)}
.v2-table tr:last-child td{border-bottom:0}
.v2-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--panel)}
.v2-ico svg{width:26px;height:26px;fill:none;stroke:var(--accent-ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v2-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.v2-pack{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}
.v2-pack ul{margin:0;padding-left:18px;color:var(--muted);font-size:14px;line-height:1.9}
.v2-pack .demo-button{margin-top:auto;align-self:flex-start}
.v2-pack-price{font:700 34px/1 var(--v2-display);letter-spacing:-.03em}
.v2-pack-price small{font:500 13px/1 'DM Sans',sans-serif;color:var(--muted)}
.v2-pack.is-pop{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.v2-pack.is-pop ul,.v2-pack.is-pop small{color:inherit;opacity:.75}
.v2-statband{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-block:1px solid var(--line);text-align:center}
.v2-statband div{padding:28px 12px}
.v2-statband div+div{border-left:1px solid var(--line)}
.v2-statband b{display:block;font:700 clamp(32px,4vw,52px)/1 var(--v2-display);color:var(--accent-ink)}
.v2-statband span{display:block;margin-top:8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.v2-statband small{grid-column:1/-1;padding:0 0 14px;font-size:11px;color:var(--muted)}

/* ---------- BLOG: magazine ---------- */
.v2-blog-mast{padding:40px 0 64px}
.v2-mast-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:24px;border-bottom:3px double var(--line)}
.v2-mast-name{font:400 clamp(30px,4vw,48px)/1 var(--v2-display);letter-spacing:-.02em}
.v2-mast-line{padding:40px 0 32px;max-width:900px}
.v2-feature{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.v2-feature-media{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:20px}
.v2-feature-media img{transition:transform .8s}
.v2-feature:hover .v2-feature-media img{transform:scale(1.03)}
.v2-feature-copy h2{margin:14px 0 14px}
.v2-feature-copy>p:not(.v2-meta){color:var(--muted);font-size:17px}
.v2-feature-copy .demo-button{margin-top:24px}
.v2-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}
.v2-post{display:flex;flex-direction:column;gap:10px}
.v2-post:first-child{grid-column:span 2}
.v2-post-media{aspect-ratio:16/10;overflow:hidden;border-radius:16px;margin-bottom:8px}
.v2-post h3{font-size:26px;line-height:1.15}
.v2-post h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}
.v2-post>p:not(.v2-meta){color:var(--muted)}
.v2-topics ul{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0;padding:0;list-style:none}
.v2-topics a{display:flex;flex-direction:column;gap:6px;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--panel);transition:transform .25s}
.v2-topics a:hover{transform:translateY(-3px)}
.v2-topics b{font:400 28px/1 var(--v2-display)}
.v2-topics span{font-size:13px;color:var(--muted)}

/* ---------- BLOG: night ---------- */
.layout-blog-night .v2{font-family:'IBM Plex Mono',monospace}
.layout-blog-night .v2-blog-mast{padding:72px 0 56px}
.v2-term{display:inline-block;margin-bottom:28px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--accent)}
.v2-term span{color:var(--muted)}
.layout-blog-night .v2-chips{margin-top:28px}
.layout-blog-night .v2-chips a{border-radius:8px;background:var(--panel)}
.layout-blog-night .v2-chips a:hover{background:var(--accent);color:#0d1117;border-color:var(--accent)}
.v2-night-grid{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start}
.v2-postlist{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.v2-postlist li{display:grid;grid-template-columns:110px 1fr auto auto;gap:20px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line)}
.v2-postlist time,.v2-min{font-size:12px;color:var(--muted)}
.v2-postlist h3{font:600 19px/1.3 'Space Grotesk',sans-serif}
.v2-postlist h3 a:hover{color:var(--accent)}
.v2-postlist p{margin-top:6px;font-size:13px;color:var(--muted)}
.v2-tag{font-size:12px;color:var(--accent)}
.v2-now{position:sticky;top:110px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.v2-now ul{margin:0 0 20px;padding:0;list-style:none;display:grid;gap:14px;font-size:13px}
.v2-now b{display:block;color:var(--accent);font-weight:500}
.v2-author{display:flex;gap:12px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.v2-author b{color:var(--ink)}

/* ---------- STORY: chapters ---------- */
.v2-story-hero{display:grid;grid-template-columns:1.3fr .8fr;gap:56px;align-items:center;padding:56px 0 80px}
.v2-portrait{position:relative;aspect-ratio:4/5;border-radius:200px 200px 24px 24px;background:linear-gradient(160deg,var(--panel),#e6c9b2);overflow:hidden;display:grid;place-items:center}
.v2-portrait .about-monogram{font:400 clamp(70px,9vw,120px)/1 var(--v2-display);color:var(--accent-ink);border:0;background:none;width:auto;height:auto}
.v2-portrait i{position:absolute;inset:auto -20% -30% -20%;height:60%;border-radius:50%;background:#fff5}
.v2-chapters{display:grid;gap:56px}
.v2-chapter{display:grid;grid-template-columns:200px 1fr;gap:40px}
.v2-chapter-n{position:sticky;top:110px;align-self:start}
.v2-chapter-n span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.v2-chapter-n b{font:400 96px/1 var(--v2-display);color:var(--accent)}
.v2-chapter-body h3{font-size:34px}
.v2-chapter-body p{margin-top:14px;font-size:19px;line-height:1.75;color:var(--muted);max-width:62ch}
.v2-chapter-body img{margin-top:28px;aspect-ratio:16/9;border-radius:18px}
.v2-pull{margin:0;padding:48px 0;border-block:1px solid var(--line);font:400 clamp(30px,4vw,52px)/1.15 var(--v2-display);text-align:center;color:var(--accent-ink)}
.v2-miles{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;position:relative}
.v2-miles::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:var(--line)}
.v2-miles li{position:relative;padding-top:34px;padding-right:16px}
.v2-miles li::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px var(--bg)}
.v2-miles span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.v2-miles b{display:block;margin-top:6px;font:400 22px/1.2 var(--v2-display)}

/* ---------- STORY: journey (cinematic) ---------- */
.layout-story-journey main{width:100%}
.layout-story-journey .v2>section:not(.v2-cine){width:min(1220px,calc(100% - 100px));margin-inline:auto}
.v2-cine{position:relative;min-height:min(88vh,820px);display:grid;align-items:end;overflow:hidden}
.v2-cine-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.v2-cine::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,var(--bg))}
.v2-cine-copy{position:relative;z-index:1;width:min(1220px,calc(100% - 100px));margin:0 auto;padding-bottom:80px}
.v2-cine-copy h1{font-size:clamp(52px,8vw,120px);max-width:12ch}
.v2-cine-copy .v2-lede{color:#e5e2d8}
.v2-cine-copy .demo-button{margin-top:28px}
.v2-route{margin:0;padding:0;list-style:none;display:grid;gap:64px;position:relative}
.v2-stop{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.v2-stop:nth-child(even){grid-template-columns:1fr 1.2fr}
.v2-stop:nth-child(even) .v2-stop-media{order:2}
.v2-stop-media{aspect-ratio:3/2;overflow:hidden;border-radius:6px}
.v2-stop-n{font:400 72px/1 var(--v2-display);color:var(--accent)}
.v2-stop-copy h3{font-size:44px;margin-bottom:12px}
.v2-stop-copy p:not(.overline){color:var(--muted);font-size:18px}
.v2-story-about{text-align:center}
.v2-story-about blockquote{margin:0 auto;max-width:20ch;font:400 clamp(34px,5vw,64px)/1.1 var(--v2-display)}
.v2-story-about p{margin-top:24px;color:var(--muted)}

/* ---------- PROFILE: link card ---------- */
.layout-profile-links main{width:100%}
.v2-linkcard{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:56px 20px;background:radial-gradient(40% 40% at 20% 20%,#e7d7ff,transparent 70%),radial-gradient(40% 40% at 85% 70%,#ffd9ec,transparent 70%)}
.v2-lc{width:min(520px,100%);text-align:center}
.v2-lc-avatar{display:grid;place-items:center;width:112px;height:112px;margin:0 auto 20px;border-radius:50%;background:conic-gradient(from 210deg,#7c4dff,#ff5c8a,#ffb84d,#7c4dff);color:#fff;font:800 34px/1 Manrope,sans-serif;box-shadow:0 0 0 6px var(--bg),0 18px 40px #7c4dff44}
.v2-lc h1{font-size:clamp(34px,6vw,46px)}
.v2-lc .overline{margin:10px 0 0}
.v2-lc .v2-lede{margin:16px auto 0;font-size:16px}
.v2-lc-social{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:22px}
.v2-lc-social a{padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:600}
.v2-lc-links{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.v2-lc-links a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:18px 22px;border-radius:18px;background:#fff;border:1px solid var(--line);text-align:left;box-shadow:0 6px 18px #21162a0d;transition:transform .2s,box-shadow .2s,border-color .2s}
.v2-lc-links a:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 14px 30px #7c4dff22}
.v2-lc-links b{font-size:16px}
.v2-lc-links span{grid-row:2;font-size:13px;color:var(--muted)}
.v2-lc-links i{grid-row:1/3;grid-column:2;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--panel);font-style:normal;color:var(--accent-ink)}
.v2-lc-hl{margin-top:36px;text-align:left}
.v2-lc-hl ul{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none}
.v2-lc-hl li{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden}
.v2-lc-hl li .v2-tint{position:absolute;inset:0;min-height:0}
.v2-lc-hl li span{position:absolute;left:8px;right:8px;bottom:8px;padding:6px 8px;border-radius:8px;background:#fffd;font-size:11px;font-weight:700;line-height:1.25}

/* ---------- PROFILE: calling card ---------- */
.v2-vcard-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:72px 0 88px}
.v2-avail{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.v2-avail i{width:9px;height:9px;border-radius:50%;background:#5bd68a;box-shadow:0 0 0 4px #5bd68a33}
.v2-vcard{perspective:1200px}
.v2-vcard-front{position:relative;aspect-ratio:1.75;padding:32px;border-radius:22px;background:linear-gradient(135deg,#1c1e23,#0b0c0f);border:1px solid #d8b46a55;box-shadow:0 40px 80px #000a;transform:rotate(-4deg);display:flex;flex-direction:column;justify-content:flex-end;gap:4px;overflow:hidden}
.v2-vcard-front::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,#d8b46a22 50%,transparent 60%)}
.v2-vcard-mono{position:absolute;top:28px;left:32px;font:700 28px/1 var(--v2-display);color:var(--accent)}
.v2-vcard-front b{font:600 24px/1.2 var(--v2-display)}
.v2-vcard-front small{color:var(--muted);font-size:13px}
.v2-vcard-qr{position:absolute;top:28px;right:28px;display:grid;grid-template-columns:repeat(5,12px);gap:3px}
.v2-vcard-qr i{width:12px;height:12px;background:var(--accent);opacity:.85}
.v2-vcard-qr i:nth-child(3n){opacity:.15}.v2-vcard-qr i:nth-child(7n){opacity:.35}
.v2-vgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.v2-facts{margin:0;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.v2-facts div{padding:22px;border-bottom:1px solid var(--line)}
.v2-facts div:nth-child(odd){border-right:1px solid var(--line)}
.v2-facts div:nth-last-child(-n+2){border-bottom:0}
.v2-facts dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.v2-facts dd{margin:8px 0 0;font-size:16px;font-weight:600}
.v2-facts--contact{background:var(--panel)}
.v2-svc{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.v2-svc li{padding:28px 22px;border:1px solid var(--line);border-radius:18px;transition:border-color .2s}
.v2-svc li:hover{border-color:var(--accent)}
.v2-svc span{font-size:12px;color:var(--accent)}
.v2-svc b{display:block;margin-top:24px;font:600 20px/1.2 var(--v2-display)}

/* ---------- BUSINESS: studio ---------- */
.v2-biz-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:56px 0 88px}
.v2-room{position:relative}
.v2-room-art{position:relative;aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#e7e2d6 62%,#c9b99f 62%)}
.v2-room-art i{position:absolute;left:12%;bottom:22%;width:46%;height:20%;border-radius:14px 14px 6px 6px;background:#2f5d50;box-shadow:0 -22px 0 -8px #3f7566}
.v2-room-art b{position:absolute;right:16%;bottom:38%;width:4px;height:34%;background:#1f2420}
.v2-room-art b::after{content:"";position:absolute;left:-22px;top:-10px;width:48px;height:30px;border-radius:24px 24px 4px 4px;background:#d9a24a}
.v2-room-art em{position:absolute;right:10%;top:12%;width:26%;height:30%;border:6px solid #fff;background:linear-gradient(135deg,#b8cbbf,#6f9384)}
.v2-room-hero .v2-room-art{aspect-ratio:1.1;box-shadow:0 30px 60px #1f242026}
.v2-biz-badge{position:absolute;left:-18px;bottom:28px;padding:12px 18px;border-radius:14px;background:#fff;box-shadow:0 12px 30px #0002;font-size:13px;font-weight:700}
.v2-biz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.v2-biz-card{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:20px;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.v2-biz-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #1f242014}
.v2-biz-card p{color:var(--muted);font-size:14px}
.v2-steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
.v2-steps li{padding-top:22px;border-top:3px solid var(--accent)}
.v2-steps b{font:400 40px/1 var(--v2-display);color:var(--accent)}
.v2-steps h3{margin-top:10px;font-size:22px}
.v2-steps p{margin-top:6px;color:var(--muted);font-size:14px}
.v2-rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.v2-rooms h3{margin-top:16px;font-size:24px}
.v2-rooms p{color:var(--muted);font-size:14px}
.v2-room-1 .v2-room-art{background:linear-gradient(180deg,#efe6dc 58%,#a77b58 58%)}
.v2-room-1 .v2-room-art i{background:#b5654a;box-shadow:0 -22px 0 -8px #c98468}
.v2-room-2 .v2-room-art{background:linear-gradient(180deg,#dfe6ea 64%,#56606a 64%)}
.v2-room-2 .v2-room-art i{background:#3d4a57;width:60%;height:10%;border-radius:4px;box-shadow:none}

/* ---------- BUSINESS: local ---------- */
.v2-local-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:56px 0 88px}
.layout-biz-local .v2 h1{font-weight:700;letter-spacing:-.045em}
.v2-local-board{position:relative;aspect-ratio:1;border-radius:32px;background:#14213d;display:grid;place-items:center;overflow:hidden;box-shadow:0 30px 60px #14213d40}
.v2-local-board b{font:700 clamp(110px,14vw,200px)/1 'Space Grotesk',sans-serif;color:#ffc300}
.v2-local-board i{position:absolute;border-radius:50%;border:2px dashed #ffffff33}
.v2-local-board i:nth-of-type(1){width:80%;height:80%}
.v2-local-board i:nth-of-type(2){width:56%;height:56%}
.v2-local-board i:nth-of-type(3){width:110%;height:110%}
.v2-sticker{position:absolute;top:22px;right:22px;z-index:1;display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:#ffc300;color:#14213d;font:700 14px/1.2 'Space Grotesk',sans-serif;text-align:center;transform:rotate(12deg)}
.v2-local-board small{position:absolute;bottom:14px;font-size:11px;color:#ffffff88}
.v2-subjects{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.v2-subj{padding:28px;border-radius:20px;border:2px solid var(--ink);background:#fff;box-shadow:6px 6px 0 var(--ink);transition:transform .2s,box-shadow .2s}
.v2-subj:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}
.v2-subj .v2-ico{background:#ffc300}
.v2-subj .v2-ico svg{stroke:#14213d}
.v2-subj h3{margin-top:18px;font-size:22px}
.v2-subj p{margin-top:6px;color:var(--muted);font-size:14px}
.v2-why ul{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:none}
.v2-why li{padding:26px;border-radius:20px;background:var(--panel)}
.v2-why b{display:block;font:700 22px/1.2 'Space Grotesk',sans-serif}
.v2-why span{color:var(--muted);font-size:14px}
.v2-areas-label{margin-top:32px}
.v2-areas{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.v2-areas li{padding:8px 16px;border-radius:999px;background:#14213d;color:#fff;font-size:13px;font-weight:600}
.v2-faq{border-top:1px solid var(--line)}
.v2-faq details{border-bottom:1px solid var(--line)}
.v2-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font:600 18px/1.3 'Space Grotesk',sans-serif}
.v2-faq summary span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ffc300;transition:transform .2s}
.v2-faq details[open] summary span{transform:rotate(45deg)}
.v2-faq p{padding:0 0 20px;color:var(--muted);max-width:62ch}

/* ---------- STORE (shared) ---------- */
.v2-shopbar{margin:0 calc(50% - 50vw);padding:10px 20px;text-align:center;font-size:12px;font-weight:600;letter-spacing:.04em;background:var(--accent);color:#fff}
.layout-store-loom .v2-shopbar{background:#c9a24a;color:#121110}
.v2-prods{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:24px}
.v2-prod{position:relative;display:flex;flex-direction:column;border-radius:20px;background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .25s,box-shadow .25s}
.v2-prod:hover{transform:translateY(-4px);box-shadow:0 22px 44px #2b242018}
.v2-prod-media{position:relative;display:grid;place-items:center;aspect-ratio:1;background:var(--panel)}
.v2-prod-media svg{width:72%;height:auto;transition:transform .5s}
.v2-prod:hover .v2-prod-media svg{transform:scale(1.06) rotate(-2deg)}
.v2-prod-tag{position:absolute;top:12px;left:12px;padding:5px 10px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:11px;font-weight:700}
.v2-prod-copy{padding:16px 18px 6px}
.v2-prod-copy span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.v2-prod-copy h3{margin-top:4px;font-size:20px;line-height:1.2}
.v2-price{margin-top:6px;font-weight:700;font-size:16px}
.v2-prod-btn{margin:12px 18px 18px;display:inline-flex;justify-content:center;align-items:center;min-height:44px;border-radius:12px;border:1px solid var(--ink);font-weight:700;font-size:14px;transition:background .2s,color .2s}
.v2-prod-btn:hover{background:var(--ink);color:var(--bg)}

/* store: craft */
.v2-craft-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:56px 0 88px}
.v2-craft-art{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:end}
.v2-craft-art div{display:grid;place-items:center;aspect-ratio:3/4;border-radius:200px 200px 24px 24px;background:#f0dcc8}
.v2-craft-art div+div{aspect-ratio:1;border-radius:24px;background:#dfe7ea}
.v2-craft-art svg{width:80%}
.v2-craft-art span{position:absolute;left:-14px;top:24px;padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:700;transform:rotate(-6deg)}
.v2-perks ul{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:none}
.v2-perks li{padding:24px;border-radius:18px;background:var(--panel)}
.v2-perks b{display:block;font:400 24px/1.2 var(--v2-display)}
.v2-perks span{color:var(--muted);font-size:14px}
.v2-maker{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.v2-maker-art{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:#e7ddcd}
.v2-maker-art svg{width:62%}
.v2-maker p:not(.overline){margin-top:14px;color:var(--muted);font-size:17px;max-width:52ch}

/* store: loom (dark lookbook) */
.v2-loom-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:64px 0 96px}
.layout-store-loom .v2 h1{font-size:clamp(50px,7vw,104px);font-weight:400}
.v2-loom-art{position:relative;aspect-ratio:4/5;border-radius:12px;background:radial-gradient(60% 50% at 50% 40%,#2c2620,#151311);border:1px solid #c9a24a44;display:grid;place-items:center}
.v2-loom-art svg{position:absolute;width:70%}
.v2-loom-art svg:first-child{top:16%;transform:rotate(-6deg)}
.v2-loom-art svg:last-child{bottom:6%;right:4%;width:50%;transform:rotate(8deg)}
.v2-colls{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.v2-coll{display:flex;flex-direction:column;gap:6px}
.v2-coll-art{display:grid;place-items:center;aspect-ratio:3/4;border-radius:10px;background:var(--panel);border:1px solid var(--line);transition:border-color .3s}
.v2-coll:hover .v2-coll-art{border-color:var(--accent)}
.v2-coll-art svg{width:70%}
.v2-coll b{margin-top:10px;font:400 26px/1.2 var(--v2-display)}
.v2-coll span{font-size:13px;color:var(--accent-ink)}
.layout-store-loom .v2-prods{grid-template-columns:repeat(3,1fr)}
.layout-store-loom .v2-prod{background:var(--panel)}
.layout-store-loom .v2-prod-media{background:#211e1a}
.layout-store-loom .v2-prod-btn{border-color:var(--accent);color:var(--accent)}
.layout-store-loom .v2-prod-btn:hover{background:var(--accent);color:#121110}
.layout-store-loom .v2-prod-tag{background:var(--accent);color:#121110}
.v2-order{display:grid;grid-template-columns:1fr 1fr;gap:20px 48px;align-items:start}
.v2-order .v2-head{grid-column:1/-1}
.v2-order-steps{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.v2-order-steps li{display:flex;gap:16px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:14px}
.v2-order-steps b{font:400 32px/1 var(--v2-display);color:var(--accent)}

/* ---------- CREATOR: media ---------- */
.v2-spot-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:56px 0 72px}
.layout-creator-media .v2 h1{background:linear-gradient(90deg,#fff,#ffb3c9 60%,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}
.v2-platforms{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none}
.v2-platforms li{padding:6px 14px;border-radius:999px;border:1px solid var(--line);font-size:12px;font-weight:600;background:var(--panel)}
.v2-spot-stack{position:relative;aspect-ratio:1;min-height:0}
.v2-spot-stack img{position:absolute;border-radius:24px;object-fit:cover;box-shadow:0 30px 60px #0008;border:4px solid var(--panel)}
.v2-spot-a{width:62%;height:78%;left:0;top:0;transform:rotate(-5deg)}
.v2-spot-b{width:58%;height:70%;right:0;bottom:0;transform:rotate(5deg)}
.v2-spot-badge{position:absolute;left:40%;top:44%;z-index:2;padding:10px 16px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;box-shadow:0 10px 30px #ff5c8a66}
.v2-statband--pop b{background:linear-gradient(90deg,#ff5c8a,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}
.v2-tiles{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:14px;margin:0;padding:0;list-style:none}
.v2-tile{position:relative;border-radius:20px;overflow:hidden}
.v2-tiles{grid-template-areas:"a b c" "a d e" "f f e"}
.v2-tile-0{grid-area:a}.v2-tile-1{grid-area:b}.v2-tile-2{grid-area:c}.v2-tile-3{grid-area:d}.v2-tile-4{grid-area:e}.v2-tile-5{grid-area:f}
.v2-tile img,.v2-tile .v2-tint{position:absolute;inset:0;min-height:0;transition:transform .6s}
.v2-tile:hover img,.v2-tile:hover .v2-tint{transform:scale(1.05)}
.v2-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#000a)}
.v2-play{position:absolute;top:14px;left:14px;z-index:1;padding:6px 10px;border-radius:999px;background:#0008;color:#fff;font-size:12px;font-weight:700;backdrop-filter:blur(6px)}
.v2-tile b{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;color:#fff;font:600 17px/1.25 'Space Grotesk',sans-serif}
.v2-partners ul{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0;padding:0;list-style:none}
.v2-partners li{display:grid;place-items:center;min-height:96px;border:1px solid var(--line);border-radius:16px;font:700 18px/1.2 'Space Grotesk',sans-serif;color:var(--muted);text-align:center;padding:12px}
.layout-creator-media .v2-pack{background:var(--panel)}
.layout-creator-media .v2-pack-price{font-size:20px;color:var(--accent-ink)}

/* ---------- CREATOR: kit ---------- */
.v2-glow-hero{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;padding:56px 0 88px}
.v2-glow-ring{position:relative;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 90deg,#ffd6cc,#f7b7c4,#e9c7f2,#ffd6cc);display:grid;place-items:center;box-shadow:0 30px 60px #e98a9a44}
.v2-glow-ring::before{content:"";position:absolute;inset:10%;border-radius:50%;background:var(--bg)}
.v2-glow-ring span{position:relative;font:400 clamp(60px,8vw,110px)/1 var(--v2-display);color:var(--accent-ink)}
.v2-glow-badge{display:inline-block;margin-bottom:18px;padding:8px 14px;border-radius:999px;background:var(--panel);font-size:12px;font-weight:700;color:var(--accent-ink)}
.v2-bars-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.v2-bars-grid>div{padding:28px;border-radius:22px;background:#fff;border:1px solid var(--line)}
.v2-bars{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.v2-bars li{display:grid;grid-template-columns:90px 1fr 44px;gap:12px;align-items:center;font-size:14px}
.v2-bars i{height:12px;border-radius:999px;background:var(--panel);position:relative;overflow:hidden}
.v2-bars i::after{content:"";position:absolute;inset:0;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,#f7b7c4,#e98a9a)}
.v2-bars b{text-align:right}
.v2-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.v2-pillar{padding:30px;border-radius:24px;background:var(--panel)}
.v2-pillar-1{background:#efe6f8}.v2-pillar-2{background:#fdf0d8}
.v2-pillar span{font:400 42px/1 var(--v2-display);color:var(--accent-ink)}
.v2-pillar h3{margin-top:18px;font-size:26px}
.v2-pillar p{margin-top:8px;color:var(--muted)}
.v2-collab ol{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.v2-collab li{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:20px 24px;border-radius:18px;border:1px solid var(--line);background:#fff}
.v2-collab b{font:400 22px/1.2 var(--v2-display);color:var(--accent-ink)}

/* ---------- responsive ---------- */
@media (max-width:900px){
 .v2-head{flex-direction:column;align-items:flex-start;margin-bottom:24px}
 .v2-feature,.v2-story-hero,.v2-vcard-hero,.v2-biz-hero,.v2-local-hero,.v2-craft-hero,.v2-loom-hero,.v2-spot-hero,.v2-glow-hero,.v2-maker,.v2-night-grid,.v2-order{grid-template-columns:1fr}
 .v2-post-grid,.v2-packs,.v2-rooms,.v2-colls,.v2-pillars,.v2-why ul,.v2-perks ul{grid-template-columns:1fr 1fr}
 .v2-post:first-child{grid-column:1/-1}
 .v2-topics ul,.v2-biz-grid,.v2-subjects,.v2-svc,.v2-steps,.v2-partners ul,.v2-prods,.v2-miles{grid-template-columns:1fr 1fr}
 .v2-miles::before{display:none}
 .v2-vgrid,.v2-bars-grid{grid-template-columns:1fr}
 .v2-chapter{grid-template-columns:1fr;gap:12px}
 .v2-chapter-n{position:static}
 .v2-chapter-n b{font-size:64px}
 .v2-stop,.v2-stop:nth-child(even){grid-template-columns:1fr;gap:20px}
 .v2-stop:nth-child(even) .v2-stop-media{order:0}
 .v2-now{position:static}
 .v2-postlist li{grid-template-columns:1fr auto;gap:6px 14px}
 .v2-postlist time{grid-column:1/-1}
 .v2-authorband{grid-template-columns:auto 1fr}
 .v2-authorband .demo-button{grid-column:1/-1;justify-self:start}
 .v2-glow-ring{max-width:280px}
 .v2-spot-stack{max-width:520px}
 .v2-local-board{max-width:440px}
 .layout-story-journey .v2>section:not(.v2-cine),.v2-cine-copy{width:calc(100% - 40px)}
 .layout-store-loom .v2-prods{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
 .v2-post-grid,.v2-packs,.v2-rooms,.v2-colls,.v2-pillars,.v2-why ul,.v2-perks ul,.v2-biz-grid,.v2-subjects,.v2-svc,.v2-steps,.v2-miles{grid-template-columns:1fr}
 .v2-topics ul,.v2-partners ul{grid-template-columns:1fr 1fr}
 .v2-prods,.layout-store-loom .v2-prods{grid-template-columns:1fr 1fr;gap:12px}
 .v2-prod-copy{padding:12px 12px 4px}
 .v2-prod-copy h3{font-size:16px}
 .v2-prod-btn{margin:10px 12px 12px}
 .v2-tiles{grid-template-columns:1fr 1fr;grid-auto-rows:170px}
 .v2-facts{grid-template-columns:1fr}
 .v2-facts div:nth-child(odd){border-right:0}
 .v2-facts div:nth-last-child(2){border-bottom:1px solid var(--line)}
 .v2-collab li{grid-template-columns:1fr;gap:4px}
 .v2-bars li{grid-template-columns:70px 1fr 40px}
 .v2-statband b{font-size:28px}
 .v2-authorband{grid-template-columns:1fr}
 .v2-avatar{width:72px;height:72px;font-size:22px}
 .v2-vcard-front{padding:22px}
 .v2-vcard-qr{grid-template-columns:repeat(5,8px)}.v2-vcard-qr i{width:8px;height:8px}
 .v2-sticker{width:84px;height:84px;font-size:11px}
}

/* fixes after visual review */
.v2 .v2-spot-a{position:absolute;width:62%;height:78%;left:0;top:0;transform:rotate(-5deg)}
.v2 .v2-spot-b{position:absolute;width:58%;height:70%;right:0;bottom:0;transform:rotate(5deg)}
.v2-chapter-body img{height:auto;aspect-ratio:16/9}
.v2 .v2-cine-bg{height:100%}
.v2-loom-art{overflow:hidden}
.v2-loom-art svg:first-child{width:88%;top:8%;left:6%;transform:rotate(-4deg)}
.v2-loom-art svg:last-child{width:58%;right:-4%;bottom:-2%;transform:rotate(10deg)}
.v2-loom-art::after{content:"Handwoven · Kerala";position:absolute;left:20px;bottom:18px;font:400 18px/1 'DM Serif Display',serif;color:#c9a24a}
@media (max-width:560px){
 .v2-tiles{grid-template-areas:none}
 .v2-tile{grid-area:auto!important}
}

/* ===================================================================
   Restaurant, event, startup, real estate, corporate and landing layouts
   (scripts/portfolio_types_more.py). All content is fictional sample data.
   =================================================================== */
.layout-food-fine{--bg:#14100d;--ink:#f6ead8;--muted:#bba892;--line:#2e2620;--accent:#d9893f;--accent-ink:#e9a25e;--panel:#1f1914;--v2-display:'DM Serif Display',Georgia,serif}
.layout-food-cafe{--bg:#fbf6ee;--ink:#2d211b;--muted:#7a6a5d;--line:#eadfce;--accent:#5a3b2e;--accent-ink:#8a5a3a;--panel:#f3e9da;--v2-display:'DM Serif Display',Georgia,serif}
.layout-event-conf{--bg:#0b0d1a;--ink:#eef0ff;--muted:#9aa0c3;--line:#23264a;--accent:#7c6cff;--accent-ink:#a99fff;--panel:#141733;--v2-display:'Space Grotesk',sans-serif}
.layout-event-fest{--bg:#fffaf0;--ink:#2b1d0e;--muted:#7a6448;--line:#f0e2c4;--accent:#e2731b;--accent-ink:#b5540c;--panel:#fff0cf;--v2-display:'DM Serif Display',Georgia,serif}
.layout-startup-saas{--bg:#f7f9fc;--ink:#0f1b2d;--muted:#5b6b82;--line:#e1e7f0;--accent:#2563eb;--accent-ink:#1d4ed8;--panel:#eaf0fb;--v2-display:Manrope,sans-serif}
.layout-startup-app{--bg:#06141b;--ink:#e9f7f8;--muted:#8fb1b6;--line:#163038;--accent:#1fc7b6;--accent-ink:#4fe0d1;--panel:#0d222b;--v2-display:'Space Grotesk',sans-serif}
.layout-estate-agency{--bg:#f8f6f1;--ink:#1d2a24;--muted:#5f6b64;--line:#e3e0d6;--accent:#1f5c47;--accent-ink:#1f5c47;--panel:#ebefe8;--v2-display:'DM Serif Display',Georgia,serif}
.layout-estate-project{--bg:#fcfbf8;--ink:#20201c;--muted:#66665d;--line:#e8e6dd;--accent:#b8863b;--accent-ink:#8e6425;--panel:#f3eee2;--v2-display:Manrope,sans-serif}
.layout-corp-ops{--bg:#f5f7fa;--ink:#101828;--muted:#596273;--line:#dfe3ea;--accent:#e35d2f;--accent-ink:#c2461c;--panel:#e9edf3;--v2-display:Manrope,sans-serif}
.layout-corp-tech{--bg:#0a0f1c;--ink:#e8edf7;--muted:#93a0b8;--line:#1e2840;--accent:#38bdf8;--accent-ink:#7dd3fc;--panel:#111a2e;--v2-display:'Space Grotesk',sans-serif}
.layout-landing-product{--bg:#fbfaff;--ink:#17123a;--muted:#655f86;--line:#e7e3f7;--accent:#6d4aff;--accent-ink:#5131e0;--panel:#efebff;--v2-display:Manrope,sans-serif}
.layout-landing-course{--bg:#fdfbf6;--ink:#1f1d1a;--muted:#6a655d;--line:#ebe5d8;--accent:#0f766e;--accent-ink:#0f766e;--panel:#e8f1ef;--v2-display:'DM Serif Display',Georgia,serif}
.v2-food .demo-button,.v2-event .demo-button,.v2-startup .demo-button,.v2-estate .demo-button,.v2-corp .demo-button,.v2-landing .demo-button{color:#fff}
.layout-food-fine .v2 .demo-button,.layout-startup-app .v2 .demo-button,.layout-corp-tech .v2 .demo-button,.layout-event-conf .v2 .demo-button{color:#0b0d12}
.layout-food-fine .v2-biz-card,.layout-event-conf .v2-biz-card,.layout-startup-app .v2-biz-card,.layout-corp-tech .v2-biz-card{background:var(--panel)}
.v3-grid-3{grid-template-columns:repeat(3,1fr)}
.v3-note{margin-top:14px;color:var(--muted);font-size:12px}

/* hero */
.v3-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding:clamp(48px,7vw,96px) 0}
.v3-hero .v2-lede{margin-top:20px;max-width:540px;color:var(--muted);font-size:16px}
.v3-hero-art{position:relative;min-width:0;display:grid;place-items:center;min-height:340px}
.v3-hero--center{grid-template-columns:1fr;text-align:center;justify-items:center}
.v3-hero--center .v2-lede{margin-inline:auto}.v3-hero--center .intro-actions{justify-content:center}
.v3-chip{position:absolute;left:8%;bottom:8%;padding:9px 14px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:700}
.v3-chip--light{background:#fff;color:var(--ink);box-shadow:0 10px 30px #0002}

/* restaurant */
.v3-plate-stage{position:relative;width:100%;aspect-ratio:1.1;border-radius:28px;background:radial-gradient(60% 60% at 50% 45%,#3a2a1d,var(--panel))}
.v3-plate{position:absolute;filter:drop-shadow(0 30px 40px #0008)}.v3-plate svg{width:100%;height:auto}
.v3-plate-a{left:6%;top:12%;width:62%}.v3-plate-b{right:6%;bottom:12%;width:44%}
.v3-cafe-stage{position:relative;width:100%;aspect-ratio:1.1;border-radius:200px 200px 28px 28px;background:var(--panel)}
.v3-cafe-cup{position:absolute;left:12%;bottom:14%;width:46%}.v3-cafe-cake{position:absolute;right:10%;top:16%;width:40%}
.v3-cafe-stage svg{width:100%;height:auto}
.v3-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.v3-menu h3{padding-bottom:12px;border-bottom:2px solid var(--accent);font-size:22px}
.v3-menu ul{list-style:none;margin:0;padding:0}
.v3-menu li{display:flex;align-items:flex-end;gap:10px;padding:16px 0;border-bottom:1px solid var(--line)}
.v3-menu li div{display:grid;gap:3px}.v3-menu li b{font-size:15px}.v3-menu li span{color:var(--muted);font-size:13px}
.v3-menu li i{flex:1;border-bottom:1px dotted var(--line);margin-bottom:5px}.v3-menu li em{font-style:normal;font-weight:700;color:var(--accent-ink)}
.v3-band{background:var(--panel);margin-inline:calc(50% - 50vw);padding-inline:calc(50vw - 50%);border-top:0}
.v3-visit{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.v3-map{position:relative;aspect-ratio:1.4;border-radius:22px;background:var(--panel);overflow:hidden;background-image:linear-gradient(var(--line) 2px,transparent 2px),linear-gradient(90deg,var(--line) 2px,transparent 2px);background-size:56px 56px}
.v3-map i{position:absolute;height:10px;border-radius:5px;background:var(--line)}.v3-map i:nth-child(1){left:-5%;right:-5%;top:40%;transform:rotate(-8deg)}.v3-map i:nth-child(2){left:30%;top:-10%;bottom:-10%;width:10px;height:auto}.v3-map i:nth-child(3){left:-5%;right:-5%;top:72%;transform:rotate(6deg)}
.v3-map b{position:absolute;left:42%;top:30%;width:34px;height:34px;border-radius:50% 50% 50% 0;background:var(--accent);transform:rotate(-45deg);box-shadow:0 10px 20px #0004}
.v3-hours{list-style:none;margin:0 0 20px;padding:0}.v3-hours li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.v3-hours span{color:var(--muted)}
.v3-addr{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px;font-size:14px}.v3-addr small{color:var(--muted)}
.v3-addr .v2-ico{width:40px;height:40px;flex:none}
.v3-quote{margin:0;text-align:center}.v3-quote blockquote{margin:0 auto;max-width:28ch;font:400 clamp(26px,3.4vw,42px)/1.2 var(--v2-display)}.v3-quote figcaption{margin-top:18px;color:var(--muted);font-size:14px}

/* events */
.v3-date-card{display:grid;place-items:center;gap:2px;width:190px;padding:26px;border-radius:24px;background:var(--accent);color:#0b0d1a;transform:rotate(-6deg);box-shadow:0 30px 60px #0007}
.v3-date-card span{font-weight:700;letter-spacing:.2em;font-size:12px}.v3-date-card b{font:700 84px/1 var(--v2-display)}.v3-date-card i{font-size:10px;font-style:normal;opacity:.7}
.v3-ticket-art{position:absolute;right:4%;bottom:10%;display:grid;gap:4px;width:220px;padding:20px 22px;border-radius:16px;background:var(--panel);border:1px dashed var(--accent-ink);transform:rotate(5deg)}
.v3-ticket-art b{font:700 22px/1 var(--v2-display)}.v3-ticket-art span{color:var(--muted);font-size:12px}.v3-ticket-art em{font-style:normal;font-size:11px;letter-spacing:.2em;color:var(--accent-ink)}
.v3-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.v3-stats:has(>div:nth-child(3):last-of-type){grid-template-columns:repeat(3,1fr)}
.v3-stats>div{padding:26px;border-radius:20px;background:var(--panel)}.v3-stats b{display:block;font:700 clamp(32px,4vw,48px)/1 var(--v2-display);color:var(--accent-ink)}.v3-stats span{color:var(--muted);font-size:14px}.v3-stats .v3-note{grid-column:1/-1;margin-top:0}
.v3-sched{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.v3-sched li{display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.v3-sched time{font:700 22px/1 var(--v2-display);color:var(--accent-ink)}.v3-sched b{display:block;font-size:17px}.v3-sched span{color:var(--muted);font-size:13px}
.v3-sched em{font-style:normal;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--panel)}
.v3-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px}
.v3-people article{display:grid;gap:4px;justify-items:start;padding:22px;border-radius:20px;background:var(--panel)}
.v3-avatar{display:grid;place-items:center;width:64px;height:64px;margin-bottom:10px;border-radius:50%;background:var(--accent);color:#fff;font:700 20px/1 var(--v2-display)}
.layout-event-conf .v3-avatar,.layout-corp-tech .v3-avatar{color:#0b0d1a}
.v3-people b{font-size:16px}.v3-people span{color:var(--muted);font-size:13px}
.v3-pookalam{position:relative;width:min(380px,90%);aspect-ratio:1;border-radius:50%;background:conic-gradient(#e2731b 0 45deg,#f7c548 0 90deg,#c2185b 0 135deg,#7cb342 0 180deg,#e2731b 0 225deg,#f7c548 0 270deg,#c2185b 0 315deg,#7cb342 0)}
.v3-pookalam i{position:absolute;inset:12%;border-radius:50%;background:conic-gradient(from 22deg,#fff3d6 0 30deg,#ff8f00 0 60deg,#fff3d6 0 90deg,#d84315 0 120deg,#fff3d6 0 150deg,#ff8f00 0 180deg,#fff3d6 0 210deg,#d84315 0 240deg,#fff3d6 0 270deg,#ff8f00 0 300deg,#fff3d6 0 330deg,#d84315 0)}
.v3-pookalam i:nth-child(2){inset:26%;background:radial-gradient(#7cb342 40%,#33691e)}.v3-pookalam i:nth-child(3){inset:36%;background:#f7c548}.v3-pookalam i:nth-child(4){inset:44%;background:#c2185b}.v3-pookalam b{position:absolute;inset:48%;border-radius:50%;background:#fff}
.v3-days{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.v3-days--2{grid-template-columns:repeat(2,1fr)}
.v3-day{padding:26px;border-radius:22px;background:var(--panel);border-top:4px solid var(--accent)}
.v3-day>span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}.v3-day h3{margin:8px 0 14px;font-size:24px}
.v3-day ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.9;font-size:14px}

/* startups */
.v3-laptop{width:100%;max-width:520px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 40px 80px -30px #0f1b2d55;overflow:hidden}
.v3-laptop-top{display:flex;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line)}.v3-laptop-top i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.v3-laptop-body{display:grid;grid-template-columns:70px 1fr;min-height:280px}
.v3-laptop-side{display:grid;align-content:start;gap:10px;padding:16px 12px;background:var(--panel)}.v3-laptop-side i{height:10px;border-radius:5px;background:#fff}.v3-laptop-side i:first-child{background:var(--accent)}
.v3-laptop-main{padding:20px 22px;text-align:left}.v3-laptop-main p{color:var(--muted);font-size:13px}.v3-laptop-main small{font-size:10px;opacity:.7}
.v3-laptop-main strong{display:block;margin:4px 0 16px;font:700 34px/1 var(--v2-display)}
.v3-laptop-main ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.v3-laptop-main li{display:grid;grid-template-columns:80px 1fr 70px;gap:10px;align-items:center;font-size:12px}
.v3-laptop-main li b{height:10px;border-radius:5px;background:var(--accent)}.v3-laptop-main li em{font-style:normal;font-weight:700;text-align:right}
.v3-phone{position:relative;width:250px;padding:44px 16px 20px;border-radius:38px;background:#0d222b;border:8px solid #22414c;box-shadow:0 40px 80px -24px #000c;text-align:left}
.v3-phone-notch{position:absolute;left:50%;top:10px;width:80px;height:18px;border-radius:9px;background:#22414c;transform:translateX(-50%)}
.v3-phone>p{font-weight:700;font-size:15px;margin-bottom:12px}.v3-phone small{font-size:10px;opacity:.6;font-weight:400}
.v3-phone ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.v3-phone li{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:14px;background:#12303b}
.v3-phone li i{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#0b7c74)}.v3-phone li b{display:block;font-size:13px}.v3-phone li span{font-size:11px;color:var(--muted)}.v3-phone li em{font-style:normal;font-size:12px;font-weight:700;color:var(--accent-ink)}
.v3-phone-btn{display:block;margin-top:14px;padding:12px;border-radius:12px;background:var(--accent);color:#06141b;text-align:center;font-weight:700;font-size:13px}
.v3-download .intro-actions{margin-top:0}.v3-btn-ghost{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important}

/* real estate */
.v3-house{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:linear-gradient(#cfe3ea 0 62%,#9cbf8a 62%)}
.v3-house i{position:absolute;left:22%;right:22%;bottom:22%;height:38%;background:#f4efe4;border-radius:2px}
.v3-house b{position:absolute;left:16%;right:16%;bottom:58%;height:24%;background:#a3452f;clip-path:polygon(50% 0,100% 100%,0 100%)}
.v3-house em{position:absolute;left:44%;bottom:22%;width:12%;height:22%;background:#6b4b34;border-radius:3px 3px 0 0}
.v3-house span{position:absolute;left:28%;bottom:40%;width:10%;height:10%;background:#9cc8d8;box-shadow:calc(var(--w,1)*170%) 0 0 #9cc8d8}
.v3-house-1{background:linear-gradient(#f3d9b3 0 60%,#7fa36b 60%)}.v3-house-1 b{background:#3e4b52}.v3-house-1 i{left:14%;right:14%}
.v3-house-2{background:linear-gradient(#d7e4f2 0 64%,#8fb48a 64%)}.v3-house-2 i{left:30%;right:30%;height:52%}.v3-house-2 b{left:26%;right:26%;bottom:72%;background:#1f5c47}
.v3-house-3{background:linear-gradient(#e9e1f2 0 62%,#a3b98a 62%)}.v3-house-3 b{background:#8e6425}
.v3-house-hero{position:relative;width:100%}.v3-house-hero .v3-house{border-radius:26px;box-shadow:0 40px 80px -40px #1d2a2466}
.v3-search-card{position:absolute;left:-4%;bottom:-8%;display:grid;gap:4px;padding:18px 20px;border-radius:18px;background:#fff;box-shadow:0 24px 48px -20px #0005;text-align:left}
.v3-search-card b{font-size:15px}.v3-search-card span{color:var(--muted);font-size:13px}.v3-search-card em{font-style:normal;font-weight:700;color:var(--accent-ink);font-size:13px}
.v3-chips{margin-bottom:24px}
.v3-listings{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.v3-listing{position:relative;display:grid;gap:14px;padding:12px 12px 18px;border-radius:22px;background:#fff;border:1px solid var(--line)}
.v3-listing>div{padding:0 8px}.v3-listing h3{font-size:20px}
.v3-listing-tag{position:absolute;left:24px;top:24px;padding:5px 11px;border-radius:999px;background:#fff;font-size:11px;font-weight:700;box-shadow:0 4px 12px #0002}
.v3-price{font:700 24px/1 var(--v2-display);color:var(--accent-ink);margin-bottom:6px}
.v3-meta{display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--muted);font-size:13px}.v3-meta .v2-ico{width:22px;height:22px;background:none}.v3-meta .v2-ico svg{width:16px;height:16px}
.v3-tower{position:relative;width:min(340px,80%);aspect-ratio:.8;border-radius:24px 24px 0 0;background:linear-gradient(#f3eee2,#e7dcc6)}
.v3-tower i{position:absolute;bottom:0;width:30%;background:repeating-linear-gradient(#fff 0 10px,#d7cdb8 10px 14px);border-radius:8px 8px 0 0;box-shadow:0 20px 40px -20px #0004}
.v3-tower i:nth-child(1){left:6%;height:62%}.v3-tower i:nth-child(2){left:35%;height:88%;background:repeating-linear-gradient(#fff 0 12px,#b8863b 12px 15px)}.v3-tower i:nth-child(3){right:6%;height:72%}
.v3-tower b{position:absolute;left:-10%;right:-10%;bottom:-4%;height:12%;border-radius:50%;background:#9cbf8a}
.v3-amen,.v3-near{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;margin:0;padding:0}
.v3-amen li{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;background:var(--panel);font-weight:600}
.v3-near{grid-template-columns:repeat(4,1fr)}.v3-near li{padding:22px;border-radius:18px;border:1px solid var(--line)}.v3-near b{display:block;font-size:16px}.v3-near span{color:var(--accent-ink);font:700 28px/1.2 var(--v2-display)}

/* corporate */
.v3-route{position:relative;width:100%;aspect-ratio:1.2;border-radius:26px;background:var(--panel);overflow:hidden}
.v3-route i{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px #e35d2f22}
.v3-route i:nth-child(1){left:18%;top:70%}.v3-route i:nth-child(2){left:46%;top:44%}.v3-route i:nth-child(3){left:76%;top:22%}
.v3-route b{position:absolute;left:20%;top:26%;width:58%;height:46%;border:3px dashed var(--accent);border-left:0;border-bottom:0;border-radius:0 120px 0 0}
.v3-route span{position:absolute;font-size:12px;font-weight:700}.v3-route span:nth-of-type(1){left:12%;top:80%}.v3-route span:nth-of-type(2){left:40%;top:54%}.v3-route span:nth-of-type(3){left:66%;top:12%}
.v3-orbit{position:relative;width:min(380px,90%);aspect-ratio:1}
.v3-orbit i{position:absolute;inset:0;border:1px solid var(--line);border-radius:50%}.v3-orbit i:nth-child(2){inset:14%;border-color:#38bdf855}.v3-orbit i:nth-child(3){inset:28%;border-color:#38bdf899}
.v3-orbit i::after{content:"";position:absolute;top:8%;left:20%;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 24px var(--accent)}
.v3-orbit b{position:absolute;inset:40%;display:grid;place-items:center;border-radius:24px;background:var(--accent);color:#0a0f1c;font:700 26px/1 var(--v2-display)}
.v3-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.v3-case{display:grid;align-content:start;gap:10px;padding:28px;border-radius:22px;background:var(--panel);border:1px solid var(--line)}
.v3-case>span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}.v3-case h3{font-size:22px}.v3-case p{color:var(--muted);font-size:14px}
.v3-case>b{margin-top:10px;font:700 28px/1 var(--v2-display);color:var(--accent-ink)}

/* landing pages */
.v3-focus{width:min(420px,100%);margin-top:20px;padding:24px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 40px 80px -40px #17123a55;text-align:left}
.v3-focus p{font:700 20px/1 var(--v2-display);margin-bottom:16px}.v3-focus ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.v3-focus li{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:var(--panel);font-weight:600;font-size:14px}
.v3-focus li i{width:20px;height:20px;border-radius:6px;border:2px solid var(--muted)}.v3-focus li.done{opacity:.55;text-decoration:line-through}.v3-focus li.done i{background:var(--accent);border-color:var(--accent)}
.v3-focus li.on{background:var(--accent);color:#fff}.v3-focus li.on i{border-color:#fff}.v3-focus li em{margin-left:auto;font-style:normal;font-variant-numeric:tabular-nums}
.v3-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:18px;color:var(--muted)}.v3-split b{color:var(--ink)}
.v3-join-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:28px;border-radius:22px;background:#fff;border:1px solid var(--line)}
.v3-seat-card{position:relative;display:grid;gap:8px;width:min(360px,100%);padding:30px;border-radius:26px;background:var(--panel);border:1px solid var(--line);text-align:left;overflow:hidden}
.v3-seat-card b{font:400 30px/1.1 var(--v2-display)}.v3-seat-card span{color:var(--muted)}.v3-seat-card em{font-style:normal;font-weight:700;color:var(--accent-ink)}
.v3-seat-card i{position:absolute;right:-40px;bottom:-40px;width:140px;height:140px;border-radius:50%;background:var(--accent);opacity:.2}
.v3-learn{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 32px}
.v3-learn li{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}.v3-learn .v2-ico{width:36px;height:36px}.v3-learn .v2-ico svg{width:18px;height:18px}

@media (max-width:900px){
  .v3-hero,.v3-visit,.v3-split{grid-template-columns:1fr}
  .v3-menu,.v3-days,.v3-listings,.v3-cases,.v3-grid-3{grid-template-columns:1fr 1fr}
  .v3-stats,.v3-near{grid-template-columns:1fr 1fr}
  .v3-amen{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .v3-menu,.v3-days,.v3-days--2,.v3-listings,.v3-cases,.v3-grid-3,.v3-amen,.v3-learn{grid-template-columns:1fr}
  .v3-stats,.v3-stats:has(>div:nth-child(3):last-of-type),.v3-near{grid-template-columns:1fr 1fr}
  .v3-sched li{grid-template-columns:64px 1fr}.v3-sched em{display:none}
  .v3-ticket-art{position:static;transform:none;margin-top:18px}
  .v3-search-card{position:static;margin-top:14px}
  .v3-hero-art{min-height:0}
  .v3-phone{width:220px}
}
