@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');
:root{--background:#ffffff;--foreground:#202027;--muted:#72727d;--line:#e9e9ef;--panel-soft:#f6f6f9;--accent:#6854df;--accent-strong:#5742c8;--accent-tint:#f0edfd;--hub-font:'Plus Jakarta Sans', "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;}
:root {
  --lp-font: var(--hub-font);
  --lp-mono: "JetBrains Mono", ui-monospace, monospace;
  --lp-text: var(--foreground);
  --lp-muted: #60606d;
  --lp-error: #b42318;
  --lp-success: #166534;
  --lp-warning: #8b5100;
  --lp-custom-url-background: var(--lp-soft);
  --lp-custom-url-ink: var(--lp-action-hover);
  --lp-custom-url-rule: var(--lp-rule);
  --lp-custom-url-benefit-background: var(--lp-feature-sea);
  --lp-custom-url-benefit-text: var(--lp-book-ink);
  --lp-custom-url-benefit-radius: 999px;
  --lp-paper: var(--background);
  --lp-soft: var(--panel-soft);
  --lp-rule: var(--line);
  --lp-action: var(--accent);
  --lp-action-hover: var(--accent-strong);
  --lp-selected: var(--accent-tint);
  --lp-accent-paper: #faf8ff;
  --lp-feature-cream: #fbf2e5;
  --lp-feature-rose: #fff0f3;
  --lp-feature-sea: #eaf8fc;
  --lp-coral: #e88491;
  --lp-turquoise: #168fa8;
  --lp-instagram: #bb3d86;
  --lp-on-action: #fff;
  --lp-support-background: var(--lp-selected);
  --lp-support-text: var(--lp-action-hover);
  --lp-support-border: var(--lp-action);
  --lp-support-size: 15px;
  --lp-support-icon: 18px;
  --lp-support-demo-height: 236px;
  --lp-post-cover-height: 128px;
  --lp-post-preview-width: 420px;
  --lp-space-1: 4px;
  --lp-space-2: 8px;
  --lp-space-3: 12px;
  --lp-space-4: 16px;
  --lp-space-5: 24px;
  --lp-space-6: 32px;
  --lp-space-7: 48px;
  --lp-space-8: 72px;
  --lp-space-9: 96px;
  --lp-width: 1120px;
  --lp-copy-width: 560px;
  --lp-preview-width: 380px;
  --lp-payment-width: 360px;
  --lp-radius: 8px;
  --lp-preview-radius: 16px;
  --lp-circle: 50%;
  --lp-control: 44px;
  --lp-header: 80px;
  --lp-avatar: 76px;
  --lp-cover-height: 112px;
  --lp-avatar-ring: 4px;
  --lp-social-size: 28px;
  --lp-social-target: 36px;
  --lp-bio-width: 340px;
  --lp-bio-thumbnail-height: 48px;
  --lp-feature-height: 176px;
  --lp-mini-card-width: 280px;
  --lp-mini-card-image: 48px;
  --lp-mini-card-icon: 32px;
  --lp-mini-card-line: 1.5;
  --lp-name-input-width: 240px;
  --lp-name-input-border: #878795;
  --lp-address-title: 26px;
  --lp-address-slot: 64px;
  --lp-feature-book-width: 70px;
  --lp-feature-book-height: 112px;
  --lp-feature-video-width: 174px;
  --lp-mini-page-width: 170px;
  --lp-mini-bio-width: 260px;
  --lp-mini-cover-height: 48px;
  --lp-mini-avatar: 32px;
  --lp-mini-control: 12px;
  --lp-mini-type: 11px;
  --lp-faq-width: 860px;
  --lp-closing-width: 360px;
  --lp-closing-height: 200px;
  --lp-video-eyecatch: 22px;
  --lp-preview-copy-top: 24px;
  --lp-hero-top: 36px;
  --lp-youtube: #e32424;
  --lp-video-play-width: 52px;
  --lp-video-play-height: 36px;
  --lp-video-duration-size: 11px;
  --lp-media-ink: #fff;
  --lp-media-shade: rgba(0,0,0,.7);
  --lp-icon: 20px;
  --lp-small: 13px;
  --lp-caption: 14px;
  --lp-body: 16px;
  --lp-lead: 18px;
  --lp-subtitle: 22px;
  --lp-heading: clamp(28px, 3.3vw, 38px);
  --lp-title: clamp(36px, 4.5vw, 58px);
  --lp-price: 30px;
  --lp-line: 1.8;
  --lp-title-line: 1.35;
  --lp-focus: 3px;
  --lp-plan-peek: 28px;
  --lp-book-ink: #365660;
  --lp-book-paper: #eef3ef;
  --lp-book-width: 52px;
  --lp-book-height: 78px;
  --lp-preview-shadow: 0 18px 44px -34px rgba(32,32,39,.35);
}
@media (max-width: 700px) {
  :root { --lp-space-8: 48px; --lp-space-9: 64px; --lp-header: 72px; --lp-hero-top: 24px; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--lp-space-5); }
body { margin: 0; color: var(--lp-text); background: var(--lp-paper); font: var(--lp-body)/var(--lp-line) var(--lp-font); -webkit-font-smoothing: antialiased; }
h1,h2,h3,p,figure,ul { margin: 0; }
h1,h2,h3 { line-height: var(--lp-title-line); text-wrap: balance; }
h1 { font-size: var(--lp-title); font-weight: 750; letter-spacing: -.035em; }
.hero-word { color: var(--lp-action-hover); }
h2 { font-size: var(--lp-heading); letter-spacing: -.025em; }
h3 { font-size: var(--lp-subtitle); letter-spacing: -.015em; }
a { color: inherit; text-decoration: none; text-decoration-skip-ink: none; }
button { font: inherit; cursor: pointer; }
svg { width: var(--lp-icon); height: var(--lp-icon); flex: 0 0 var(--lp-icon); }
:is(a,button,summary,[tabindex]):focus-visible { outline: var(--lp-focus) solid var(--lp-action-hover); outline-offset: var(--lp-space-1); }
.wrap { width: min(calc(100% - var(--lp-space-6) * 2), var(--lp-width)); margin-inline: auto; }
.section { padding-block: var(--lp-space-8); }
.small { color: var(--lp-muted); font-size: var(--lp-small); }
.eyebrow { color: var(--lp-action-hover); font-size: var(--lp-caption); font-weight: 650; }
.section-heading { display: grid; gap: var(--lp-space-4); margin-bottom: var(--lp-space-7); max-width: var(--lp-copy-width); }
.section-heading > p:last-child:not(.eyebrow) { color: var(--lp-muted); }
.skip { position: absolute; transform: translateY(-200%); background: var(--lp-paper); padding: var(--lp-space-3); z-index: 2; }
.skip:focus { transform: none; }
.site-header { min-height: var(--lp-header); display: flex; align-items: center; justify-content: space-between; gap: var(--lp-space-5); border-bottom: 1px solid var(--lp-rule); }
.wordmark { display: inline-flex; align-items: center; gap: var(--lp-space-2); min-height: var(--lp-control); font-size: var(--lp-subtitle); font-weight: 750; }
.wordmark > svg { color: var(--lp-action-hover); }
.wordmark small { font-size: var(--lp-small); font-weight: 500; color: var(--lp-muted); margin-left: var(--lp-space-2); }
.site-header nav { display: flex; align-items: center; gap: var(--lp-space-6); font-size: var(--lp-caption); }
.site-header nav a { display: inline-flex; align-items: center; min-height: var(--lp-control); }
.site-header nav a:hover,.text-link:hover,.site-footer a:hover { color: var(--lp-action-hover); }
.language { color: var(--lp-action-hover); font-weight: 650; }
.hero { display: grid; grid-template-columns: minmax(0,1fr) var(--lp-preview-width); align-items: start; gap: var(--lp-space-8); padding-block: var(--lp-hero-top) var(--lp-space-9); }
.hero-copy { display: grid; gap: var(--lp-space-5); min-width: 0; padding-top: var(--lp-preview-copy-top); }
.lead { font-size: var(--lp-lead); color: var(--lp-muted); line-height: var(--lp-line); }
.bio-example { display: grid; gap: var(--lp-space-3); width: min(100%,var(--lp-bio-width)); padding: var(--lp-space-4); border: 1px solid var(--lp-rule); border-radius: var(--lp-preview-radius); background: var(--lp-selected); font-size: var(--lp-caption); }
.bio-source,.bio-link { display: flex; align-items: center; gap: var(--lp-space-2); min-width: 0; }
.bio-source { color: var(--lp-muted); font-size: var(--lp-small); }
.bio-source svg { width: var(--lp-body); height: var(--lp-body); flex-basis: var(--lp-body); }
.bio-source > svg:first-child { color: var(--lp-instagram); }
.bio-link { color: var(--lp-action-hover); background: var(--lp-paper); border-radius: var(--lp-radius); padding: var(--lp-space-2); }
.bio-link strong { font-weight: 650; }
.bio-link > svg:last-child { margin-left: auto; }
.bio-example > p { color: var(--lp-muted); font-size: var(--lp-small); }
.bio-tiles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--lp-space-2); }
.bio-tile { display: grid; grid-template-rows: var(--lp-bio-thumbnail-height) auto; align-items: center; gap: var(--lp-space-1); padding: var(--lp-space-1); min-width: 0; background: var(--lp-paper); border-radius: var(--lp-radius); overflow: hidden; text-align: center; }
.bio-tile > img { display: block; width: 100%; height: var(--lp-bio-thumbnail-height); object-fit: contain; border-radius: var(--lp-space-1); }
.bio-tile-video > img { object-fit: contain; }
.bio-tile-social > span { display: flex; justify-content: center; gap: var(--lp-space-2); }
.bio-tile-social svg:first-child { color: var(--lp-instagram); }
.bio-tile-social svg:last-child { color: var(--lp-youtube); }
.bio-tile small { font-size: var(--lp-mini-type); color: var(--lp-muted); }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lp-space-5); margin-top: var(--lp-space-2); }
.button { min-height: var(--lp-control); padding: var(--lp-space-3) var(--lp-space-5); display: inline-flex; align-items: center; justify-content: center; gap: var(--lp-space-3); border: 1px solid var(--lp-action); border-radius: var(--lp-radius); background: var(--lp-action); color: var(--lp-on-action); font-size: var(--lp-caption); font-weight: 650; line-height: 1.5; }
.button:hover { background: var(--lp-action-hover); border-color: var(--lp-action-hover); }
.button.secondary { background: var(--lp-paper); color: var(--lp-text); border-color: var(--lp-rule); }
.button.secondary:hover { background: var(--lp-soft); border-color: var(--lp-action); }
.text-link { display: inline-flex; align-items: center; gap: var(--lp-space-2); min-height: var(--lp-control); color: var(--lp-action-hover); font-size: var(--lp-caption); font-weight: 650; }
.preview { min-width: 0; overflow: hidden; border: 1px solid var(--lp-rule); border-radius: var(--lp-preview-radius); box-shadow: var(--lp-preview-shadow); background: var(--lp-paper); }
.preview-address { border-bottom: 1px solid var(--lp-rule); padding: var(--lp-space-3) var(--lp-space-4); display: flex; flex-wrap: wrap; align-items: center; gap: var(--lp-space-2); font-size: var(--lp-caption); }
.preview-address svg { color: var(--lp-muted); }
.preview-address small { margin-left: auto; color: var(--lp-muted); font-size: var(--lp-small); }
.sample-cover { height: var(--lp-cover-height); background: var(--lp-soft); }
.sample-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sample-profile { padding: 0 var(--lp-space-5) var(--lp-space-4); display: grid; justify-items: center; gap: var(--lp-space-2); }
.sample-avatar { position: relative; display: block; width: var(--lp-avatar); height: var(--lp-avatar); margin-top: calc(var(--lp-avatar) / -2); object-fit: cover; border: var(--lp-avatar-ring) solid var(--lp-paper); border-radius: var(--lp-circle); background: var(--lp-selected); }
.sample-profile h2 { font-size: var(--lp-subtitle); }
.sample-profile > p { font-size: var(--lp-caption); color: var(--lp-muted); }
.sample-socials { display: flex; align-items: center; justify-content: center; gap: var(--lp-space-2); color: var(--lp-text); }
.sample-socials > span { display: grid; place-items: center; width: var(--lp-social-target); height: var(--lp-social-target); }
.sample-socials svg { width: var(--lp-social-size); height: var(--lp-social-size); }
.sample-support { display: inline-flex; align-items: center; justify-content: center; gap: var(--lp-space-2); min-height: var(--lp-control); width: 100%; margin-top: var(--lp-space-3); padding: var(--lp-space-3) var(--lp-space-4); border: 1px solid var(--lp-support-border); border-radius: var(--lp-radius); background: var(--lp-support-background); color: var(--lp-support-text); font-size: var(--lp-support-size); font-weight: 700; }
.sample-support svg { width: var(--lp-support-icon); height: var(--lp-support-icon); flex: 0 0 auto; }
.sample-posts { display: flex; gap: var(--lp-space-5); font-size: var(--lp-small); }
.sample-posts span { display: flex; gap: var(--lp-space-2); align-items: center; }
.sample-links { display: grid; gap: var(--lp-space-2); list-style: none; width: 100%; padding: 0; }
.sample-links li { display: flex; align-items: center; gap: var(--lp-space-3); background: var(--lp-soft); border: 1px solid var(--lp-rule); border-radius: var(--lp-radius); padding: var(--lp-space-2); text-align: left; }
.sample-links li > div { flex: 1; min-width: 0; }
.sample-links li > svg { width: var(--lp-caption); height: var(--lp-caption); flex-basis: var(--lp-caption); color: var(--lp-muted); }
.sample-links strong { display: block; font-size: var(--lp-caption); font-weight: 650; }
.sample-links p,.sample-links small { color: var(--lp-muted); font-size: var(--lp-small); }
.sample-website p { display: none; }
.sample-icon { display: grid; place-items: center; width: var(--lp-social-target); height: var(--lp-social-target); border-radius: var(--lp-radius); background: var(--lp-paper); color: var(--lp-action-hover); flex-shrink: 0; }
.sample-book { display: block; width: var(--lp-book-width); height: var(--lp-book-height); object-fit: contain; border-radius: var(--lp-space-1); flex-shrink: 0; }
.sample-video { position: relative; width: 100%; border-radius: var(--lp-radius); overflow: hidden; background: var(--lp-soft); }
.sample-video-poster { position: relative; aspect-ratio: 16/9; }
.sample-video-poster > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sample-video-eyecatch { position: absolute; top: 50%; left: var(--lp-space-3); transform: translateY(-50%); max-width: 42%; color: var(--lp-media-ink); font-size: var(--lp-video-eyecatch); font-weight: 800; line-height: 1.1; text-shadow: 0 var(--lp-space-1) var(--lp-space-2) var(--lp-media-shade); }
.sample-video-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: var(--lp-video-play-width); height: var(--lp-video-play-height); display: grid; place-items: center; background: var(--lp-youtube); color: var(--lp-media-ink); border-radius: var(--lp-radius); }
.sample-video-duration { position: absolute; right: var(--lp-space-2); bottom: var(--lp-space-2); padding: 0 var(--lp-space-1); color: var(--lp-media-ink); background: var(--lp-media-shade); border-radius: var(--lp-space-1); font-size: var(--lp-video-duration-size); }
.sample-video-copy { position: absolute; inset: 0 0 auto; display: grid; gap: var(--lp-space-1); padding: var(--lp-space-2) var(--lp-space-3); background: linear-gradient(var(--lp-media-shade),transparent); color: var(--lp-media-ink); }
.sample-video-copy strong { font-size: var(--lp-small); }
.sample-video-copy > span { display: flex; align-items: center; gap: var(--lp-space-1); font-size: var(--lp-video-duration-size); }
.sample-video-copy svg { width: var(--lp-caption); height: var(--lp-caption); flex-basis: var(--lp-caption); }
.preview figcaption { font-size: var(--lp-small); color: var(--lp-muted); text-align: center; border-top: 1px solid var(--lp-rule); padding: var(--lp-space-3); }
.features { border-top: 1px solid var(--lp-rule); }
.feature-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--lp-space-7); }
.feature-list article { display: grid; align-content: start; gap: var(--lp-space-3); }
.feature-visual { height: var(--lp-feature-height); border-radius: var(--lp-preview-radius); padding: var(--lp-space-4); overflow: hidden; }
.feature-media { display: flex; align-items: center; justify-content: center; gap: var(--lp-space-4); background: var(--lp-feature-cream); }
.feature-book { width: var(--lp-feature-book-width); height: var(--lp-feature-book-height); object-fit: contain; flex-shrink: 0; }
.feature-video { width: var(--lp-feature-video-width); min-width: 0; display: grid; gap: var(--lp-space-1); }
.feature-video > img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; border-radius: var(--lp-radius); }
.feature-video > span { display: flex; align-items: center; gap: var(--lp-space-1); font-size: var(--lp-mini-type); }
.feature-video svg { color: var(--lp-youtube); width: var(--lp-body); height: var(--lp-body); flex-basis: var(--lp-body); }
.feature-themes { display: flex; align-items: center; justify-content: center; gap: var(--lp-space-4); background: var(--lp-feature-rose); }
.mini-page { width: var(--lp-mini-page-width); border: 1px solid var(--lp-rule); border-radius: var(--lp-radius); background: var(--lp-paper); overflow: hidden; }
.mini-cover { display: block; width: 100%; height: var(--lp-mini-cover-height); object-fit: cover; }
.mini-page-content { display: grid; gap: var(--lp-space-1); justify-items: center; padding: 0 var(--lp-space-4) var(--lp-space-2); }
.mini-page-content > img { position: relative; width: var(--lp-mini-avatar); height: var(--lp-mini-avatar); margin-top: calc(var(--lp-mini-avatar) / -2); border-radius: var(--lp-circle); border: 1px solid var(--lp-paper); object-fit: cover; }
.mini-page-content > strong { font-size: var(--lp-mini-type); }
.mini-link { width: 100%; height: var(--lp-mini-control); background: var(--lp-selected); border-radius: var(--lp-space-1); }
.theme-dots { display: grid; gap: var(--lp-space-2); }
.theme-dots i { width: var(--lp-space-4); height: var(--lp-space-4); background: var(--lp-action); border: 1px solid var(--lp-paper); border-radius: var(--lp-circle); }
.theme-dots i:nth-child(2) { background: var(--lp-coral); }
.theme-dots i:nth-child(3) { background: var(--lp-turquoise); }
.feature-sharing { display: grid; place-items: center; background: var(--lp-feature-sea); }
.mini-bio { width: min(100%,var(--lp-mini-bio-width)); padding: var(--lp-space-3); border: 1px solid var(--lp-rule); border-radius: var(--lp-radius); background: var(--lp-paper); display: grid; gap: var(--lp-space-2); font-size: var(--lp-small); }
.mini-person,.address-person { display: flex; align-items: center; gap: var(--lp-space-3); min-width: 0; }
.mini-person > img,.address-person > img { width: var(--lp-mini-avatar); height: var(--lp-mini-avatar); border-radius: var(--lp-circle); object-fit: cover; }
.mini-person > div,.address-person > div { display: grid; min-width: 0; }
.mini-person span { color: var(--lp-muted); font-size: var(--lp-mini-type); }
.mini-socials { display: flex; gap: var(--lp-space-3); }
.mini-socials svg { width: var(--lp-body); height: var(--lp-body); }
.mini-bio-url { display: flex; align-items: center; gap: var(--lp-space-2); color: var(--lp-action-hover); }
.mini-bio-url strong { min-width: 0; overflow-wrap: anywhere; font-size: var(--lp-mini-type); }
.mini-bio-url svg { width: var(--lp-body); height: var(--lp-body); flex-basis: var(--lp-body); }
.mini-bio-url > svg:last-child { margin-left: auto; }
.feature-number { font: 500 var(--lp-caption)/1.5 var(--lp-mono); color: var(--lp-action-hover); }
.feature-list p { color: var(--lp-muted); }
.support-section { background: var(--lp-accent-paper); border-block: 1px solid var(--lp-rule); }
.posts-section { border-top: 1px solid var(--lp-rule); }
.posts-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--lp-space-7); }
.posts-copy { display: grid; gap: var(--lp-space-5); max-width: var(--lp-copy-width); }
.posts-copy > p:not(.eyebrow) { color: var(--lp-muted); }
.posts-copy .included { font-size: var(--lp-body); }
.posts-services h3 { font-size: var(--lp-subtitle); }
.posts-mini { align-content: center; display: grid; gap: var(--lp-space-2); justify-items: center; }
.posts-mini-reading { background: var(--lp-feature-cream); }
.posts-mini-paid { background: var(--lp-feature-rose); }
.posts-mini-question { background: var(--lp-feature-sea); }
.mini-post-card { align-items: center; background: var(--lp-paper); border: 1px solid var(--lp-rule); border-radius: var(--lp-radius); display: flex; gap: var(--lp-space-2); max-width: 100%; min-width: 0; padding: var(--lp-space-2); width: var(--lp-mini-card-width); }
.mini-post-card > img { border-radius: var(--lp-space-1); flex: 0 0 var(--lp-mini-card-image); height: var(--lp-mini-card-image); object-fit: cover; width: var(--lp-mini-card-image); }
.mini-post-icon { align-items: center; background: var(--lp-selected); border-radius: var(--lp-radius); color: var(--lp-action-hover); display: flex; flex: 0 0 var(--lp-mini-card-icon); height: var(--lp-mini-card-icon); justify-content: center; }
.mini-post-icon svg { height: var(--lp-icon); width: var(--lp-icon); }
.mini-post-copy { display: grid; gap: var(--lp-space-1); min-width: 0; }
.mini-post-kind { color: var(--lp-action-hover); font-size: var(--lp-mini-type); line-height: var(--lp-title-line); }
.mini-post-copy strong { color: var(--lp-text); font-size: var(--lp-small); line-height: var(--lp-title-line); }
.mini-post-text { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; overflow: hidden; color: var(--lp-muted); font-size: var(--lp-mini-type); line-height: var(--lp-mini-card-line); }
.posts-mini-reading .mini-post-card:last-child strong { display: none; }
.mini-post-card > svg { color: var(--lp-action-hover); flex: 0 0 var(--lp-caption); height: var(--lp-caption); margin-left: auto; width: var(--lp-caption); }
.name-check { display: grid; gap: var(--lp-space-3); min-width: 0; }
.name-check[hidden],.name-check [hidden] { display: none; }
.name-entry { align-items: center; display: flex; gap: var(--lp-space-2); min-height: var(--lp-address-slot); min-width: 0; }
.name-entry input { background: var(--lp-paper); border: 1px solid var(--lp-name-input-border); border-radius: var(--lp-radius); color: var(--lp-action-hover); flex: 1; font: 500 var(--lp-lead)/var(--lp-line) var(--lp-mono); min-height: var(--lp-control); min-width: 0; padding: var(--lp-space-1) var(--lp-space-3); width: var(--lp-name-input-width); }
.name-entry input::placeholder { color: var(--lp-muted); opacity: 1; }
.name-entry > span { color: var(--lp-text); font: 500 var(--lp-caption)/var(--lp-line) var(--lp-mono); }
.name-entry input:focus { border-color: var(--lp-action); }
.name-entry input:focus-visible { outline: var(--lp-focus) solid var(--lp-action-hover); outline-offset: var(--lp-space-1); }
.name-check .button { justify-self: start; }
.name-check [data-name-status] { align-items: baseline; display: flex; font-size: var(--lp-caption); gap: var(--lp-space-2); }
.name-check [data-name-status]:empty { display: none; }
.name-check[data-state="available"] [data-name-status] { color: var(--lp-success); font-weight: 600; }
.name-check[data-state="available"] [data-name-status]::before { content: "✓"; }
.name-check:is([data-state="unavailable"],[data-state="invalid"]) [data-name-status] { color: var(--lp-error); font-weight: 600; }
.name-check:is([data-state="unavailable"],[data-state="invalid"]) [data-name-status]::before { content: "!"; font-weight: 700; }
.name-check:is([data-state="unavailable"],[data-state="invalid"]) .name-entry input { border-color: var(--lp-error); }
.name-check[data-state="unknown"] [data-name-status] { color: var(--lp-warning); }
.name-check button:disabled { cursor: wait; }
.privacy-note { align-items: start; display: flex; gap: var(--lp-space-3); }
.privacy-note > svg { color: var(--lp-action-hover); flex: 0 0 var(--lp-icon); height: var(--lp-icon); margin-top: var(--lp-space-1); width: var(--lp-icon); }
.privacy-note > div { display: grid; gap: var(--lp-space-1); }
.privacy-note strong { color: var(--lp-text); font-size: var(--lp-caption); }
.privacy-note span { color: var(--lp-muted); font-size: var(--lp-small); }
.support-layout { display: grid; grid-template-columns: minmax(0,1fr) var(--lp-preview-width); gap: var(--lp-space-8); align-items: center; }
.support-copy { display: grid; gap: var(--lp-space-5); max-width: var(--lp-copy-width); }
.support-copy > p:not(.eyebrow) { color: var(--lp-muted); }
.support-demo { display: grid; gap: var(--lp-space-4); min-width: 0; }
.support-controls { display: flex; gap: var(--lp-space-2); }
.support-controls button { flex: 1; min-height: var(--lp-control); padding: var(--lp-space-2); border: 1px solid var(--lp-rule); border-radius: var(--lp-radius); background: var(--lp-paper); color: var(--lp-muted); font-size: var(--lp-caption); }
.support-controls button[aria-pressed="true"] { border-color: var(--lp-action); background: var(--lp-selected); color: var(--lp-action-hover); }
.support-controls button[aria-pressed="true"] { font-weight: 650; }
.support-controls button:hover { border-color: var(--lp-action); color: var(--lp-action-hover); }
.support-copy .included { font-size: var(--lp-body); }
.support-example { border: 1px solid var(--lp-rule); border-radius: var(--lp-preview-radius); overflow: hidden; background: var(--lp-paper); }
.support-example .sample-profile { min-height: var(--lp-support-demo-height); }
.support-example h3 { font-size: var(--lp-subtitle); }
.support-example figcaption { border-top: 1px solid var(--lp-rule); padding: var(--lp-space-3); color: var(--lp-muted); font-size: var(--lp-small); text-align: center; }
.support-controls[hidden],.support-demo [hidden] { display: none; }
.address-section { background: var(--lp-custom-url-background); border-top: 1px solid var(--lp-custom-url-rule); }
.address-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--lp-space-8); }
.address-pair article { display: grid; align-content: start; gap: var(--lp-space-4); min-width: 0; }
.address-option { padding: 0; }
.address-option-custom { border-left: 1px solid var(--lp-custom-url-rule); padding-left: var(--lp-space-7); }
.address-option-custom h3 { color: var(--lp-custom-url-ink); }
.address-option-custom .address-benefit { background: var(--lp-custom-url-benefit-background); border-radius: var(--lp-custom-url-benefit-radius); color: var(--lp-custom-url-benefit-text); padding: var(--lp-space-1) var(--lp-space-2); }
.address-option-custom .name-entry input { color: var(--lp-custom-url-ink); }
.address-option-custom:has(.name-check:not([hidden])) > .address-example { display: none; }
.address-title { align-items: center; display: flex; flex-wrap: wrap; gap: var(--lp-space-2); justify-content: space-between; min-height: var(--lp-control); }
.address-title h3,.address-option > h3 { align-items: center; display: flex; font-size: var(--lp-address-title); margin: 0; min-height: var(--lp-control); }
.address-benefit { background: var(--lp-selected); border-radius: var(--lp-radius); color: var(--lp-action-hover); font-size: var(--lp-small); font-weight: 650; padding: var(--lp-space-1) var(--lp-space-2); }
.address-person { border-bottom: 1px solid var(--lp-rule); padding-bottom: var(--lp-space-4); font-size: var(--lp-caption); }
.address-person span { font-size: var(--lp-small); color: var(--lp-muted); }
code { font: 500 var(--lp-caption)/1.7 var(--lp-mono); overflow-wrap: anywhere; }
.address-pair article > code { align-items: center; display: flex; color: var(--lp-action-hover); font-size: var(--lp-lead); min-height: var(--lp-address-slot); padding-block: var(--lp-space-2); }
.address-pair article > p { color: var(--lp-muted); }
.identifier { display: grid; gap: var(--lp-space-2); }
.identifier code { color: var(--lp-action-hover); }
.plan-controls { display: none; }
.plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--lp-space-5); }
.plan { border: 1px solid var(--lp-rule); border-radius: var(--lp-radius); padding: var(--lp-space-5); display: grid; grid-template-rows: auto auto auto 1fr auto; gap: var(--lp-space-5); min-width: 0; }
.plan.recommended { position: relative; overflow: hidden; border-color: var(--lp-action); background: var(--lp-accent-paper); }
.plan.recommended::before { content: ""; position: absolute; inset: 0 0 auto; height: var(--lp-space-1); background: var(--lp-action); }
.plan.recommended .plan-price strong { color: var(--lp-action-hover); }
.plan-heading { display: grid; gap: var(--lp-space-3); }
.plan .eyebrow { color: var(--lp-muted); font-size: var(--lp-small); }
.plan.recommended .eyebrow { color: var(--lp-action-hover); }
.plan h3 { font-size: var(--lp-subtitle); }
.plan-price strong { font-size: var(--lp-price); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.plan-price strong span { font-size: var(--lp-body); font-weight: 500; letter-spacing: normal; }
.plan-price p { margin-top: var(--lp-space-1); }
.included { list-style: none; padding: 0; display: grid; gap: var(--lp-space-3); font-size: var(--lp-caption); }
.included li { display: flex; gap: var(--lp-space-2); align-items: flex-start; }
.included svg { color: var(--lp-action-hover); margin-top: var(--lp-space-1); }
.plan-note { color: var(--lp-muted); font-size: var(--lp-caption); }
.plan .button { padding-inline: var(--lp-space-3); }
.preparing { padding: var(--lp-space-4); margin-top: var(--lp-space-5); border-radius: var(--lp-radius); background: var(--lp-soft); font-size: var(--lp-caption); }
.price-terms { margin-top: var(--lp-space-4); }
.faq { border-top: 1px solid var(--lp-rule); display: grid; grid-template-columns: minmax(0,1fr); gap: var(--lp-space-5); max-width: var(--lp-faq-width); align-items: start; }
.faq h2 { max-width: none; font-size: var(--lp-subtitle); line-height: var(--lp-title-line); letter-spacing: normal; }
.faq details { border-bottom: 1px solid var(--lp-rule); }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: var(--lp-space-5); cursor: pointer; min-height: var(--lp-control); padding-block: var(--lp-space-4); font-weight: 600; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary span { color: var(--lp-action-hover); font-size: var(--lp-subtitle); font-weight: 400; }
.faq details[open] summary span { transform: rotate(45deg); }
.faq details p { padding-bottom: var(--lp-space-5); color: var(--lp-muted); }
.closing { border-top: 1px solid var(--lp-rule); display: grid; grid-template-columns: minmax(0,1fr) var(--lp-closing-width); align-items: center; gap: var(--lp-space-8); }
.closing-copy { display: grid; justify-items: start; gap: var(--lp-space-5); }
.closing p { color: var(--lp-muted); }
.closing-sample { height: var(--lp-closing-height); position: relative; border-radius: var(--lp-preview-radius); overflow: hidden; }
.closing-cover { display: block; width: 100%; height: 100%; object-fit: cover; }
.closing-profile { position: absolute; right: var(--lp-space-4); bottom: var(--lp-space-4); left: var(--lp-space-4); display: flex; align-items: center; gap: var(--lp-space-3); padding: var(--lp-space-3); background: var(--lp-paper); border-radius: var(--lp-radius); }
.closing-profile > img { width: var(--lp-control); height: var(--lp-control); border-radius: var(--lp-circle); object-fit: cover; }
.closing-profile > div { display: grid; font-size: var(--lp-caption); }
.closing-profile span { color: var(--lp-action-hover); font-size: var(--lp-small); }
.closing-profile > svg { margin-left: auto; color: var(--lp-action-hover); }
.site-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--lp-space-5); border-top: 1px solid var(--lp-rule); padding-block: var(--lp-space-6); font-size: var(--lp-small); color: var(--lp-muted); }
.site-footer p { display: flex; flex-wrap: wrap; gap: var(--lp-space-4); }
.site-footer strong { color: var(--lp-text); }
.site-footer a { display: inline-flex; align-items: center; gap: var(--lp-space-2); min-height: var(--lp-control); }
@supports (grid-template-rows: subgrid) { .plan { grid-row: span 5; grid-template-rows: subgrid; } }
@media (max-width: 1000px) {
  .hero { gap: var(--lp-space-7); grid-template-columns: minmax(0,1fr) minmax(0,var(--lp-preview-width)); }
  .plans { display: flex; gap: var(--lp-space-4); overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; padding-block: var(--lp-space-2); scrollbar-width: thin; }
  .plan { flex: 0 0 calc(100% - var(--lp-plan-peek)); scroll-snap-align: start; grid-template-rows: auto auto auto 1fr auto; }
  .enhanced .plan-controls { display: flex; gap: var(--lp-space-2); margin-bottom: var(--lp-space-4); }
  .plan-controls button { flex: 1; background: var(--lp-paper); color: var(--lp-muted); border: 1px solid var(--lp-rule); border-radius: var(--lp-radius); min-height: var(--lp-control); font-size: var(--lp-caption); }
  .plan-controls button[aria-pressed="true"] { color: var(--lp-action-hover); border-color: var(--lp-action); background: var(--lp-selected); }
  .feature-list { gap: var(--lp-space-5); }
}
@media (max-width: 900px) {
  .support-layout,.posts-layout { grid-template-columns: minmax(0,1fr); gap: var(--lp-space-6); }
  .support-demo { width: min(100%,var(--lp-preview-width)); justify-self: center; }
}
@media (max-width: 700px) {
  .wrap { width: calc(100% - var(--lp-space-5) * 2); }
  .site-header { gap: var(--lp-space-3); }
  .site-header nav { gap: var(--lp-space-2); }
  .site-header nav > a:not(.language) { display: none; }
  .wordmark { font-size: var(--lp-lead); gap: var(--lp-space-2); }
  .hero { grid-template-columns: minmax(0,1fr); gap: var(--lp-space-6); }
  .hero-copy { gap: var(--lp-space-4); padding-top: 0; }
  .lead { font-size: var(--lp-body); }
  .actions { gap: var(--lp-space-3); }
  .actions > .button { width: 100%; }
  .preview { width: min(100%,var(--lp-preview-width)); justify-self: center; }
  .preview-address { font-size: var(--lp-small); }
  .preview-address small { font-size: var(--lp-small); }
  .sample-profile { padding: 0 var(--lp-space-4) var(--lp-space-4); }
  .bio-example { width: 100%; }
  .faq h2 { padding-top: 0; }
  .feature-list,.address-pair,.faq,.closing { grid-template-columns: minmax(0,1fr); gap: var(--lp-space-6); }
  .support-layout { grid-template-columns: minmax(0,1fr); gap: var(--lp-space-6); }
  .support-demo { width: min(100%,var(--lp-preview-width)); justify-self: center; }
  .feature-list article { border-top: 1px solid var(--lp-rule); padding-top: var(--lp-space-5); }
  .feature-list article:first-child { border-top: 0; padding-top: 0; }
  .address-option-custom { border-left: 0; border-top: 1px solid var(--lp-custom-url-rule); padding-left: 0; padding-top: var(--lp-space-6); }
  .section-heading { margin-bottom: var(--lp-space-6); }
  .address-pair article > code { font-size: var(--lp-caption); }
  .plan { padding: var(--lp-space-5); }
  .site-footer { align-items: start; }
  .site-footer p { display: grid; gap: var(--lp-space-2); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

@media (min-width: 701px) and (max-width: 1100px) {
 .site-header nav > a:not(.language) { display: none; }
}

.not-found { min-height: 60vh; display: grid; align-content: center; justify-items: start; gap: var(--lp-space-5); }

/* Shared by the landing page build and Linknest's start/management screens. */
:root {
  --linknest-brand-width: 1120px;
  --linknest-brand-inset: 32px;
  --linknest-brand-mobile-inset: 24px;
  --linknest-brand-header-height: 80px;
  --linknest-brand-mobile-header-height: 72px;
  --linknest-brand-wordmark: 22px;
  --linknest-brand-mobile-wordmark: 18px;
  --linknest-brand-mobile-line-height: 1.2;
  --linknest-brand-byline: 13px;
  --linknest-brand-text: 13px;
  --linknest-brand-language: 14px;
  --linknest-brand-glyph: 20px;
  --linknest-brand-control: 44px;
  --linknest-brand-gap: 16px;
  --linknest-brand-small-gap: 8px;
  --linknest-brand-footer-inset: 32px;
  --linknest-brand-menu-width: 260px;
  --linknest-brand-menu-radius: 12px;
  --linknest-brand-menu-shadow: 0 12px 32px rgba(25, 20, 45, .12);
  --linknest-brand-menu-layer: 40;
}
.linknest-brand-header, .linknest-brand-footer {
  box-sizing: border-box;
  font-family: var(--hub-font);
  margin-inline: auto;
  max-width: var(--linknest-brand-width);
  width: calc(100% - var(--linknest-brand-inset) * 2);
}
.linknest-brand-header { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: var(--linknest-brand-gap); justify-content: space-between; min-height: var(--linknest-brand-header-height); }
.linknest-wordmark { align-items: center; color: var(--foreground); display: inline-flex; font-size: var(--linknest-brand-wordmark); font-weight: 750; gap: var(--linknest-brand-small-gap); min-height: var(--linknest-brand-control); text-decoration: none; white-space: nowrap; }
.linknest-wordmark > svg { color: var(--accent-strong); height: var(--linknest-brand-glyph); width: var(--linknest-brand-glyph); }
.linknest-wordmark small { color: var(--muted); font-size: var(--linknest-brand-byline); font-weight: 500; margin-left: var(--linknest-brand-small-gap); }
.linknest-brand-header .linknest-tools { align-items: center; display: flex; flex-wrap: nowrap; gap: var(--linknest-brand-gap); justify-content: flex-end; margin-left: auto; }
.linknest-brand-header .linknest-language-link { align-items: center; background: transparent; border: 0; border-radius: 0; color: var(--accent-strong); display: inline-flex; font-size: var(--linknest-brand-language); font-weight: 650; min-height: var(--linknest-brand-control); padding: 0; text-decoration: none; white-space: nowrap; }
.linknest-brand-header .linknest-language-link svg { display: none; }
.linknest-brand-header { position: relative; }
.linknest-login-menu { position: static; flex: 0 0 auto; }
.linknest-login-trigger, .linknest-login-fallback { align-items: center; background: transparent; border: 0; border-radius: 0; box-shadow: none; color: var(--accent-strong); cursor: pointer; display: flex; font-family: inherit; font-size: var(--linknest-brand-language); font-weight: 650; gap: var(--linknest-brand-small-gap); min-height: var(--linknest-brand-control); padding: 0; text-decoration: none; white-space: nowrap; }
.linknest-login-trigger > svg { height: var(--linknest-brand-language); width: var(--linknest-brand-language); }
.linknest-login-trigger[aria-expanded="true"] > svg { transform: rotate(180deg); }
.linknest-login-options { background: var(--background); border: 1px solid var(--line); border-radius: var(--linknest-brand-menu-radius); box-shadow: var(--linknest-brand-menu-shadow); display: grid; gap: var(--linknest-brand-small-gap); max-width: calc(100vw - var(--linknest-brand-mobile-inset) * 2); padding: var(--linknest-brand-small-gap); position: absolute; right: 0; top: calc(100% + var(--linknest-brand-small-gap)); width: var(--linknest-brand-menu-width); z-index: var(--linknest-brand-menu-layer); }
.linknest-login-options[hidden], .linknest-account-options[hidden], .linknest-login-trigger[hidden], .linknest-login-fallback[hidden] { display: none !important; }
.linknest-menu-heading { align-items: center; display: flex; justify-content: space-between; gap: var(--linknest-brand-small-gap); padding-inline: var(--linknest-brand-small-gap); }
.linknest-menu-heading > span { color: var(--foreground); font-size: var(--linknest-brand-text); font-weight: 650; }
.linknest-menu-dismiss { background: transparent; border: 0; box-shadow: none; color: var(--muted); cursor: pointer; font: inherit; font-size: var(--linknest-brand-text); min-height: var(--linknest-brand-control); padding: var(--linknest-brand-small-gap); }
.linknest-brand-header .linknest-login-options a { align-content: center; border-radius: var(--linknest-brand-small-gap); color: var(--foreground); display: grid; font-size: var(--linknest-brand-text); gap: 2px; line-height: 1.5; min-height: var(--linknest-brand-control); padding: var(--linknest-brand-small-gap); text-decoration: none; }
.linknest-brand-header .linknest-login-options a:hover { background: var(--accent-tint); color: var(--accent-strong); }
.linknest-login-options hr { border: 0; border-top: 1px solid var(--line); margin: 0; width: 100%; }
.linknest-login-options strong { font-weight: 650; }
.linknest-login-options span { color: var(--muted); }
.linknest-login-trigger:focus-visible, .linknest-login-options :is(a,button):focus-visible { outline: 3px solid var(--accent-strong); outline-offset: 4px; }
.linknest-brand-footer { align-items: center; border-top: 1px solid var(--line); color: var(--muted); display: flex; flex-wrap: wrap; font-size: var(--linknest-brand-text); gap: var(--linknest-brand-gap); justify-content: space-between; line-height: 1.8; padding-block: var(--linknest-brand-footer-inset); }
.linknest-brand-footer p { align-items: center; display: flex; flex-wrap: wrap; gap: var(--linknest-brand-gap); margin: 0; }
.linknest-brand-footer strong { color: var(--foreground); }
.linknest-brand-footer a { align-items: center; color: var(--accent); display: inline-flex; gap: var(--linknest-brand-small-gap); min-height: var(--linknest-brand-control); text-decoration: none; }
.linknest-brand-footer a:hover { color: var(--accent-strong); }
.linknest-brand-footer a svg { height: var(--linknest-brand-glyph); width: var(--linknest-brand-glyph); }
.linknest-brand-header a:focus-visible, .linknest-brand-footer a:focus-visible { outline: 3px solid var(--accent-strong); outline-offset: 4px; }
@media (max-width: 700px) {
  .linknest-brand-header, .linknest-brand-footer { width: calc(100% - var(--linknest-brand-mobile-inset) * 2); }
  .linknest-brand-header { min-height: var(--linknest-brand-mobile-header-height); }
  .linknest-wordmark { display: inline-grid; font-size: var(--linknest-brand-mobile-wordmark); grid-template-columns: var(--linknest-brand-glyph) auto; line-height: var(--linknest-brand-mobile-line-height); row-gap: 0; }
  .linknest-wordmark > svg { grid-row: 1 / 3; }
  .linknest-wordmark > span { grid-column: 2; }
  .linknest-wordmark small { display: block; grid-column: 2; margin-left: 0; }
  .linknest-brand-footer { align-items: flex-start; }
  .linknest-brand-footer p { display: grid; gap: var(--linknest-brand-small-gap); }
}
@media (max-width: 480px) {
  .linknest-brand-header .linknest-account-trigger span, .linknest-brand-header .linknest-account-trigger > svg { display: none; }
  .linknest-brand-header .linknest-account-trigger { justify-content: center; min-width: var(--linknest-brand-control); }
}

.linknest-brand-footer a svg { stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (min-width: 701px) { .linknest-brand-header > nav { gap: var(--linknest-brand-gap); } }

:root {
  --focus-ring-color: var(--accent-strong);
  --focus-ring-width: 3px;
  --focus-ring-offset: 3px;
}

/* Keep keyboard focus visible, allowing component-specific treatments. */
:where(a[href], button, input, select, textarea, summary, [contenteditable], [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset);
}

/* These structural elements receive focus after navigation, not as controls. */
:is(main, header, section, h1, h2, h3, h4, h5, h6, label)[tabindex="-1"]:not([role], [contenteditable]):focus {
  outline: none;
}
