/* Schediz V1 presentation. Existing form and integration scripts stay unchanged. */
:root { --green:#223629; --green-bright:#223629; --green-dark:#19271f; --green-deep:#19271f; --ink:#202020; --muted:#626262; --surface:#ffffff; --surface-raised:#fafafa; --surface-form:#ffffff; --surface-muted:#f3f3f3; --input:#f7f7f7; --input-line:#d0d0d0; --selected:#e8ede3; --soft:var(--surface-muted); --soft-2:#fafafa; --line:#dedede; --page:#ffffff; --shadow:0 12px 32px #2020200d; --content:1280px; }
html { background:var(--page); scroll-padding-top:28px; }
body { background:var(--page); color:var(--ink); }
:where(a,button,input,select,summary,[tabindex]):focus-visible { outline:3px solid #506d57; outline-offset:4px; }
.button { border-radius:9px; font-weight:650; font-size:.94rem; min-height:52px; }
.button-primary { background:var(--green); box-shadow:0 4px 12px #22362910; color:#fff; }
.button-primary:hover { background:#17291e; box-shadow:0 5px 16px #22362920; }
.language-toggle { padding:3px; border:0; border-radius:8px; background:var(--surface-muted); }
.language-toggle button { min-height:40px; min-width:42px; padding:8px; border-radius:6px; font-weight:600; }
.language-toggle button[aria-pressed="true"] { color:var(--ink); background:var(--surface-raised); box-shadow:0 1px 4px #20202015; }
.sz-mark { display:block; width:64px; height:64px; object-fit:contain; flex:none; }
.v1-brand { display:inline-flex; align-items:center; gap:1px; color:#111; font-size:28px; font-weight:750; letter-spacing:-1.2px; text-decoration:none; white-space:nowrap; }
.v1-wrap { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.landing-v1 .site-header { width:min(1360px,calc(100% - 48px)); min-height:96px; margin:0 auto; padding:8px 16px; gap:24px; background:var(--page); border:0; border-radius:0; }
.landing-v1 .site-header nav { gap:24px; margin-left:auto; }
.landing-v1 .site-header nav a { font-size:.87rem; font-weight:550; }
.landing-v1 .header-actions { margin-left:auto; gap:20px; }
.landing-v1 .header-trial { padding:0; }
.landing-v1 .site-header .button { font-size:.83rem; padding-inline:18px; }
.v1-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; padding:38px 0 62px; }
.v1-eyebrow { color:var(--muted); font-size:.7rem; font-weight:650; letter-spacing:.15em; line-height:1.6; margin:0 0 22px; }
.v1-hero h1 { font-size:clamp(4.4rem,6.7vw,6.7rem); line-height:.96; letter-spacing:-.066em; font-weight:700; margin:0 0 28px; }
.v1-hero h1 span { display:block; }
.v1-lead { font-size:1.2rem; margin:0 0 12px; line-height:1.5; }
.v1-description { color:var(--muted); font-size:1.04rem; line-height:1.75; margin:0 0 28px; max-width:540px; }
.v1-hero-copy > .button { margin-top:8px; min-width:252px; }
.v1-price-note { color:var(--muted); font-size:.8rem; line-height:1.6; margin:13px 0 0; }
.v1-hero-art { position:relative; display:flex; justify-content:center; align-items:center; min-height:650px; padding:24px; border-radius:22px; isolation:isolate; }
.v1-property { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; object-position:64% center; border-radius:22px; z-index:-1; opacity:.82; }
.v1-device { width:258px; max-width:100%; padding:5px; border:1px solid #333b32; background:#171b17; border-radius:27px; box-shadow:0 14px 28px #1c25151c; line-height:0; flex:none; }
.v1-device img { width:100%; height:auto; display:block; border-radius:21px; }
.v1-hero-art .v1-device { width:270px; transform:rotate(4deg); box-shadow:0 22px 42px #14221d40; }
.v1-benefits { display:flex; gap:30px; margin-top:38px; max-width:450px; }
.v1-benefits div { display:grid; justify-items:start; gap:10px; font-size:.76rem; font-weight:550; }
.v1-benefits img { width:24px; height:24px; filter:grayscale(1) brightness(.35); }
.v1-section { padding-block:88px; }
.landing-v1 h2 { font-size:clamp(2.2rem,3.4vw,3.3rem); line-height:1.1; font-weight:650; letter-spacing:-.048em; margin:0 0 20px; text-wrap:balance; }
.v1-section-heading { display:flex; align-items:end; gap:44px; justify-content:space-between; margin-bottom:38px; }
.v1-section-heading h2 { max-width:580px; margin:0; }
.v1-section-heading > p { color:var(--muted); max-width:300px; line-height:1.65; margin:0; }
.v1-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.v1-feature { padding:28px; background:var(--surface); border:1px solid var(--line); border-radius:16px; }
.v1-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:10px; background:var(--surface-muted); margin-bottom:23px; }
.v1-icon img { filter:grayscale(1) brightness(.35); width:27px; height:27px; }
.v1-feature h3 { font-size:1.04rem; font-weight:650; margin:0 0 7px; }
.v1-feature p { font-size:.88rem; line-height:1.6; color:var(--muted); margin:0; }
.v1-how { display:grid; grid-template-columns:1fr 1fr; gap:100px; border-top:1px solid var(--line); }
.v1-how h2 { max-width:450px; }
.v1-how .button { margin-top:10px; }
.v1-steps { list-style:none; display:grid; gap:24px; margin:0; padding:0; }
.v1-steps li { display:flex; gap:20px; align-items:flex-start; }
.v1-step-number { width:34px; height:34px; flex:none; display:grid; place-items:center; background:var(--green); color:white; border-radius:50%; font-size:.85rem; }
.v1-steps h3 { font-size:1rem; line-height:1.5; margin:2px 0 2px; font-weight:650; }
.v1-steps p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.6; }
.v1-showcase { background:var(--surface-muted); padding:84px 0 64px; }
.v1-screens { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin:44px 0 28px; padding:10px 4px 20px; }
.v1-screens figure { margin:0; min-width:0; display:flex; flex-direction:column; align-items:center; }
.v1-screens .v1-device { width:100%; max-width:258px; }
.v1-screens figcaption { text-align:center; font-size:.93rem; font-weight:600; margin-top:22px; }
.v1-caption { color:var(--muted); font-size:.76rem; line-height:1.7; margin:8px 0 0; }
.v1-detail { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.v1-detail-art { display:flex; justify-content:center; padding:38px 20px; background:var(--surface-muted); border:1px solid var(--line); border-radius:20px; }
.v1-detail-art .v1-device { width:280px; }
.v1-detail-copy { max-width:510px; }
.v1-checks { list-style:none; margin:26px 0; padding:0; display:grid; gap:14px; }
.v1-checks li { position:relative; padding-left:28px; font-size:.95rem; line-height:1.55; }
.v1-checks li::before { content:'✓'; position:absolute; left:0; color:var(--green); font-weight:650; }
.v1-route { padding-top:0; }
.v1-qr { display:grid; grid-template-columns:1fr 1fr; background:var(--surface); border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.v1-qr-copy { padding:52px; }
.v1-qr-steps { margin:28px 0; gap:22px; }
.v1-qr-steps .v1-step-number { background:var(--surface-muted); color:var(--ink); }
.v1-qr-art { display:grid; place-items:center; min-height:490px; padding:40px; background:url('../images/hero/hero-background.webp') 66% center / cover; }
.v1-qr-card { width:290px; max-width:100%; text-align:center; border-radius:14px; background:var(--surface-raised); box-shadow:0 10px 34px #2226; padding:18px 24px 26px; }
.v1-qr-card .v1-brand { font-size:27px; }
/* KEEP pure white here: QR code and its quiet zone retain maximum contrast. */
.v1-qr-code { width:100%; height:auto; background:#fff; }
.v1-qr-card strong { display:block; font-size:1rem; }
.v1-text-link { display:inline-block; margin-top:20px; color:var(--ink); text-underline-offset:5px; font-size:.9rem; }
.v1-pricing { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.v1-price-card { padding:40px; background:var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
.v1-price-top { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:center; }
.v1-price-top h3 { margin:0; font-size:1.22rem; font-weight:650; }
.v1-pill { padding:7px 10px; background:var(--surface-muted); border-radius:6px; font-size:.73rem; }
.v1-price { margin:26px 0 14px; display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; }
.v1-price strong { font-size:clamp(2rem,3.6vw,3.1rem); line-height:1.15; letter-spacing:-.055em; }
.v1-price > span { color:var(--muted); font-size:.88rem; }
.v1-price-card .v1-description { font-size:.9rem; margin-bottom:24px; }
.v1-price-card .button { width:100%; margin-top:8px; }
.v1-price-card .v1-price-note { text-align:center; }
.v1-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; padding-top:36px; }
.v1-faq-list details { border-bottom:1px solid var(--line); }
.v1-faq-list summary { display:flex; justify-content:space-between; gap:25px; align-items:center; min-height:66px; cursor:pointer; list-style:none; padding:18px 0; font-size:.96rem; }
.v1-faq-list summary::-webkit-details-marker { display:none; }
.v1-faq-list summary > span:last-child { font-size:1.3rem; line-height:1; }
.v1-faq-list details[open] summary > span:last-child { transform:rotate(45deg); }
.v1-faq-list details p { font-size:.9rem; line-height:1.75; color:var(--muted); margin:0; padding:0 35px 24px 0; }
.v1-final { display:grid; grid-template-columns:1.2fr .8fr; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:var(--surface); margin-bottom:80px; }
.v1-final > div { padding:54px; }
.v1-final > img { width:100%; height:100%; object-fit:cover; object-position:69% center; }
.v1-footer { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; padding:30px 0 24px; border-top:1px solid var(--line); }
.v1-footer .v1-description { font-size:.87rem; margin-top:6px; }
.landing-v1 .v1-footer h2 { font-size:.9rem; letter-spacing:0; margin:18px 0 22px; }
.v1-footer nav { display:flex; flex-direction:column; gap:13px; }
.v1-footer nav a { color:var(--muted); font-size:.87rem; text-decoration:none; }
.v1-footer nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.v1-footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:20px; }
.v1-footer-bottom p { font-size:.75rem; color:var(--muted); }
.landing-v1 .signup-dialog { width:min(520px,100%); padding:22px 36px 28px; border-radius:18px; background:var(--surface-form); box-shadow:0 20px 60px #0003; }
.v1-modal-brand { display:flex; justify-content:center; margin:0 auto 14px; }
.landing-v1 .modal-heading h2 { font-size:1.85rem; }
.landing-v1 .modal-heading p { font-size:.9rem; margin-bottom:24px; }
.landing-v1 .field-group { margin-bottom:13px; }
.landing-v1 .field-group label { margin-left:0; font-size:.8rem; }
.input-shell input::placeholder { color:var(--muted); }
.input-shell { border-radius:8px; background:var(--input); border-color:var(--input-line); }
.landing-v1 .oauth-buttons button { background:var(--input); border-color:var(--input-line); }
.input-shell:focus-within { border-color:var(--green); box-shadow:0 0 0 3px #22362914; }
.country-code { background:var(--input); border:0; border-right:1px solid var(--line); padding:8px 7px 8px 0; font:inherit; font-size:.85rem; max-width:106px; }
.landing-v1 .field-error,.landing-v1 .password-hint { margin-left:0; font-size:.76rem; line-height:1.5; }
.landing-v1 .modal-close { background:var(--surface-muted); }
.landing-v1 .modal-trust { display:none; }
.v1-modal-legal { color:var(--muted); text-align:center; font-size:.75rem; margin-top:19px; line-height:1.7; }
.v1-modal-legal a { color:inherit; text-underline-offset:3px; }
.landing-v1 .form-success { min-height:350px; padding:36px 10px; }
/* Existing QR request form: visual identity only. */
.quote-page { background:var(--page); }
.quote-page .quote-shell { background:var(--page); box-shadow:none; border:1px solid var(--line); }
.quote-page .quote-overlay { background:var(--page); }
.quote-page .quote-background { display:none; }
.quote-header > a { display:flex; align-items:center; gap:0; text-decoration:none; color:var(--ink); font-size:28px; font-weight:750; letter-spacing:-1px; }
.quote-header > a .sz-mark { width:64px; height:64px; }
.quote-page .quote-copy h1 .accent { color:var(--ink); }
.quote-page .quote-copy h1 { line-height:1.05; font-size:clamp(2.5rem,4.5vw,4.7rem); }
.quote-page .quote-card { background:var(--surface-form); box-shadow:var(--shadow); border-color:var(--line); border-radius:18px; }
.quote-page .quote-benefits article > span,.quote-page .quote-form-heading > span { background:var(--soft); }
.quote-page .quote-benefits img,.quote-page .quote-form-heading img,.quote-page .services-strip img { filter:grayscale(1) brightness(.4); }
.quote-page .quote-handwritten { display:none; }
.quote-page .quote-privacy { color:var(--muted); }
.quote-page .services-strip { background:var(--surface); box-shadow:none; border:1px solid var(--line); }
.quote-page .intent-card { background:var(--input); border-color:var(--input-line); }
.quote-page .intent-card:hover { border-color:var(--green); }
.quote-page .intent-card:has(input:focus-visible) { outline-color:#506d57; }
.quote-page .intent-card.is-selected { background:var(--selected); border-color:var(--green); box-shadow:none; }
.quote-page .quote-footer { background:var(--surface); }
.quote-page .quote-footer .sz-mark { width:64px; height:64px; display:inline-block; vertical-align:middle; }
.quote-page .quote-footer .sz-mark + span { font-weight:750; font-size:25px; color:var(--ink); vertical-align:middle; }
@media(min-width:1600px) { .v1-hero { padding-top:50px; } .v1-hero-art { min-height:700px; } .v1-hero-art .v1-device { width:285px; } }
@media(max-width:1100px) { .landing-v1 .site-header nav { gap:16px; } .landing-v1 .site-header { gap:16px; } .landing-v1 .header-trial { display:none; } .v1-brand { font-size:25px; } .v1-brand .sz-mark { width:56px; height:56px; } .v1-how,.v1-detail,.v1-faq,.v1-pricing { gap:50px; } .v1-qr-copy { padding:36px; } }
@media(max-width:980px) {
  .landing-v1 .site-header { min-height:80px; gap:16px; padding:8px 0; }
  .landing-v1 .site-header nav { background:var(--surface); width:100%; top:74px; left:0; margin:0; display:none; }
  .landing-v1 .site-header nav.is-open { display:flex; }
  .landing-v1 .header-actions { margin-left:auto; order:initial; }
  .landing-v1 .menu-toggle { order:initial; margin-left:0; }
  .landing-v1 .header-trial { display:none; }
  .v1-hero { gap:30px; }
  .v1-hero h1 { font-size:4.5rem; }
  .v1-hero-art { min-height:570px; padding:16px; }
  .v1-hero-art .v1-device { width:220px; }
  .v1-benefits { gap:14px; }
  .v1-features { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .v1-feature { padding:22px; }
  .v1-screens { gap:18px; }
  .v1-device { border-radius:20px; padding:4px; }
  .v1-device img { border-radius:15px; }
  .v1-section-heading { align-items:start; flex-direction:column; gap:16px; }
  .v1-section-heading > p { max-width:500px; }
  .v1-detail-art .v1-device { width:250px; }
  .v1-qr-copy { padding:30px; }
  .v1-price-card { padding:28px; }
}
@media(max-width:700px) {
  .v1-wrap { width:calc(100% - 40px); }
  .landing-v1 .site-header { width:calc(100% - 32px); }
  .v1-brand { font-size:25px; letter-spacing:-1px; }
  .v1-brand .sz-mark { width:50px; height:50px; }
  .v1-hero { grid-template-columns:1fr; gap:30px; padding-top:30px; padding-bottom:46px; }
  .v1-hero h1 { font-size:clamp(4.5rem,16vw,6rem); margin-bottom:26px; }
  .v1-eyebrow { font-size:.65rem; margin-bottom:20px; }
  .v1-lead { font-size:1.1rem; }
  .v1-description { font-size:.98rem; line-height:1.7; }
  .v1-hero-copy > .button { min-width:0; width:100%; }
  .v1-hero-copy > .v1-price-note { text-align:center; }
  .v1-benefits { gap:16px; justify-content:space-between; margin-top:28px; }
  .v1-benefits div { font-size:.71rem; max-width:100px; }
  .v1-hero-art { min-height:0; padding:28px 20px; }
  .v1-hero-art .v1-device { width:224px; transform:rotate(3deg); }
  .v1-section { padding-block:56px; }
  .landing-v1 h2 { font-size:2.2rem; letter-spacing:-.045em; }
  .v1-features { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .v1-feature { padding:20px 16px; }
  .v1-feature h3 { font-size:.95rem; }
  .v1-feature p { font-size:.83rem; }
  .v1-icon { margin-bottom:18px; }
  .v1-how,.v1-detail,.v1-pricing,.v1-faq { grid-template-columns:1fr; gap:34px; }
  .v1-how .button { width:100%; }
  .v1-steps { gap:22px; }
  .v1-showcase { padding:52px 0 42px; }
  .v1-screens { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:24px; margin:28px -4px 20px; padding:8px 6px 25px; scrollbar-width:thin; scrollbar-color:#909090 transparent; }
  .v1-screens figure { flex:0 0 224px; scroll-snap-align:center; }
  .v1-detail-art { padding:28px 20px; }
  .v1-detail-art .v1-device { width:250px; }
  .v1-detail-copy { order:-1; }
  .v1-route { padding-top:0; }
  .v1-qr { grid-template-columns:1fr; }
  .v1-qr-copy { padding:32px 24px; }
  .v1-qr-art { min-height:370px; padding:34px; }
  .v1-qr-card { width:254px; padding:14px 20px 20px; }
  .v1-price-card { padding:28px 24px; }
  .v1-price strong { font-size:2.5rem; }
  .v1-price-card .v1-checks li { font-size:.88rem; }
  .v1-faq { padding-top:10px; }
  .v1-faq-list summary { font-size:.9rem; }
  .v1-final { grid-template-columns:1fr; margin-bottom:54px; }
  .v1-final > div { padding:34px 26px; }
  .v1-final .button { width:100%; }
  .v1-final > img { height:240px; }
  .v1-footer { grid-template-columns:1fr 1fr; gap:22px; padding-top:24px; }
  .v1-footer > div:first-child { grid-column:1/-1; }
  .v1-footer-bottom { gap:18px; flex-wrap:wrap; }
  .v1-footer-bottom p { margin:0; }
  .landing-v1 .signup-dialog { width:100%; min-height:100dvh; max-height:100dvh; border-radius:0; padding:26px 22px; }
  .landing-v1 .modal-backdrop { padding:0; }
  .landing-v1 .modal-heading h2 { font-size:1.8rem; }
  .quote-page .quote-header { padding-inline:18px; }
  .quote-page .quote-layout { gap:28px; }
  .quote-page .quote-copy h1 { font-size:2.8rem; }
}
@media(min-width:701px) and (max-width:768px) { .landing-v1 .signup-dialog { width:100%; max-height:100dvh; min-height:100dvh; border-radius:0; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .v1-screens { scroll-behavior:auto; } }
