:root { --ink:#28251e; --paper:#f7f0df; --paper-deep:#e8dac0; --green:#3e5b52; --gold:#9c7947; --line:rgba(92,67,37,.26); --serif:"Playfair Display", Georgia, serif; --sans:"Playfair Display", Georgia, serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#f4ecd9; font-family:var(--sans); line-height:1.55; }
.grain { position:fixed; inset:0; z-index:-1; opacity:.14; pointer-events:none; background-image:url("assets/memory_card_paper_texture.png"); background-size:360px; mix-blend-mode:multiply; }
.shell { width:min(1120px, calc(100% - 44px)); margin:0 auto; }
.topbar { width:min(1200px, calc(100% - 44px)); margin:0 auto; height:86px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; font-family:var(--serif); font-size:1.32rem; font-weight:700; }
.brand img { width:36px; height:36px; object-fit:contain; border-radius:10px; }
.brand > span::after { color:inherit; content:" – Emlékek őrzője"; font-size:1em; font-style:normal; font-weight:700; white-space:nowrap; }
.text-link { color:var(--green); font-size:.94rem; font-weight:600; text-decoration:none; border-bottom:1px solid currentColor; }
.site-nav { display:flex; align-items:center; gap:17px; }
.site-nav a,.footer-links a { color:var(--ink); font-size:.96rem; font-weight:600; text-decoration:none; }
.site-nav a:hover,.site-nav a.active { color:var(--green); border-bottom:1px solid currentColor; }
.hero { min-height:660px; display:grid; grid-template-columns:1.06fr .94fr; gap:56px; align-items:center; padding:72px 0 82px; }
.eyebrow { margin:0 0 12px; color:var(--gold); font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
h1,h2,h3 { font-family:var(--serif); line-height:1.15; margin:0; letter-spacing:.012em; }
h1 { font-size:clamp(3.25rem,7vw,6.5rem); font-weight:600; }
h1 em,h2 em { color:var(--green); font-weight:500; }
.intro { max-width:535px; margin:28px 0 30px; font-size:1.12rem; color:#544d40; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:52px; padding:12px 24px; font-family:var(--serif); font-size:1.05rem; font-weight:600; text-decoration:none; border-radius:3px; transition:transform .18s ease, box-shadow .18s ease; }
.button:hover { transform:translateY(-2px); }
.primary { background:var(--green); color:white; box-shadow:0 10px 22px rgba(47,69,61,.22); }
.primary span { font-family:var(--serif); font-size:1.3rem; }
.quiet { color:var(--ink); border:1px solid rgba(64,51,31,.45); }
.hero-visual { position:relative; min-height:466px; display:grid; place-items:center; }
.sun { position:absolute; width:360px; height:360px; border-radius:50%; background:#d9bd80; opacity:.35; filter:blur(2px); }
.collage { position:relative; max-width:100%; width:510px; transform:rotate(2deg); filter:drop-shadow(0 20px 24px rgba(68,47,24,.22)); }
.note { position:absolute; right:-2px; bottom:20px; z-index:1; padding:20px 24px; color:#4b3b27; background:#fff7e9; box-shadow:0 8px 20px rgba(68,47,24,.18); font-family:var(--serif); font-size:1.25rem; font-style:italic; line-height:1.35; transform:rotate(-6deg); }
.app-showcase { padding:94px 0 102px; overflow:hidden; background:#e8dcc8; border-top:1px solid rgba(91,69,38,.18); border-bottom:1px solid rgba(91,69,38,.18); }
.showcase-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:55px; }.showcase-heading>p { width:min(370px,40%); margin:0 0 6px; color:#5b5243; font-size:1.07rem; }
.phone-scroll { display:flex; justify-content:space-between; gap:28px; padding:12px 10px 22px; overflow-x:auto; scrollbar-color:var(--gold) transparent; scroll-snap-type:x mandatory; }
.phone-shot { flex:0 0 min(252px,70vw); margin:0; padding:9px 9px 13px; background:#fcf6e9; box-shadow:9px 13px 0 rgba(100,70,32,.14), 0 14px 23px rgba(61,42,24,.15); scroll-snap-align:center; }.phone-shot img { display:block; width:100%; height:auto; border:1px solid rgba(74,55,29,.35); }.phone-shot figcaption { display:flex; flex-direction:column; gap:1px; padding:12px 5px 0; font-family:var(--serif); }.phone-shot figcaption b { font-size:1.2rem; }.phone-shot figcaption span { color:#756852; font-size:.84rem; }.tilt-left { transform:rotate(-2deg); }.tilt-right { transform:rotate(2deg); }
.promise { padding:98px 0; display:grid; grid-template-columns:.9fr 2.1fr; gap:58px; align-items:start; border-top:1px solid var(--line); }
h2 { font-size:clamp(2.45rem,4.6vw,4.5rem); }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.feature-card { min-height:234px; padding:28px 24px; background:rgba(255,251,243,.58); border:1px solid rgba(91,69,38,.22); box-shadow:5px 7px 0 rgba(163,128,74,.12); }
.icon { display:block; color:var(--gold); font-size:1.55rem; margin-bottom:28px; }
.feature-card h3 { font-size:1.65rem; }
.feature-card p { color:#675d4c; font-size:1rem; }
.book-section { padding:54px 0; background:#e8dcc8; border-top:1px solid rgba(91,69,38,.18); border-bottom:1px solid rgba(91,69,38,.18); }
.book { display:grid; grid-template-columns:1fr 1fr; gap:76px; align-items:center; padding:58px 0; }
.origin-callout { display:grid; grid-template-columns:.72fr 1.28fr; gap:46px; align-items:start; padding:82px 9%; background:rgba(255,251,243,.6); border:1px solid rgba(91,69,38,.25); box-shadow:9px 11px 0 rgba(156,121,71,.12); }
.origin-callout .eyebrow { margin-top:10px; }
.origin-callout h2 { font-size:clamp(2.15rem,4.1vw,3.9rem); }
.origin-callout p:not(.eyebrow) { max-width:590px; margin:20px 0; color:#5b5243; font-size:1.08rem; }
.book ol { padding:0; margin:34px 0 0; list-style:none; }
.book li { display:flex; gap:17px; align-items:baseline; padding:14px 0; border-bottom:1px solid rgba(91,69,38,.25); }
.book b { color:var(--gold); font-family:var(--serif); font-size:1.1rem; }
.paper-preview { position:relative; width:min(100%, 430px); justify-self:end; padding:22px; box-shadow:0 20px 35px rgba(65,46,28,.2); background:#f9f0df; transform:rotate(2deg); }
.paper-preview>img { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; opacity:.7; }
.preview-content { position:relative; min-height:340px; padding:28px; display:flex; flex-direction:column; color:var(--ink); border:1px solid rgba(91,69,38,.35); font-family:var(--serif); }
.preview-content p { margin:0 0 16px; font-size:2rem; font-weight:600; }
.preview-photo { flex:1; min-height:160px; background:url("assets/home_collage.png") center/cover; border:9px solid white; }
.preview-content span { padding-top:18px; font-size:1.35rem; }
.preview-content small { color:#776b56; }
.privacy { padding:110px 0; display:grid; grid-template-columns:.8fr 1fr; gap:84px; align-items:center; }
.privacy-image { min-height:320px; overflow:hidden; background:#e2d3b9; box-shadow:12px 14px 0 rgba(156,121,71,.16); }
.privacy-image img { width:100%; height:100%; min-height:320px; object-fit:cover; opacity:.58; }
.privacy p:not(.eyebrow) { max-width:500px; margin:26px 0 0; color:#5b5243; font-size:1.08rem; }
.newsletter { display:grid; grid-template-columns:1fr .9fr; gap:68px; align-items:start; margin:0 auto 110px; padding:62px 8%; background:#ece1ca; border:1px solid rgba(91,69,38,.25); box-shadow:9px 11px 0 rgba(156,121,71,.12); }
.newsletter>div>p:not(.eyebrow) { max-width:520px; margin:24px 0 0; color:#5b5243; font-size:1.08rem; }
.newsletter-form { display:grid; gap:12px; padding:26px; background:rgba(255,250,240,.75); border:1px solid rgba(91,69,38,.28); }
.newsletter-form>label:not(.consent) { font-size:1.02rem; font-weight:600; }
.newsletter-form input[type="email"] { width:100%; min-height:50px; padding:11px 14px; color:var(--ink); background:#fffaf0; border:1px solid rgba(91,69,38,.38); border-radius:2px; font:inherit; }
.newsletter-form input[type="email"]:focus { outline:2px solid rgba(62,91,82,.55); outline-offset:2px; }
.newsletter-form .button { justify-self:start; margin-top:5px; border:0; cursor:pointer; }
.newsletter-form .button:disabled { opacity:.7; cursor:wait; transform:none; }
.newsletter-form.is-success { border-color:rgba(62,91,82,.65); box-shadow:0 0 0 3px rgba(62,91,82,.12); }
.newsletter-form.is-success .button:disabled { opacity:1; cursor:default; }
.consent { display:flex; gap:10px; align-items:flex-start; color:#5b5243; font-size:.92rem; line-height:1.45; }
.consent input { margin-top:5px; accent-color:var(--green); }
.newsletter-honeypot { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.form-message { min-height:1.55em; margin:0; color:var(--green); font-weight:600; }
.newsletter-form.is-success .form-message { min-height:0; padding:13px 15px; color:#26473e; background:#e3efe7; border:1px solid rgba(62,91,82,.42); border-radius:3px; font-size:1rem; }
.form-message.error { color:#8b443e; }
.support { margin:0 auto 110px; padding:70px 8%; text-align:center; background:var(--green); color:#fff8e9; box-shadow:0 18px 0 rgba(70,57,35,.1); }
.support .eyebrow { color:#dbc497; }
.support h2 em { color:#f7e5be; }
.support>p:not(.eyebrow) { max-width:610px; margin:23px auto 30px; color:#e9e4d9; }
.support-button { color:var(--green); background:#f5e9ce; box-shadow:0 5px 0 rgba(25,39,35,.3); }
footer { padding:44px max(22px, calc((100% - 1120px)/2)); background:#292d2a; color:#eee7d8; display:flex; flex-wrap:wrap; gap:20px 48px; align-items:center; }
footer .brand { color:#fff7e7; } footer .brand img { background:#0d1c30; } footer>p { margin:0; } footer .fineprint { margin-left:auto; font-size:.82rem; color:#c9c0af; }
.footer-links { display:flex; flex-wrap:wrap; gap:12px 18px; } .footer-links a { color:#e7dece; }
.page-hero { padding:105px 0 90px; max-width:890px; margin-left:max(22px,calc((100% - 1120px)/2)); }
.page-hero .intro { max-width:650px; }
.video-intro { display:grid; grid-template-columns:1fr minmax(280px,390px); gap:72px; align-items:center; margin-bottom:96px; padding:56px clamp(26px,6vw,74px); background:#e8dcc8; border:1px solid rgba(91,69,38,.25); box-shadow:9px 11px 0 rgba(156,121,71,.12); }
.video-intro h2 { font-size:clamp(2.2rem,4vw,4rem); }
.video-intro p:not(.eyebrow) { max-width:480px; margin:22px 0 0; color:#5b5243; font-size:1.08rem; }
.video-frame { width:min(100%,360px); justify-self:end; padding:9px; background:#fbf4e7; box-shadow:9px 11px 0 rgba(94,64,30,.16),0 14px 24px rgba(61,42,24,.16); transform:rotate(1.5deg); }
.video-frame video { display:block; width:100%; aspect-ratio:800/1340; background:#282d2b; border:1px solid rgba(74,55,29,.35); }
.steps { display:grid; gap:30px; padding-bottom:112px; }
.step-card { position:relative; display:grid; grid-template-columns:90px 1fr minmax(225px,.72fr); gap:34px; align-items:center; padding:42px; overflow:hidden; background:rgba(255,251,243,.6); border:1px solid rgba(91,69,38,.24); box-shadow:9px 11px 0 rgba(156,121,71,.12); }
.step-card.reverse { grid-template-columns:90px 1fr minmax(260px,.8fr); background:#e9ddc6; }
.step-card h2 { font-size:clamp(2rem,3.5vw,3.2rem); }
.step-card p:not(.eyebrow) { max-width:510px; color:#5b5243; }
.step-number { align-self:start; color:var(--gold); font-family:var(--serif); font-size:1.18rem; font-weight:700; }
.step-paper { min-height:200px; padding:30px; background:#faf2e5 url("assets/memory_card_paper_texture.png") center/cover; box-shadow:7px 8px 0 rgba(94,64,30,.16); font-family:var(--serif); transform:rotate(2deg); }
.title-paper { display:flex; flex-direction:column; justify-content:center; gap:9px; }.title-paper span { font-size:1.7rem; font-weight:600; }.title-paper small { color:#756852; }
.step-photo-strip { min-height:220px; overflow:hidden; box-shadow:7px 8px 0 rgba(94,64,30,.16); transform:rotate(-2deg); }.step-photo-strip img { width:100%; height:100%; min-height:220px; object-fit:cover; object-position:center; }
.story-paper { display:flex; flex-direction:column; justify-content:space-between; font-size:1.22rem; font-style:italic; line-height:1.45; }.story-paper i { color:var(--green); font-size:1rem; font-style:normal; }
.app-shot { justify-self:end; width:min(100%,240px); padding:7px; background:#fbf4e7; box-shadow:8px 9px 0 rgba(94,64,30,.15),0 10px 18px rgba(61,42,24,.14); transform:rotate(2deg); }.reverse .app-shot { transform:rotate(-2deg); }.app-shot img { display:block; width:100%; height:auto; border:1px solid rgba(74,55,29,.35); }
.story-shot { height:294px; overflow:hidden; }.story-shot img { height:100%; object-fit:cover; object-position:center 73%; }
.closing { padding:95px 0 120px; text-align:center; }.closing .button { margin-top:30px; }
.download-hero { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:72px; padding:94px 0; min-height:625px; }
.store-wait { display:inline-flex; align-items:center; gap:12px; margin-top:10px; padding:11px 20px; color:#f7f0df; background:#282d2b; box-shadow:0 7px 0 rgba(66,54,34,.16); }.store-wait span { display:flex; flex-direction:column; line-height:1.2; }.store-wait small { font-size:.58rem; letter-spacing:.1em; }.store-wait b { font-size:1.28rem; }.play-mark { color:#d2b371; font-size:1.5rem; }
.download-art { position:relative; aspect-ratio:.78; overflow:hidden; box-shadow:14px 15px 0 rgba(156,121,71,.16); }.download-art>img { width:100%; height:100%; object-fit:cover; opacity:.76; }.download-art>div { position:absolute; inset:14%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; text-align:center; color:#fff9e9; background:rgba(38,61,57,.91); box-shadow:0 10px 20px rgba(42,36,27,.22); }.download-art>div img { width:84px; border-radius:20px; }.download-art strong { font-family:var(--serif); font-size:2.45rem; }.download-art em { font-size:1rem; }
.download-info { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding-bottom:105px; }.download-info article { padding:32px 28px; border-top:3px solid var(--gold); background:rgba(255,251,243,.58); }.download-info span { color:var(--green); font-size:2rem; }.download-info h2 { margin-top:18px; font-size:2rem; }.download-info p { color:#5b5243; }
@media (max-width:760px) { .topbar { height:auto; min-height:70px; padding:13px 0; gap:12px; align-items:flex-start; } .topbar .brand { font-size:1.15rem; }.topbar .brand img { width:30px; height:30px; }.site-nav { flex-wrap:wrap; justify-content:flex-end; gap:7px 14px; }.site-nav a { font-size:.78rem; } .hero { grid-template-columns:1fr; gap:28px; min-height:auto; padding:54px 0 68px; } .hero-visual { min-height:350px; } .collage { width:385px; } .note { right:0; bottom:4px; font-size:1.05rem; padding:14px 18px; } .app-showcase { padding:68px 0; }.showcase-heading { display:block; margin-bottom:36px; }.showcase-heading>p { width:auto; margin-top:20px; }.phone-scroll { margin-right:-22px; padding-right:32px; }.phone-shot { flex-basis:min(236px,74vw); }.promise,.book,.privacy,.origin-callout { grid-template-columns:1fr; gap:35px; padding:68px 0; } .origin-callout { padding:52px 28px; } .feature-grid,.download-info { grid-template-columns:1fr; } .feature-card { min-height:auto; } .paper-preview { justify-self:center; } .privacy-image { min-height:230px; } .privacy-image img { min-height:230px; } .support { margin-bottom:60px; padding:56px 28px; } footer { align-items:flex-start; flex-direction:column; } footer .fineprint { margin-left:0; } .page-hero { padding:64px 0 55px; }.steps { gap:22px; padding-bottom:68px; }.step-card,.step-card.reverse { grid-template-columns:1fr; gap:21px; padding:30px 24px; }.step-number { position:absolute; top:24px; right:24px; }.step-paper,.step-photo-strip { min-height:190px; }.step-photo-strip img { min-height:190px; }.app-shot { justify-self:center; width:min(230px,72vw); }.closing { padding:70px 0 84px; }.download-hero { grid-template-columns:1fr; gap:40px; min-height:auto; padding:65px 0; }.download-art { width:min(100%,350px); justify-self:center; }.download-info { padding-bottom:68px; } }
@media (max-width:760px) { .newsletter { grid-template-columns:1fr; gap:35px; margin-bottom:60px; padding:46px 28px; } }

@media (max-width:760px) { .video-intro { grid-template-columns:1fr; gap:34px; margin-bottom:68px; padding:44px 26px; } .video-frame { justify-self:center; width:min(100%,330px); transform:none; } }

@media (max-width:760px) { footer .footer-links { width:100%; gap:12px 16px; } }

/* Információs oldalak és képernyőkép-nagyítás */
.image-zoom { display:block; width:100%; padding:0; cursor:zoom-in; background:transparent; border:0; }
.image-zoom:focus-visible,.image-dialog-close:focus-visible { outline:3px solid var(--green); outline-offset:4px; }
.image-dialog { width:min(920px, calc(100vw - 32px)); max-height:calc(100vh - 32px); padding:16px; overflow:visible; color:var(--ink); background:#f7f0df; border:1px solid rgba(91,69,38,.45); box-shadow:0 22px 60px rgba(28,22,14,.42); }
.image-dialog::backdrop { background:rgba(24,27,23,.72); }
.image-dialog img { display:block; width:auto; max-width:100%; max-height:calc(100vh - 72px); margin:auto; }
.image-dialog-close { position:absolute; top:-14px; right:-14px; display:grid; width:38px; height:38px; place-items:center; color:#fffaf0; cursor:pointer; background:var(--green); border:2px solid #fffaf0; border-radius:50%; font-size:1.55rem; line-height:1; }
.info-page { padding-bottom:112px; }
.info-hero { max-width:860px; padding:94px 0 46px; }
.info-hero h1 { font-size:clamp(3rem,6vw,5.65rem); }
.info-hero .intro { max-width:700px; }
.prose-card { max-width:860px; padding:48px clamp(24px,5vw,64px); background:rgba(255,251,243,.67); border:1px solid rgba(91,69,38,.25); box-shadow:9px 11px 0 rgba(156,121,71,.12); }
.prose-card h2 { margin:38px 0 14px; font-size:clamp(1.85rem,3.2vw,2.7rem); }
.prose-card h2:first-of-type { margin-top:0; }
.prose-card h3 { margin:25px 0 8px; font-size:1.45rem; }
.prose-card p,.prose-card li { color:#5b5243; font-size:1.06rem; }
.prose-card p { margin:0 0 16px; }
.prose-card ul { margin:0 0 18px; padding-left:22px; }
.prose-card a,.text-link { color:var(--green); font-weight:600; }
.faq-list { display:grid; gap:14px; max-width:860px; }
.faq-list details { padding:0 28px; background:rgba(255,251,243,.68); border:1px solid rgba(91,69,38,.25); box-shadow:5px 7px 0 rgba(156,121,71,.10); }
.faq-list details { scroll-margin-top:26px; }
.faq-list summary { padding:23px 32px 23px 0; cursor:pointer; list-style:none; font-family:var(--serif); font-size:1.38rem; font-weight:600; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { float:right; color:var(--gold); content:"+"; font-size:1.65rem; line-height:.9; }
.faq-list details[open] summary::after { content:"–"; }
.faq-list p { max-width:740px; padding-bottom:24px; margin:0; color:#5b5243; }
.signature { margin:34px 0 0; font-family:var(--serif); font-size:1.16rem; line-height:1.5; }
.contact-card { display:grid; grid-template-columns:.9fr 1.1fr; gap:42px; max-width:940px; padding:44px; background:#e8dcc8; border:1px solid rgba(91,69,38,.25); box-shadow:9px 11px 0 rgba(156,121,71,.12); }
.contact-card h2 { font-size:clamp(2rem,3.5vw,3.1rem); }
.contact-card p { color:#5b5243; }
.contact-email { display:inline-block; margin-top:12px; color:var(--green); font-size:1.22rem; font-weight:700; overflow-wrap:anywhere; }
.contact-columns { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.contact-columns article { padding:24px; background:rgba(255,250,240,.72); border:1px solid rgba(91,69,38,.22); }
.contact-columns h3 { font-size:1.55rem; }
.legal-copy { max-width:900px; }
.legal-copy strong { color:var(--ink); }
@media (max-width:760px) { .topbar { flex-direction:column; align-items:center; } .topbar .brand { font-size:1.05rem; } .brand > span { line-height:1.2; text-align:center; } .brand > span::after { font-size:1em; } .site-nav { justify-content:center; } .info-page { padding-bottom:68px; } .info-hero { padding:62px 0 34px; } .prose-card { padding:34px 24px; } .faq-list details { padding:0 20px; } .faq-list summary { font-size:1.2rem; } .contact-card,.contact-columns { grid-template-columns:1fr; } .contact-card { gap:28px; padding:30px 24px; } .image-dialog { padding:9px; } .image-dialog img { max-height:calc(100vh - 50px); } }

/* A fotók saját történetei */
.photo-stories { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:center; padding:24px 0 100px; }
.photo-stories-copy > p:not(.eyebrow) { max-width:540px; color:#5b5243; margin:26px 0; font-size:1.08rem; }
.story-benefits { padding:0; margin:0 0 30px; list-style:none; color:var(--green); }
.story-benefits li { padding:10px 0; border-bottom:1px solid var(--line); }
.story-benefits li::before { content:'✦'; margin-right:12px; color:var(--gold); }
.story-example { margin:0; padding:22px; background:#fff9ed; border:1px solid var(--line); box-shadow:10px 12px 0 rgba(156,121,71,.14); transform:rotate(1deg); }
.example-album { color:var(--gold); font-size:.8rem; letter-spacing:.05em; margin-bottom:12px; }
.example-photo { background:#ede0c4; padding:12px; }
.example-photo img { display:block; width:100%; height:auto; }
.example-caption { padding:22px 2px 6px; }
.example-location { color:var(--green); font-size:.85rem; }
.example-caption h3 { margin-top:10px; font-size:1.5rem; }
.example-caption p { color:#5b5243; font-size:.95rem; line-height:1.6; }
.example-voice { display:flex; align-items:center; gap:12px; border-top:1px solid var(--line); padding-top:15px; color:var(--green); font-size:.85rem; }
.example-voice > span:first-child { font-size:1.5rem; }
.story-example figcaption,.print-example figcaption { margin-top:16px; color:#766851; font-size:.75rem; line-height:1.5; }
.print-example { margin:0; min-width:0; }
.print-sheet { padding:22px; background:#fff9ed; border:1px solid var(--line); box-shadow:6px 8px 0 rgba(94,64,30,.15); }
.print-title { text-align:center; color:var(--green)!important; font-size:1.1rem; margin:0 0 14px; }
.print-sheet > img { display:block; width:100%; height:auto; }
.print-caption { text-align:center; font-style:italic; font-size:.8rem; }
.print-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.print-card-grid > div { padding:12px; background:#f2e6cd; text-align:center; overflow-wrap:anywhere; }
.print-card-grid strong { color:#765332; font-size:.8rem; }
.print-card-grid p { font-size:.7rem; line-height:1.5; margin:8px 0 0; }
#foto-tortenet,#nyomtatas { scroll-margin-top:26px; }
@media (max-width:760px) { .photo-stories { grid-template-columns:1fr; gap:38px; padding:0 0 70px; }.story-example { width:min(100%,440px); justify-self:center; transform:none; }.photo-stories h2 { font-size:clamp(2.2rem,8vw,3.4rem); }.print-example { width:min(100%,360px); justify-self:center; } }

/* Bilingual website */
html[lang="en"] .brand > span::after { content:" – Keeper of Memories"; }
.topbar { height:auto; min-height:86px; gap:18px; flex-wrap:wrap; padding-block:16px; }
.language-switch { display:flex; align-items:center; justify-content:center; gap:8px; font-size:.85rem; flex-shrink:0; }
.language-switch a { color:var(--green); text-decoration:none; padding:6px 3px; }
.language-switch a[aria-current="page"] { font-weight:700; border-bottom:2px solid var(--green); }
.language-switch a:focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.preview-disclosure { font-size:.82rem; color:#6e624f; line-height:1.6; margin:22px 0; }
.app-shot .preview-disclosure { margin:10px 0 0; font-size:.7rem; }
html[lang="en"] .story-shot { height:auto; }
@media(max-width:1050px) { .topbar { justify-content:center; }.topbar .site-nav { justify-content:center; flex-wrap:wrap; } }
@media(max-width:760px) { .topbar { gap:12px; }.language-switch { font-size:.85rem; }.language-switch a { padding:4px 6px; } }
