/* Same brand tokens, type, buttons and spacing as the homepage. */
.editorial-page { background:var(--cream); }
.lp-container { width:100%; max-width:var(--max-w); margin:auto; padding:0 24px; }
.lp-skip { position:fixed; top:-80px; left:16px; z-index:200; background:white; padding:14px 20px; border-radius:12px; }
.lp-skip:focus { top:12px; }
.editorial-page :focus-visible { outline:2px solid var(--rose-dark); outline-offset:5px; }
.lp-crumbs { padding:22px 0 0; font-size:.78rem; color:var(--text-2); }
.lp-crumbs .lp-container { display:flex; flex-wrap:wrap; gap:10px; }
.lp-crumbs a { color:var(--rose-dark); }
.lp-hero { position:relative; padding:52px 0 72px; overflow:hidden; background:radial-gradient(ellipse at 82% 36%,var(--rose-xlight),transparent 56%); }
.lp-hero__grid { display:grid; grid-template-columns:1.06fr .94fr; gap:64px; align-items:center; }
.lp-label { display:block; font-size:.75rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--rose-dark); margin-bottom:12px; }
.lp-hero h1 { font-family:var(--font-h); font-size:clamp(2.7rem,4.5vw,4.5rem); font-weight:500; line-height:1.08; margin:0 0 24px; letter-spacing:-.015em; }
.lp-hero h1 em, .lp-section h2 em, .lp-gallery h2 em, .lp-personal h2 em { color:var(--rose-dark); font-weight:400; }
.lp-lead { color:var(--text-2); font-size:1.05rem; line-height:1.8; max-width:52ch; margin:0 0 28px; }
.lp-hero__actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.lp-text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--rose-dark); border-bottom:1px solid var(--rose-light); font-size:.92rem; }
.lp-text-link:hover { color:var(--text); border-color:var(--rose); }
.lp-hero__note { margin-top:22px; color:var(--text-2); font-size:.78rem; }
.lp-hero__visual { position:relative; padding:12px 12px 36px 0; min-width:0; }
.lp-hero__image { margin:0; }
.lp-hero__image > img { display:block; width:100%; height:480px; object-fit:cover; border-radius:160px 160px 32px 32px; box-shadow:var(--shadow-lg); }
.lp-hero__image figcaption { font-size:.68rem; color:var(--text-2); padding:16px 140px 0 2px; line-height:1.5; }
.lp-hero__signature { position:absolute; top:36px; left:-28px; width:108px; height:108px; border-radius:50%; background:var(--cream); border:1px solid var(--gold-light); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font:500 1.2rem/1.2 var(--font-h); color:var(--rose-dark); box-shadow:var(--shadow-sm); transform:rotate(-8deg); }
.lp-hero__detail { position:absolute; right:-12px; bottom:6px; width:140px; padding:7px 7px 10px; background:var(--white); border-radius:18px; transform:rotate(6deg); box-shadow:var(--shadow-md); transition:transform .3s; }
.lp-hero__detail:hover { transform:rotate(0deg) translateY(-4px); }
.lp-hero__detail img { width:100%; height:145px; object-fit:cover; border-radius:12px; }
.lp-hero__detail > span { display:block; font-size:.64rem; text-align:center; color:var(--text-2); margin-top:5px; }
.lp-hero--reverse .lp-hero__copy { order:2; }
.lp-hero--reverse .lp-hero__image > img { border-radius:32px 160px 32px 32px; }
.lp-hero--landscape .lp-hero__image > img { height:390px; border-radius:32px; }
.lp-hero--landscape .lp-hero__signature { left:-20px; top:-20px; }
.lp-facts { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.lp-facts li { display:flex; gap:14px; align-items:flex-start; padding:24px; border:1px solid var(--cream-3); border-radius:var(--radius-lg); background:var(--white); font-size:.86rem; line-height:1.65; color:var(--text-2); }
.lp-facts svg { flex:none; color:var(--rose); margin-top:3px; }
.lp-facts strong { display:block; font-weight:500; font-size:1rem; color:var(--text); margin-bottom:6px; }
.lp-chapters { display:flex; flex-wrap:wrap; gap:8px 24px; align-items:center; padding-block:30px 0; color:var(--text-2); font-size:.8rem; }
.lp-chapters > span { font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; color:var(--rose-dark); }
.lp-chapters a { padding:10px 0; }
.lp-chapters a span { color:var(--rose); margin-right:5px; }
.lp-chapters a:hover { color:var(--rose-dark); text-decoration:underline; }
.lp-section { padding:96px 0; scroll-margin-top:90px; }
.lp-section--alt { background:var(--cream-2); }
.lp-section__grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:64px; align-items:start; }
.lp-section__heading { min-width:0; }
.lp-section__heading::after { content:''; display:block; width:48px; height:2px; background:linear-gradient(90deg,var(--rose),var(--gold)); margin:24px 0; }
.lp-section__number { display:block; color:var(--rose-dark); font-size:.75rem; letter-spacing:.15em; margin-bottom:16px; }
.lp-section h2,.lp-gallery h2,.lp-personal h2,.lp-cta h2 { font:500 clamp(2rem,3.5vw,3rem)/1.18 var(--font-h); margin:0 0 20px; overflow-wrap:break-word; }
.lp-section h3 { font:500 1.55rem/1.2 var(--font-h); margin-bottom:12px; overflow-wrap:anywhere; hyphens:auto; }
.lp-section__content { min-width:0; }
.lp-prose { max-width:68ch; }
.lp-prose p { font-size:1rem; line-height:1.8; color:var(--text-2); margin:0 0 20px; }
.lp-prose p:last-child { margin-bottom:0; }
.lp-prose strong { font-weight:500; color:var(--text); }
.lp-prose a,.lp-faq a { color:var(--rose-dark); text-decoration:underline; text-underline-offset:4px; }
.lp-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:28px; }
.lp-card { border:1px solid var(--cream-3); border-radius:var(--radius-lg); background:var(--white); padding:26px 24px; transition:transform .3s,box-shadow .3s; }
.lp-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.lp-card p { font-size:.9rem; line-height:1.7; color:var(--text-2); }
.lp-card__price { display:block; margin-top:18px; font:500 1.5rem var(--font-h); color:var(--rose-dark); }
.lp-table-wrap { overflow-x:auto; margin-top:24px; border-radius:var(--radius-lg); border:1px solid var(--cream-3); background:var(--white); }
.lp-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.lp-table caption { text-align:left; color:var(--text-2); font-size:.78rem; padding:16px; }
.lp-table th,.lp-table td { padding:14px 16px; text-align:left; border-bottom:1px solid var(--cream-2); }
.lp-table thead { background:var(--rose-xlight); font-size:.76rem; color:var(--text-2); }
.lp-table td:last-child,.lp-table th:last-child { text-align:right; color:var(--rose-dark); white-space:nowrap; }
.lp-table tr:last-child td { border-bottom:0; }
.lp-table em { display:block; font-style:normal; font-size:.76rem; color:var(--text-2); }
.lp-places { display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:24px 0 0; padding:0; }
.lp-places li { background:var(--white); padding:10px 16px; border:1px solid var(--cream-3); border-radius:var(--radius-full); color:var(--text-2); font-size:.86rem; }
.lp-places a { color:var(--rose-dark); text-decoration:underline; text-underline-offset:3px; }
.lp-gallery { padding:96px 0; background:linear-gradient(160deg,var(--rose-xlight),var(--cream)); scroll-margin-top:90px; }
.lp-gallery__heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:40px; }
.lp-gallery__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.lp-gallery__item { min-width:0; }
.lp-gallery__item figure { margin:0; }
.lp-gallery__item img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--radius-xl); transition:transform .4s; }
.lp-gallery__item:hover img { transform:translateY(-5px); }
.lp-gallery__item:nth-child(2) { padding-top:36px; }
.lp-gallery__item figcaption { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.82rem; color:var(--text-2); margin-top:16px; }
.lp-gallery__item figcaption > span:first-child { color:var(--rose-dark); }
.lp-gallery__note { color:var(--text-2); font-size:.8rem; margin-top:28px; }
.lp-personal { padding-block:96px; display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; align-items:center; }
.lp-personal__portrait img { display:block; width:100%; height:380px; object-fit:cover; border-radius:var(--radius-xl); }
.lp-personal__copy p { color:var(--text-2); line-height:1.8; margin-bottom:22px; }
.lp-faq { min-width:0; }
.lp-faq__item { border:1px solid var(--cream-3); border-radius:var(--radius-lg); background:var(--white); margin-bottom:12px; }
.lp-faq__q { position:relative; list-style:none; padding:22px 52px 22px 24px; cursor:pointer; font-size:.98rem; font-weight:500; line-height:1.5; }
.lp-faq__q::-webkit-details-marker { display:none; }
.lp-faq__q::after { content:''; width:8px; height:8px; border-right:1.5px solid var(--rose); border-bottom:1.5px solid var(--rose); position:absolute; right:24px; top:28px; transform:rotate(45deg); transition:transform .3s; }
.lp-faq__item[open] .lp-faq__q::after { transform:rotate(225deg); }
.lp-faq__a { padding:0 24px 24px; color:var(--text-2); font-size:.95rem; line-height:1.75; }
.lp-cta { text-align:center; padding:96px 0; background:linear-gradient(160deg,var(--rose-xlight),var(--cream-2)); }
.lp-cta p { max-width:56ch; margin:0 auto 28px; color:var(--text-2); line-height:1.8; }
.lp-cta__actions { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
.lp-cta__note { display:block; max-width:65ch; margin:22px auto 0; font-size:.78rem; color:var(--text-2); }
.lp-price-intro { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:36px; }
.lp-price-intro .price-card__title { margin-bottom:12px; }
.lp-price-intro__amount { font:500 2.8rem var(--font-h); color:var(--rose-dark); }
.lp-price-intro .price-card--highlight .lp-price-intro__amount { color:white; }
.lp-price-intro p { font-size:.86rem; margin:14px 0 0; line-height:1.6; }
.lp-mini-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; list-style:none; padding:0; margin:32px 0 0; }
.lp-mini-steps li { border-radius:var(--radius-lg); background:var(--white); padding:28px; border:1px solid var(--cream-3); }
.lp-mini-steps svg { color:var(--rose); margin-bottom:16px; }
.lp-mini-steps h3 { font:500 1.5rem var(--font-h); margin-bottom:10px; }
.lp-mini-steps p { color:var(--text-2); font-size:.92rem; line-height:1.7; }
.lp-motion .lp-reveal-ready { opacity:0; transform:translate3d(0,28px,0); transition:opacity .62s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.22,1,.36,1); }
.lp-motion .lp-reveal-ready.visible { opacity:1; transform:none; }
@media(min-width:1000px){.lp-section--wide .lp-section__grid{grid-template-columns:1fr}.lp-section--wide .lp-section__heading{max-width:620px}.lp-section--wide .lp-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lp-section--wide .lp-section__content>.lp-prose{max-width:760px}.lp-gallery--duo .lp-gallery__grid{grid-template-columns:1.2fr .8fr}.lp-gallery--duo .lp-gallery__item:last-child{display:none}.lp-gallery--duo .lp-gallery__item img{aspect-ratio:5/4}}
@media(max-width:900px){.lp-hero__grid{gap:36px}.lp-hero h1{font-size:3rem}.lp-section__grid{gap:36px}.lp-personal{gap:40px}.lp-facts li{padding:20px 16px}}
@media(max-width:700px){.lp-hero{padding:32px 0 40px}.lp-hero__grid,.lp-section__grid,.lp-personal{grid-template-columns:1fr;gap:32px}.lp-hero--reverse .lp-hero__copy{order:0}.lp-hero h1{font-size:clamp(2.65rem,9vw,3.5rem)}.lp-hero__visual{max-width:440px;width:100%;margin:12px auto 0;padding:0 12px 32px}.lp-hero__image>img{height:370px}.lp-hero--landscape .lp-hero__image>img{height:300px}.lp-hero__signature{left:0;top:24px;width:90px;height:90px;font-size:1.1rem}.lp-hero__detail{right:0;width:120px}.lp-hero__detail img{height:125px}.lp-facts{grid-template-columns:1fr;gap:12px}.lp-facts li{padding:20px}.lp-chapters{gap:4px 18px;padding-top:24px}.lp-chapters>span{width:100%}.lp-section,.lp-gallery,.lp-cta{padding:64px 0}.lp-section__heading::after{margin-bottom:0}.lp-cards{gap:14px}.lp-card{padding:22px 18px}.lp-card h3{font-size:1.4rem}.lp-gallery__heading{display:block;margin-bottom:28px}.lp-gallery__grid{gap:12px}.lp-gallery__item img{border-radius:20px}.lp-gallery__item:nth-child(2){padding-top:24px}.lp-gallery__item figcaption{font-size:.72rem;flex-wrap:wrap;justify-content:start;gap:4px}.lp-gallery__item figcaption>span{display:none}.lp-personal{padding-block:64px}.lp-personal__portrait{max-width:300px}.lp-personal__portrait img{height:320px}.lp-price-intro,.lp-mini-steps{grid-template-columns:1fr;gap:16px}.lp-price-intro .price-card{padding:26px}.lp-table th,.lp-table td{padding:12px 10px}.lp-table{font-size:.82rem}.lp-crumbs{padding-top:16px}.lp-section h2,.lp-personal h2,.lp-gallery h2,.lp-cta h2{font-size:2.25rem}}
@media(max-width:380px){.lp-container{padding-inline:20px}.lp-cards{grid-template-columns:1fr}.lp-hero__actions .btn{width:100%;justify-content:center}.lp-gallery__grid{gap:8px}}
@media(prefers-reduced-motion:reduce){.lp-motion .lp-reveal-ready{opacity:1;transform:none;transition:none}.editorial-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Four footer groups stay on one balanced row, then stack with room to tap. */
.editorial-page .footer__inner { grid-template-columns:1.25fr 1fr 1fr 1fr; gap:32px; }
.editorial-page .footer__brand img { width:120px; height:80px; object-fit:contain; margin:-16px 0 0 -20px; }
@media(max-width:900px){.editorial-page .footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
@media(max-width:480px){.editorial-page .footer__inner{grid-template-columns:1fr}.editorial-page .footer__col a{padding-block:7px}}
html:has(.editorial-page) { scroll-padding-top:0; }
.editorial-page [id] { scroll-margin-top:84px; }
.editorial-page .footer__brand img { filter:none; }

@media(max-width:600px){.lp-cards>.lp-card:last-child:nth-child(odd){grid-column:1/-1}}

@media(min-width:701px) and (max-width:999px){.lp-section__grid{grid-template-columns:1fr;gap:32px}.lp-section__heading{max-width:620px}.lp-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
