/* KAZKORIA: all device layouts and visual settings live in this file. */
:root{--white:#fff;--ink:#293548;--muted:#67717d;--gold:#bc9359;--border:#eee8dd;--max:1080px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fdfaf5;color:var(--ink);font-family:Nunito,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.topbar{max-width:1280px;margin:auto;min-height:90px;padding:18px 36px;display:flex;justify-content:space-between;align-items:center;gap:20px}.wordmark{color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:31px;text-decoration:none;letter-spacing:.02em}
.hero{max-width:var(--max);margin:0 auto;text-align:center;padding:20px 30px 76px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.42em;color:var(--gold);margin:16px 0 4px}.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(70px,10vw,130px);font-weight:600;line-height:.95;letter-spacing:-.045em;margin:0;color:#283448}.tagline{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(22px,3vw,33px);color:#9b7950;font-style:italic;margin:17px 0 35px}.image-frame{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(40,52,72,.12);background:#f2ede6}.image-frame picture,.image-frame img{display:block;width:100%;height:auto}.image-mark{position:absolute;bottom:19px;right:24px;color:white;text-shadow:0 2px 14px rgba(0,0,0,.65);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,5vw,56px);font-weight:700;letter-spacing:.02em}.image-mark span{font-size:.45em;vertical-align:top}.hero h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(29px,4vw,45px);line-height:1.1;font-weight:600;max-width:730px;margin:48px auto 15px}.description{font-size:clamp(15px,2vw,18px);line-height:1.8;color:var(--muted);max-width:630px;margin:0 auto}.coming-soon{display:inline-block;margin:30px auto 0;border:1px solid #e8d9bf;background:#fbf8f3;border-radius:40px;padding:14px 28px;font-size:13px;font-weight:800;letter-spacing:.035em;color:#957044}.footer{text-align:center;padding:0 20px 36px;color:#8b929b}.footer-line{color:var(--gold);font-size:25px;margin-bottom:10px}.footer p{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;font-style:italic;margin:0 0 16px}.footer small{font-size:12px;letter-spacing:.025em}
/* PHONE */@media(max-width:600px){.topbar{padding:15px 16px;min-height:76px;gap:10px}.wordmark{font-size:25px}.hero{padding:18px 14px 56px}.eyebrow{font-size:10px;margin-top:18px}.hero h1{font-size:clamp(67px,17vw,100px)}.tagline{margin:14px 0 25px}.image-frame{border-radius:12px}.image-mark{bottom:10px;right:14px}.hero h2{margin-top:34px}.footer{padding-bottom:28px}}
/* TABLET */@media(min-width:601px) and (max-width:1024px){.topbar{padding:20px 30px}.hero{padding:30px 28px 70px}.image-frame{border-radius:16px}}
/* DESKTOP */@media(min-width:1025px){.hero{padding-top:35px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* AGE SELECTOR — HOME. Circular links, not decorative buttons. */
.age-section{text-align:center;max-width:1080px;margin:0 auto;padding:12px 24px 92px}.age-section h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(37px,5vw,56px);font-weight:600;margin:10px 0 8px}.age-subtitle{font-size:16px;color:var(--muted);margin:0 auto 37px}.age-grid{display:flex;justify-content:center;gap:clamp(14px,4vw,60px);flex-wrap:wrap}.age-circle{width:clamp(116px,21vw,194px);aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border-radius:50%;background:#fcf8f1;border:2px solid #e8d7ba;color:var(--ink);text-decoration:none;box-shadow:0 8px 26px rgba(150,113,69,.07);transition:transform .2s,background .2s,box-shadow .2s}.age-circle:hover,.age-circle:focus-visible{transform:translateY(-5px);background:#f6ecdc;box-shadow:0 14px 32px rgba(150,113,69,.15)}.age-number{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:clamp(35px,5vw,60px);line-height:1}.age-caption{font-size:clamp(10px,1.4vw,14px);font-weight:800;color:#9b7950}.all-stories-link{display:inline-block;margin-top:32px;color:#997244;font-weight:800;text-underline-offset:5px}
/* CATALOG PAGE — all filtering is client-side; source of truth remains SQLite. */
.catalog-page{max-width:1040px;margin:auto;padding:16px 30px 95px}.back-link{color:#967246;text-decoration:none;font-weight:800;font-size:14px}.catalog-page>.eyebrow{text-align:center;margin-top:12px}.catalog-page h1{text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(55px,9vw,100px);line-height:1;margin:7px 0}.catalog-lead{text-align:center;color:var(--muted);margin:0 0 45px;font-size:17px}.catalog-filter{background:#fffdf9;border:1px solid #f0e6d8;border-radius:22px;padding:30px 34px}.catalog-filter h2{font-size:15px;color:var(--ink);font-weight:800;margin:19px 0 13px}.catalog-filter h2:first-child{margin-top:0}.filter-row{display:flex;flex-wrap:wrap;gap:10px}.filter-row button{background:white;border:1px solid #e9dbc7;color:#755c3d;border-radius:999px;min-height:43px;padding:10px 19px;font:800 13px Nunito,Arial,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}.filter-row button:hover{border-color:#b88d52}.filter-row button.selected{background:#293548;color:white;border-color:#293548}.filter-row button:focus-visible,.age-circle:focus-visible{outline:3px solid #b88d52;outline-offset:3px}.catalog-results{margin-top:32px}.story-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.story-card{border:1px solid #efe6d9;border-radius:16px;padding:22px;background:#fff}.story-card h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;margin:0 0 9px}.story-card p{color:var(--muted);line-height:1.6}.empty-state{text-align:center;border:1px dashed #e8d8c0;background:#fffdf9;border-radius:20px;padding:45px 24px}.empty-icon{font-size:42px;color:#b9955c}.empty-state h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:37px;margin:10px 0}.empty-state p{color:var(--muted);margin:0}
@media(max-width:600px){.age-section{padding:0 12px 66px}.age-subtitle{font-size:14px;margin-bottom:25px}.age-grid{gap:10px}.age-circle{width:calc((100vw - 48px)/3);min-width:0}.age-number{font-size:clamp(33px,10vw,49px)}.age-caption{font-size:10px}.catalog-page{padding:16px 15px 65px}.catalog-filter{padding:22px 17px;border-radius:16px}.filter-row{gap:8px}.filter-row button{font-size:12px;padding:9px 14px;min-height:40px}.catalog-lead{margin-bottom:27px}.empty-state{padding:32px 16px}}
@media(prefers-reduced-motion:reduce){.age-circle,.filter-row button{transition:none}}

[hidden]{display:none!important}

/* Compact language menu shared by home and catalog. */
.language-picker{position:relative;flex:0 0 auto;z-index:20}
.language-toggle{display:flex;align-items:center;justify-content:center;gap:9px;min-width:100px;min-height:44px;padding:9px 13px;border:1px solid #a28a62;border-radius:999px;background:#fffdf9;color:#29364b;font:800 13px Nunito,Arial,sans-serif;cursor:pointer}
.language-globe{color:#a28a62}.language-toggle:hover{background:#f8f2e8}
.language-toggle:focus-visible,.language-menu button:focus-visible{outline:2px solid #a28a62;outline-offset:3px}
.language-menu{position:absolute;right:0;top:calc(100% + 8px);width:188px;max-width:calc(100vw - 32px);padding:6px;background:#fffdf9;border:1px solid #e9dfcf;border-radius:14px;box-shadow:0 8px 26px rgba(41,54,75,.12)}
.language-menu button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#29364b;text-align:left;font:600 14px Nunito,Arial,sans-serif;cursor:pointer}
.language-menu button:hover,.language-menu button:focus-visible{background:#f3ecdf}.language-check{color:#a28a62;visibility:hidden}.language-menu [aria-checked="true"] .language-check{visibility:visible}

/* Approved Kazkorio quill: decorative static heading accents. */
.eyebrow--feather{display:flex;align-items:center;justify-content:center;gap:8px}.kazkorio-feather{display:inline-block;flex:none;width:18px;height:18px;object-fit:contain}.kazkorio-feather--mirror{transform:scaleX(-1)}
