*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Cairo,system-ui,sans-serif;font-size:16px;line-height:1.9;background:var(--bg);color:var(--ink)}
.theme-17{--bg:#fff9f7;--surface:#fff;--ink:#352632;--muted:#6a5963;--accent:#9f355e;--line:#eadbdd;--tint:#f8e9ed;--radius:22px}
.theme-18{--bg:#101c31;--surface:#192940;--ink:#f3f5fc;--muted:#becadd;--accent:#a5c9ff;--line:#34455f;--tint:#203754;--radius:16px}
.theme-19{--bg:#f6f3e9;--surface:#fffef9;--ink:#263b32;--muted:#5f6c61;--accent:#386b5d;--line:#d8ddcd;--tint:#e8eddd;--radius:8px}
a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}p,h1,h2,h3{margin-top:0}p{color:var(--muted)}.container{width:min(1180px,100%);padding-inline:24px;margin-inline:auto}.skip-link{position:fixed;top:-100px;right:20px;z-index:100;background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:8px}.skip-link:focus{top:10px}
.editorial-header{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--line)}.header-row{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:78px}.brand{font-size:1.1rem;font-weight:800;max-width:340px;overflow-wrap:anywhere}.header-row nav,.editorial-footer nav{display:flex;flex-wrap:wrap;gap:24px;font-size:.82rem}.header-row nav a,.editorial-footer a{padding-block:10px}.header-row a:hover,.editorial-footer a:hover{color:var(--accent)}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:.76rem;color:var(--muted);padding-top:30px}.breadcrumbs a{color:var(--accent)}
.article-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.48fr);gap:64px;align-items:center;padding-block:48px 64px;border-bottom:1px solid var(--line)}.eyebrow{font-size:.72rem;font-weight:800;display:block;color:var(--accent);margin-bottom:16px}h1{font-size:clamp(2rem,4vw,3.45rem);line-height:1.65;letter-spacing:-.7px;text-wrap:balance;margin-bottom:20px;overflow-wrap:anywhere}.standfirst{font-size:1.03rem;line-height:2.1;max-width:66ch;margin-bottom:24px}.article-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.71rem;color:var(--muted)}.article-meta>span{padding-left:12px;border-left:1px solid var(--line)}.hero-note{background:var(--tint);border:1px solid var(--line);padding:28px;border-radius:var(--radius);position:relative}.note-symbol{display:block;color:var(--accent);font-size:4rem;line-height:1.5;margin-bottom:8px}.hero-note strong{font-size:1.3rem;display:block;margin-bottom:12px}.hero-note p{font-size:.85rem;line-height:2}.hero-note a{font-size:.77rem;font-weight:800;display:block;border-top:1px solid var(--line);padding-top:14px;color:var(--accent)}
.article-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;padding-top:48px;align-items:start}.contents{position:sticky;top:110px;padding:24px 0}.contents nav{display:grid;gap:4px}.contents a{display:flex;align-items:start;gap:12px;font-size:.8rem;padding:12px 0;border-bottom:1px solid var(--line);min-height:44px;line-height:1.9}.contents a:hover{color:var(--accent)}.contents a span{color:var(--accent);font-size:.65rem;padding-top:3px}.chapter{padding:30px 34px;margin-bottom:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);scroll-margin-top:110px}.chapter h2{font-size:1.4rem;line-height:1.85;margin-bottom:16px;text-wrap:balance}.chapter-number{font-size:.7rem;color:var(--accent);display:block;margin-bottom:10px;font-weight:700}.chapter p{font-size:.95rem;line-height:2.25;margin-bottom:20px;max-width:74ch}.chapter p:last-child{margin-bottom:0}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:last-child{border:0}.faq-list summary{font-weight:700;font-size:.88rem;cursor:pointer;padding-block:16px;line-height:2}.faq-list p{font-size:.87rem;padding-block:4px 16px}.reading-note{padding:24px 30px;background:var(--tint);border-radius:var(--radius);font-size:.82rem;border-right:4px solid var(--accent)}.reading-note p{margin-block:10px}.reading-note a{color:var(--accent);text-decoration:underline;text-underline-offset:5px}.related-section{padding-block:64px 24px}.related-section h2{font-size:1.6rem}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.related-grid>a,.directory-grid>a{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:transform .2s}.related-grid>a:hover,.directory-grid>a:hover{transform:translateY(-3px);border-color:var(--accent)}.related-grid>a>span:first-child{font-size:.7rem;color:var(--accent)}.related-grid h3{font-size:1.05rem;line-height:1.9;margin-block:14px 12px}.related-grid p{font-size:.8rem;line-height:2}.read-link{font-size:.74rem;color:var(--accent);font-weight:800}.article-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-block:48px;padding:30px;background:var(--tint);border:1px solid var(--line);border-radius:var(--radius)}.article-cta h2{font-size:1.3rem;margin-bottom:10px}.article-cta p{font-size:.85rem;margin:0}.article-cta>a{background:var(--ink);color:var(--bg);border-radius:8px;padding:13px 22px;font-size:.82rem;white-space:nowrap;min-height:48px;font-weight:700}.editorial-footer{padding-block:30px;border-top:1px solid var(--line);background:var(--surface)}.editorial-footer>.container{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}.editorial-footer p{font-size:.78rem;margin:0}.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.directory-grid>a{display:flex;flex-direction:column;gap:10px;padding:18px;overflow-wrap:anywhere}.directory-grid strong{font-size:.92rem}.directory-grid span:not(.read-link){font-size:.72rem;color:var(--muted);line-height:1.9}
/* Three editorial identities: rose magazine, night sky and calendar journal. */
.theme-17 .hero-note{border-radius:90px 90px 22px 22px;text-align:center;padding-top:36px}.theme-17 .note-symbol{font-size:5rem}.theme-18 .article-hero{background:radial-gradient(ellipse at 20% 40%,#a5c9ff10,transparent 60%)}.theme-18 .hero-note{background:radial-gradient(circle at 20% 20%,#e9c36e 1px,transparent 2px),radial-gradient(circle at 80% 30%,#a5c9ff 1px,transparent 2px),radial-gradient(circle at 70% 80%,#fff 1px,transparent 2px),var(--surface);text-align:center}.theme-18 .note-symbol{color:#e9c36e;font-size:6rem}.theme-18 .chapter{border-top:2px solid #526c91}.theme-19 .article-hero{grid-template-columns:minmax(0,1fr) 230px;gap:48px}.theme-19 .hero-note{text-align:center;background:var(--surface);border-top:8px solid var(--accent);box-shadow:0 8px 0 var(--tint)}.theme-19 .note-symbol{font-family:Georgia,serif;font-size:5.6rem;line-height:1.2;font-weight:700}.theme-19 .chapter{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding-inline:0}.theme-19 .chapter-number{width:34px;height:34px;display:grid;place-items:center;background:var(--tint);border-radius:50%}
@media(max-width:960px){.article-hero{gap:28px;grid-template-columns:minmax(0,1fr) 260px}.article-layout{grid-template-columns:190px minmax(0,1fr);gap:28px}.chapter{padding:24px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-row{gap:16px}.header-row nav{gap:14px;font-size:.76rem}.brand{max-width:240px}}
@media(max-width:700px){html{scroll-padding-top:150px}.container{padding-inline:18px}.header-row{flex-direction:column;align-items:flex-start;gap:4px;padding-block:12px}.brand{max-width:none;font-size:1rem}.header-row nav{justify-content:space-between;width:100%;gap:10px;font-size:.72rem}.header-row nav a{min-height:40px}.breadcrumbs{padding-top:20px;font-size:.66rem;gap:8px}.article-hero,.theme-19 .article-hero{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:28px 32px}h1{font-size:2rem;line-height:1.7}.standfirst{font-size:.9rem}.article-meta{font-size:.65rem;gap:8px}.hero-note{padding:24px}.theme-17 .hero-note{border-radius:20px;text-align:right;display:grid;grid-template-columns:50px 1fr;column-gap:20px;padding-top:24px}.theme-17 .hero-note .note-symbol{grid-row:1/4;font-size:3rem}.theme-17 .hero-note strong{font-size:1.1rem}.hero-note p{font-size:.8rem}.theme-18 .note-symbol{font-size:3rem}.theme-19 .hero-note{display:grid;grid-template-columns:75px 1fr;gap:4px 18px;text-align:right}.theme-19 .note-symbol{font-size:4rem;grid-row:1/4}.theme-19 .hero-note strong{font-size:1.15rem}.article-layout{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:24px}.contents{position:static;background:var(--tint);padding:20px;border-radius:var(--radius)}.contents nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.contents a{font-size:.72rem}.chapter{padding:24px 20px;margin-bottom:18px;scroll-margin-top:150px}.chapter h2{font-size:1.2rem}.chapter p{font-size:.87rem;line-height:2.2}.reading-note{padding:20px;font-size:.76rem}.related-section{padding-top:40px}.related-grid,.directory-grid{grid-template-columns:minmax(0,1fr)}.related-grid>a{padding:22px}.article-cta{flex-direction:column;align-items:stretch;padding:24px;margin-block:32px}.article-cta>a{text-align:center}.article-cta h2{font-size:1.15rem}.article-cta p{font-size:.8rem}.editorial-footer nav{font-size:.72rem;gap:18px}.article-meta time{max-width:100%}}
@media(max-width:360px){h1{font-size:1.7rem}.contents nav{grid-template-columns:1fr}.theme-17 .hero-note,.theme-19 .hero-note{column-gap:10px}.hero-note{padding:20px}.chapter{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.article-entry{margin:0 0 24px}.chat-entry-btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:12px 28px;border-radius:12px;background:var(--accent);color:#fff;font-weight:800;font-size:1rem;transition:transform .2s,box-shadow .2s;box-shadow:0 6px 18px #0000000d}.chat-entry-btn:hover{transform:translateY(-2px);box-shadow:0 9px 22px #00000018}.theme-18 .chat-entry-btn{color:#101c31}.chat-entry-btn:focus-visible{outline-offset:5px}@media(max-width:700px){.chat-entry-btn{width:100%;font-size:.95rem}.article-entry{margin-bottom:20px}}
