/* LENQ: a photo-led, editorial storefront. Upload styles remain in style.css. */
:root { --paper:#f8f8f4; --cream:#fff; --ink:#202322; --blue:#294dcb; --lime:#e3edb9; --line:#dce0d8; }
body { font-size:16px; }
body::before { display:none; }
button { cursor:pointer; }
a, button, input, select, textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #294dcb; outline-offset:5px; }
[id] { scroll-margin-top:100px; }
.announcement { background:#e8eddd; color:#374638; font-size:12px; letter-spacing:.025em; text-transform:none; padding:10px 20px; }
.announcement i { background:#617456; }
.announcement span:nth-of-type(2) { display:inline; }
.site-header { width:min(1280px,calc(100% - 80px)); height:88px; background:rgba(248,248,244,.95); }
.site-header.scrolled { height:72px; box-shadow:none; }
.brand { font-size:32px; letter-spacing:-.06em; }
.brand-dot { font-size:10px; }
.desktop-nav { gap:30px; color:#555b55; }
.button { border-radius:8px; font-size:14px; min-height:48px; gap:12px; }
.button-primary { background:var(--blue); color:white; border-color:var(--blue); box-shadow:none; padding:0 24px; min-height:56px; }
.button-primary:hover { background:#1b3aad; box-shadow:0 6px 18px #294dcb20; }
.button-primary span { margin-left:10px; }
.button-dark { color:white; background:var(--ink); }
.hero { width:min(1280px,calc(100% - 80px)); min-height:0; padding:68px 0 76px; grid-template-columns:1fr 1fr; gap:58px; }
.hero::after { display:none; }
.hero-copy { padding:6px 0 12px; }
.eyebrow { font-size:12px; letter-spacing:.1em; margin-bottom:25px; }
h1 { font-size:clamp(54px,5.3vw,80px); line-height:1.01; letter-spacing:-.045em; }
h1 em { display:inline; }
.hero-lede { max-width:480px; font-size:17px; line-height:1.75; margin:26px 0; color:#62685f; }
.hero-actions { flex-wrap:wrap; gap:22px; }
.text-link { font-size:14px; font-weight:600; border-bottom:1px solid #b3bcae; padding:9px 0; }
.text-link span { margin-left:10px; }
.hero-note { max-width:none; font-size:13px; margin:18px 0 0; line-height:1.5; color:#63695f; }
.hero-trust { border-top:1px solid var(--line); padding-top:22px; margin-top:28px; gap:20px; font-size:12px; color:#596151; }
.hero-trust i { font-size:11px; border:0; background:#e8eddd; color:#405038; }
.post-preview { min-width:0; background:white; padding:20px; border:1px solid #e1e5db; border-radius:16px; box-shadow:0 24px 65px #2435250d; transform:rotate(1.5deg); }
.preview-top { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:2px 2px 18px; font-size:12px; color:#687060; }
.preview-top > span:first-child { color:var(--ink); font-weight:700; letter-spacing:.08em; }
.preview-top i { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--blue); margin-right:8px; }
.preview-photos { display:grid; grid-template-columns:1.3fr 1fr; gap:10px; }
.preview-photos figure { position:relative; margin:0; border-radius:5px; overflow:hidden; }
.preview-cover { min-height:380px; }
.preview-photos img { height:100%; object-fit:cover; }
.preview-cover img { position:absolute; inset:0; }
.preview-photos figcaption { position:absolute; bottom:0; left:0; right:0; color:white; background:linear-gradient(transparent,#121b18b8); padding:35px 13px 12px; font-size:12px; }
.preview-cover figcaption span { display:inline-block; margin-right:6px; padding:4px 6px; border:1px solid #ffffff70; border-radius:4px; }
.preview-side { display:grid; grid-template-rows:1fr 1fr; gap:10px; min-width:0; }
.preview-side figure { aspect-ratio:1.12; }
.preview-caption { display:grid; grid-template-columns:1fr auto; align-items:center; background:#f1f3e9; margin-top:12px; padding:17px; border-radius:5px; }
.preview-caption > span:first-child { grid-column:1 / -1; font-size:11px; letter-spacing:.1em; color:#6c7560; }
.preview-caption p { margin:8px 0 0; font:24px/1.2 var(--serif); }
.preview-caption > span:last-child { font-size:22px; color:#69785a; }
.preview-footer { display:flex; justify-content:space-between; gap:15px; padding-top:15px; font-size:12px; color:#6a7163; line-height:1.5; }
.preview-footer > span:last-child { color:#747b6e; text-align:right; }
.proof-strip { min-height:66px; background:transparent; border-top:1px solid var(--line); border-bottom:1px solid var(--line); box-shadow:none; color:#5d6657; font-size:12px; letter-spacing:.07em; gap:35px; }
.proof-strip i { background:#b2bea0; width:4px; height:4px; }
.proof-strip { white-space:normal; }
.section-shell { width:min(1200px,calc(100% - 80px)); }
.section-kicker { font-size:12px; letter-spacing:.11em; margin-bottom:18px; }
.intro { padding:84px 24px 40px; }
.intro h2 { font-size:clamp(40px,4vw,58px); line-height:1.04; }
.steps { padding-bottom:85px; gap:28px; }
.step-card { min-height:0; padding:26px 0; border:0; border-top:1px solid #bdc5b4; background:transparent !important; color:var(--ink) !important; overflow:visible; }
.step-card:hover { transform:none; box-shadow:none; }
.step-number { display:inline-grid; place-items:center; width:38px; height:38px; color:var(--blue); background:#e7ecdf; border-radius:50%; font-size:12px; margin-bottom:22px; }
.step-card h3 { font-size:29px; margin-bottom:12px; }
.step-card p, .step-card:nth-child(3) p { font-size:16px; color:#636a5d; line-height:1.7; }
.moments { display:block; padding:30px 0 85px; }
.moments-heading { position:static; display:grid; grid-template-columns:1.1fr .9fr; gap:0 50px; align-items:end; margin-bottom:30px; }
.moments-heading .section-kicker { grid-column:1 / -1; }
.moments-heading h2 { font-size:clamp(38px,4vw,58px); line-height:1.04; }
.moments-heading > p:last-child { font-size:16px; line-height:1.7; margin:0; max-width:360px; }
.moment-grid { grid-template-columns:repeat(3,1fr); gap:16px; }
.moment-card { min-height:248px; padding:26px; border:0; border-radius:10px; }
.moment-card:hover { transform:translateY(-3px); box-shadow:none; }
.moment-card > span { font-size:12px; letter-spacing:.06em; }
.moment-card h3 { font-size:34px; margin:24px 0 12px; }
.moment-card p { font-size:15px; line-height:1.65; opacity:1; }
.moment-cobalt { background:#294dcb; }.moment-cobalt p { color:#e4eaff; }
.moment-pink { background:#eedbd0; }.moment-sand { background:#e8eddd; }
.results { background:#edf0e7; padding:80px 0; }
.experience-heading { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; margin-bottom:36px; }
.experience-heading h2 { margin:0; font:400 clamp(44px,4.7vw,68px)/1.02 var(--serif); letter-spacing:-.04em; }
.experience-heading h2 em { color:var(--blue); }
.experience-heading > p { max-width:400px; margin:0 0 5px; color:#616959; font-size:16px; line-height:1.75; }
.story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.story-grid figure { min-width:0; margin:0; }
.story-grid img { height:auto; aspect-ratio:4/5; object-fit:cover; border-radius:8px; }
.story-grid figcaption { padding:18px 0 4px; display:grid; gap:9px; }
.story-grid figcaption span { font-size:12px; letter-spacing:.075em; color:#606a54; }
.story-grid figcaption b { font:400 25px/1.2 var(--serif); }
.sample-disclosure { font-size:12px; line-height:1.6; color:#69725f; margin:23px 0 0; }
.caption-demo { margin-top:48px; padding-top:38px; border-top:1px solid #cdd5c2; display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:60px; }
.caption-demo h3 { margin:0; font:400 38px/1.1 var(--serif); letter-spacing:-.02em; }
.caption-demo > div > p:last-child { max-width:365px; font-size:16px; line-height:1.7; color:#606956; }
.caption-demo-card { min-width:0; padding:24px; border-radius:10px; background:white; }
.caption-options { display:flex; flex-wrap:wrap; gap:8px; }
.caption-options button { padding:9px 14px; border:1px solid #dfe3d8; border-radius:5px; background:white; color:#5e6656; font-size:14px; }
.caption-options [aria-pressed="true"] { background:var(--blue); color:white; border-color:var(--blue); }
.caption-demo-card > p { min-height:76px; margin:25px 0; font:400 31px/1.3 var(--serif); }
.caption-demo-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding-top:16px; color:#69715f; font-size:12px; }
.caption-demo-footer button { border:0; background:transparent; color:var(--blue); font-size:14px; padding:5px 0; }
.privacy-band { padding:48px max(40px,calc((100% - 1200px)/2)); gap:30px; background:#243727; grid-template-columns:62px 1fr .9fr; }
.privacy-mark { width:55px; height:55px; font-size:35px; }
.privacy-band h2 { font-size:35px; line-height:1.1; }
.privacy-band > p { font-size:15px; color:#d7e0d2; }
.privacy-band > p { grid-column:auto; }
.privacy-band a,.pricing-footnote a,.faq-list a { text-decoration:underline; text-underline-offset:3px; }
.pricing { padding:90px 0 75px; }
.pricing-head h2 { font-size:clamp(44px,4.8vw,66px); line-height:1.03; }
.first-post-offer { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:30px; border:1px solid #c8d3b8; border-radius:12px; background:#eaf0dd; margin:38px 0 18px; }
.first-post-offer h3 { margin:12px 0; font:400 31px/1.2 var(--serif); }.first-post-offer h3 em { color:var(--blue); }
.first-post-offer p { font-size:14px; line-height:1.65; margin:0; color:#5d6752; max-width:600px; }
.first-post-offer button { flex-shrink:0; }
.pricing-preview-note { font-size:13px; text-align:center; color:#666f5d; margin:0 0 28px; }
.credit-menu { max-width:none; margin:0; padding:20px; background:white; color:#5a6351; border:1px solid var(--line); border-radius:8px; font-size:12px; letter-spacing:0; text-transform:none; }
.credit-menu b { color:var(--blue); font-size:18px; }
.price-grid { margin-top:38px; gap:18px; }
.price-grid,.credit-menu,.annual-plan,.topup { max-width:none; }
.price-card { border-color:var(--line); border-radius:10px; padding:28px; }
.price-card.featured { background:#fff; border:2px solid var(--blue); box-shadow:none; }
.price-card:hover,.price-card.featured:hover { transform:translateY(-3px); box-shadow:0 12px 24px #2435250a; }
.popular-tag { font-size:12px; text-transform:none; letter-spacing:0; border:0; white-space:nowrap; padding:7px 17px; }
.price-title { flex-wrap:wrap; gap:5px; }.price-title small { font-size:12px; }
.price { font-size:62px; }.price-unit { font-size:14px; line-height:1.5; }
.price-card ul { font-size:14px; line-height:1.6; min-height:210px; }
.value-line { font-size:12px; gap:12px; }.price-card .button-primary { background:var(--blue); }
.annual-plan { border:0; border-radius:12px; box-shadow:none; grid-template-columns:1fr .8fr 1.2fr; gap:25px; padding:35px; margin-top:30px; }
.annual-badge { position:static; display:inline-block; margin-bottom:20px; border-radius:4px; font-size:12px; text-transform:none; letter-spacing:0; }
.annual-lead > p:last-child,.annual-plan ul { font-size:14px; line-height:1.65; color:#e5eaff; }
.annual-price span,.annual-price b,.annual-price em { font-size:12px; }.annual-price { padding-left:20px; }
.annual-button { border-radius:6px; background:#e3edb9; }.annual-plan .section-kicker { font-size:12px; }
.topup { margin-top:40px; border-color:var(--line); border-radius:10px; overflow:hidden; }
.topup-heading { border-color:var(--line); gap:30px; }.topup-heading > p { font-size:14px; }
.topup-grid article { padding:25px 22px; gap:14px; }.topup-grid article + article { border-color:var(--line); }
.topup-grid article > div span,.topup-grid article > p small,.topup-use,.savings-note { font-size:12px; line-height:1.5; }
.topup-tag { position:static; transform:none; grid-column:1 / -1; width:max-content; max-width:100%; white-space:normal; font-size:12px; border:0; text-transform:none; letter-spacing:0; }
.best-topup { background:#f0f3e9; }.topup-grid article > div b { font-size:36px; }
.pricing-footnote { font-size:12px; line-height:1.8; max-width:860px; color:#69715f; }
.faq { padding:70px 0 80px; gap:70px; }.faq-heading h2 { font-size:48px; line-height:1.05; }
.faq-list { border-color:var(--line); }.faq-list details { border-color:var(--line); }.faq-list summary { font-size:16px; }.faq-list p { font-size:15px; line-height:1.75; color:#61695a; }
.final-cta { padding:70px 24px 80px; background:#e8eddd; }.final-cta h2 { font-size:clamp(40px,5vw,68px); line-height:1.07; }.final-cta p { font-size:16px; }
.site-footer { padding:35px 40px; gap:25px; }.site-footer p,.site-footer nav,.site-footer > span { font-size:12px; line-height:1.6; }
.preview-upload-note { margin:0 35px 25px 0; padding:12px; background:#edf1e5; color:#46563b; font-size:14px; line-height:1.6; border-radius:6px; }
.upload-panel .section-kicker,.upload-progress-head,.upload-step small,.choice-grid small,.upload-privacy { font-size:12px; }
.upload-step label,.upload-step legend,.choice-grid b,.upload-panel button { font-size:14px; }.choice-grid input:focus-visible + span { outline:3px solid var(--blue); outline-offset:3px; }
@media(min-width:1550px) { .hero { gap:85px; } }
@media(max-width:1050px) {
  .hero { gap:30px; }.hero-actions { gap:14px; }h1 { font-size:58px; }.preview-cover { min-height:330px; }.preview-footer { flex-direction:column; gap:3px; }.preview-footer > span:last-child { text-align:left; }
  .price-card { padding:22px; }.price-card ul { min-height:245px; }.annual-plan { grid-template-columns:1fr 1fr; }.annual-plan ul { grid-column:1 / -1; }.annual-button { grid-column:1 / -1; }.privacy-band { grid-template-columns:1fr 1fr; }.privacy-mark { display:none; }
}
@media(max-width:800px) {
  .site-header,.hero,.section-shell { width:calc(100% - 40px); }.site-header { height:74px; }.desktop-nav { display:none; }
  .hero { grid-template-columns:1fr; padding:40px 0 55px; gap:35px; }.hero-copy { max-width:600px; }.hero-lede { max-width:570px; }.post-preview { max-width:550px; width:100%; margin:auto; transform:none; }.preview-cover { min-height:370px; }.preview-footer { flex-direction:row; }
  .proof-strip { display:grid; grid-template-columns:1fr 1fr; gap:18px; text-align:center; padding:25px 20px; }.proof-strip i { display:none; }
  .steps { gap:20px; }.step-card h3 { font-size:25px; }.step-card p { font-size:15px; }
  .moments-heading { grid-template-columns:1fr; gap:12px; }.moments-heading > p:last-child { max-width:500px; }.moment-grid { gap:12px; }.moment-card { padding:22px 18px; }.moment-card > span { font-size:12px; letter-spacing:0; }
  .experience-heading,.caption-demo { gap:28px; }.story-grid { gap:12px; }.story-grid figcaption b { font-size:23px; }
  .first-post-offer { flex-direction:column; align-items:flex-start; }.price-grid { grid-template-columns:1fr; gap:25px; }.price-card ul { min-height:0; }.price { margin-top:22px; }
  .topup-heading { grid-template-columns:1fr; gap:12px; }.topup-grid { grid-template-columns:1fr; }.topup-grid article + article { border-left:0; border-top:1px solid var(--line); }.topup-grid article { gap:10px 20px; }
  .faq { grid-template-columns:1fr; gap:30px; }.site-footer { padding:30px 20px; flex-wrap:wrap; }
}
@media(max-width:560px) {
  .announcement { font-size:12px; gap:9px; }.announcement > span:first-child { display:none; }.announcement i { display:none; }
  h1 { font-size:clamp(43px,11.8vw,62px); }.hero-lede { font-size:16px; }.hero-actions { align-items:flex-start; flex-direction:column; }.hero-trust { gap:15px; }.eyebrow { font-size:12px; }
  .post-preview { padding:12px; }.preview-top { gap:8px; font-size:12px; }.preview-top > span:first-child { letter-spacing:0; }.preview-top i { margin-right:4px; }.preview-cover { min-height:285px; }.preview-photos { gap:7px; grid-template-columns:1.15fr 1fr; }.preview-side { gap:7px; }.preview-side figure { aspect-ratio:auto; }.preview-photos figcaption { font-size:12px; padding:30px 8px 10px; }.preview-caption p { font-size:23px; }.preview-footer { display:block; }.preview-footer span { display:block; }
  .intro { padding:60px 20px 30px; }.steps { grid-template-columns:1fr; gap:0; padding-bottom:35px; }.step-card { padding:22px 0; }.step-number { margin-bottom:14px; }.step-card h3 { font-size:29px; }.step-card p { font-size:16px; }
  .moments { padding:25px 0 55px; }.moment-grid { grid-template-columns:1fr; }.moment-card { min-height:190px; padding:24px; }.moment-card h3 { margin:20px 0 10px; }.moment-card p { font-size:16px; }
  .results { padding:55px 0; }.experience-heading { grid-template-columns:1fr; gap:20px; }.experience-heading > p { max-width:none; }.story-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.story-grid figcaption { gap:7px; padding-top:12px; }.story-grid figcaption span { font-size:12px; letter-spacing:0; }.story-grid figcaption b { font:400 17px/1.35 var(--serif); }.story-grid img { aspect-ratio:3/5; }.sample-disclosure { margin-top:20px; }
  .caption-demo { grid-template-columns:1fr; margin-top:30px; padding-top:30px; gap:15px; }.caption-demo-card { padding:20px; }.caption-demo-card > p { font-size:28px; }
  .privacy-band { grid-template-columns:1fr; padding:35px 20px; gap:20px; }.privacy-band h2 { font-size:33px; }.pricing { padding:55px 0; }.first-post-offer { padding:24px; }.first-post-offer button { width:100%; }.credit-menu { grid-template-columns:1fr 1fr; text-align:left; gap:18px; padding:20px 16px; }
  .annual-plan { grid-template-columns:1fr; padding:28px 24px; gap:24px; }.annual-price { padding:0; border:0; }.annual-price p { font-size:60px; }.annual-button { grid-column:auto; }.annual-plan ul { grid-column:auto; }
  .topup-heading { padding:25px; }.faq { padding:45px 0 55px; }.faq-heading h2 { font-size:42px; }.final-cta { padding:50px 20px 60px; }.site-footer nav { flex-wrap:wrap; gap:16px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
