:root {
  --ink: #111111;
  --ink-2: #4b4b45;
  --paper: #ffffff;
  --cream: #fff8ec;
  --mist: #fff0d9;
  --line: #111111;
  --teal: #078e67;
  --teal-dark: #07634d;
  --blossom: #ff4b0a;
  --petal: #ffc21a;
  --plum: #111111;
  --danger: #b72d2d;
  --success: #078e67;
  --warn: #9a5b00;
  --yellow: #ffc21a;
  --green: #08ab79;
  --blue: #10b7e3;
  --orange: #ff4b0a;
  --peach: #ffe4d6;
  --shadow: 7px 7px 0 rgba(17,17,17,.12);
  --radius: 1.25rem;
  --sans: "Nunito Sans", ui-rounded, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: "Nunito Sans", ui-rounded, system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.55 var(--sans); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 900; letter-spacing: -.045em; line-height: 1.02; }
h1 { font-size: clamp(2.65rem, 6vw, 5.8rem); }
h2 { font-size: clamp(1.7rem, 3vw, 2.7rem); }
h3 { line-height: 1.25; }
em { color: var(--blossom); font-weight: 500; }
.wrap { width: min(1180px, calc(100% - 2.5rem)); margin-inline: auto; }
.wrap-narrow { width: min(760px, calc(100% - 2rem)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header { position: sticky; z-index: 50; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 72px; padding: .75rem max(1.25rem, calc((100vw - 1180px)/2)); border-bottom: 2px solid var(--ink); background: rgba(255,248,236,.94); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: .65rem; font: 900 1.32rem/1 var(--serif); letter-spacing: -.04em; }
.brand img { border-radius: .75rem; box-shadow: 0 8px 24px -14px var(--ink); }
.site-nav { display: flex; align-items: center; gap: 1.45rem; font-size: .9rem; font-weight: 700; }
.site-nav a:not(.nav-button), .link-button { color: var(--ink-2); }
.site-nav a.active { color: var(--ink); }
.site-nav a:hover, .link-button:hover { color: var(--blossom); }
.inline-form { display: inline; margin: 0; }
.link-button { padding: 0; border: 0; background: none; font-weight: 700; }
.nav-button, .button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: .5rem; padding: .75rem 1.15rem; border: 2px solid var(--ink); border-radius: .85rem; font-weight: 900; line-height: 1.2; box-shadow: 3px 3px 0 rgba(17,17,17,.15); transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.nav-button { color: var(--ink) !important; background: var(--yellow); }
.button:hover, .nav-button:hover { transform: translateY(-2px); }
.button.primary { color: var(--ink); background: var(--yellow); }
.button.primary:hover { background: #ffd34f; }
.button.secondary { color: var(--ink); background: white; }
.button.secondary:hover { background: var(--peach); }
.button.small { min-height: 38px; padding: .5rem .85rem; font-size: .8rem; }
.button.wide { width: 100%; }
.menu-button, .dashboard-menu { display: none; min-height: 42px; padding: .55rem .8rem; color: var(--ink); border: 1px solid var(--line); border-radius: .65rem; background: white; font-weight: 800; }
.mobile-menu { position: fixed; z-index: 60; inset: 72px 1rem auto; padding: .75rem; border: 1px solid var(--line); border-radius: 1rem; background: white; box-shadow: var(--shadow); }
.mobile-menu a, .mobile-menu button { display: block; width: 100%; padding: .85rem; border: 0; border-radius: .6rem; background: none; text-align: left; font-weight: 750; }
.mobile-menu a:hover, .mobile-menu button:hover { background: var(--mist); }
.maintenance-banner { padding: .6rem 1rem; color: white; background: var(--warn); text-align: center; font-size: .78rem; font-weight: 800; }

.flash-stack { position: fixed; z-index: 100; top: 84px; right: 1rem; display: grid; gap: .55rem; width: min(380px, calc(100% - 2rem)); }
.flash { padding: .9rem 1rem; border: 1px solid var(--line); border-radius: .8rem; background: white; box-shadow: var(--shadow); font-size: .9rem; font-weight: 700; }
.flash-success { border-color: color-mix(in srgb, var(--success) 45%, var(--line)); }
.flash-error { border-color: color-mix(in srgb, var(--danger) 45%, var(--line)); }

.hero { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(2rem, 7vw, 6rem); align-items: center; min-height: 670px; padding-block: 5rem; }
.hero-copy .lead { max-width: 670px; color: var(--ink-2); font-size: clamp(1.05rem, 1.8vw, 1.28rem); }
.eyebrow { margin-bottom: .65rem; color: var(--teal); font-size: .75rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }
.microcopy { margin-top: 1rem; color: var(--ink-2); font-size: .8rem; }
.hero-panel { position: relative; padding: 1.15rem; overflow: hidden; border: 1px solid var(--line); border-radius: 1.5rem; background: linear-gradient(145deg, var(--mist), var(--cream)); box-shadow: var(--shadow); }
.hero-panel::before { content: ""; position: absolute; width: 220px; height: 220px; border-radius: 50%; right: -90px; top: -100px; background: rgba(242,184,169,.55); filter: blur(2px); }
.panel-top { position: relative; display: flex; gap: .55rem; align-items: center; padding: .4rem .35rem 1rem; color: var(--ink-2); font-size: .78rem; font-weight: 750; }
.panel-top strong { margin-left: auto; color: var(--ink); }
.status-dot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 5px rgba(27,118,93,.12); }
.quick-calc { position: relative; display: grid; gap: .9rem; padding: 1.35rem; border: 1px solid rgba(216,227,221,.8); border-radius: 1.15rem; background: rgba(255,255,255,.88); }
.quick-calc label { display: grid; gap: .35rem; color: var(--ink-2); font-size: .82rem; font-weight: 750; }
.quick-calc input { width: 100%; padding: .8rem .9rem; border: 1px solid var(--line); border-radius: .65rem; color: var(--ink); background: white; }
.mini-result { min-height: 65px; padding: .85rem; border-radius: .7rem; color: var(--ink-2); background: var(--mist); font-size: .86rem; }
.mini-result strong { display: block; color: var(--ink); font: 700 1.35rem var(--serif); }

.category-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: .75rem; padding-block: 1rem 4.5rem; }
.category-strip a { display: grid; gap: .25rem; padding: 1rem; border: 1px solid var(--line); border-radius: .9rem; background: white; }
.category-strip a:hover { border-color: var(--teal); transform: translateY(-2px); }
.category-strip span { font-weight: 800; }
.category-strip small { color: var(--ink-2); }
.section { padding-block: 4.5rem; }
.section-heading, .card-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.section-heading h2, .card-heading h2 { margin-bottom: 0; }
.section-heading > a, .card-heading > a { color: var(--teal); font-size: .9rem; font-weight: 800; }
.tool-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .9rem; }
.tool-card { display: flex; gap: 1rem; align-items: flex-start; padding: 1.2rem; border: 1px solid var(--line); border-radius: 1rem; background: white; transition: .2s; }
.tool-card:hover { transform: translateY(-3px); border-color: var(--teal); box-shadow: var(--shadow); }
.tool-card h3 { margin: 0 0 .25rem; }
.tool-card p { margin: 0 0 .45rem; color: var(--ink-2); font-size: .88rem; }
.tool-card small, .category-label { color: var(--teal); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.tool-mark { display: grid; width: 2.8rem; height: 2.8rem; flex: 0 0 auto; place-items: center; border-radius: .8rem; color: white; background: var(--blossom); font-family: var(--serif); font-size: 1.3rem; }
.split-story { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; border-top: 1px solid var(--line); }
.split-story > div p:last-child { color: var(--ink-2); font-size: 1.05rem; }
.split-story ol { margin: 0; padding: 0; list-style: none; counter-reset: steps; }
.split-story li { display: grid; grid-template-columns: 2.7rem 1fr; column-gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); counter-increment: steps; }
.split-story li::before { content: "0" counter(steps); grid-row: span 2; color: var(--blossom); font: 700 1.5rem var(--serif); }
.split-story li span { color: var(--ink-2); font-size: .9rem; }

.page-shell, .calculator-page { min-height: 70vh; padding-block: 4rem 6rem; }
.page-heading { max-width: 760px; margin-bottom: 2.25rem; }
.page-heading.compact h1 { font-size: clamp(2.6rem,5vw,4.6rem); }
.page-heading.centered { margin-inline: auto; text-align: center; }
.page-heading p:last-child { color: var(--ink-2); font-size: 1.05rem; }
.filter-row { display: flex; gap: .55rem; padding-bottom: 1.2rem; overflow-x: auto; scrollbar-width: thin; }
.filter-row a { flex: 0 0 auto; padding: .55rem .85rem; border: 1px solid var(--line); border-radius: 999px; font-size: .8rem; font-weight: 750; }
.filter-row a.active, .filter-row a:hover { color: white; border-color: var(--ink); background: var(--ink); }
.search-box { display: grid; gap: .35rem; margin: 1rem 0 1.5rem; color: var(--ink-2); font-size: .78rem; font-weight: 800; }
.search-box input { min-height: 50px; padding: .8rem 1rem; border: 1px solid var(--line); border-radius: .8rem; color: var(--ink); background: white; }
.library-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .8rem; }
.library-card { display: flex; justify-content: space-between; gap: 1rem; min-height: 175px; padding: 1.25rem; border: 1px solid var(--line); border-radius: 1rem; background: white; }
.library-card:hover { border-color: var(--teal); box-shadow: var(--shadow); }
.library-card h2 { margin: .6rem 0; font-size: 1.5rem; }
.library-card p { color: var(--ink-2); font-size: .88rem; }
.card-arrow { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; align-self: end; border-radius: 50%; background: var(--mist); font-weight: 900; }
.ad-slot { display: grid; min-height: 100px; place-items: center; margin: 2rem 0; border: 1px dashed var(--line); border-radius: .85rem; color: var(--ink-2); background: #fafafa; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 2rem; color: var(--ink-2); font-size: .8rem; }
.breadcrumbs a { color: var(--teal); }
.calculator-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 2.2rem; align-items: start; }
.calculator-card, .content-card, .account-card { padding: clamp(1.2rem,4vw,2rem); border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; }
.field { display: grid; align-content: start; gap: .4rem; color: var(--ink-2); font-size: .82rem; font-weight: 750; }
.field input, .field select, .stack-form input, .stack-form select, .stack-form textarea, .contact-form input, .contact-form select, .contact-form textarea, .ai-form input, .inline-controls select, .edit-block-form input, .edit-block-form select, .edit-block-form textarea, table select { width: 100%; min-height: 46px; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: .65rem; outline: none; color: var(--ink); background: white; }
input:focus, select:focus, textarea:focus { border-color: var(--teal) !important; box-shadow: 0 0 0 3px rgba(20,116,111,.12); }
.calculator-card form > .button { margin-top: 1rem; }
.result { margin-top: 1.25rem; padding: 1.25rem; border: 1px solid color-mix(in srgb,var(--teal) 35%,var(--line)); border-radius: .9rem; background: var(--mist); }
.result.error, .form-error { color: var(--danger); border-color: color-mix(in srgb,var(--danger) 35%,var(--line)); background: #fff4f2; }
.result h2 { margin-bottom: .4rem; font-size: 2.3rem; }
.result dl { margin: 1rem 0 0; }
.result dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-top: 1px solid rgba(20,116,111,.16); }
.result dt { color: var(--ink-2); }
.result dd { margin: 0; font-weight: 850; text-align: right; }
.disclaimer { margin: 1rem 0; padding: 1rem; border-left: 4px solid var(--warn); color: var(--ink-2); background: #fff8e9; font-size: .85rem; }
.content-card { margin-top: 1rem; box-shadow: none; }
.content-card h2, .account-card h2 { font-size: 1.6rem; }
.calculator-aside { position: sticky; top: 95px; }
.calculator-aside .ad-slot { min-height: 250px; margin-top: 0; }
.account-card p { color: var(--ink-2); font-size: .9rem; }

.pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; align-items: stretch; }
.price-card { display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1.1rem; background: white; }
.price-card.featured { color: white; border-color: var(--ink); background: var(--ink); transform: translateY(-8px); }
.price-card.featured .eyebrow { color: var(--petal); }
.price-card h2 { margin-bottom: .5rem; font-size: 3rem; }
.price-card h2 small { font: 700 .85rem var(--sans); }
.price-card > p:not(.eyebrow) { color: var(--ink-2); }
.price-card.featured > p { color: rgba(255,255,255,.75) !important; }
.price-card ul { flex: 1; margin: 1rem 0 1.5rem; padding: 0; list-style: none; }
.price-card li { padding: .55rem 0; border-bottom: 1px solid var(--line); font-size: .88rem; }
.price-card.featured li { border-color: rgba(255,255,255,.15); }
.price-card.featured .button.primary { color: var(--ink); background: var(--petal); }

.auth-shell { display: grid; min-height: calc(100vh - 72px); padding: 3rem 1rem; place-items: center; background: linear-gradient(135deg,var(--cream),var(--mist)); }
.auth-card { width: min(470px,100%); padding: clamp(1.5rem,5vw,2.4rem); border: 1px solid var(--line); border-radius: 1.3rem; background: rgba(255,255,255,.92); box-shadow: var(--shadow); }
.auth-card.wide-card { width: min(700px,100%); }
.auth-card h1 { margin-bottom: .6rem; font-size: 2.7rem; }
.auth-card > p { color: var(--ink-2); }
.auth-card form { display: grid; gap: 1rem; margin-top: 1.3rem; }
.form-error { padding: .8rem; border: 1px solid; border-radius: .65rem; font-size: .85rem; font-weight: 700; }
.auth-links { display: flex; justify-content: space-between; margin-top: 1rem; color: var(--teal); font-size: .82rem; font-weight: 750; }
.input-prefix { display: flex; align-items: center; min-height: 46px; overflow: hidden; border: 1px solid var(--line); border-radius: .65rem; background: white; }
.input-prefix span { padding-left: .75rem; color: var(--ink-2); }
.input-prefix input { min-width: 0; border: 0; }
.legal-copy { margin: 1rem 0 0; font-size: .75rem; }
.error-page { min-height: 65vh; padding-block: 7rem; }
.error-page h1 { max-width: 700px; }
.error-page > p:not(.eyebrow) { max-width: 620px; color: var(--ink-2); }
.legal-page { max-width: 900px; }
.legal-page .page-heading small { color: var(--ink-2); }
.legal-sections { display: grid; gap: .9rem; }
.legal-sections section { padding: clamp(1.1rem,3vw,1.6rem); border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.legal-sections h2 { font-size: 1.6rem; }
.legal-sections ul { margin: 0; padding-left: 1.25rem; color: var(--ink-2); }
.legal-sections li + li { margin-top: .55rem; }

.public-profile { padding-block: 3rem; }
.profile-theme { background: linear-gradient(135deg,var(--cream),var(--paper) 40%,var(--mist)); }
.profile-theme.theme-plum { --teal: #7d3c63; --teal-dark: #54263f; --blossom: #9a496f; }
.profile-theme.theme-sunset { --teal: #a5512d; --teal-dark: #71351d; --blossom: #cf7250; }
.profile-theme.theme-forest { --teal: #397150; --teal-dark: #1e4e35; --blossom: #7e946c; }
.profile-header { padding: 2rem 1rem; text-align: center; }
.avatar { width: 2.75rem; height: 2.75rem; object-fit: cover; border: 1px solid var(--line); border-radius: 50%; background: var(--mist); }
.avatar.large { width: 6rem; height: 6rem; padding: .25rem; border: 3px solid white; box-shadow: 0 18px 38px -22px var(--ink); }
.profile-header h1 { margin: 1rem 0 .2rem; font-size: 2.7rem; }
.profession { color: var(--teal); font-weight: 800; }
.profile-header > p:not(.profession) { max-width: 580px; margin-inline: auto; color: var(--ink-2); }
.profile-meta, .profile-actions, .card-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.profile-meta span, .profile-meta a, .profile-meta button { min-height: 2rem; padding: .35rem .65rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: white; font: inherit; font-size: .76rem; }
.profile-meta button { color: var(--teal); cursor: pointer; font-weight: 850; }
.profile-meta button:hover, .profile-meta button:focus-visible { border-color: var(--teal); background: var(--mist); }
.contact-revealed { overflow-wrap: anywhere; }
.social-icon-list { display: flex; justify-content: center; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.social-icon-list a { display: grid; width: 2.65rem; height: 2.65rem; border: 1px solid var(--line); border-radius: 50%; color: var(--teal-dark); background: rgba(255,255,255,.92); place-items: center; transition: transform .15s ease, border-color .15s ease, background .15s ease; }
.social-icon-list a:hover, .social-icon-list a:focus-visible { border-color: var(--teal); background: var(--mist); transform: translateY(-2px); }
.social-icon-list svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.social-icon-list .social-fill, .social-icon-list .social-dot { fill: currentColor; stroke: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.profile-avatar-wrap { position: relative; display: inline-block; line-height: 0; }
.profile-badge { position: absolute; right: -.25rem; bottom: .1rem; display: grid; width: 1.75rem; height: 1.75rem; border: 3px solid var(--paper); border-radius: 50%; color: white; place-items: center; box-shadow: 0 5px 14px rgba(0,0,0,.2); }
.profile-badge svg { width: 1.15rem; height: 1.15rem; fill: currentColor; }
.profile-badge svg circle { fill: var(--paper); }
.profile-badge-blue { background: #2374e1; }
.profile-badge-gold { color: #fff8dc; background: #c58a08; }
.profile-blocks { display: grid; gap: 1rem; }
.profile-block { padding: clamp(1.2rem,4vw,1.7rem); border: 1px solid var(--line); border-radius: 1.15rem; background: rgba(255,255,255,.9); box-shadow: 0 20px 50px -40px var(--ink); }
.profile-block h2 { margin-bottom: .65rem; font-size: 1.7rem; }
.profile-block > p { color: var(--ink-2); }
.profile-media figure, .profile-gallery figure { margin: 1rem 0 0; }
.profile-media img, .profile-gallery img { display: block; width: 100%; object-fit: cover; border-radius: .85rem; background: var(--mist); }
.profile-media img { max-height: 680px; }
.profile-media figcaption, .profile-gallery figcaption { margin-top: .45rem; color: var(--ink-2); font-size: .76rem; }
.video-frame { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border-radius: .85rem; background: var(--ink); }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.profile-gallery { display: grid; gap: .8rem; }
.profile-gallery figure { min-width: 0; }
.profile-gallery img { aspect-ratio: 4 / 3; }
.media-player-block { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.media-player-block > h2 { margin-bottom: .45rem; }
.media-player-block > p { margin: 0 0 .65rem; }
.media-player-block > figure { margin: .65rem 0 0; }
.media-player-block > figure:first-child { margin-top: 0; }
.music-grid { display: grid; gap: 1rem; margin-top: .65rem; }
.media-player-block > .music-grid:first-child { margin-top: 0; }
.music-card { min-width: 0; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 0; background: transparent; }
.music-card figcaption { margin: 0 0 .65rem; color: var(--ink); font-weight: 850; }
.music-card iframe { display: block; width: 100%; max-width: none; border: 0; border-radius: .75rem; }
.music-video-frame { position: relative; overflow: hidden; aspect-ratio: 16 / 9; min-height: 200px; border-radius: .65rem; background: var(--ink); }
.music-video-frame iframe { position: absolute; inset: 0; height: 100%; }
.podcast-list { display: grid; gap: 1rem; margin-top: .65rem; }
.media-player-block > .podcast-list:first-child { margin-top: 0; }
.podcast-player { min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.podcast-player figcaption { margin-bottom: .65rem; color: var(--ink); font-weight: 850; }
.podcast-player iframe { display: block; width: 100%; max-width: none; border: 0; border-radius: .75rem; }
.podcast-universal-link { display: inline-flex; margin-top: .55rem; color: var(--teal); font-size: .82rem; font-weight: 850; }
.featured-link-card { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; border-color: color-mix(in srgb,var(--teal) 35%,var(--line)); background: linear-gradient(135deg,rgba(255,255,255,.96),var(--mist)); }
.featured-link-card > div { min-width: 0; }
.featured-link-card .button { flex: 0 0 auto; }
.profile-divider { display: grid; min-height: 2rem; place-items: center; }
.profile-divider span { display: block; width: min(72%,420px); }
.divider-line span { border-top: 1px solid var(--line); }
.divider-accent span { width: min(24%,150px); border-top: 4px solid var(--blossom); border-radius: 999px; }
.divider-dots span { display: flex; justify-content: center; gap: .45rem; }
.divider-dots span::before { content: "•••"; color: var(--teal); letter-spacing: .45rem; }
.profile-spacer.spacer-small { height: 1rem; }
.profile-spacer.spacer-medium { height: 2.5rem; }
.profile-spacer.spacer-large { height: 5rem; }
.newsletter-form { display: grid; gap: .65rem; }
.newsletter-inline { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .6rem; }
.newsletter-inline input { min-width: 0; }
.newsletter-form .check { align-items: flex-start; color: var(--ink-2); font-size: .78rem; }
.newsletter-consent { margin: 0; }
.calculator-block .field-grid { margin: 1rem 0; }
.result-lead { margin-top: .9rem; padding: .75rem; border: 1px solid var(--line); border-radius: .7rem; background: var(--cream); }
.result-lead summary { color: var(--teal); cursor: pointer; font-weight: 850; }
.result-lead form { margin-top: .8rem; }
.text-link { display: inline-flex; margin-top: .75rem; padding: 0; border: 0; color: var(--teal); background: none; font-size: .84rem; font-weight: 850; }
.info-list > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.link-list { display: grid; gap: .6rem; }
.link-list a { display: flex; min-height: 46px; align-items: center; justify-content: space-between; padding: .7rem .85rem; border: 1px solid var(--line); border-radius: .7rem; background: var(--mist); font-weight: 800; }
.link-list a::after { content: "↗"; color: var(--teal); }
.link-list a[aria-disabled] { opacity: .55; pointer-events: none; }
.testimonial-list { display: grid; gap: .7rem; }
.testimonial-list blockquote { height: 100%; margin: 0; padding: 1rem; border-left: 3px solid var(--blossom); border-radius: 0 .7rem .7rem 0; background: var(--cream); }
.testimonial-list blockquote p { margin-bottom: .4rem; }
.testimonial-list cite { color: var(--ink-2); font-size: .8rem; font-style: normal; font-weight: 800; }
.faq-list { display: grid; gap: .55rem; }
.faq-list details { padding: .8rem .9rem; border: 1px solid var(--line); border-radius: .7rem; background: var(--paper); }
.faq-list summary { cursor: pointer; font-weight: 850; }
.faq-list p { margin: .65rem 0 0; color: var(--ink-2); }
.social-list { display: flex; flex-wrap: wrap; gap: .55rem; }
.social-list a { padding: .55rem .8rem; border: 1px solid var(--line); border-radius: 999px; background: var(--mist); font-size: .82rem; font-weight: 800; text-transform: capitalize; }
.contact-form, .stack-form, .edit-block-form { display: grid; gap: .85rem; }
.contact-form textarea, .stack-form textarea { min-height: 110px; resize: vertical; }
.product-grid { display: grid; gap: .8rem; align-items: stretch; }
.product-card { display: flex; min-width: 0; height: 100%; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--paper); flex-direction: column; }
.product-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: .6rem; }
.product-card img.image-fallback { padding: 2rem; object-fit: contain; background: var(--mist); }
.product-card-body { display: flex; min-width: 0; height: 100%; flex-direction: column; }
.product-card p { color: var(--ink-2); font-size: .85rem; }
.product-card-description { flex: 1; }
.product-card-footer { display: grid; gap: .65rem; margin-top: auto; padding-top: .8rem; }
.product-price { color: var(--ink); font-size: .88rem; }
.product-card-cta { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: center; margin: 0; text-align: center; }
.product-kind { display: inline-block; margin-top: .7rem; color: var(--teal); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-unavailable { padding: .7rem; border-radius: .6rem; background: var(--mist); font-weight: 700; }
.product-section-empty { grid-column: 1 / -1; }
.card-grid-one { grid-template-columns: minmax(0,1fr); }
.card-grid-two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.card-grid-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.product-grid.card-grid-one .product-card.has-image { display: grid; grid-template-columns: minmax(220px,.9fr) minmax(0,1.1fr); gap: 1rem; }
.product-grid.card-grid-one .product-card.has-image > img { height: 100%; min-height: 250px; aspect-ratio: auto; }
.pricing-card { display: flex; min-width: 0; height: 100%; flex-direction: column; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--paper); }
.pricing-card h3 { margin-bottom: .35rem; }
.pricing-value { display: block; margin-bottom: .7rem; color: var(--teal); font: 700 clamp(1.35rem,4vw,2rem) var(--serif); }
.pricing-card p { margin: auto 0 0; color: var(--ink-2); white-space: pre-line; }
.profile-footer { padding: 2.5rem 0 1rem; text-align: center; color: var(--ink-2); font-size: .8rem; }
.inquiry-dialog { width: min(500px,calc(100% - 2rem)); padding: 0; border: 0; border-radius: 1rem; box-shadow: var(--shadow); }
.inquiry-dialog::backdrop { background: rgba(6,46,43,.62); backdrop-filter: blur(4px); }
.inquiry-dialog form { position: relative; padding: 1.5rem; }
.download-dialog .dialog-intro { margin-top: -.3rem; color: var(--ink-2); }
.booking-dialog { width: min(720px,calc(100% - 1.25rem)); max-height: calc(100vh - 1.25rem); overflow: auto; }
.booking-dialog-inner { position: relative; padding: clamp(1.25rem,4vw,2rem); }
.booking-dialog-inner > h2 { margin: .2rem 2.5rem .45rem 0; font-size: clamp(2rem,6vw,3.2rem); }
.booking-dialog-inner > p:not(.eyebrow) { max-width: 580px; color: var(--ink-2); }
.booking-dialog .native-booking-form { margin-top: 1.25rem; padding: 1rem; border: 1px solid var(--line); border-radius: .9rem; background: var(--cream); }
.dialog-close { position: absolute; top: .7rem; right: .7rem; width: 2.3rem; height: 2.3rem; border: 0; border-radius: 50%; background: var(--mist); font-size: 1.35rem; }
.card-page { display: grid; min-height: 100vh; padding: 1rem; place-items: center; background: linear-gradient(145deg,var(--ink),var(--plum)); }
.digital-card { width: min(480px,100%); padding: 2rem; border-radius: 1.4rem; background: var(--paper); text-align: center; box-shadow: 0 35px 90px -30px #000; }
.digital-card h1 { margin: .8rem 0 .2rem; font-size: 2.7rem; }
.qr { width: 180px; margin: 1.2rem auto 0; }
.digital-card .social-icon-list { margin-top: 1rem; }

.dashboard-body { background: var(--cream); }
.dashboard-shell { display: grid; grid-template-columns: 245px minmax(0,1fr); min-height: 100vh; }
.dashboard-sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; padding: 1.2rem .8rem; border-right: 1px solid var(--line); background: var(--paper); }
.sidebar-close { position: absolute; top: 1.35rem; right: .8rem; display: none; width: 2.2rem; height: 2.2rem; padding: 0; border: 1px solid var(--line); border-radius: .55rem; color: var(--ink); background: var(--mist); place-items: center; font-size: 1.25rem; line-height: 1; }
.dashboard-overlay { position: fixed; z-index: 70; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(6,46,43,.45); backdrop-filter: blur(2px); }
.dashboard-overlay[hidden] { display: none; }
.page-editor-shell { grid-template-columns: minmax(0,1fr); }
.page-editor-shell .dashboard-main { max-width: none; }
.page-editor-shell .dashboard-sidebar { position: fixed; z-index: 80; inset: 0 auto 0 0; width: 255px; transform: translateX(-110%); transition: transform .2s ease; box-shadow: var(--shadow); }
.page-editor-shell .dashboard-sidebar.open { transform: translateX(0); }
.page-editor-shell .dashboard-menu { display: inline-flex; align-items: center; gap: .4rem; }
.page-editor-shell .sidebar-close { display: grid; }
.dashboard-menu-open { overflow: hidden; }
.dashboard-sidebar > .brand { padding: .2rem .55rem 1.2rem; }
.profile-chip { display: flex; gap: .65rem; align-items: center; margin-bottom: 1rem; padding: .75rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--mist); }
.profile-chip div { min-width: 0; }
.profile-chip strong, .profile-chip span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-chip strong { font-size: .84rem; }
.profile-chip span { color: var(--ink-2); font-size: .68rem; }
.dashboard-sidebar nav { display: grid; gap: .2rem; overflow-y: auto; }
.dashboard-sidebar nav a { display: flex; align-items: center; gap: .65rem; padding: .58rem .7rem; border-radius: .65rem; color: var(--ink-2); font-size: .8rem; font-weight: 750; }
.dashboard-sidebar nav a:hover { color: var(--ink); background: var(--mist); }
.dashboard-sidebar nav a.active { color: white; background: var(--ink); }
.dashboard-sidebar nav a b { margin-left: auto; padding: .1rem .4rem; border-radius: 999px; color: var(--ink); background: var(--petal); font-size: .65rem; }
.nav-icon { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; border-radius: .42rem; background: rgba(20,116,111,.1); font: 800 .65rem var(--serif); }
.active .nav-icon { background: rgba(255,255,255,.13); }
.sidebar-foot { display: grid; gap: .4rem; margin-top: auto; padding: .8rem .5rem 0; border-top: 1px solid var(--line); }
.sidebar-foot a, .sidebar-foot button { width: 100%; padding: .45rem 0; border: 0; color: var(--ink-2); background: none; text-align: left; font-size: .76rem; font-weight: 750; }
.dashboard-main { width: 100%; max-width: 1450px; padding: 1.6rem clamp(1rem,3vw,2.5rem) 4rem; overflow: hidden; }
.dashboard-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.7rem; }
.dashboard-top h1 { margin: 0; font-size: clamp(2rem,4vw,3.1rem); }
.dashboard-top .eyebrow { margin: 0; }
.plan-pill { display: grid; gap: .1rem; padding: .65rem .9rem; border: 1px solid var(--line); border-radius: .75rem; background: white; text-align: right; }
.plan-pill strong { color: var(--teal); font-size: .72rem; text-transform: uppercase; }
.plan-pill span { color: var(--ink-2); font-size: .72rem; }
.stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .85rem; margin-bottom: 1rem; }
.stats-grid article, .dash-card, .template-grid article { padding: 1.25rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.88); }
.stats-grid span, .stats-grid small { display: block; color: var(--ink-2); font-size: .72rem; font-weight: 750; }
.stats-grid strong { display: block; margin: .35rem 0; font: 700 2.4rem var(--serif); }
.dashboard-grid { display: grid; gap: 1rem; margin-bottom: 1rem; }
.dashboard-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.dash-card { margin-bottom: 1rem; }
.dash-card h2 { font-size: 1.7rem; }
.dash-card > p { color: var(--ink-2); }
.dash-card a { color: var(--teal); font-weight: 800; }
.data-list { display: grid; }
.data-list > div { display: grid; grid-template-columns: 1fr 1fr auto; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--line); }
.data-list span { color: var(--ink-2); font-size: .78rem; }
.status { display: inline-flex; align-items: center; padding: .2rem .5rem; border-radius: 999px; color: var(--teal); background: var(--mist); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.empty-state { padding: 2rem; border: 1px dashed var(--line); border-radius: .8rem; color: var(--ink-2); text-align: center; }
.empty-state strong { display: block; color: var(--ink); font: 700 1.3rem var(--serif); }
.editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 370px; gap: 1rem; align-items: start; }
.inline-controls { display: flex; gap: .45rem; }
.block-list { display: grid; gap: .55rem; }
.editor-block { display: grid; grid-template-columns: 2rem minmax(0,1fr) auto; gap: .65rem; align-items: center; padding: .75rem; border: 1px solid var(--line); border-radius: .75rem; background: white; }
.editor-block.muted { opacity: .55; }
.block-number { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: .45rem; background: var(--mist); font-size: .72rem; font-weight: 850; }
.editor-block strong, .editor-block small { display: block; }
.editor-block small { color: var(--ink-2); font-size: .68rem; text-transform: uppercase; }
.block-actions { display: flex; gap: .2rem; }
.block-actions button, .dashboard-tool-grid button, .admin-actions button, .danger { padding: .4rem .55rem; border: 1px solid var(--line); border-radius: .45rem; color: var(--ink-2); background: white; font-size: .68rem; font-weight: 800; }
.danger, .block-actions button.danger { color: var(--danger); }
.editor-block details { grid-column: 2 / -1; }
.editor-block summary { color: var(--teal); cursor: pointer; font-size: .75rem; font-weight: 800; }
.edit-block-form { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: .7rem; padding: .8rem; border-radius: .6rem; background: var(--mist); }
.edit-block-form label { color: var(--ink-2); font-size: .72rem; font-weight: 750; }
.check { display: flex !important; min-height: 44px; align-items: center; gap: .5rem; }
.check input { width: auto !important; min-height: auto !important; }
.live-preview { position: sticky; top: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; background: linear-gradient(145deg,var(--mist),var(--cream)); }
.phone-frame { width: min(310px,100%); min-height: 540px; margin: auto; padding: 1.25rem; border: 8px solid var(--ink); border-radius: 2.2rem; background: var(--paper); text-align: center; box-shadow: var(--shadow); }
.phone-frame h2 { margin: .7rem 0 .1rem; font-size: 1.5rem; }
.phone-frame p, .phone-frame small { display: block; color: var(--ink-2); }
.preview-profile-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .3rem; margin: .7rem 0; }
.preview-profile-actions b { padding: .35rem .5rem; border-radius: .45rem; color: white; background: var(--teal-dark); font-size: .58rem; }
.preview-social-icons { display: flex; justify-content: center; flex-wrap: wrap; gap: .25rem; margin-bottom: .7rem; }
.preview-social-icons span { display: grid; width: 1.4rem; height: 1.4rem; border: 1px solid var(--line); border-radius: 50%; color: var(--teal); background: white; place-items: center; font-size: .55rem; font-weight: 900; }
.preview-block { margin-top: .65rem; padding: .7rem; border: 1px solid var(--line); border-radius: .6rem; background: white; font-size: .76rem; font-weight: 800; }
.page-builder-layout { display: grid; grid-template-columns: minmax(350px,1fr) minmax(600px,750px) minmax(350px,1fr); justify-content: center; gap: 1rem; align-items: start; }
.block-library, .builder-canvas { border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.88); }
.block-library { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); padding: .9rem; overflow-y: auto; }
.builder-panel-heading { padding: .25rem .2rem .7rem; }
.builder-panel-heading h2 { margin: .15rem 0 .35rem; font-size: 1.45rem; }
.builder-panel-heading p:last-child, .builder-heading p { margin: 0; color: var(--ink-2); font-size: .72rem; }
.block-group { border-top: 1px solid var(--line); }
.block-group > summary { display: flex; padding: .7rem .2rem; align-items: center; justify-content: space-between; color: var(--ink); cursor: pointer; font-size: .72rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.block-group > summary span { display: grid; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 999px; color: var(--teal); background: var(--mist); font-size: .62rem; }
.block-library-list { display: grid; gap: .35rem; padding-bottom: .65rem; }
.block-library-list form { margin: 0; }
.block-library-list button, .calculator-library-link { display: grid; width: 100%; grid-template-columns: 1.7rem 1fr auto; gap: .5rem; align-items: center; padding: .55rem; border: 1px solid transparent; border-radius: .65rem; color: var(--ink); background: transparent; text-align: left; }
.block-library-list button:hover, .calculator-library-link:hover { border-color: var(--line); background: var(--mist); }
.block-library-list button > span:nth-child(2), .calculator-library-link > span:nth-child(2) { min-width: 0; }
.block-library-list strong, .block-library-list small, .calculator-library-link strong, .calculator-library-link small { display: block; }
.block-library-list strong, .calculator-library-link strong { font-size: .73rem; }
.block-library-list small, .calculator-library-link small { margin-top: .1rem; color: var(--ink-2); font-size: .6rem; line-height: 1.35; }
.block-library-list b, .calculator-library-link b { color: var(--teal); font-size: 1rem; }
.library-icon { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: .48rem; color: var(--teal); background: var(--mist); font: 800 .72rem var(--serif); }
.calculator-library-link { margin-top: .6rem; border-color: var(--line); text-decoration: none; }
.builder-canvas { min-width: 0; padding: 1rem; }
.builder-heading { margin-bottom: .9rem; padding-bottom: .9rem; border-bottom: 1px solid var(--line); }
.builder-heading h2 { margin-bottom: .15rem; }
.block-identity { min-width: 0; }
.block-editor-details > summary { display: grid; grid-template-columns: auto 1fr; gap: .55rem; align-items: baseline; }
.block-editor-details > summary small { overflow: hidden; text-overflow: ellipsis; text-transform: none; white-space: nowrap; }
.edit-block-form { padding: 1rem; }
.editor-field { display: grid; gap: .32rem; align-content: start; color: var(--ink-2); font-size: .72rem; font-weight: 800; }
.editor-field > small { font-size: .6rem; font-weight: 650; }
.editor-field textarea { min-height: 92px; resize: vertical; }
.field-wide { grid-column: 1 / -1; }
.editor-notice { display: flex; flex-wrap: wrap; gap: .25rem .65rem; align-items: center; padding: .75rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--paper); }
.editor-notice strong { font-size: .78rem; }
.editor-notice span { color: var(--ink-2); font-size: .7rem; }
.editor-notice a { margin-left: auto; color: var(--teal); font-size: .7rem; font-weight: 850; }
.repeater { display: grid; gap: .55rem; }
.repeater-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.repeater-heading strong, .repeater-heading small { display: block; }
.repeater-heading strong { font-size: .78rem; }
.repeater-heading small { color: var(--ink-2); font-size: .62rem; }
.repeater-rows { display: grid; gap: .5rem; }
.repeater-row { display: grid; grid-template-columns: minmax(110px,.65fr) minmax(150px,1fr) 2rem; gap: .45rem; align-items: end; padding: .65rem; border: 1px solid var(--line); border-radius: .65rem; background: white; }
.repeater-row:has([name="itemDetail"]) { grid-template-columns: minmax(100px,.55fr) minmax(100px,.55fr) minmax(160px,1fr) 2rem; }
.repeater-row label { display: grid; gap: .25rem; color: var(--ink-2); font-size: .65rem; font-weight: 750; }
.repeater-row textarea { min-height: 72px; }
.remove-row { width: 2rem; height: 2rem; margin-bottom: .45rem; padding: 0; border: 1px solid var(--line); border-radius: .5rem; color: var(--danger); background: var(--paper); font-size: 1rem; }
.editor-save-bar { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: .8rem; padding-top: .25rem; }
.editor-save-bar span { color: var(--ink-2); font-size: .65rem; }
.preview-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .8rem; }
.preview-toolbar p { margin: 0; }
.preview-toolbar strong { font-size: .85rem; }
.preview-modes { display: flex; padding: .18rem; border-radius: .55rem; background: rgba(255,255,255,.7); }
.preview-modes button { padding: .35rem .45rem; border: 0; border-radius: .4rem; color: var(--ink-2); background: transparent; font-size: .62rem; font-weight: 800; }
.preview-modes button.active { color: white; background: var(--ink); }
.preview-stage { overflow-x: auto; }
.preview-stage .phone-frame { transition: width .2s, border-radius .2s; }
.preview-stage .phone-frame.is-desktop { width: 620px; min-height: 460px; border-width: 6px; border-radius: 1.1rem; }
.preview-block-list { display: grid; gap: .55rem; margin-top: .75rem; text-align: left; }
.preview-block { margin: 0; }
.preview-block strong, .preview-block span, .preview-block small { display: block; }
.preview-block span, .preview-block small { margin-top: .2rem; color: var(--ink-2); font-size: .65rem; font-weight: 600; }
.preview-block b { display: block; margin-top: .45rem; padding: .45rem; border-radius: .45rem; color: white; background: var(--ink); text-align: center; font-size: .65rem; }
.preview-block .preview-divider { height: 1px; margin-top: .6rem; background: var(--line); }
.preview-heading { border-color: transparent; background: transparent; font-family: var(--serif); font-size: 1rem; text-align: center; }
.align-center { text-align: center; }
.location-block address { margin: .8rem 0; color: var(--ink-2); font-style: normal; white-space: pre-line; }
.pricing-list small { display: block; margin-top: .15rem; color: var(--ink-2); font-weight: 500; }
.calculator-compact .field-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.dashboard-tool-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.dashboard-tool-grid article { display: flex; min-height: 190px; flex-direction: column; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; background: white; }
.dashboard-tool-grid article > span { color: var(--teal); font-size: .65rem; font-weight: 850; text-transform: uppercase; }
.dashboard-tool-grid h3 { margin: .45rem 0; }
.dashboard-tool-grid p { flex: 1; color: var(--ink-2); font-size: .78rem; }
.dashboard-tool-grid article > div { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.dashboard-tool-grid form { margin: 0; }
.dashboard-tool-grid button:disabled { opacity: .45; cursor: default; }
.locked-card { max-width: 660px; padding: 2.2rem; border: 1px solid var(--line); border-radius: 1rem; background: white; text-align: center; }
.locked-card > span { display: inline-block; padding: .25rem .55rem; border-radius: 999px; color: var(--plum); background: var(--petal); font-size: .68rem; font-weight: 900; }
.locked-card p { color: var(--ink-2); }
.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .8rem; }
th { padding: .65rem; color: var(--ink-2); text-align: left; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
td { padding: .75rem .65rem; border-top: 1px solid var(--line); vertical-align: top; }
td strong, td small { display: block; }
td small { color: var(--ink-2); }
table select { min-width: 120px; min-height: 36px; padding: .4rem; }
.stack-form label { display: grid; gap: .3rem; color: var(--ink-2); font-size: .75rem; font-weight: 800; }
.booking-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.booking-fields label { display: grid; gap: .3rem; color: var(--ink-2); font-size: .75rem; font-weight: 800; }
.booking-timezone, .form-status { margin: -.25rem 0 0; color: var(--ink-2); font-size: .75rem; }
.form-status:not(:empty) { padding: .6rem .75rem; border-radius: .55rem; background: var(--mist); }
.booking-dashboard-grid { display: grid; grid-template-columns: minmax(360px,.8fr) minmax(520px,1.2fr); gap: 1rem; align-items: start; }
.availability-editor { display: grid; gap: .45rem; margin: .4rem 0; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; }
.availability-editor legend { padding: 0 .4rem; color: var(--ink); font-weight: 850; }
.availability-row { display: grid; grid-template-columns: minmax(120px,1fr) minmax(110px,.75fr) minmax(110px,.75fr); gap: .55rem; align-items: end; }
.availability-row > label:not(.check) { display: grid; gap: .2rem; color: var(--ink-2); font-size: .68rem; font-weight: 750; }
.availability-row .check span { text-transform: capitalize; }
.reminder-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
.booking-admin-list { display: grid; gap: .7rem; }
.booking-admin-list article { display: grid; grid-template-columns: minmax(0,1fr) 170px; gap: .8rem; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--paper); }
.booking-admin-main h3 { margin: .5rem 0 .25rem; }
.booking-admin-main p { margin: .2rem 0; color: var(--ink-2); font-size: .78rem; }
.booking-admin-main small { display: block; margin-top: .5rem; color: var(--ink-2); overflow-wrap: anywhere; }
.booking-status-form label { display: grid; gap: .3rem; color: var(--ink-2); font-size: .68rem; font-weight: 800; }
.status { display: inline-flex; width: max-content; padding: .22rem .48rem; border-radius: 999px; color: var(--teal); background: var(--mist); font-size: .64rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.status-confirmed, .status-completed { color: var(--success); background: #e8f6ef; }
.status-declined, .status-cancelled { color: var(--danger); background: #fff0ee; }
.status-rescheduled { color: var(--warn); background: #fff6e7; }
.booking-manage-body { min-height: 100vh; background: linear-gradient(135deg,var(--cream),var(--mist)); }
.booking-manage { padding-block: 2.5rem 5rem; }
.booking-brand { margin-bottom: 1.5rem; }
.booking-brand img { width: 2.5rem; height: 2.5rem; }
.booking-manage-card { padding: clamp(1.3rem,5vw,2.5rem); border: 1px solid var(--line); border-radius: 1.25rem; background: white; box-shadow: var(--shadow); }
.booking-manage-card h1 { margin-bottom: 1.3rem; font-size: clamp(2.5rem,7vw,4.5rem); }
.booking-summary { padding: 1.1rem; border-radius: .9rem; background: var(--mist); }
.booking-summary h2 { margin: .7rem 0 .35rem; }
.booking-summary p { margin: .25rem 0; color: var(--ink-2); }
.booking-summary small { display: block; margin-top: .6rem; }
.manage-action { margin: 1rem 0; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; }
.manage-action summary { color: var(--teal); cursor: pointer; font-weight: 850; }
.manage-action form { margin-top: 1rem; }
.cancel-booking-form { margin: 1rem 0; }
.booking-closed { margin: 1rem 0; padding: 1rem; border-radius: .8rem; background: var(--cream); }
.product-admin-list { display: grid; gap: .55rem; }
.product-admin-list > div, .product-admin-list > article { display: flex; align-items: center; gap: .7rem; padding: .65rem; border: 1px solid var(--line); border-radius: .65rem; }
.product-admin-list img { width: 3rem; height: 3rem; border-radius: .5rem; object-fit: cover; }
.product-admin-copy { min-width: 0; flex: 1; }
.product-admin-list strong, .product-admin-list small { display: block; }
.product-image-form { display: flex; align-items: end; gap: .45rem; margin-top: .45rem; }
.product-image-form label { display: grid; gap: .2rem; color: var(--ink-2); font-size: .65rem; font-weight: 750; }
.product-image-form input { width: min(210px,100%); font-size: .65rem; }
.product-image-form .text-link { margin: 0 0 .25rem; }
.product-admin-title { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.product-owner-actions { margin-top: .55rem; }
.product-owner-actions form { display: flex; gap: .35rem; }
.product-owner-actions button { padding: .36rem .55rem; }
.product-editor { margin-top: .6rem; padding: .55rem; border-radius: .55rem; background: var(--mist); }
.product-editor summary { color: var(--teal); cursor: pointer; font-size: .75rem; font-weight: 850; }
.product-editor .stack-form { margin-top: .7rem; }
.moderation-reason { padding: .55rem .7rem; border-left: 3px solid var(--danger); background: #fff4f2; font-size: .75rem; }
.moderation-list { display: grid; gap: .8rem; }
.moderation-list > article { padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; }
.moderation-list header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.moderation-list header img { width: 5rem; height: 5rem; border-radius: .65rem; object-fit: cover; }
.moderation-list h3 { margin: .35rem 0 .15rem; }
.moderation-meta { display: flex; gap: .65rem 1.1rem; flex-wrap: wrap; color: var(--ink-2); font-size: .75rem; }
.moderation-actions { display: flex; align-items: end; gap: .7rem; flex-wrap: wrap; margin-top: .8rem; }
.moderation-actions form { display: flex; align-items: end; gap: .45rem; flex: 1; flex-wrap: wrap; }
.moderation-actions label { display: grid; gap: .2rem; flex: 1; min-width: 220px; font-size: .7rem; font-weight: 800; }
.moderation-filters { display: grid; grid-template-columns: repeat(3,minmax(130px,1fr)) auto; gap: .65rem; align-items: end; margin-bottom: 1rem; }
.moderation-filters label { display: grid; gap: .25rem; font-size: .7rem; font-weight: 800; }
.break-word { overflow-wrap: anywhere; }
.product-dashboard [data-product-fields] { display: grid; gap: .8rem; }
.product-dashboard [data-product-fields][hidden] { display: none; }
.product-workspace-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; padding:1.1rem 1.25rem; border:2px solid var(--ink); border-radius:1.1rem; background:var(--blue); box-shadow:4px 4px 0 rgba(17,17,17,.12); }
.product-workspace-head h2 { margin:.1rem 0 .25rem; }
.product-workspace-head p:last-child { margin:0; }
.product-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(82px,1fr)); gap:.5rem; }
.product-summary-grid span { display:grid; gap:.1rem; padding:.55rem .65rem; border:2px solid var(--ink); border-radius:.65rem; background:white; font-size:.65rem; font-weight:900; text-transform:uppercase; }
.product-summary-grid strong { font-size:1.25rem; line-height:1; }
.product-summary-grid .needs-attention { background:var(--peach); }
.admin-product-summary { margin:0 0 1rem; }
.product-owner-filters { display:grid; grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(110px,1fr)) auto auto; align-items:end; gap:.55rem; margin:.75rem 0; padding:.7rem; border:2px solid var(--ink); border-radius:.8rem; background:white; }
.product-owner-filters label,.product-bulk-bar label { display:grid; gap:.25rem; font-size:.68rem; font-weight:900; }
.product-owner-filters a { align-self:center; font-weight:900; }
.product-bulk-bar { display:grid; grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) auto minmax(180px,1fr); align-items:end; gap:.55rem; margin-bottom:.8rem; padding:.7rem; border:2px solid var(--ink); border-radius:.8rem; background:var(--yellow); }
.product-bulk-bar small { align-self:center; }
.product-select { flex:0 0 auto; padding:.3rem; }
.product-select input { width:1.15rem; height:1.15rem; }
.newsletter-builder, .newsletter-composer { margin-bottom: 1rem; }
.dashboard-subtabs { display: inline-flex; gap: .25rem; margin-bottom: 1rem; padding: .3rem; border: 1px solid var(--line); border-radius: .8rem; background: white; }
.dashboard-subtabs a { min-width: 8rem; padding: .65rem .9rem; border-radius: .55rem; color: var(--ink-2); font-weight: 850; text-align: center; }
.dashboard-subtabs a.active { color: white; background: var(--teal-dark); }
.audience-filters { display: grid; grid-template-columns: repeat(5,minmax(130px,1fr)); gap: .7rem; align-items: end; }
.audience-filters label { display: grid; gap: .3rem; font-size: .75rem; font-weight: 750; }
.audience-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; }
.audience-actions span { color: var(--ink-2); font-size: .8rem; }
.subscriber-preview { margin-top: 1rem; }
.source-pill { display: inline-flex; padding: .22rem .5rem; border-radius: 999px; color: var(--teal-dark); background: var(--mint); font-size: .72rem; font-weight: 800; }
.input-prefix { display: flex; align-items: stretch; overflow: hidden; border: 1px solid var(--line); border-radius: .65rem; background: white; }
.input-prefix b { display: flex; align-items: center; padding: 0 .75rem; color: var(--ink-2); background: var(--mist); font-size: .85rem; }
.input-prefix input { min-width: 0; border: 0; border-radius: 0; }
.bar-chart { display: flex; height: 180px; align-items: end; gap: 4px; margin: 1.5rem 0; padding-top: 1rem; border-bottom: 1px solid var(--line); }
.bar-chart > div { display: flex; height: 100%; flex: 1; align-items: end; gap: 1px; }
.bar-chart i, .bar-chart b { width: 50%; min-height: 2px; border-radius: 3px 3px 0 0; background: var(--blossom); }
.bar-chart b { background: var(--teal); }
.funnel { display: grid; gap: .55rem; }
.funnel > div { display: flex; align-items: center; justify-content: space-between; padding: .7rem; border: 1px solid var(--line); border-radius: .6rem; background: var(--mist); }
.ai-card { overflow: hidden; border: 1px solid var(--line); border-radius: 1rem; background: white; }
.ai-card header { display: flex; align-items: center; gap: .8rem; padding: 1rem; border-bottom: 1px solid var(--line); background: linear-gradient(120deg,var(--mist),var(--cream)); }
.ai-card header h2 { margin: 0; font-size: 1.5rem; }
.ai-card header .eyebrow { margin: 0; }
.ai-card header > span { margin-left: auto; color: var(--teal); font-size: .75rem; font-weight: 850; }
.ai-avatar { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: .75rem; color: white; background: var(--blossom); font-weight: 900; }
.ai-thread { display: grid; gap: .8rem; min-height: 350px; max-height: 520px; padding: 1.2rem; overflow-y: auto; }
.compact-thread { min-height: 0; max-height: 240px; padding: .8rem 0 0; }
.ai-message { max-width: 78%; padding: .8rem 1rem; border: 1px solid var(--line); border-radius: 1rem 1rem 1rem .25rem; background: var(--mist); font-size: .88rem; white-space: pre-wrap; }
.ai-message.user-message { justify-self: end; color: white; border: 0; border-radius: 1rem 1rem .25rem 1rem; background: var(--ink); }
.ai-form { display: flex; gap: .6rem; padding: 1rem; border-top: 1px solid var(--line); }
.ai-form label { min-width: 0; flex: 1; }
.ai-card > .microcopy { padding: 0 1rem 1rem; }
.template-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.template-grid article { display: flex; min-height: 230px; flex-direction: column; }
.template-grid article p:not(.eyebrow) { flex: 1; color: var(--ink-2); }
.avatar-upload { display: grid; justify-items: start; gap: .8rem; }
.plan-summary { display: grid; gap: .55rem; margin: 1.2rem 0; padding: 1rem; border-radius: .8rem; background: var(--mist); }
.plan-summary strong { color: var(--teal); text-transform: capitalize; }
.admin-actions { display: flex; gap: .35rem; }
.admin-control-stack { display: grid; gap: .45rem; min-width: 18rem; }
.admin-control-stack small { color: var(--ink-2); }
.plan-access-note { padding: .75rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--mint); color: var(--teal); font-weight: 800; text-align: center; }

.onboarding { padding-block: 4rem 6rem; }
.onboarding > header { margin-bottom: 2rem; text-align: center; }
.onboarding h1 { font-size: clamp(2.5rem,6vw,4.5rem); }
.onboarding-step { padding: clamp(1.2rem,4vw,2rem); border: 1px solid var(--line); border-radius: 1.2rem; background: white; box-shadow: var(--shadow); }
.choice-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; margin: 1.2rem 0; }
.choice-card { display: grid; min-height: 115px; padding: .8rem; place-items: center; border: 1px solid var(--line); border-radius: .8rem; text-align: center; cursor: pointer; }
.choice-card:has(input:checked) { border-color: var(--teal); background: var(--mist); box-shadow: 0 0 0 2px rgba(20,116,111,.12); }
.choice-card input { position: absolute; opacity: 0; }
.choice-icon { font-size: 1.7rem; }
.choice-list { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.2rem 0; }
.choice-list label span { display: block; padding: .65rem .9rem; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font-size: .82rem; font-weight: 750; }
.choice-list input { position: absolute; opacity: 0; }
.choice-list label:has(input:checked) span { color: white; border-color: var(--ink); background: var(--ink); }
.step-actions { display: flex; justify-content: space-between; margin-top: 1rem; }

.site-footer { display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; padding: 2.5rem max(1.25rem,calc((100vw - 1180px)/2)); border-top: 1px solid var(--line); color: var(--ink-2); background: var(--cream); }
.site-footer p { margin: .7rem 0 0; font-size: .82rem; }
.site-footer nav { display: flex; gap: 1rem; font-size: .8rem; font-weight: 750; }
.site-footer small { grid-column: 1/-1; padding-top: 1rem; border-top: 1px solid var(--line); }
.consent-banner { position: fixed; z-index: 120; right: 1rem; bottom: 1rem; left: 1rem; display: flex; width: min(920px,calc(100% - 2rem)); margin-inline: auto; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; background: white; box-shadow: 0 24px 70px -24px rgba(6,46,43,.65); }
.consent-banner strong { display: block; }
.consent-banner p { max-width: 630px; margin: .25rem 0 0; color: var(--ink-2); font-size: .78rem; }
.consent-banner > div:last-child { display: flex; flex: none; align-items: center; gap: .5rem; }
.consent-banner a { color: var(--teal); font-size: .75rem; font-weight: 800; }

@media (max-width: 1600px) and (min-width: 1001px) {
  .page-builder-layout { grid-template-columns: minmax(350px,.7fr) minmax(600px,750px); }
  .live-preview { position: static; grid-column: 1 / -1; }
}

@media (max-width: 1000px) {
  .dashboard-shell { grid-template-columns: 1fr; }
  .dashboard-sidebar { position: fixed; z-index: 80; inset: 0 auto 0 0; width: 255px; transform: translateX(-110%); transition: transform .2s; box-shadow: var(--shadow); }
  .dashboard-sidebar.open { transform: translateX(0); }
  .sidebar-close { display: grid; }
  .dashboard-menu { display: inline-flex; }
  .editor-layout { grid-template-columns: 1fr; }
  .page-builder-layout { grid-template-columns: minmax(0,1fr) 340px; }
  .block-library { position: static; max-height: none; grid-column: 1 / -1; }
  .block-library-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .live-preview { position: static; }
  .dashboard-tool-grid, .template-grid { grid-template-columns: repeat(2,1fr); }
  .booking-dashboard-grid { grid-template-columns: 1fr; }
  .audience-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .site-nav { display: none; }
  .menu-button { display: inline-flex; }
  .hero { grid-template-columns: 1fr; min-height: auto; padding-block: 3.5rem; }
  .category-strip, .tool-grid, .library-grid, .pricing-grid, .split-story, .calculator-layout, .dashboard-grid.two, .card-grid-one, .card-grid-two, .card-grid-three { grid-template-columns: 1fr; }
  .category-strip { padding-bottom: 2rem; }
  .calculator-aside { position: static; }
  .calculator-aside .ad-slot { min-height: 100px; }
  .price-card.featured { transform: none; }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .editor-block { grid-template-columns: 2rem minmax(0,1fr); }
  .block-actions { grid-column: 2; flex-wrap: wrap; }
  .field-grid, .edit-block-form { grid-template-columns: 1fr; }
  .booking-fields, .reminder-options { grid-template-columns: 1fr; }
  .page-builder-layout { grid-template-columns: 1fr; }
  .block-library-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .live-preview { order: 3; }
  .repeater-row, .repeater-row:has([name="itemDetail"]) { grid-template-columns: 1fr 1fr 2rem; }
  .repeater-row .row-value { grid-column: 1 / 3; }
  .repeater-row:has([name="itemDetail"]) .row-value { grid-column: 1 / 3; }
  .product-grid { grid-template-columns: 1fr; }
  .product-grid.card-grid-one .product-card.has-image { display: flex; }
  .product-grid.card-grid-one .product-card.has-image > img { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  .featured-link-card { align-items: stretch; flex-direction: column; }
  .featured-link-card .button { width: 100%; }
  .dashboard-top { align-items: flex-start; flex-wrap: wrap; }
  .plan-pill { width: 100%; text-align: left; }
  .choice-grid { grid-template-columns: repeat(2,1fr); }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer nav { flex-wrap: wrap; }
  .site-footer small { grid-column: auto; }
  .consent-banner { align-items: stretch; flex-direction: column; }
  .consent-banner > div:last-child { flex-wrap: wrap; }
}

@media (max-width: 520px) {
  h1 { font-size: 2.65rem; }
  .wrap { width: min(100% - 1.5rem,1180px); }
  .hero-actions .button { width: 100%; }
  .dashboard-main { padding-inline: .75rem; }
  .stats-grid, .dashboard-tool-grid, .template-grid { grid-template-columns: 1fr; }
  .stats-grid article { display: grid; grid-template-columns: 1fr auto; align-items: center; }
  .stats-grid small { grid-column: 1/-1; }
  .stats-grid strong { margin: 0; }
  .section-heading, .card-heading { align-items: flex-start; flex-direction: column; }
  .inline-controls, .ai-form { width: 100%; flex-direction: column; }
  .block-library-list { grid-template-columns: 1fr; }
  .repeater-row, .repeater-row:has([name="itemDetail"]) { grid-template-columns: 1fr 2rem; }
  .repeater-row-rich { grid-template-columns: 1fr 2rem!important; }
  .repeater-row-rich .row-value, .repeater-row-rich .row-extra, .repeater-row-rich .row-image { grid-column: 1; }
  .repeater-row label, .repeater-row .row-value, .repeater-row:has([name="itemDetail"]) .row-value { grid-column: 1; }
  .remove-row { grid-column: 2; grid-row: 1; }
  .editor-save-bar { align-items: stretch; flex-direction: column; }
  .editor-save-bar .button { width: 100%; }
  .choice-grid { grid-template-columns: 1fr 1fr; }
  .profile-gallery { grid-template-columns: 1fr; }
  .auth-links { gap: .7rem; flex-direction: column; }
  .availability-row, .booking-admin-list article { grid-template-columns: 1fr; }
  .audience-filters { grid-template-columns: 1fr; }
  .newsletter-inline { grid-template-columns: 1fr; }
  .dashboard-subtabs { display: flex; }
  .dashboard-subtabs a { min-width: 0; flex: 1; }
  .moderation-filters { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* Public features page */
.features-page { overflow: hidden; background: var(--cream); }
.features-hero { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(2rem,6vw,5rem); min-height: 690px; padding-block: clamp(4rem,8vw,7rem); align-items: center; }
.features-hero h1 { max-width: 760px; margin-bottom: 1.4rem; font-size: clamp(3.2rem,6.4vw,6rem); }
.features-hero .lead { max-width: 660px; color: var(--ink-2); font-size: clamp(1.05rem,1.7vw,1.3rem); }
.feature-hero-board { position: relative; min-height: 540px; border: 2px solid var(--ink); border-radius: 2.3rem; background: var(--green); box-shadow: 10px 10px 0 var(--ink); transform: rotate(1deg); }
.feature-hero-board::before { content: ''; position: absolute; inset: 8% 12%; border: 2px solid var(--ink); border-radius: 50%; background: var(--yellow); transform: rotate(-8deg); }
.feature-hero-board article { position: absolute; z-index: 1; border: 2px solid var(--ink); background: white; box-shadow: 5px 5px 0 var(--ink); }
.feature-board-profile { top: 3rem; left: 8%; display: grid; grid-template-columns: auto 1fr; width: 78%; padding: 1rem; gap: .8rem; align-items: center; border-radius: 1.25rem; }
.feature-board-profile img { grid-row: span 2; border: 2px solid var(--ink); border-radius: 1rem; }
.feature-board-profile div { display: grid; }
.feature-board-profile strong { font-size: 1.15rem; }
.feature-board-profile span { color: var(--ink-2); font-size: .75rem; }
.feature-board-profile > b { grid-column: 2; font-size: .75rem; }
.feature-board-stat { top: 12rem; right: 4%; display: grid; width: 42%; padding: 1rem; border-radius: 1rem; background: var(--blue) !important; }
.feature-board-stat small, .feature-board-stat span { font-size: .72rem; font-weight: 800; }
.feature-board-stat strong { font-size: 2.3rem; line-height: 1; }
.feature-board-booking { bottom: 2.5rem; left: 4%; display: flex; width: 58%; padding: 1rem; gap: .7rem; align-items: center; border-radius: 1rem; background: var(--peach) !important; }
.feature-board-booking > span { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--yellow); font-weight: 900; }
.feature-board-booking div { display: grid; }
.feature-board-booking small { font-size: .7rem; }
.feature-board-links { top: 17.5rem; left: 13%; display: grid; width: 66%; padding: .75rem; gap: .55rem; border-radius: 1.2rem; }
.feature-board-links span { display: flex; justify-content: space-between; padding: .7rem .8rem; border: 2px solid var(--ink); border-radius: .7rem; background: var(--yellow); font-size: .78rem; font-weight: 900; }
.feature-board-links span:nth-child(2) { background: var(--peach); }
.feature-board-links span:nth-child(3) { background: #b8effb; }

.feature-bento { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; padding-block: 1rem 6rem; }
.feature-bento article { min-height: 260px; padding: clamp(1.25rem,2.5vw,2rem); overflow: hidden; border: 2px solid var(--ink); border-radius: 1.5rem; box-shadow: 6px 6px 0 var(--ink); }
.feature-bento .bento-wide { grid-column: span 2; }
.feature-bento h2 { font-size: clamp(2rem,3vw,3.3rem); }
.feature-bento h3 { margin: .7rem 0 .4rem; font-size: 1.35rem; }
.feature-bento p { margin-bottom: 0; }
.bento-yellow { background: var(--yellow); }
.bento-green { background: var(--green); }
.bento-blue { background: var(--blue); }
.bento-peach { background: var(--peach); }
.bento-black { grid-column: span 2; color: white; background: var(--ink); }
.bento-black .eyebrow { color: var(--yellow); }
.bento-number { display: block; font-size: 5rem; font-weight: 900; line-height: 1; }
.bento-symbol { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: white; font-size: 1.6rem; font-weight: 900; }
.mini-bars { display: flex; height: 70px; margin: 1rem 0; align-items: end; gap: .55rem; }
.mini-bars i { width: 12%; height: var(--bar); border: 2px solid var(--ink); border-radius: .4rem .4rem 0 0; background: white; }
.device-row { display: flex; height: 100px; margin-top: 1.4rem; align-items: end; justify-content: center; gap: 1rem; }
.device-row i { width: 80px; height: 58px; border: 2px solid white; border-radius: .5rem; background: var(--blue); }
.device-row i:nth-child(2) { width: 48px; height: 92px; background: var(--yellow); }
.device-row i:nth-child(3) { width: 62px; height: 74px; background: var(--peach); }

.feature-catalog { padding-block: 5rem; }
.feature-section-heading { max-width: 800px; margin-bottom: 4rem; }
.feature-section-heading h2 { font-size: clamp(2.7rem,5vw,5rem); }
.feature-section-heading > p:last-child { max-width: 660px; color: var(--ink-2); font-size: 1.1rem; }
.feature-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.9fr); gap: clamp(2rem,7vw,6rem); min-height: 590px; padding-block: 5rem; align-items: center; border-top: 2px solid var(--ink); }
.feature-row.reverse .feature-copy { order: 2; }
.feature-row.reverse .feature-visual { order: 1; }
.feature-copy { position: relative; }
.feature-copy h2 { max-width: 650px; font-size: clamp(2.4rem,4.3vw,4.5rem); }
.feature-copy > p:not(.eyebrow) { max-width: 620px; color: var(--ink-2); font-size: 1.08rem; }
.feature-index { position: absolute; top: -1rem; right: 0; color: transparent; -webkit-text-stroke: 2px var(--ink); font-size: clamp(4rem,8vw,7rem); font-weight: 900; opacity: .17; line-height: 1; }
.check-list { display: grid; margin: 1.6rem 0 0; padding: 0; gap: .7rem; list-style: none; }
.check-list li { position: relative; padding-left: 1.8rem; font-weight: 800; }
.check-list li::before { content: '✓'; position: absolute; left: 0; top: .05rem; display: grid; width: 1.25rem; height: 1.25rem; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--green); font-size: .65rem; }
.feature-plan-note { display: block; margin-top: 1rem; color: var(--ink-2); }
.feature-visual { position: relative; display: grid; min-height: 430px; padding: clamp(1.4rem,4vw,3rem); place-items: center; border: 2px solid var(--ink); border-radius: 2rem; background: var(--yellow); box-shadow: 9px 9px 0 var(--ink); }
.identity-visual { background: var(--blue); }
.identity-card { display: grid; width: min(330px,90%); padding: 1.5rem; gap: .65rem; border: 2px solid var(--ink); border-radius: 1.5rem; background: white; box-shadow: 6px 6px 0 var(--ink); text-align: center; }
.identity-card img { width: 74px; margin: auto; border-radius: 1rem; }
.identity-card strong { font-size: 1.4rem; }
.identity-card small { color: var(--ink-2); }
.identity-card span { display: flex; justify-content: space-between; padding: .7rem; border: 2px solid var(--ink); border-radius: .65rem; background: var(--peach); font-size: .76rem; font-weight: 900; text-align: left; }
.identity-card span:nth-of-type(2) { background: var(--yellow); }
.identity-card span:nth-of-type(3) { background: #bcefdc; }
.booking-visual { background: var(--peach); }
.calendar-card { display: grid; width: min(370px,100%); padding: 1.4rem; gap: 1rem; border: 2px solid var(--ink); border-radius: 1.2rem; background: white; }
.calendar-card > div { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; }
.calendar-card span { padding: .65rem .25rem; border: 2px solid var(--ink); border-radius: .55rem; text-align: center; font-size: .72rem; font-weight: 800; }
.calendar-card span.selected, .calendar-card button { color: var(--ink); background: var(--yellow); }
.calendar-card button { min-height: 46px; border: 2px solid var(--ink); border-radius: .7rem; font-weight: 900; }
.success-ticket { position: absolute; right: -1rem; bottom: 2.5rem; display: flex; padding: .8rem 1rem; gap: .6rem; align-items: center; border: 2px solid var(--ink); border-radius: .8rem; background: var(--green); box-shadow: 4px 4px 0 var(--ink); font-weight: 900; transform: rotate(-3deg); }
.commerce-visual { grid-template-columns: repeat(2,1fr); gap: 1rem; background: var(--green); }
.product-mock { display: flex; min-height: 280px; padding: 1.2rem; flex-direction: column; border: 2px solid var(--ink); border-radius: 1rem; background: white; box-shadow: 4px 4px 0 var(--ink); }
.product-mock span { font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.product-mock strong { margin: .7rem 0; font-size: 1.2rem; }
.product-mock small { color: var(--ink-2); }
.product-mock b { margin-top: auto; padding: .6rem; border: 2px solid var(--ink); border-radius: .55rem; background: var(--yellow); text-align: center; }
.product-mock.accent { transform: translateY(2rem); background: var(--peach); }
.media-visual { grid-template-columns: auto 1fr auto; gap: 1.1rem; place-items: center stretch; color: white; background: #a92150; }
.album-art { display: grid; width: 120px; height: 120px; place-items: center; border: 2px solid var(--ink); border-radius: 1rem; color: var(--ink); background: var(--peach); font-size: 3.5rem; }
.track-copy { display: grid; gap: .3rem; }
.track-copy small { font-weight: 900; letter-spacing: .12em; }
.track-copy strong { font-size: 1.45rem; }
.track-line { height: 6px; margin-top: 1rem; border-radius: 99px; background: rgba(255,255,255,.3); }
.track-line i { display: block; width: 62%; height: 100%; border-radius: inherit; background: white; }
.media-visual > button { display: grid; width: 58px; height: 58px; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: white; font-weight: 900; }
.newsletter-visual { align-content: center; justify-items: stretch; gap: 1.2rem; background: var(--yellow); }
.newsletter-visual > div:first-child { display: grid; padding: 1.2rem; border: 2px solid var(--ink); border-radius: 1rem; background: white; }
.newsletter-visual strong { font-size: 1.6rem; }
.newsletter-visual span { color: var(--ink-2); }
.audience-chips { display: flex; flex-wrap: wrap; gap: .55rem; }
.audience-chips i { padding: .5rem .7rem; border: 2px solid var(--ink); border-radius: 99px; background: var(--peach); font-size: .7rem; font-style: normal; font-weight: 900; }
.newsletter-visual > b { padding: .75rem 1rem; border: 2px solid var(--ink); border-radius: .7rem; background: var(--green); text-align: center; }
.tools-visual { background: var(--blue); }
.calculator-chip { display: grid; width: min(320px,90%); padding: 1.5rem; border: 2px solid var(--ink); border-radius: 1.3rem; background: white; box-shadow: 5px 5px 0 var(--ink); }
.calculator-chip span { font-size: .72rem; font-weight: 900; letter-spacing: .13em; }
.calculator-chip strong { font-size: 4rem; line-height: 1.15; }
.calculator-chip small { color: var(--teal-dark); font-weight: 900; }
.ai-bubble { position: absolute; right: 1rem; bottom: 2rem; display: flex; padding: .8rem 1rem; gap: .5rem; align-items: center; border: 2px solid var(--ink); border-radius: 99px; background: var(--peach); box-shadow: 4px 4px 0 var(--ink); font-weight: 900; }

.feature-foundation { padding-block: 6rem; border-block: 2px solid var(--ink); color: white; background: var(--ink); }
.feature-foundation .eyebrow { color: var(--yellow); }
.feature-foundation header { max-width: 720px; }
.feature-foundation header h2 { font-size: clamp(2.6rem,5vw,4.8rem); }
.foundation-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin-top: 2.5rem; }
.foundation-grid article { padding: 1.4rem; border: 2px solid white; border-radius: 1.2rem; }
.foundation-grid article:nth-child(1) { color: var(--ink); background: var(--yellow); }
.foundation-grid article:nth-child(2) { color: var(--ink); background: var(--blue); }
.foundation-grid article:nth-child(3) { color: var(--ink); background: var(--peach); }
.foundation-grid article:nth-child(4) { color: var(--ink); background: var(--green); }
.foundation-grid span { font-size: 2rem; font-weight: 900; }
.foundation-grid h3 { margin: .8rem 0 .35rem; }
.foundation-grid p { margin: 0; font-size: .85rem; }
.feature-final-cta { padding-block: 7rem; text-align: center; }
.feature-final-cta h2 { max-width: 850px; margin-inline: auto; font-size: clamp(2.8rem,5.5vw,5.4rem); }
.feature-final-cta .handle-claim { margin-inline: auto; text-align: left; }
.feature-final-cta > p:last-child { margin-top: 1rem; color: var(--ink-2); font-size: .82rem; }

@media (max-width: 900px) {
  .features-hero, .feature-row { grid-template-columns: 1fr; }
  .features-hero { padding-top: 4rem; }
  .feature-hero-board { width: min(620px,100%); margin-inline: auto; }
  .feature-bento { grid-template-columns: repeat(2,1fr); }
  .feature-row, .feature-row.reverse { min-height: 0; padding-block: 4rem; }
  .feature-row.reverse .feature-copy, .feature-row.reverse .feature-visual { order: initial; }
  .foundation-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 560px) {
  .features-hero h1 { font-size: 3.15rem; }
  .feature-hero-board { min-height: 500px; box-shadow: 6px 6px 0 var(--ink); }
  .feature-board-profile { left: 4%; width: 88%; }
  .feature-board-stat { right: 2%; width: 48%; }
  .feature-board-links { left: 5%; width: 88%; }
  .feature-board-booking { left: 2%; width: 76%; }
  .feature-bento { grid-template-columns: 1fr; }
  .feature-bento .bento-wide, .bento-black { grid-column: auto; }
  .feature-row { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .feature-visual { min-height: 360px; padding: 1.1rem; box-shadow: 6px 6px 0 var(--ink); }
  .commerce-visual { grid-template-columns: 1fr; }
  .product-mock { min-height: 210px; }
  .product-mock.accent { display: none; }
  .media-visual { grid-template-columns: 1fr; text-align: center; }
  .album-art { margin-inline: auto; }
  .media-visual > button { margin-inline: auto; }
  .success-ticket { right: -.4rem; }
  .foundation-grid { grid-template-columns: 1fr; }
  .feature-final-cta { padding-block: 5rem; }
}

/* Admin control center and entitlement catalogue */
.admin-command-hero { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; padding:1.4rem; border:2px solid var(--ink); border-radius:1.25rem; background:var(--yellow); box-shadow:var(--shadow); }
.admin-command-hero h2 { margin:.15rem 0 .35rem; font-size:clamp(1.9rem,3vw,3rem); }
.admin-command-hero p:last-child { max-width:760px; margin:0; }
.admin-command-hero > span { flex:0 0 auto; padding:.5rem .75rem; border:2px solid var(--ink); border-radius:999px; background:white; font-weight:900; }
.admin-billing-hero { background:var(--blue); }
.admin-billing-readiness { margin-bottom:1rem; }
.admin-billing-readiness .dash-card { min-width:0; }
.admin-billing-readiness code,.admin-billing-history code { overflow-wrap:anywhere; }
.admin-billing-event-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem .8rem; padding-left:1.2rem; font-size:.78rem; }
.admin-billing-history { margin-top:1rem; }
.admin-billing-history .admin-filter-bar { display:grid; grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) auto; align-items:end; gap:.65rem; margin:1rem 0; }
.admin-billing-history .admin-filter-bar label { display:grid; gap:.3rem; font-size:.75rem; font-weight:900; }
.admin-billing-history td { max-width:320px; overflow-wrap:anywhere; }
.admin-billing-history td small { display:block; margin-top:.2rem; color:var(--ink-2); }
.admin-user-filters { display:grid; grid-template-columns:minmax(280px,2fr) repeat(2,minmax(150px,1fr)) auto auto; align-items:end; gap:.65rem; margin-bottom:1rem; padding:1rem; border:2px solid var(--ink); border-radius:1rem; background:white; }
.admin-user-filters label { display:grid; gap:.3rem; font-size:.75rem; font-weight:900; }
.admin-user-filters input,.admin-user-filters select { width:100%; min-height:46px; }
.admin-user-filters > a { padding:.75rem .3rem; font-weight:900; text-align:center; }
.admin-user-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.admin-user-grid > .empty-state { grid-column:1/-1; }
.admin-user-card { min-width:0; padding:1rem; border:2px solid var(--ink); border-radius:1rem; background:white; box-shadow:4px 4px 0 rgba(17,17,17,.12); }
.admin-user-card > header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.7rem; }
.admin-user-card header div { display:grid; min-width:0; gap:.1rem; }
.admin-user-card h3 { margin:0; }
.admin-user-card header a,.admin-user-card header small { overflow:hidden; color:var(--ink-2); text-overflow:ellipsis; }
.admin-user-avatar { display:grid; width:3rem; height:3rem; place-items:center; border:2px solid var(--ink); border-radius:.8rem; background:var(--peach); font-size:1.1rem; font-weight:900; }
.admin-user-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; margin:.9rem 0; }
.admin-user-summary span { display:grid; gap:.15rem; padding:.55rem; border:1px solid var(--ink); border-radius:.65rem; color:var(--ink-2); font-size:.68rem; font-weight:900; }
.admin-user-summary strong { overflow-wrap:anywhere; color:var(--ink); font-size:.78rem; }
.admin-user-links { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:.8rem; }
.admin-user-links a { padding:.4rem .55rem; border:1px solid var(--ink); border-radius:999px; color:var(--ink); background:var(--green); font-size:.72rem; font-weight:900; }
.admin-owned-pages { display:grid; gap:.45rem; margin:.8rem 0; padding:.7rem; border:2px solid var(--ink); border-radius:.8rem; background:var(--cream); }
.admin-owned-pages-head { display:flex; align-items:center; justify-content:space-between; }
.admin-owned-pages-head span { min-width:1.6rem; padding:.15rem .35rem; border:1px solid var(--ink); border-radius:999px; background:var(--yellow); font-size:.7rem; font-weight:900; text-align:center; }
.admin-owned-pages > article { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.7rem; padding:.65rem; border:1px solid var(--ink); border-radius:.65rem; background:white; }
.admin-owned-pages > article > div:first-child { display:grid; min-width:0; gap:.1rem; }
.admin-owned-pages a,.admin-owned-pages small { overflow:hidden; text-overflow:ellipsis; }
.admin-page-actions { display:flex; align-items:center; gap:.35rem; flex-wrap:wrap; justify-content:flex-end; }
.admin-page-actions details { position:relative; }
.admin-page-actions summary { padding:.4rem .55rem; color:var(--danger); cursor:pointer; font-size:.72rem; font-weight:900; }
.admin-page-actions details form { display:grid; min-width:230px; gap:.45rem; margin-top:.45rem; padding:.65rem; border:2px solid var(--danger); border-radius:.65rem; background:white; }
.admin-page-actions label,.admin-danger-zone label { display:grid; gap:.25rem; font-size:.7rem; font-weight:800; }
.admin-account-actions { display:grid; gap:.6rem; padding:.75rem; border:2px solid var(--ink); border-radius:.8rem; background:var(--mist); }
.admin-account-actions > div { display:flex; gap:.4rem; flex-wrap:wrap; }
.admin-account-actions button { font-size:.7rem; }
.admin-role-action { display:grid; grid-template-columns:minmax(140px,1fr) auto; gap:.45rem; }
.admin-danger-zone { padding:.6rem; border:2px solid var(--danger); border-radius:.7rem; background:#fff4f2; }
.admin-danger-zone summary { color:var(--danger); cursor:pointer; font-weight:900; }
.admin-danger-zone p { margin:.45rem 0; font-size:.72rem; }
.admin-danger-zone form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:.45rem; }
.admin-user-controls { margin:.7rem 0; padding:.7rem; border:2px solid var(--ink); border-radius:.75rem; background:var(--cream); }
.admin-user-controls summary { cursor:pointer; font-weight:900; }
.admin-plan-assignment { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin-top:.7rem; }
.admin-plan-assignment label { display:grid; gap:.25rem; font-size:.72rem; font-weight:900; }
.admin-plan-assignment .check,.admin-plan-assignment button { align-self:end; }
.admin-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.admin-plan-card { min-width:0; padding:1rem; border:2px solid var(--ink); border-radius:1rem; background:white; box-shadow:4px 4px 0 rgba(17,17,17,.12); }
.admin-plan-card header { display:flex; justify-content:space-between; gap:.75rem; }
.admin-plan-card h3 { margin:.1rem 0; }
.admin-feature-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; padding:.7rem; border:2px solid var(--ink); border-radius:.75rem; }
.admin-feature-checks legend { padding:0 .3rem; font-weight:900; }
.admin-feature-checks .check { font-size:.72rem; }
.admin-ai-studio .ai-health { display:grid; gap:.35rem; margin:1rem 0; padding:1rem; border:2px solid var(--ink); border-radius:1rem; }
.admin-ai-studio .ai-health.healthy { background:var(--green); }
.admin-ai-studio .ai-health.attention { background:var(--peach); }
.admin-ai-studio .ai-health strong { font-size:1.25rem; }
.domain-addon-card { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:1rem; margin-top:1.25rem; padding:1.25rem; border:2px solid var(--ink); border-radius:1.25rem; background:var(--blue); box-shadow:var(--shadow); }
.domain-addon-card h2 { margin:.1rem 0 .25rem; }
.domain-addon-card p:last-child { margin:0; }
.domain-addon-card > strong { font-size:2rem; white-space:nowrap; }
.domain-addon-card > strong small { display:block; font-size:.75rem; text-align:center; }
.moderation-filters { grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(130px,1fr)) auto auto; }
.product-shelf-search { margin:.8rem 0; }
.product-shelf-panel .product-admin-item { align-items:flex-start; border-width:2px; background:var(--cream); }
.product-shelf-panel .product-admin-copy { display:grid; gap:.35rem; }

@media (max-width:1100px) {
  .admin-user-grid,.admin-plan-grid { grid-template-columns:1fr; }
  .admin-user-filters,.moderation-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-search-wide,.moderation-owner-search { grid-column:1/-1; }
  .product-workspace-head { align-items:flex-start; flex-direction:column; }
  .product-owner-filters,.product-bulk-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .admin-command-hero { align-items:flex-start; flex-direction:column; }
  .admin-user-filters,.moderation-filters,.admin-plan-assignment,.admin-feature-checks,.domain-addon-card { grid-template-columns:1fr; }
  .admin-user-summary { grid-template-columns:1fr; }
  .domain-addon-card > strong small { text-align:left; }
  .admin-billing-event-list,.admin-billing-history .admin-filter-bar { grid-template-columns:1fr; }
  .admin-owned-pages > article,.admin-danger-zone form { grid-template-columns:1fr; }
  .admin-page-actions { justify-content:flex-start; }
  .product-summary-grid,.product-owner-filters,.product-bulk-bar { grid-template-columns:1fr 1fr; width:100%; }
}
@media (max-width:480px) { .product-summary-grid,.product-owner-filters,.product-bulk-bar { grid-template-columns:1fr; } }

/* AI page builder and optimizer */
.page-launch-hero { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1.25rem; margin-bottom: 1rem; padding: 1.4rem; border: 2px solid var(--ink); border-radius: 1.3rem; background: var(--blue); box-shadow: var(--shadow); }
.page-launch-hero h2 { max-width: 760px; margin: .1rem 0 .45rem; font-size: clamp(2rem,4vw,3.25rem); }
.page-launch-hero p:last-child { max-width: 760px; margin-bottom: 0; }
.page-health-score { display: grid; width: 126px; height: 126px; place-content: center; border: 3px solid var(--ink); border-radius: 50%; background: var(--yellow); text-align: center; box-shadow: 5px 5px 0 var(--ink); }
.page-health-score strong { font-size: 2.3rem; line-height: 1; }
.page-health-score span { max-width: 80px; margin-top: .2rem; font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.page-launch-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); gap: 1rem; align-items: start; }
.page-builder-card textarea { min-height: 150px; }
.page-health-list { display: grid; gap: .55rem; margin-top: .8rem; }
.page-health-list a { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .65rem; padding: .7rem; border: 2px solid var(--ink); border-radius: .8rem; color: var(--ink); background: white; }
.page-health-list a:hover { color: var(--ink); background: var(--yellow); transform: translate(-1px,-1px); box-shadow: 3px 3px 0 var(--ink); }
.page-health-list a.done { background: var(--green); }
.page-health-list a > span { display: grid; width: 2rem; height: 2rem; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--cream); font-weight: 900; }
.page-health-list a div { display: grid; gap: .1rem; }
.page-health-list small { color: var(--ink-2); }
.page-draft-review { margin-top: 1rem; background: var(--yellow); }
.draft-profile-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; margin: 1rem 0; }
.draft-profile-summary > div { display: grid; gap: .25rem; padding: .8rem; border: 2px solid var(--ink); border-radius: .8rem; background: white; }
.draft-profile-summary span { color: var(--ink-2); font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.page-draft-review blockquote { margin: .8rem 0; padding: 1rem; border: 2px solid var(--ink); border-radius: .9rem; background: white; font-size: 1.05rem; }
.draft-block-list { display: grid; gap: .5rem; margin: 1rem 0; padding: 0; list-style: none; }
.draft-block-list li { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: .7rem; padding: .7rem; border: 2px solid var(--ink); border-radius: .8rem; background: white; }
.draft-block-list li > span { align-self: start; padding: .25rem .45rem; border: 1px solid var(--ink); border-radius: 999px; background: var(--blue); font-size: .68rem; font-weight: 900; text-align: center; text-transform: uppercase; }
.draft-block-list li div { display: grid; min-width: 0; gap: .15rem; }
.draft-block-list small { overflow: hidden; color: var(--ink-2); text-overflow: ellipsis; white-space: nowrap; }
.draft-actions { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-top: .8rem; border-top: 2px solid var(--ink); }
.draft-apply-form { display: grid; grid-template-columns: minmax(240px,1fr) minmax(300px,1.5fr) auto; align-items: end; gap: .7rem; flex: 1; }
.draft-apply-form > label:not(.check) { display: grid; gap: .3rem; font-weight: 900; }
.draft-apply-form .check { min-height: 48px; align-items: center; }
.draft-apply-form > p { grid-column: 1/-1; margin: 0; color: var(--ink-2); font-size: .75rem; }
.starter-library { margin-top: 1rem; }
.starter-library .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.starter-library .section-heading h2 { margin: .1rem 0 .3rem; }
.starter-library .section-heading p:last-child { margin: 0; }
.starter-library .section-heading > span { flex: 0 0 auto; padding: .4rem .65rem; border: 2px solid var(--ink); border-radius: 999px; background: white; font-size: .72rem; font-weight: 900; }
.starter-template-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; }
.starter-template-card { display: flex; min-height: 370px; flex-direction: column; gap: .75rem; padding: 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: white; box-shadow: 4px 4px 0 var(--ink); }
.starter-template-card header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.starter-template-card header span { padding: .3rem .5rem; border: 2px solid var(--ink); border-radius: 999px; background: var(--yellow); font-size: .72rem; font-weight: 900; }
.starter-template-card header b { font-size: .7rem; }
.starter-template-card h3 { margin: .2rem 0; font-size: 1.25rem; }
.starter-template-card > p { margin: 0; color: var(--ink-2); }
.starter-section-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.starter-section-chips span { padding: .25rem .4rem; border: 1px solid var(--ink); border-radius: .35rem; background: var(--cream); font-size: .65rem; font-weight: 900; text-transform: uppercase; }
.starter-template-card form { display: grid; gap: .55rem; margin-top: auto; }
.starter-template-card form .check { align-items: flex-start; font-size: .72rem; }
.theme-preview-forest { background: var(--green); }
.theme-preview-ocean { background: var(--blue); }
.theme-preview-sunshine { background: var(--yellow); }
.theme-preview-rose { background: var(--peach); }
.theme-preview-midnight { color: white; background: var(--ink); }
.theme-preview-midnight p { color: rgba(255,255,255,.78); }
.theme-preview-midnight .starter-section-chips span { color: var(--ink); }

@media (max-width: 1150px) {
  .starter-template-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .draft-apply-form { grid-template-columns: 1fr 1fr; }
  .draft-apply-form button { grid-column: 1/-1; }
}
@media (max-width: 900px) {
  .page-launch-grid { grid-template-columns: 1fr; }
  .draft-actions { align-items: stretch; flex-direction: column; }
}
@media (max-width: 680px) {
  .page-launch-hero { grid-template-columns: 1fr; }
  .page-health-score { width: 104px; height: 104px; }
  .starter-template-grid, .draft-profile-summary, .draft-apply-form { grid-template-columns: 1fr; }
  .starter-library .section-heading { align-items: flex-start; flex-direction: column; }
  .draft-block-list li { grid-template-columns: 1fr; }
}

/* Creator-commerce visual system — based on the approved calo.lat reference. */
.hero-panel, .quick-calc, .category-strip a, .tool-card, .library-card, .price-card,
.auth-card, .legal-sections section, .profile-block, .booking-manage-card, .dash-card,
.stats-grid article, .template-grid article, .block-library, .builder-canvas, .live-preview,
.locked-card, .ai-card, .onboarding-step { border-width: 2px; border-color: var(--ink); }
.hero-panel, .auth-card, .booking-manage-card, .onboarding-step { box-shadow: var(--shadow); }
.hero-panel { background: var(--yellow); }
.hero-panel::before { background: var(--orange); opacity: .72; }
.quick-calc { background: var(--paper); }
.category-strip a:nth-child(4n+1), .tool-card:nth-child(4n+1), .template-grid article:nth-child(4n+1) { background: var(--yellow); }
.category-strip a:nth-child(4n+2), .tool-card:nth-child(4n+2), .template-grid article:nth-child(4n+2) { background: var(--peach); }
.category-strip a:nth-child(4n+3), .tool-card:nth-child(4n+3), .template-grid article:nth-child(4n+3) { background: #b8effb; }
.category-strip a:nth-child(4n+4), .tool-card:nth-child(4n+4), .template-grid article:nth-child(4n+4) { background: #bcefdc; }
.tool-mark { color: var(--ink); border: 2px solid var(--ink); background: white; font-family: var(--sans); font-weight: 900; }
.site-footer { border-top: 2px solid var(--ink); background: var(--yellow); }
.profile-theme { background: var(--cream); }
.profile-header { margin-bottom: 1rem; padding: 3rem 1rem 2.25rem; border: 2px solid var(--ink); border-radius: 1.5rem; background: var(--yellow); box-shadow: var(--shadow); }
.profile-block:nth-child(4n+1) { background: white; }
.profile-block:nth-child(4n+2) { background: #fff7d7; }
.profile-block:nth-child(4n+3) { background: #e8f9f2; }
.profile-block:nth-child(4n+4) { background: #eaf9fd; }
.profile-meta span, .profile-meta a, .profile-meta button, .social-icon-list a { border-width: 2px; border-color: var(--ink); }
.dashboard-body { background: var(--cream); }
.dashboard-sidebar { border-right: 2px solid var(--ink); background: white; }
.profile-chip { border-width: 2px; border-color: var(--ink); background: var(--peach); }
.dashboard-sidebar nav a { border: 2px solid transparent; border-radius: .8rem; color: var(--ink); font-weight: 900; }
.dashboard-sidebar nav a:hover { border-color: var(--ink); background: var(--peach); }
.dashboard-sidebar nav a.active { color: var(--ink); border-color: var(--ink); background: var(--yellow); box-shadow: 3px 3px 0 rgba(17,17,17,.14); }
.nav-icon, .active .nav-icon { color: var(--ink); border: 1px solid var(--ink); background: white; font-family: var(--sans); }
.plan-pill { border: 2px solid var(--ink); background: #b8effb; box-shadow: 3px 3px 0 rgba(17,17,17,.12); }
.stats-grid article { box-shadow: 4px 4px 0 rgba(17,17,17,.1); }
.stats-grid article:nth-child(4n+1) { background: var(--yellow); }
.stats-grid article:nth-child(4n+2) { background: #bcefdc; }
.stats-grid article:nth-child(4n+3) { background: #b8effb; }
.stats-grid article:nth-child(4n+4) { background: var(--peach); }
.dash-card { background: white; box-shadow: 4px 4px 0 rgba(17,17,17,.08); }
.editor-block, .preview-block, .dashboard-tool-grid article, .pricing-card,
.product-admin-list > div, .product-admin-list > article, .booking-admin-list article { border-width: 2px; border-color: var(--ink); }
.block-number { color: var(--ink); border: 1px solid var(--ink); background: var(--yellow); }
.block-library-list button:hover, .calculator-library-link:hover { border-color: var(--ink); background: var(--yellow); }
.phone-frame { border-width: 10px; background: var(--cream); box-shadow: 6px 6px 0 rgba(17,17,17,.12); }
input, select, textarea, .input-prefix { border-width: 2px !important; border-color: var(--ink) !important; }
input:focus, select:focus, textarea:focus { border-color: var(--ink) !important; box-shadow: 4px 4px 0 var(--yellow); }
.status { color: var(--ink); border: 1px solid var(--ink); background: var(--yellow); }
.empty-state { border: 2px dashed var(--ink); background: var(--cream); }

/* Newsletter studio */
.newsletter-workspace { display: grid; gap: 1rem; }
.newsletter-hero { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.4rem; border: 2px solid var(--ink); border-radius: 1.25rem; background: var(--yellow); box-shadow: var(--shadow); }
.newsletter-hero h2 { margin-bottom: .45rem; font-size: clamp(1.8rem,3vw,2.6rem); }
.newsletter-hero p:last-child { max-width: 680px; margin: 0; }
.provider-card { display: flex; min-width: 250px; align-items: center; gap: .75rem; padding: .8rem; border: 2px solid var(--ink); border-radius: 1rem; background: white; }
.provider-card > span { display: grid; width: 2.25rem; height: 2.25rem; flex: none; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--green); font-weight: 900; }
.provider-missing > span { background: var(--orange); }
.provider-card strong, .provider-card small { display: block; }
.provider-card small { max-width: 260px; color: var(--ink-2); overflow-wrap: anywhere; }
.newsletter-nav { display: grid; grid-template-columns: repeat(4,1fr); gap: .65rem; }
.newsletter-nav a { display: flex; align-items: center; gap: .65rem; padding: .8rem 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: white; font-weight: 900; }
.newsletter-nav a:nth-child(2) { background: #eaf9fd; }
.newsletter-nav a:nth-child(3) { background: var(--peach); }
.newsletter-nav a:nth-child(4) { background: #e8f9f2; }
.newsletter-nav a.active { background: var(--ink); color: white; transform: translateY(-2px); }
.newsletter-nav span { display: grid; min-width: 1.75rem; height: 1.75rem; padding: 0 .3rem; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: .72rem; }
.newsletter-count { padding: .45rem .7rem; border: 2px solid var(--ink); border-radius: 999px; background: var(--green); }
.newsletter-two-column { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 1rem; align-items: start; }
.newsletter-send-panel { position: sticky; top: 1rem; display: grid; gap: 1rem; }
.newsletter-presets, .newsletter-template-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .6rem; margin-bottom: 1rem; }
.newsletter-presets button, .newsletter-template-grid article { min-width: 0; padding: .8rem; border: 2px solid var(--ink); border-radius: .9rem; color: var(--ink); background: var(--peach); text-align: left; }
.newsletter-presets button:nth-child(4n+2), .newsletter-template-grid article:nth-child(4n+2) { background: #b8effb; }
.newsletter-presets button:nth-child(4n+3), .newsletter-template-grid article:nth-child(4n+3) { background: #bcefdc; }
.newsletter-presets button:nth-child(4n+4), .newsletter-template-grid article:nth-child(4n+4) { background: var(--yellow); }
.newsletter-presets strong, .newsletter-presets small { display: block; }
.newsletter-presets small { margin-top: .25rem; color: var(--ink-2); font-size: .68rem; }
.campaign-audience { margin: .5rem 0; padding: 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: var(--cream); }
.campaign-audience legend { padding: 0 .5rem; font-weight: 900; }
.ai-draft-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .6rem; align-items: end; margin-top: 1rem; padding-top: 1rem; border-top: 2px dashed var(--ink); }
.ai-draft-row label { display: grid; gap: .25rem; font-size: .75rem; font-weight: 900; }
.ai-draft-row .form-help { grid-column: 1/-1; margin: 0; }
.or-divider { display: flex; align-items: center; gap: .5rem; margin: .8rem 0; color: var(--ink-2); font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.or-divider::before, .or-divider::after { content: ''; height: 2px; flex: 1; background: var(--ink); }
.campaign-list, .saved-template-list { display: grid; gap: .7rem; }
.campaign-list > article, .saved-template-list > article { padding: 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: var(--cream); }
.campaign-list header, .saved-template-list > article { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.campaign-list h3 { margin: .4rem 0 .1rem; }
.campaign-list p { margin: 0; color: var(--ink-2); }
.campaign-actions { display: flex; gap: .4rem; }
.campaign-metrics { display: grid; grid-template-columns: repeat(6,1fr); gap: .45rem; margin: .8rem 0; }
.campaign-metrics span { padding: .55rem; border: 1px solid var(--ink); border-radius: .65rem; background: white; font-size: .68rem; }
.campaign-metrics b { display: block; font-size: 1rem; }
.saved-template-list { margin-top: 1rem; }
.saved-template-list strong, .saved-template-list small { display: block; }
.newsletter-template-grid article span { font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.newsletter-template-grid h3 { margin: .55rem 0 .3rem; }
.newsletter-template-grid p { min-height: 3em; color: var(--ink-2); }
.newsletter-template-form { padding-bottom: 1rem; border-bottom: 2px dashed var(--ink); }
.button:disabled { opacity: .45; cursor: not-allowed; transform: none; }

@media (max-width: 1100px) {
  .newsletter-two-column { grid-template-columns: 1fr; }
  .newsletter-send-panel { position: static; grid-template-columns: repeat(2,1fr); }
  .newsletter-presets, .newsletter-template-grid { grid-template-columns: repeat(2,1fr); }
  .campaign-metrics { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 760px) {
  .newsletter-hero { align-items: stretch; flex-direction: column; }
  .provider-card { min-width: 0; }
  .newsletter-nav { grid-template-columns: repeat(2,1fr); }
  .newsletter-send-panel { grid-template-columns: 1fr; }
  .newsletter-presets, .newsletter-template-grid { grid-template-columns: 1fr; }
  .campaign-metrics { grid-template-columns: repeat(2,1fr); }
  .ai-draft-row { grid-template-columns: 1fr; }
  .campaign-list header { flex-direction: column; }
}

/* Homepage: bio-first hero */
.bio-hero { grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr); min-height: 720px; gap: clamp(2rem,6vw,5rem); }
.bio-hero .hero-copy h1 { max-width: 760px; font-size: clamp(3.25rem,6.7vw,6.3rem); }
.bio-hero .hero-copy h1 em { display: inline-block; color: var(--ink); text-decoration: underline; text-decoration-color: var(--orange); text-decoration-thickness: .11em; text-underline-offset: .09em; }
.bio-hero .hero-copy .lead { max-width: 720px; margin-bottom: 1.6rem; font-size: clamp(1.05rem,1.7vw,1.3rem); }
.handle-claim { width: min(650px,100%); }
.handle-claim > label { display: block; margin-bottom: .4rem; font-size: .75rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.handle-claim > div { display: grid; grid-template-columns: auto minmax(120px,1fr) auto; align-items: center; overflow: visible; border: 2px solid var(--ink); border-radius: 1rem; background: white; box-shadow: 5px 5px 0 rgba(17,17,17,.14); }
.handle-claim span { padding-left: 1rem; font-size: 1.15rem; font-weight: 900; }
.handle-claim input { min-width: 0; min-height: 58px; padding: .7rem .35rem; border: 0 !important; box-shadow: none !important; font-size: 1.15rem; font-weight: 800; }
.handle-claim .button { min-height: 62px; margin: -2px; border-radius: 0 1rem 1rem 0; box-shadow: none; }
.hero-benefits { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin-top: 1rem; color: var(--ink-2); font-size: .78rem; font-weight: 800; }
.hero-benefits span::before { content: '✓'; display: inline-grid; width: 1.15rem; height: 1.15rem; margin-right: .35rem; place-items: center; border: 1px solid var(--ink); border-radius: 50%; color: var(--ink); background: var(--green); font-size: .65rem; font-weight: 900; }
.bio-hero-visual { position: relative; min-height: 610px; isolation: isolate; }
.bio-hero-visual::before { content: ''; position: absolute; z-index: -2; width: 420px; height: 420px; top: 75px; left: 50%; border: 2px solid var(--ink); border-radius: 48% 52% 55% 45%; background: var(--yellow); transform: translateX(-50%) rotate(-7deg); }
.bio-hero-visual::after { content: ''; position: absolute; z-index: -1; width: 180px; height: 180px; right: 0; bottom: 55px; border: 2px solid var(--ink); border-radius: 50%; background: var(--blue); }
.bio-phone { position: relative; width: min(315px,72vw); min-height: 575px; margin: 12px auto 0; padding: 1rem 1.1rem 1.25rem; overflow: hidden; border: 3px solid var(--ink); border-radius: 2.25rem; background: var(--ink); color: white; text-align: center; box-shadow: 12px 14px 0 rgba(17,17,17,.16); transform: rotate(3.5deg); }
.bio-phone::before { content: ''; position: absolute; width: 290px; height: 210px; top: -90px; left: -80px; border-radius: 50%; background: var(--green); opacity: .65; }
.bio-phone-top { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin-bottom: 1rem; font-size: .58rem; }
.bio-phone-top span { width: 3rem; height: .28rem; justify-self: start; border-radius: 99px; background: rgba(255,255,255,.3); }
.bio-phone-top b { justify-self: end; letter-spacing: .08rem; }
.bio-phone > img { position: relative; padding: .28rem; border: 3px solid white; border-radius: 1.15rem; background: white; }
.bio-phone h2 { position: relative; margin: .65rem 0 .1rem; color: white; font-size: 1.65rem; }
.bio-phone > p { position: relative; margin-bottom: .65rem; color: rgba(255,255,255,.72); font-size: .75rem; }
.bio-socials { position: relative; display: flex; justify-content: center; gap: .4rem; margin-bottom: .8rem; }
.bio-socials span { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border: 1px solid white; border-radius: 50%; background: var(--blue); color: var(--ink); font-size: .65rem; font-weight: 900; }
.bio-link-list { position: relative; display: grid; gap: .55rem; }
.bio-link-list > span { display: flex; min-height: 49px; align-items: center; justify-content: space-between; padding: .65rem .85rem; border: 2px solid var(--ink); border-radius: .8rem; color: var(--ink); background: var(--yellow); font-size: .78rem; font-weight: 900; text-align: left; }
.bio-link-list > span:nth-child(2) { background: var(--green); }
.bio-link-list > span:nth-child(3) { background: var(--peach); }
.bio-link-list > span:nth-child(4) { background: var(--blue); }
.bio-phone-newsletter { position: relative; margin-top: .7rem; padding: .7rem; border: 1px solid rgba(255,255,255,.4); border-radius: .8rem; text-align: left; }
.bio-phone-newsletter small { display: block; margin-bottom: .35rem; font-weight: 900; }
.bio-phone-newsletter > span { display: flex; align-items: center; justify-content: space-between; padding: .5rem .6rem; border-radius: .5rem; color: #777; background: white; font-size: .65rem; }
.bio-phone-newsletter b { padding: .25rem .45rem; border-radius: .35rem; color: var(--ink); background: var(--yellow); }
.floating-feature { position: absolute; z-index: 3; display: flex; align-items: center; gap: .6rem; padding: .75rem .9rem; border: 2px solid var(--ink); border-radius: .9rem; color: var(--ink); background: white; box-shadow: 5px 5px 0 rgba(17,17,17,.16); font-size: .72rem; }
.floating-feature b, .floating-feature span, .floating-feature small { display: block; }
.floating-feature-newsletter { top: 110px; left: -5px; background: var(--peach); transform: rotate(-5deg); }
.floating-feature-newsletter b { font-size: 1.25rem; }
.floating-feature-booking { top: 265px; right: -5px; background: var(--green); transform: rotate(5deg); }
.floating-feature-booking > span, .floating-feature-ai > span { display: grid; width: 1.75rem; height: 1.75rem; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: white; font-weight: 900; }
.floating-feature-ai { left: -15px; bottom: 75px; background: var(--blue); transform: rotate(-3deg); }
.floating-feature-ai small { color: var(--ink-2); }

@media (max-width: 900px) {
  .bio-hero { grid-template-columns: 1fr; padding-bottom: 2.5rem; }
  .bio-hero-visual { width: min(560px,100%); margin-inline: auto; }
}
@media (max-width: 520px) {
  .bio-hero .hero-copy h1 { font-size: clamp(3rem,15vw,4.4rem); }
  .handle-claim > div { grid-template-columns: auto minmax(0,1fr); }
  .handle-claim .button { grid-column: 1/-1; width: calc(100% + 4px); margin: 0 -2px -2px; border-radius: 0 0 1rem 1rem; }
  .bio-hero-visual { min-height: 620px; }
  .bio-hero-visual::before { width: 320px; height: 390px; }
  .bio-phone { transform: none; }
  .floating-feature-newsletter { top: 85px; left: 0; }
  .floating-feature-booking { top: 305px; right: 0; }
  .floating-feature-ai { left: 0; bottom: 30px; }
}

/* Profile design studio and safe public-page appearance controls */
.appearance-studio { margin-bottom: 1rem; }
.appearance-studio .card-heading { align-items: flex-start; }
.appearance-studio .card-heading p:last-child { max-width: 720px; margin-bottom: 0; color: var(--ink-2); }
.appearance-form { display: grid; gap: 1.3rem; }
.appearance-form fieldset, .block-appearance-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.appearance-form legend, .block-appearance-fields legend { margin-bottom: .7rem; font-weight: 900; }
.theme-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.theme-choice { position: relative; cursor: pointer; }
.theme-choice > input { position: absolute; opacity: 0; pointer-events: none; }
.theme-choice-card { display: grid; min-height: 145px; padding: .9rem; gap: .45rem; border: 2px solid var(--ink); border-radius: 1rem; background: white; transition: transform .16s ease, box-shadow .16s ease; }
.theme-choice-card > i { display: flex; height: 42px; overflow: hidden; border: 2px solid var(--ink); border-radius: .55rem; }
.theme-choice-card > i b { flex: 1; }
.theme-choice-card strong { font-size: 1rem; }
.theme-choice-card small { color: var(--ink-2); line-height: 1.35; }
.theme-choice input:checked + .theme-choice-card { background: var(--yellow); box-shadow: 4px 4px 0 var(--ink); transform: translateY(-2px); }
.theme-choice input:focus-visible + .theme-choice-card { outline: 3px solid var(--blue); outline-offset: 2px; }
.appearance-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; }
.appearance-options label { display: grid; gap: .35rem; font-size: .78rem; font-weight: 900; }
.appearance-options select { width: 100%; min-height: 46px; padding: .7rem; border: 2px solid var(--ink); border-radius: .7rem; background: white; }
.appearance-save { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 2px solid var(--ink); }
.appearance-save span { color: var(--ink-2); font-size: .8rem; }
.stack-form label:has(> select[name="accent"]) { display: none; }
.block-appearance-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; padding: .9rem; border: 2px solid var(--ink); border-radius: .8rem; background: var(--mist); }
.block-appearance-fields legend { float: left; width: 100%; }
.block-appearance-fields label { display: grid; gap: .3rem; font-size: .72rem; font-weight: 900; }
.block-appearance-fields select { width: 100%; min-height: 42px; padding: .55rem; border: 2px solid var(--ink); border-radius: .55rem; background: white; }

.profile-theme { --profile-page-bg: var(--cream); --profile-header-bg: var(--yellow); --profile-default-a: white; --profile-default-b: #fff7d7; --profile-default-c: #e8f9f2; --profile-default-d: #eaf9fd; background: var(--profile-page-bg); }
.profile-theme.theme-sunshine { --teal: #a83a00; --teal-dark: #6f2600; --blossom: #ff4b0a; --profile-page-bg: #fff9de; --profile-header-bg: #ffc21a; --profile-default-b: #ffe4d6; --profile-default-c: #fff0a8; }
.profile-theme.theme-ocean { --teal: #006f8d; --teal-dark: #064b5c; --blossom: #078e67; --profile-page-bg: #eefbff; --profile-header-bg: #10b7e3; --profile-default-b: #d9f6ff; --profile-default-c: #dff8ee; }
.profile-theme.theme-forest { --teal: #087653; --teal-dark: #064c38; --blossom: #d7772d; --profile-page-bg: #effbf4; --profile-header-bg: #8ee0bd; --profile-default-b: #dff8ee; --profile-default-c: #fff3ce; }
.profile-theme.theme-rose { --teal: #8b244c; --teal-dark: #5c1732; --blossom: #a92150; --profile-page-bg: #fff1eb; --profile-header-bg: #ffb8a5; --profile-default-b: #ffe4d6; --profile-default-c: #ffd8e5; }
.profile-theme.theme-midnight { --teal: #0b8eb2; --teal-dark: #075b74; --blossom: #ff6b35; --profile-page-bg: #171717; --profile-header-bg: #10b7e3; --profile-default-a: #fff8ec; --profile-default-b: #ffc21a; --profile-default-c: #bcefdc; --profile-default-d: #b8effb; }
.profile-theme.theme-stage { --teal: #f0c96b; --teal-dark: #fff0b7; --blossom: #d04b99; --profile-page-bg: #160d1b; --profile-header-bg: #30152d; --profile-default-a: #281b2c; --profile-default-b: #3a1835; --profile-default-c: #1d2634; --profile-default-d: #372412; color: white; }
.profile-theme.theme-stage .profile-block { color: white; }
.profile-theme.theme-stage .profile-block p { color: rgba(255,255,255,.78); }
.profile-theme.theme-studio { --teal: #9b3e21; --teal-dark: #562315; --blossom: #c9663e; --profile-page-bg: #f1eee8; --profile-header-bg: #d9d3c9; --profile-default-b: #eee3da; --profile-default-c: #e4e1d9; }
.profile-theme.theme-culinary { --teal: #52633a; --teal-dark: #2d3b1e; --blossom: #b73d22; --profile-page-bg: #fff4df; --profile-header-bg: #edc98b; --profile-default-b: #ffe7c2; --profile-default-c: #e8ebd7; }
.profile-theme.theme-executive { --teal: #1c5f91; --teal-dark: #163451; --blossom: #2d7bb3; --profile-page-bg: #eaf1f8; --profile-header-bg: #b9d7eb; --profile-default-b: #d9e8f3; --profile-default-c: #eef3f7; }
.profile-background-solid { background: var(--profile-bg-one); }
.profile-background-gradient { background: linear-gradient(145deg,var(--profile-bg-one),var(--profile-bg-two)); }
.profile-background-image { background-color: var(--profile-bg-one); background-image: linear-gradient(var(--profile-overlay-color),var(--profile-overlay-color)),var(--profile-bg-image); background-position: center; background-size: cover; background-attachment: fixed; }
.profile-background-image.profile-bg-top { background-position: top center; }
.profile-background-image.profile-bg-bottom { background-position: bottom center; }
.profile-overlay-none { --profile-overlay-color: transparent; }
.profile-overlay-soft { --profile-overlay-color: rgba(0,0,0,.14); }
.profile-overlay-medium { --profile-overlay-color: rgba(0,0,0,.3); }
.profile-overlay-strong { --profile-overlay-color: rgba(0,0,0,.48); }
.profile-theme .profile-header { background: var(--profile-header-bg); }
.profile-theme.profile-font-editorial h1, .profile-theme.profile-font-editorial h2, .profile-theme.profile-font-editorial h3 { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.profile-theme.profile-font-clean, .profile-theme.profile-font-clean h1, .profile-theme.profile-font-clean h2, .profile-theme.profile-font-clean h3 { font-family: Arial, Helvetica, sans-serif; letter-spacing: -.025em; }
.profile-theme.profile-width-standard .public-profile { width: min(900px,calc(100% - 2rem)); }
.profile-theme.profile-width-wide .public-profile { width: min(1120px,calc(100% - 2rem)); }
.profile-header-left .profile-header { text-align: left; }
.profile-header-left .profile-header > p:not(.profession) { margin-inline: 0; }
.profile-header-left .profile-meta, .profile-header-left .profile-actions, .profile-header-left .social-icon-list { justify-content: flex-start; }
.profile-header-spotlight .profile-header { color: white; background: var(--ink); }
.profile-header-spotlight .profile-header .profession { color: var(--yellow); }
.profile-header-spotlight .profile-header > p:not(.profession) { color: rgba(255,255,255,.82); }
.profile-hero-panel .profile-header { display: grid; grid-template-columns: auto minmax(0,1fr); text-align: left; }
.profile-hero-panel .profile-header > :not(.profile-avatar-wrap) { grid-column: 2; }
.profile-hero-panel .profile-header .profile-avatar-wrap { grid-row: 1 / span 7; margin-right: 1.5rem; align-self: center; }
.profile-hero-panel .profile-header :is(.profile-meta,.profile-actions,.social-icon-list) { justify-content: flex-start; }
.profile-hero-poster .profile-header { min-height: 520px; display: flex; flex-direction: column; justify-content: flex-end; color: white; background: linear-gradient(180deg,transparent 10%,rgba(0,0,0,.72)),var(--profile-header-bg); }
.profile-hero-poster .profile-header > p:not(.profession) { color: rgba(255,255,255,.85); }
.profile-avatar-rounded .profile-header .avatar.large { border-radius: 1.2rem; }
.profile-avatar-portrait .profile-header .avatar.large { width: 150px; height: 190px; border-radius: 1rem; }
.profile-avatar-size-large .profile-header .avatar.large { width: 180px; height: 180px; }
.profile-avatar-size-large.profile-avatar-portrait .profile-header .avatar.large { width: 190px; height: 245px; }
.profile-content-glass .profile-block { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.74)!important; backdrop-filter: blur(14px); }
.profile-content-minimal .profile-block { padding-inline: 0; border: 0; border-radius: 0; background: transparent!important; box-shadow: none; }
.profile-spacing-compact .profile-blocks { gap: .55rem; }
.profile-spacing-compact .profile-block { padding: 1rem; }
.profile-spacing-airy .profile-blocks { gap: 2rem; }
.profile-spacing-airy .profile-block { padding: clamp(1.8rem,5vw,3rem); }
.profile-motion-subtle .profile-header, .profile-motion-subtle .profile-block-shell { animation: profile-rise .55s both; }
.profile-motion-subtle .profile-block-shell:nth-child(2) { animation-delay: .08s; }
.profile-motion-subtle .profile-block-shell:nth-child(3) { animation-delay: .16s; }
@keyframes profile-rise { from { opacity: 0; transform: translateY(14px); } }
.profile-buttons-pill .public-profile .button, .profile-buttons-pill .product-card-action { border-radius: 999px; }
.profile-buttons-soft .public-profile .button, .profile-buttons-soft .product-card-action { border-width: 1px; border-radius: .7rem; box-shadow: none; }
.profile-block-shell { min-width: 0; }
.profile-block-shell.block-width-compact { width: min(680px,100%); margin-inline: auto; }
.profile-block-shell.block-corner-soft > .profile-block { border-radius: .55rem; }
.profile-block-shell.block-corner-square > .profile-block { border-radius: 0; }
.profile-block-shell.block-corner-soft :is(.video-frame,.music-card iframe,.podcast-player iframe,.product-card,.pricing-card,blockquote) { border-radius: .45rem; }
.profile-block-shell.block-corner-square :is(.video-frame,.music-card iframe,.podcast-player iframe,.product-card,.pricing-card,blockquote) { border-radius: 0; }
.profile-block-shell.block-surface-paper > .profile-block { background: white; }
.profile-block-shell.block-surface-yellow > .profile-block { background: var(--yellow); }
.profile-block-shell.block-surface-green > .profile-block { background: var(--green); }
.profile-block-shell.block-surface-blue > .profile-block { background: var(--blue); }
.profile-block-shell.block-surface-peach > .profile-block { background: var(--peach); }
.profile-block-shell.block-surface-ink > .profile-block { color: white; background: var(--ink); }
.profile-block-shell.block-surface-ink > .profile-block p, .profile-block-shell.block-surface-ink > .profile-block small { color: rgba(255,255,255,.78); }
.profile-block-shell.block-surface-ink > .profile-block .eyebrow, .profile-block-shell.block-surface-ink > .profile-block a:not(.button) { color: var(--yellow); }
.profile-block-shell:nth-child(4n+1).block-surface-default > .profile-block { background: var(--profile-default-a); }
.profile-block-shell:nth-child(4n+2).block-surface-default > .profile-block { background: var(--profile-default-b); }
.profile-block-shell:nth-child(4n+3).block-surface-default > .profile-block { background: var(--profile-default-c); }
.profile-block-shell:nth-child(4n+4).block-surface-default > .profile-block { background: var(--profile-default-d); }
.profile-block-shell:not(.block-surface-default) > .media-player-block { padding: clamp(1rem,3vw,1.5rem); border: 2px solid var(--ink); box-shadow: 5px 5px 0 rgba(17,17,17,.15); }
.preview-block.block-surface-yellow { background: var(--yellow); }
.preview-block.block-surface-green { background: var(--green); }
.preview-block.block-surface-blue { background: var(--blue); }
.preview-block.block-surface-peach { background: var(--peach); }
.preview-block.block-surface-ink { color: white; background: var(--ink); }
.preview-block.block-corner-soft { border-radius: .3rem; }
.preview-block.block-corner-square { border-radius: 0; }
.preview-block.block-width-compact { width: 78%; margin-inline: auto; }
.annual-design-controls { padding: 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: var(--mist); }
.annual-design-controls legend { padding: 0 .45rem; font-weight: 900; }
.annual-design-controls legend span { color: var(--teal); }
.appearance-options.advanced { grid-template-columns: repeat(3,minmax(0,1fr)); }
.appearance-options input[type="color"] { width: 100%; min-height: 46px; padding: .25rem; border: 2px solid var(--ink); border-radius: .7rem; background: white; }
.background-upload { display: flex; align-items: center; gap: .75rem; margin-top: 1rem; padding: 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: white; }
.background-upload > div { display: grid; margin-right: auto; }
.background-upload small { color: var(--ink-2); }
.card-qr-settings { margin-top: 1rem; }
.card-qr-preview { display: flex; align-items: center; gap: 1rem; padding: 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: var(--mist); }
.card-qr-preview img { width: 120px; border-radius: .5rem; }
.card-qr-preview p { display: grid; min-width: 0; margin: 0; gap: .25rem; }
.card-qr-preview span { overflow-wrap: anywhere; color: var(--ink-2); }
.qr-caption { margin: .35rem 0 1rem; color: var(--ink-2); font-size: .78rem; font-weight: 800; }
.repeater-row-rich { grid-template-columns: repeat(2,minmax(140px,1fr)) 2rem!important; }
.repeater-row-rich .row-value, .repeater-row-rich .row-extra, .repeater-row-rich .row-image { grid-column: span 1; }
.recipe-grid { display: grid; gap: 1rem; }
.recipe-card { overflow: hidden; border: 1px solid var(--line); border-radius: .9rem; background: var(--paper); }
.recipe-card > img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.recipe-card > div { padding: 1rem; }
.recipe-card h3 { margin-bottom: .25rem; }
.recipe-card h4 { margin: .9rem 0 .25rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.recipe-meta { color: var(--teal)!important; font-weight: 800; }
.preserve-lines { white-space: pre-line; }
.restaurant-menu { display: grid; gap: 1.25rem; }
.restaurant-menu > section > h3 { padding-bottom: .45rem; border-bottom: 2px solid var(--ink); }
.menu-item { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .8rem; align-items: center; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.menu-item img { width: 68px; height: 68px; border-radius: .65rem; object-fit: cover; }
.menu-item h4, .menu-item p { margin: 0; }
.menu-item p { color: var(--ink-2); font-size: .84rem; }
.menu-item > strong { color: var(--teal); }

@media (max-width: 760px) {
  .theme-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .appearance-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .appearance-save { align-items: stretch; flex-direction: column; }
  .profile-hero-panel .profile-header { display: block; text-align: center; }
  .profile-hero-panel .profile-header .profile-avatar-wrap { margin-right: 0; }
  .profile-hero-panel .profile-header :is(.profile-meta,.profile-actions,.social-icon-list) { justify-content: center; }
  .appearance-options.advanced { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .background-upload { align-items: stretch; flex-direction: column; }
}
@media (max-width: 520px) {
  .theme-choice-grid, .appearance-options, .appearance-options.advanced, .block-appearance-fields { grid-template-columns: 1fr; }
  .theme-choice-card { min-height: 125px; }
}

/* Contact CRM */
.crm-workspace { display: grid; gap: 1rem; }
.crm-hero { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem; border: 2px solid var(--ink); border-radius: 1.25rem; background: var(--green); box-shadow: var(--shadow); }
.crm-hero h2 { margin: .1rem 0 .35rem; font-size: clamp(1.8rem,3vw,2.7rem); }
.crm-hero p:last-child { max-width: 690px; margin: 0; }
.crm-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; }
.crm-summary article { display: grid; gap: .25rem; padding: 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: white; box-shadow: 3px 3px 0 rgba(17,17,17,.1); }
.crm-summary article:nth-child(2) { background: var(--yellow); }
.crm-summary article:nth-child(3) { background: var(--peach); }
.crm-summary article:nth-child(4) { background: var(--blue); }
.crm-summary span { color: var(--ink-2); font-size: .76rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.crm-summary strong { font-size: 1.8rem; }
.crm-filters { display: grid; grid-template-columns: minmax(220px,1.7fr) repeat(4,minmax(130px,1fr)) auto auto; align-items: end; gap: .65rem; padding: 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: white; }
.crm-filters label { display: grid; gap: .3rem; font-size: .73rem; font-weight: 900; }
.crm-filters input, .crm-filters select { width: 100%; min-height: 44px; padding: .6rem .7rem; border-radius: .65rem; background: white; }
.crm-filters > a { padding: .7rem .3rem; font-weight: 900; text-align: center; }
.crm-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; align-items: start; }
.crm-layout.has-detail { grid-template-columns: minmax(430px,1.15fr) minmax(380px,.85fr); }
.crm-list, .crm-detail { min-width: 0; }
.crm-contact-list { display: grid; gap: .6rem; }
.crm-contact { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .8rem; padding: .8rem; border: 2px solid var(--ink); border-radius: .9rem; color: var(--ink); background: white; }
.crm-contact:hover, .crm-contact.active { color: var(--ink); background: var(--yellow); box-shadow: 3px 3px 0 var(--ink); transform: translate(-1px,-1px); }
.crm-avatar { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--peach); font-weight: 900; }
.crm-contact > span:nth-child(2) { display: grid; min-width: 0; gap: .15rem; }
.crm-contact > span:nth-child(2) small { overflow: hidden; color: var(--ink-2); text-overflow: ellipsis; }
.crm-contact i { color: var(--teal); font-size: .72rem; font-style: normal; font-weight: 900; }
.crm-contact-state { display: grid; justify-items: end; gap: .3rem; }
.crm-contact-state em { padding: .15rem .35rem; border: 1px solid var(--ink); border-radius: 999px; color: var(--ink); background: var(--peach); font-size: .65rem; font-style: normal; font-weight: 900; }
.crm-contact-state small { color: var(--ink-2); font-size: .68rem; }
.crm-contact-methods { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.crm-contact-methods a { padding: .45rem .65rem; border: 2px solid var(--ink); border-radius: 999px; color: var(--ink); background: var(--blue); font-size: .78rem; font-weight: 900; }
.crm-edit { padding-bottom: 1rem; border-bottom: 2px solid var(--ink); }
.crm-note { padding: 1rem 0; border-bottom: 2px solid var(--ink); }
.crm-note textarea { min-height: 95px; }
.crm-timeline { padding-top: 1rem; }
.crm-timeline > h3 { margin-bottom: .8rem; }
.crm-timeline article { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .7rem; padding: .8rem 0; border-top: 1px solid var(--line); }
.crm-timeline article > span { display: grid; width: 2rem; height: 2rem; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--yellow); font-size: .72rem; font-weight: 900; }
.crm-timeline article div { display: grid; gap: .18rem; min-width: 0; }
.crm-timeline small { color: var(--ink-2); font-size: .7rem; }
.crm-timeline p { margin: .25rem 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }

@media (max-width: 1250px) {
  .crm-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .crm-search { grid-column: span 2; }
}
@media (max-width: 980px) {
  .crm-layout.has-detail { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .crm-hero { align-items: stretch; flex-direction: column; }
  .crm-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .crm-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .crm-search { grid-column: 1/-1; }
}
@media (max-width: 480px) {
  .crm-summary, .crm-filters { grid-template-columns: 1fr; }
  .crm-search { grid-column: auto; }
  .crm-contact { grid-template-columns: auto minmax(0,1fr); }
  .crm-contact-state { grid-column: 2; justify-items: start; grid-auto-flow: column; align-items: center; }
}

/* Multiple pages and team workspaces */
.workspace-dashboard { display: grid; gap: 1rem; }
.workspace-hero { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem; border: 2px solid var(--ink); border-radius: 1.25rem; background: var(--blue); box-shadow: var(--shadow); }
.workspace-hero h2 { margin: .1rem 0 .35rem; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.workspace-hero p:last-child { max-width: 720px; margin: 0; }
.workspace-hero > span { flex: 0 0 auto; padding: .45rem .7rem; border: 2px solid var(--ink); border-radius: 999px; background: white; font-size: .75rem; font-weight: 900; }
.workspace-page-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.workspace-page-grid article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; padding: .85rem; border: 2px solid var(--ink); border-radius: 1rem; background: white; }
.workspace-page-grid article.active { background: var(--yellow); box-shadow: 3px 3px 0 var(--ink); }
.workspace-page-grid article > div, .workspace-member-heading > div { display: grid; min-width: 0; gap: .15rem; }
.workspace-page-grid small, .workspace-member-heading small { overflow: hidden; color: var(--ink-2); text-overflow: ellipsis; }
.workspace-page-grid em { color: var(--ink-2); font-size: .72rem; font-style: normal; font-weight: 900; }
.workspace-page-avatar { display: grid; width: 2.7rem; height: 2.7rem; place-items: center; border: 2px solid var(--ink); border-radius: .8rem; background: var(--peach); font-weight: 900; }
.workspace-page-checks { display: grid; gap: .4rem; margin: 0; padding: .75rem; border: 2px solid var(--ink); border-radius: .8rem; }
.workspace-page-checks legend { padding-inline: .3rem; font-size: .76rem; font-weight: 900; }
.workspace-page-checks .check { display: flex; align-items: center; gap: .45rem; }
.workspace-page-checks input { width: auto; min-height: 0; }
.workspace-owner-tools hr { width: 100%; margin: 1.2rem 0; border: 0; border-top: 2px solid var(--ink); }
.workspace-member-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.workspace-member-list > article { min-width: 0; padding: 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: var(--cream); }
.workspace-member-heading { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .7rem; }
.workspace-member-form { margin-top: .8rem; }
.workspace-remove-member { margin-top: .55rem; }
.workspace-switcher label { display: grid; gap: .25rem; color: var(--ink-2); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.workspace-switcher select { width: 100%; min-height: 40px; padding: .45rem .55rem; border: 2px solid var(--ink); border-radius: .65rem; background: white; color: var(--ink); }
.readonly-notice { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; padding: .8rem 1rem; border: 2px solid var(--ink); border-radius: .9rem; background: var(--yellow); }
.readonly-notice span { color: var(--ink-2); }
.dashboard-readonly .dashboard-main form[method="post"] { pointer-events: none; opacity: .58; }

@media (max-width: 900px) {
  .workspace-page-grid, .workspace-member-list { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .workspace-hero { align-items: stretch; flex-direction: column; }
  .workspace-hero > span { align-self: flex-start; }
  .workspace-page-grid article { grid-template-columns: auto minmax(0, 1fr); }
  .workspace-page-grid article > :last-child { grid-column: 2; justify-self: start; }
  .readonly-notice { align-items: flex-start; flex-direction: column; }
}

/* Custom domains and sharing */
.sharing-dashboard { display: grid; gap: 1rem; }
.sharing-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 1rem; padding: 1.35rem; border: 2px solid var(--ink); border-radius: 1.25rem; background: var(--yellow); box-shadow: var(--shadow); }
.sharing-hero h2 { margin: .1rem 0 .4rem; font-size: clamp(2rem, 4vw, 3.3rem); }
.sharing-primary-url { display: grid; align-content: center; gap: .55rem; padding: 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: white; }
.sharing-primary-url > span { color: var(--ink-2); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.sharing-primary-url > strong { overflow-wrap: anywhere; font-size: 1.05rem; }
.sharing-primary-url > div, .domain-actions, .share-channel-links { display: flex; flex-wrap: wrap; gap: .55rem; }
.social-preview-card { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: .9rem; margin: 1rem 0; overflow: hidden; border: 2px solid var(--ink); border-radius: 1rem; background: var(--cream); }
.social-preview-card img { width: 110px; height: 100%; min-height: 125px; object-fit: cover; background: var(--green); }
.social-preview-card div { display: grid; align-content: center; gap: .2rem; padding: .75rem .75rem .75rem 0; }
.social-preview-card small { color: var(--ink-2); text-transform: uppercase; }
.social-preview-card span { display: -webkit-box; overflow: hidden; color: var(--ink-2); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.share-qr-card { text-align: center; }
.share-qr-card > img { width: min(280px, 100%); margin: .75rem auto; border: 2px solid var(--ink); border-radius: 1rem; background: white; }
.share-channel-links { justify-content: center; margin-top: .75rem; }
.share-channel-links a { padding: .45rem .7rem; border: 2px solid var(--ink); border-radius: 999px; color: var(--ink); background: var(--blue); font-size: .78rem; font-weight: 900; }
.custom-domain-add { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .75rem; margin: 1rem 0; }
.custom-domain-add label { display: grid; gap: .3rem; font-weight: 900; }
.custom-domain-add input { width: 100%; min-height: 48px; }
.custom-domain-list { display: grid; gap: .8rem; }
.custom-domain-list > article { padding: 1rem; border: 2px solid var(--ink); border-radius: 1rem; background: var(--cream); }
.custom-domain-list article > header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.custom-domain-list article > header div { display: grid; gap: .15rem; }
.custom-domain-list article > header small { color: var(--ink-2); }
.dns-records { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: .9rem 0; }
.dns-records > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem; padding: .75rem; border: 1px solid var(--ink); border-radius: .75rem; background: white; }
.dns-records code { grid-column: 1 / -1; overflow-x: auto; padding: .35rem .45rem; border-radius: .35rem; background: var(--green); color: var(--ink); font-size: .72rem; white-space: nowrap; }
.domain-error { padding: .55rem .7rem; border-left: 4px solid #b23a3a; background: #fff0ef; color: #8b2929; font-weight: 800; }
.domain-actions form { margin: 0; }
.domain-actions button { min-height: 40px; }
.domain-status-active { background: var(--green); }
.domain-status-pending { background: var(--yellow); }
.domain-status-disabled { background: var(--peach); }

@media (max-width: 860px) {
  .sharing-hero, .dns-records { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .custom-domain-add { grid-template-columns: 1fr; }
  .social-preview-card { grid-template-columns: 78px minmax(0, 1fr); }
  .social-preview-card img { width: 78px; min-height: 110px; }
}
