/* FotoCRM landing: editorial product presentation. Pricing deliberately excluded. */
.landing-editorial { --editorial-line: #dce3ed; }
.landing-editorial section:not(.pricing) .sec-title { font-size:clamp(32px,3.6vw,52px); letter-spacing:-.045em; line-height:1.12; }
.landing-editorial section:not(.pricing) .sec-head { max-width:800px; }
.landing-editorial .hero { background:#fff; }
.landing-editorial .hero-grid-bg,.landing-editorial .hero-photo { display:none; }
.landing-editorial .hero-title { font-size:clamp(38px,4.2vw,62px); letter-spacing:-.045em; }
.landing-editorial .hero-real { border-radius:4px; box-shadow:0 20px 50px #2328380c; }
.landing-editorial .hero-chip { background:none; border:0; padding:0; box-shadow:none; }
.landing-editorial .hero-title .hl { background:none; color:#0f6cbd; -webkit-text-fill-color:currentColor; }
.landing-editorial .prob { background:#f7f9fc; }
.problem-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:100px; }
.problem-answer { margin-top:48px; padding-top:24px; border-top:2px solid #0f6cbd; max-width:390px; }
.problem-answer h3 { font-size:23px; margin-bottom:12px; }
.problem-answer p,.problem-index p,.feature-copy p { color:#59677d; line-height:1.75; font-size:16px; }
.problem-index { margin:0; padding:0; list-style:none; counter-reset:problem; }
.problem-index li { position:relative; padding:25px 0 25px 46px; border-top:1px solid var(--editorial-line); counter-increment:problem; }
.problem-index li:before { content:counter(problem,decimal-leading-zero); position:absolute; left:0; top:28px; font-size:12px; color:#0f6cbd; font-variant-numeric:tabular-nums; }
.problem-index h3 { font-size:20px; margin-bottom:8px; letter-spacing:-.02em; }
.landing-editorial .process-grid { gap:32px; }
.landing-editorial .process-grid article { border:0; border-top:1px solid var(--editorial-line); padding:26px 0 0; border-radius:0; background:none; }
.landing-editorial .step-number { background:none; border:0; padding:0; font-size:32px; font-weight:400; color:#0f6cbd; }
.landing-editorial .feat { background:#fff; padding-top:50px; }
.landing-editorial .feat>.wrap>.sec-head { margin-bottom:80px; }
.feature-gallery { display:grid; grid-template-columns: .72fr 1.28fr; gap:64px; align-items:center; }
.feature-copy h3 { font-size:clamp(24px,2.3vw,34px); line-height:1.2; letter-spacing:-.035em; margin-bottom:18px; }
.feature-intro .feature-copy+.feature-copy { border-top:1px solid var(--editorial-line); padding-top:32px; margin-top:36px; }
.feature-screen { display:block; overflow:hidden; border:1px solid var(--editorial-line); border-radius:4px; background:#fff; transition:box-shadow .2s; }
.feature-screen:hover { box-shadow:0 12px 36px #23283814; }
.feature-screen:focus-visible { outline:3px solid #0f6cbd; outline-offset:5px; }
.feature-screen img { display:block; width:100%; height:auto; }
.feature-gallery .feature-screen { max-height:650px; }
.feature-gallery .feature-screen img { aspect-ratio:1.12; object-fit:cover; object-position:top; }
.feature-orders { margin-top:120px; padding-top:72px; border-top:1px solid var(--editorial-line); }
.feature-orders-heading { display:grid; grid-template-columns:1fr 1fr; gap:72px; margin-bottom:40px; }
.feature-orders .feature-screen { max-height:580px; }
.feature-orders .feature-screen img { object-fit:cover; object-position:top; aspect-ratio:2; }
.feature-history { margin-top:30px; padding-top:24px; border-top:1px solid var(--editorial-line); }
.feature-history .feature-copy { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.feature-history h3 { font-size:24px; margin:0; }
.feature-studio { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; margin-top:120px; align-items:start; }
.feature-qr>img { width:100%; aspect-ratio:1.2; object-fit:cover; margin-bottom:30px; }
.feature-qr .fviz-qr { height:150px; justify-content:flex-start; background:none; margin-top:24px; padding:0; gap:20px; }
.feature-qr .fviz-poster { transform:none; width:100px; height:120px; box-shadow:none; border:1px solid var(--editorial-line); border-radius:0; }
.feature-qr .fviz-tag { position:static; transform:none; background:none; border:0; box-shadow:none; }
.feature-qr .fviz-scan { display:none; }
.feature-tools .feature-copy { padding:28px 0; border-top:1px solid var(--editorial-line); }
.feature-tools .feature-copy:first-child { padding-top:0; border:0; }
.feature-tools h3 { font-size:27px; }
.landing-editorial .screen-tabs { background:none; border-radius:0; border-bottom:1px solid var(--editorial-line); padding:0; gap:20px; }
.landing-editorial .screen-tabs button { border-radius:0; background:none; box-shadow:none; border-bottom:2px solid transparent; }
.landing-editorial .screen-tabs button.on { color:#0f6cbd; background:none; border-bottom-color:#0f6cbd; box-shadow:none; }
.landing-editorial .real-panel { border-radius:4px; box-shadow:none; }
.landing-editorial .flows { background:#f7f9fc; }
.landing-editorial .flow-block { background:none; border:0; border-top:1px solid var(--editorial-line); border-radius:0; box-shadow:none; padding:32px 0; }
.landing-editorial .flow-ic { background:none; border:0; box-shadow:none; border-radius:0; }
.landing-editorial .photo-stories { grid-template-columns:1.2fr .8fr; gap:64px; align-items:start; }
.landing-editorial .photo-stories figure { background:none; border:0; border-radius:0; box-shadow:none; }
.landing-editorial .photo-stories figure:nth-child(2) { margin-top:110px; }
.landing-editorial .photo-stories figcaption { padding:24px 0 0; }
.landing-editorial .photo-security { border-radius:0; box-shadow:none; }
.landing-editorial .finale-card { background:#232838; border-radius:0; box-shadow:none; }
.landing-editorial .finale-glow { display:none; }
@media(max-width:1000px) {
 .problem-layout,.feature-gallery,.feature-studio { gap:40px; }
 .feature-orders-heading,.feature-history .feature-copy { gap:32px; }
 .feature-tools h3 { font-size:24px; }
}
@media(max-width:700px) {
 .problem-layout,.feature-gallery,.feature-studio,.feature-orders-heading,.feature-history .feature-copy { grid-template-columns:1fr; gap:32px; }
 .problem-answer { margin-top:28px; }
 .feature-orders,.feature-studio { margin-top:64px; }
 .feature-orders { padding-top:40px; }
 .landing-editorial .feat>.wrap>.sec-head { margin-bottom:40px; }
 .feature-copy h3 { font-size:27px; }
 .feature-gallery .feature-screen img { aspect-ratio:1; }
 .feature-orders .feature-screen img { aspect-ratio:1.45; object-fit:cover; object-position:top left; }
 .feature-history h3 { font-size:23px; }
 .feature-history .feature-copy { gap:12px; }
 .landing-editorial .photo-stories { grid-template-columns:1fr; gap:40px; }
 .landing-editorial .photo-stories figure:nth-child(2) { margin-top:0; }
 .landing-editorial .screen-tabs { gap:0; display:flex; width:100%; }
 .landing-editorial .screen-tabs button { flex:1; font-size:12px; padding:14px 6px; }
 .landing-editorial .process-grid { gap:28px; }
}
@media(prefers-reduced-motion:reduce) { .feature-screen { transition:none; } }
.feature-qr>img { height:auto; }
.landing-editorial .reveal { opacity:1; transform:none; }
.landing-editorial.motion-ready .reveal:not(.in) { opacity:0; transform:translateY(16px); }
@media(prefers-reduced-motion:reduce) { .landing-editorial.motion-ready .reveal:not(.in) { opacity:1; transform:none; } }
/* Separate section introductions from the process and photographic stories. */
.landing-editorial .sol .sec-head,
.landing-editorial .cases .sec-head { margin-bottom:clamp(32px,4vw,56px); }
.landing-editorial .demo .sec-head { margin-bottom:clamp(28px,3vw,44px); }
.landing-editorial .screen-tabs { display:flex; justify-content:center; gap:32px; margin:0 0 28px; width:100%; }
.landing-editorial .screen-tabs button { appearance:none; border:0; border-bottom:2px solid transparent; border-radius:0; padding:16px 4px; font:inherit; font-size:15px; font-weight:500; color:#59677d; background:transparent; transition:color .18s,border-color .18s; }
.landing-editorial .screen-tabs button:hover { color:#0f6cbd; background:transparent; }
.landing-editorial .screen-tabs button.on { border-bottom-color:#0f6cbd; font-weight:600; }
.landing-editorial .screen-tabs button:focus-visible { outline:2px solid #0f6cbd; outline-offset:4px; }
@media(max-width:700px) {
 .landing-editorial .screen-tabs { gap:12px; }
 .landing-editorial .screen-tabs button { flex:1; padding:14px 0; font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .landing-editorial .screen-tabs button { transition:none; } }
.image-lightbox { position:fixed; inset:0; margin:auto; width:min(1440px,94vw); max-width:94vw; height:94dvh; max-height:94dvh; padding:0; border:0; border-radius:8px; background:#fff; color:#232838; box-shadow:0 24px 80px #0005; }
.image-lightbox[open] { display:flex; flex-direction:column; }
.image-lightbox::backdrop { background:rgb(15 20 32 / 85%); }
.lightbox-toolbar { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:20px; padding:14px 20px; border-bottom:1px solid #dce3ed; }
.lightbox-toolbar p { font-size:14px; line-height:1.4; }
.lightbox-close { display:flex; align-items:center; gap:12px; flex-shrink:0; min-height:44px; padding:8px 12px; border:1px solid #dce3ed; border-radius:4px; background:white; color:#232838; font:inherit; font-size:14px; cursor:pointer; }
.lightbox-close span { font-size:24px; line-height:1; }
.lightbox-close:focus-visible { outline:2px solid #0f6cbd; outline-offset:3px; }
.lightbox-stage { min-height:0; flex:1; overflow:auto; padding:20px; background:#f7f9fc; }
.lightbox-stage img { display:block; width:100%; height:auto; margin:0 auto; }
a[data-lightbox] { cursor:zoom-in; }
@media(max-width:700px) { .image-lightbox { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0; } .lightbox-toolbar { padding:10px 12px; gap:12px; } .lightbox-stage { padding:8px; } }
/* One-shot entrances: explicit starting frame also works when .in is added immediately. */
@keyframes editorial-enter {
 from { opacity:0; transform:translateY(22px); }
 to { opacity:1; transform:translateY(0); }
}
.landing-editorial.motion-ready .reveal.in { animation:editorial-enter .65s cubic-bezier(.2,.7,.2,1) both; }
.landing-editorial .process-grid article,
.landing-editorial .problem-index li,
.landing-editorial .feature-tools .feature-copy { transition:border-color .22s ease; }
.landing-editorial .process-grid article > *,
.landing-editorial .problem-index li > *,
.landing-editorial .feature-tools .feature-copy > *,
.landing-editorial .photo-stories figcaption { transition:translate .25s cubic-bezier(.2,.7,.2,1); }
.landing-editorial a[data-lightbox] { transition:box-shadow .22s ease, border-color .22s ease, translate .25s ease; }
.landing-editorial a[data-lightbox]:focus-visible { outline:2px solid #0f6cbd; outline-offset:5px; }
@media(hover:hover) and (pointer:fine) {
 .landing-editorial .process-grid article:hover,
 .landing-editorial .problem-index li:hover,
 .landing-editorial .feature-tools .feature-copy:hover { border-top-color:#0f6cbd; }
 .landing-editorial .process-grid article:hover > *,
 .landing-editorial .problem-index li:hover > *,
 .landing-editorial .feature-tools .feature-copy:hover > * { translate:0 -4px; }
 .landing-editorial .photo-stories figure:hover figcaption { translate:0 -4px; }
 .landing-editorial a[data-lightbox]:hover { translate:0 -3px; border-color:#0f6cbd; box-shadow:0 12px 32px #23283812; }
}
@media(prefers-reduced-motion:reduce) {
 .landing-editorial.motion-ready .reveal.in { animation:none!important; }
 .landing-editorial .process-grid article > *,
 .landing-editorial .problem-index li > *,
 .landing-editorial .feature-tools .feature-copy > *,
 .landing-editorial .photo-stories figcaption,
 .landing-editorial a[data-lightbox] { transition:none; translate:none!important; }
 .landing-editorial .process-grid article,
 .landing-editorial .problem-index li,
 .landing-editorial .feature-tools .feature-copy { transition:none; }
}
