@charset "UTF-8";
.cuvel-family {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 34px;
	margin-bottom: 64px;
	background: var(--soft);
	border: 1px solid var(--line);
	border-radius: 16px;
}
.cuvel-family h2 {
	font-size: 25px;
}
.cuvel-family p {
	margin-top: 8px;
	font-size: 13px;
	color: var(--muted);
}
.cuvel-family .button {
	flex-shrink: 0;
}
@media (max-width: 700px) {
	.cuvel-family {
		flex-direction: column;
		align-items: flex-start;
		padding: 24px;
		margin-bottom: 40px;
	}
	.cuvel-family h2 {
		font-size: 21px;
	}
	.cuvel-family .button {
		width: 100%;
	}
}
.skip-link {
	position: absolute;
	top: -100px;
	left: 24px;
	z-index: 10;
	padding: 12px 18px;
	background: var(--green);
	color: white;
}
.skip-link:focus {
	top: 12px;
}
.legal-main {
	margin-bottom: 80px;
}
.legal-hero {
	padding-block: 48px;
	border-bottom: 1px solid var(--line);
}
.legal-hero h1 {
	font-size: clamp(28px, 4.2vw, 54px);
	margin-block: 18px;
	letter-spacing: -.035em;
	overflow-wrap: anywhere;
}
.legal-date {
	color: var(--muted);
	font-size: 12px;
}
.legal-notice {
	padding: 24px 30px;
	margin-top: 32px;
	border-radius: 12px;
	background: var(--soft);
	border: 1px solid var(--line);
}
.legal-notice h2 {
	font-size: 18px;
	margin-bottom: 8px;
}
.legal-notice p {
	font-size: 14px;
}
.legal-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 56px;
	margin-top: 44px;
}
.legal-toc {
	align-self: start;
	padding: 24px;
	background: var(--soft);
	border-radius: 12px;
}
.legal-toc h2 {
	font-size: 16px;
}
.legal-toc ol {
	padding-left: 20px;
	margin-bottom: 0;
}
.legal-toc li {
	margin-top: 12px;
	font-size: 12px;
	line-height: 1.8;
}
.legal-document {
	min-width: 0;
	font-size: 15px;
	overflow-wrap: anywhere;
}
.legal-document section {
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--line);
}
.legal-document h2 {
	font-size: 21px;
	margin-bottom: 14px;
}
.legal-document p {
	line-height: 2;
}
.legal-document a {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.legal-document a:hover,
.legal-links a:hover,
.legal-toc a:hover {
	color: var(--green);
	text-decoration: underline;
}
.legal-disclosure {
	margin: 0;
}
.legal-disclosure > div {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 24px;
	padding-block: 22px;
	border-bottom: 1px solid var(--line);
}
.legal-disclosure dt {
	font-weight: 600;
}
.legal-disclosure dd {
	margin: 0;
	line-height: 1.9;
}
.legal-contact {
	margin-top: 32px;
}
.legal-links {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 22px;
	width: 100%;
	font-size: 12px;
	line-height: 1.8;
}
@media (max-width: 850px) {
	.legal-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}
	.legal-toc ol {
		columns: 2;
	}
	.legal-toc li {
		break-inside: avoid;
	}
}
@media (max-width: 700px) {
	.legal-hero {
		padding-block: 24px 32px;
	}
	.legal-document {
		font-size: 14px;
	}
	.legal-document h2 {
		font-size: 19px;
	}
	.legal-notice {
		padding: 20px;
	}
	.legal-disclosure > div {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}
	.legal-page .nav nav > a {
		display: inline;
	}
}
@media (max-width: 400px) {
	.legal-toc ol {
		columns: 1;
	}
}
.error-page {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
.error-main {
	flex: 1;
	display: grid;
	place-items: center;
	padding-block: 32px 64px;
}
.error-card {
	width: 100%;
	padding: clamp(28px, 6vw, 72px) 20px;
	border: 1px solid var(--line);
	border-radius: 24px;
	background: var(--soft);
	text-align: center;
}
.error-logo {
	margin-inline: auto;
}
.error-code {
	font-size: clamp(72px, 13vw, 144px);
	font-weight: 750;
	line-height: 1.2;
	letter-spacing: -.06em;
	color: var(--green);
	margin-block: 20px;
}
.error-card h1 {
	font-size: clamp(22px, 3.5vw, 38px);
}
.error-card .lead {
	max-width: 580px;
	margin-inline: auto;
}
:root { --green:#26765e; --ink:#19382e; --muted:#6c7b75; --line:#dce5df; --paper:#fff; --soft:#f3f7f3; font-family:"Segoe UI","Yu Gothic UI","Meiryo",sans-serif; color:var(--ink); background:var(--paper); font-synthesis:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; color:var(--ink); }
[hidden] { display:none!important; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #76b895; outline-offset:5px; }
img { max-width:100%; display:block; }
button { border:0; }
svg { display:block; }
h1,h2,h3,p { margin:0; }
p { line-height:1.95; }
.wrap { width:min(1180px,calc(100% - 96px)); margin-inline:auto; }
.concept-bar { padding:9px 32px; display:flex; justify-content:space-between; gap:16px; background:#eaf0eb; color:#64766b; font-size:10px; letter-spacing:.04em; }
.concept-bar>a:hover { color:var(--green); }
.nav { height:106px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.wordmark { display:inline-flex; align-items:center; gap:11px; font-size:22px; letter-spacing:-.04em; white-space:nowrap; font-weight:400; }
.wordmark strong { font-weight:700; }
.nav nav { display:flex; gap:28px; align-items:center; font-size:12px; }
.nav nav>a:not(.nav-cta) { color:var(--muted); }
.lang { background:transparent; color:inherit; border:1px solid var(--line); border-radius:50%; width:36px; height:36px; font-size:10px; }
.nav-cta { border:1px solid var(--line); border-radius:7px; padding:11px 17px; background:var(--paper); }
.button { display:inline-flex; justify-content:center; align-items:center; gap:26px; background:var(--green); color:white; border-radius:8px; padding:17px 23px; font-size:13px; font-weight:600; min-height:52px; transition:transform .2s,background .2s; }
.button:hover { background:#1b5c49; transform:translateY(-2px); }
.button>span[aria-hidden] { font-size:19px; font-weight:400; }
.quiet-link { font-size:12px; border-bottom:1px solid #baccc0; padding:9px 0; }
.hero-actions { display:flex; align-items:center; gap:30px; }
.eyebrow { font-size:12px; display:flex; gap:9px; align-items:center; letter-spacing:.06em; }
.eyebrow i,.hero-meta i,.mini-status i,.floating-note i,.stage-top i { display:inline-block; width:7px; height:7px; border-radius:50%; background:#51aa83; }
h1 { font-size:clamp(44px,5.5vw,80px); line-height:1.35; letter-spacing:-.06em; font-weight:750; }
.lead { font-size:15px; color:var(--muted); margin:22px 0 30px; line-height:2.1; }
.hero-meta { display:flex; justify-content:center; gap:15px; font-size:11px; margin-top:22px; color:var(--muted); }
.badge { display:inline-block; font-size:11px; background:#eaf4ec; color:var(--green); padding:7px 12px; border-radius:6px; }
.section-intro small { font-size:10px; letter-spacing:.15em; color:var(--green); }
h2 { font-size:34px; line-height:1.65; letter-spacing:-.04em; font-weight:650; }
.section-intro h2 { margin-top:12px; }
.section-intro p { font-size:13px; color:var(--muted); margin-top:12px; }
.visual-caption { font-size:9px; text-align:center; color:var(--muted); padding:15px; }
.folder-icon { position:relative; width:58px; height:43px; border-radius:5px; background:#ddb855; box-shadow:inset 0 -2px 0 #c5a248; color:#836727; display:flex; align-items:center; justify-content:center; }
.folder-icon:before { content:""; position:absolute; width:26px; height:8px; background:#d0aa45; top:-6px; left:0; border-radius:4px 4px 0 0; }
.folder-icon:after { content:""; position:absolute; inset:5px 0 0; border-radius:4px; background:#e7c369; }
.folder-icon span { position:relative; z-index:1; font-size:9px; letter-spacing:.08em; }
.window-bar { min-height:31px; display:flex; align-items:center; gap:5px; background:#f6f8f6; border-bottom:1px solid #e3e9e4; padding:8px 12px; color:#7a837d; font-size:9px; }
.window-bar i { height:5px; width:5px; background:#ccd4cf; border-radius:50%; }
.window-bar>span { flex:1; }
.window-bar>img { width:12px; height:12px; }
.window-bar b { font-weight:400; }
.mini-app { width:460px; max-width:100%; background:#fafbfa; border:1px solid #d1ded4; border-radius:11px; overflow:hidden; box-shadow:0 25px 55px #234e3524; position:relative; z-index:2; }
.mini-body { padding:25px 30px 24px; text-align:center; }
.mini-logo { width:22px; height:22px; margin:auto; }
.mini-body h3 { font-size:26px; letter-spacing:-.05em; margin:8px 0 22px; }
.mini-drop { border:1px dashed #b6c9be; border-radius:11px; padding:22px 12px; background:white; display:flex; flex-direction:column; align-items:center; gap:12px; }
.mini-drop strong { font-size:12px; font-weight:500; }
.mini-drop>span { color:#839189; font-size:8px; }
.mini-drop .folder-icon { transform:scale(.6); margin:-6px; }
.mini-status { display:flex; justify-content:center; align-items:center; gap:6px; font-size:8px; color:#557760; margin:18px 0; }
.mini-status>span:last-child { margin-left:8px; opacity:.6; }
.mini-status i { width:5px; height:5px; }
.mini-urls { display:flex; background:white; padding:17px; border:1px solid #e0e8e2; border-radius:10px; text-align:left; gap:15px; }
.mini-urls>div:first-child { flex:1; }
.mini-urls small { font-size:8px; display:block; color:#6d7e73; }
.mini-urls b { font-weight:500; font-size:10px; display:block; margin:7px 0; color:#34745b; }
.mini-open { display:inline-block; background:#508368; color:white; padding:5px 7px; border-radius:4px; font-size:7px; }
.mini-urls>div:last-child { text-align:center; }
.mini-urls .qr { width:55px; height:55px; }
.site-window { border:1px solid #e2e5dc; border-radius:9px; overflow:hidden; box-shadow:0 20px 45px #192c2520; background:#f8f6ee; }
.sample-site { padding:24px; color:#384d39; background:#f8f6ee; }
.sample-nav { display:flex; justify-content:space-between; align-items:center; font-size:7px; padding-bottom:22px; }
.sample-nav b { font:italic 21px Georgia,serif; }
.sample-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:10px; align-items:center; }
.sample-layout small { font-size:6px; letter-spacing:.12em; }
.sample-layout h3 { font:27px/1.1 Georgia,serif; margin:10px 0; letter-spacing:-.04em; }
.sample-layout p { font-size:7px; margin-bottom:15px; }
.sample-link { border:1px solid #b8c2a9; border-radius:20px; padding:7px 11px; display:inline-block; font-size:6px; }
.sample-bottom { font-size:6px; border-top:1px solid #dce0cf; display:flex; justify-content:space-between; margin-top:24px; padding-top:12px; }
.leaf-art { height:180px; position:relative; overflow:hidden; background:#e1e8cd; border-radius:100px 100px 6px 6px; }
.leaf-art span { display:block; position:absolute; height:75px; width:38px; background:#788961; border-radius:80% 0 80% 0; }
.leaf-art span:nth-child(1) { bottom:41px; left:30%; transform:rotate(-48deg); }
.leaf-art span:nth-child(2) { bottom:59px; left:48%; transform:rotate(30deg); background:#526f4f; }
.leaf-art span:nth-child(3) { bottom:90px; left:31%; transform:rotate(-18deg); background:#8d9c70; }
.leaf-art span:nth-child(4) { bottom:16px; left:47%; transform:rotate(60deg); background:#71815f; }
.leaf-art b { width:2px; height:140px; background:#4c6549; position:absolute; left:49%; bottom:-10px; transform:rotate(5deg); }
.device { width:164px; background:#1d2c26; border-radius:26px; padding:6px; position:relative; box-shadow:0 16px 30px #17292033; border:2px solid #69766a; }
.device-notch { position:absolute; width:43px; height:9px; background:#1d2c26; border-radius:0 0 8px 8px; top:5px; left:50%; transform:translateX(-50%); z-index:2; }
.device-screen { border-radius:18px; overflow:hidden; background:#f8f6ee; padding:22px 12px 24px; color:#354a34; }
.device-screen>small { font:italic 17px Georgia,serif; }
.device-screen h3 { font:22px/1.08 Georgia,serif; margin:24px 0 13px; letter-spacing:-.04em; }
.device-screen .leaf-art { height:138px; }
.device-screen p { font-size:6px; margin:13px 0; }
.qr { image-rendering:pixelated; }
.features { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.features article { padding:30px 27px; border:1px solid var(--line); border-radius:10px; }
.feature-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:30px; }
.feature-top>span { font-size:10px; color:#94a299; }
.feature-top>b { font-size:24px; font-weight:400; color:var(--green); }
.features h3 { font-size:18px; margin-bottom:14px; letter-spacing:-.04em; line-height:1.8; }
.features p { font-size:12px; color:var(--muted); }
.how { margin-top:100px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:38px; }
.steps article { border-top:1px solid var(--line); padding-top:24px; }
.steps article>span { color:var(--green); font-size:11px; }
.steps h3 { font-size:19px; margin:16px 0 12px; }
.steps p { color:var(--muted); font-size:12px; }
.languages { display:flex; flex-wrap:wrap; gap:11px; }
.languages span { border:1px solid var(--line); padding:10px 15px; border-radius:7px; font-size:12px; }
.get { margin-top:100px; padding:42px; border-radius:14px; background:#eef4eb; display:grid; grid-template-columns:1.4fr .5fr 1fr; gap:24px; align-items:center; }
.get h2 { font-size:23px; }
.get p { color:var(--muted); font-size:11px; margin-top:8px; }
.price { display:grid; grid-template-columns:auto 1fr; align-items:start; column-gap:6px; }
.price>span { font-size:10px; margin-top:16px; }
.price strong { font-size:55px; font-weight:500; letter-spacing:-.06em; line-height:1.25; }
.price small { font-size:9px; grid-column:1/-1; color:var(--muted); }
.get-actions { display:flex; flex-direction:column; gap:11px; align-items:center; }
.get-actions .button { font-size:11px; width:100%; gap:10px; padding:15px; }
.get-actions>small { color:var(--muted); font-size:9px; }
.faq { margin-block:95px 100px; display:grid; grid-template-columns:1fr 1.6fr; gap:60px; }
.faq h2 { font-size:29px; }
.faq>div>p { color:var(--muted); font-size:12px; margin-top:10px; }
.faq details { border-top:1px solid var(--line); padding:20px 0; }
.faq details:last-child { border-bottom:1px solid var(--line); }
summary { cursor:pointer; font-size:13px; line-height:1.8; }
.faq details>p { font-size:12px; color:var(--muted); margin-top:15px; }
.foot { border-top:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:center; gap:24px; padding-block:35px; }
.foot .wordmark { font-size:17px; }
.foot .wordmark img { width:26px; height:26px; }
.foot p { font-size:11px; color:var(--muted); flex:1; }
.foot>a:not(.wordmark),.foot small { font-size:10px; color:var(--muted); }
dialog { border:1px solid #dce5df; border-radius:18px; padding:40px; width:min(470px,calc(100% - 32px)); color:#19382e; background:#fff; box-shadow:0 20px 60px #0003; }
dialog::backdrop { background:#13251ecc; backdrop-filter:blur(5px); }
dialog h2 { font-size:24px; margin:20px 0 12px; }
dialog p { font-size:13px; color:#6c7b75; margin-bottom:25px; }
.dialog-close { position:absolute; top:14px; right:17px; background:none; color:#6c7b75; font-size:26px; }
/* A — restrained, product-first, centered */
.hero-a { text-align:center; padding:51px 0 48px; }
.hero-a .eyebrow { justify-content:center; }
.hero-a h1 { margin-top:25px; }
.hero-a .hero-actions { justify-content:center; }
.showcase-a { margin-top:18px; }
.showcase-surface { min-height:510px; position:relative; border-radius:25px; background:#eaf3e7; display:flex; align-items:center; justify-content:center; padding:34px; }
.showcase-surface:before { content:""; width:390px; height:390px; border:1px solid #ccddc4; border-radius:50%; position:absolute; top:55px; left:50%; transform:translateX(-50%); }
.showcase-surface .mini-app { margin-left:-65px; }
.device-a { position:absolute; z-index:3; right:11%; top:95px; transform:rotate(7deg); }
.floating-note { position:absolute; display:flex; align-items:center; gap:12px; background:#ffffffe8; border:1px solid white; padding:15px 19px; border-radius:11px; box-shadow:0 12px 23px #68836512; z-index:4; font-size:11px; }
.note-folder { left:6%; top:125px; transform:rotate(-9deg); flex-direction:column; gap:16px; }
.note-folder .folder-icon { transform:scale(.85); }
.note-preview { right:9%; bottom:48px; transform:rotate(2deg); }
.flow-path { position:absolute; width:100%; inset:0; height:100%; pointer-events:none; }
.flow-path path { fill:none; stroke:#8caf85; stroke-width:1.5; stroke-dasharray:4 6; }
.feature-heading { margin-block:73px 26px; }
.language-section { margin-top:90px; text-align:center; }
.language-section h2 { font-size:27px; margin-block:16px 28px; }
.language-section .languages { justify-content:center; }

@media (min-width:1600px) { .wrap { width:min(1280px,calc(100% - 144px)); } }
@media (max-width:1000px) {
  .wrap { width:calc(100% - 56px); }
  .nav nav { gap:18px; }
  h1 { font-size:58px; }
  .showcase-surface .mini-app { width:410px; }
  .note-folder { left:3%; }
  .device-a { right:4%; }
  .get { grid-template-columns:1fr .6fr; }
  .get-actions { grid-column:1/-1; align-items:flex-start; }
  .get-actions .button { width:auto; }
  .features h3 { font-size:16px; }
  .features article { padding:22px; }
}
@media (max-width:700px) {
  .wrap { width:calc(100% - 40px); }
  .wordmark { font-size:19px; gap:8px; }
  .wordmark img { width:28px; height:28px; }
  .nav nav { gap:10px; }
  .nav nav>a:not(.nav-cta) { display:none; }
  .nav-cta { padding:9px 10px; font-size:9px; }
  .lang { width:30px; height:30px; font-size:9px; }
  .eyebrow { font-size:9px; letter-spacing:0; }
  h1 { font-size:43px; }
  h2 { font-size:25px; }
  .lead { font-size:12px; line-height:2; }
  .lead br { display:none; }
  .button { padding:15px 19px; min-height:48px; font-size:11px; gap:18px; }
  .hero-actions { gap:19px; }
  .quiet-link { font-size:10px; }
  .hero-a { padding-top:27px; padding-bottom:28px; }
  .hero-a h1 { margin-top:20px; }
  .hero-meta { font-size:9px; gap:10px; }
  .showcase-a { margin-top:0; }
  .showcase-surface { min-height:385px; padding:18px 12px; border-radius:16px; }
  .showcase-surface:before { width:250px; height:250px; top:65px; }
  .showcase-surface .mini-app { width:260px; margin-left:-35px; }
  .mini-body { padding:17px 15px; }
  .mini-body h3 { font-size:21px; margin-bottom:15px; }
  .mini-drop { padding:17px 5px; gap:8px; }
  .mini-drop strong { font-size:9px; }
  .mini-urls { padding:10px; gap:5px; }
  .mini-urls b { font-size:8px; }
  .mini-urls .qr { width:36px; height:36px; }
  .mini-urls>div:last-child small { display:none; }
  .mini-open { font-size:6px; }
  .mini-status { margin-block:12px; }
  .mini-logo { width:18px; height:18px; }
  .device-a { right:12px; top:123px; }
  .device-a .device { width:105px; border-radius:18px; padding:4px; }
  .device-a .device-screen { padding:18px 7px 15px; border-radius:12px; }
  .device-a .device-screen h3 { font-size:15px; margin:15px 0 10px; }
  .device-a .leaf-art { height:94px; }
  .device-a .device-screen>small { font-size:12px; }
  .device-a .device-screen p { font-size:5px; }
  .device-a .sample-link { font-size:5px; padding:4px 7px; }
  .floating-note { font-size:8px; padding:8px 12px; gap:8px; }
  .note-folder { display:none; }
  .note-preview { bottom:15px; right:22px; }
  .feature-heading { margin-block:46px 20px; }
  .section-intro small { font-size:9px; }
  .features { grid-template-columns:1fr; gap:13px; }
  .features article { padding:23px; }
  .feature-top { margin-bottom:16px; }
  .features h3 { font-size:18px; margin-bottom:8px; }
  .features p { font-size:12px; }
  .how { margin-top:55px; }
  .steps { grid-template-columns:1fr; gap:22px; margin-top:28px; }
  .steps article { padding-top:17px; }
  .steps h3 { font-size:17px; margin-block:11px 7px; }
  .language-section { margin-top:55px; }
  .language-section h2 { font-size:21px; }
  .languages { gap:7px; }
  .languages span { font-size:10px; padding:8px 10px; }
  .get { margin-top:55px; padding:26px; grid-template-columns:1fr; gap:20px; }
  .get h2 { font-size:21px; }
  .get p { font-size:11px; }
  .price { grid-template-columns:auto 1fr; justify-self:start; }
  .get-actions { grid-column:auto; align-items:stretch; }
  .get-actions .button { width:100%; font-size:10px; }
  .get-actions>small { text-align:center; }
  .faq { margin-block:55px 50px; grid-template-columns:1fr; gap:23px; }
  .faq h2 { font-size:24px; }
  .faq details { padding:16px 0; }
  .foot { gap:18px; padding-block:26px; }
  .foot p { flex-basis:50%; font-size:9px; }
  .foot small { margin-left:auto; }
}
@media (max-width:359px) {
  .wrap { width:calc(100% - 32px); }
  .wordmark { font-size:17px; }
  .wordmark img { width:25px; height:25px; }
  .nav nav { gap:7px; }
  .nav-cta { font-size:8px; padding:8px; }
  h1 { font-size:37px; }
  .hero-a .hero-actions { flex-direction:column; gap:12px; }
  .showcase-surface .mini-app { width:225px; margin-left:-23px; }
  .device-a .device { width:92px; }
  .device-a { right:10px; }
  .mini-urls { gap:4px; padding:8px; }
  .mini-urls b { font-size:7px; }
  .mini-urls .qr { width:31px; height:31px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; animation:none!important; } }
