:root{
  --ink:#223037;
  --muted:#667279;
  --paper:#fbf7ee;
  --white:#ffffff;
  --teal:#264652;
  --orange:#da7f2f;
  --olive:#758454;
  --brick:#985342;
  --rule:#d9d7cf;
  --soft:#f1eadb;
  --shadow:0 18px 42px rgba(34,48,55,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Nirmala UI","Mangal","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;line-height:1.7;overflow-x:hidden
}
body.menu-open{overflow:hidden}
img{display:block;width:100%;max-width:100%;height:auto}
a{color:inherit}
button,input,textarea{font:inherit}
:focus-visible{outline:3px solid rgba(218,127,47,.55);outline-offset:4px}
.frame{width:min(1180px,calc(100% - 40px));margin:0 auto}
.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:white;padding:10px 14px;border:1px solid var(--rule)}
.skip-link:focus{top:16px}

.guide-header{position:sticky;top:0;z-index:50;background:rgba(251,247,238,.96);border-bottom:1px solid var(--rule);backdrop-filter:blur(14px)}
.header-frame{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;min-width:0}
.brand-mark{width:44px;height:44px;flex:0 0 44px;display:inline-flex}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-copy{display:grid;line-height:1.05}
.brand-copy strong{font-size:1.24rem;letter-spacing:.01em}
.brand-copy small{margin-top:5px;color:var(--muted);font-size:.72rem}
.guide-nav{display:flex;gap:6px}
.nav-item{padding:9px 11px;text-decoration:none;border-bottom:2px solid transparent;font-size:.9rem;font-weight:750}
.nav-item:hover,.nav-item.active{border-color:var(--orange);color:var(--teal)}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--rule);background:transparent;padding:10px}
.menu-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0}

.cover-band{padding:66px 0 72px;border-bottom:1px solid var(--rule);background:linear-gradient(135deg,#fbf7ee,#efe5cf)}
.cover-grid{display:grid;grid-template-columns:210px minmax(0,760px);gap:70px;align-items:start}
.cover-label{display:grid;gap:7px;padding-top:7px;border-top:4px solid var(--teal)}
.cover-label span{font-size:.75rem;font-weight:900;letter-spacing:.12em;color:var(--orange)}
.cover-label strong{font-size:.92rem}
.overline,.chapter-kicker{margin:0;color:var(--brick);font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.cover-title h1{margin:10px 0 0;font-size:clamp(3rem,7vw,6.2rem);line-height:.96;letter-spacing:-.06em;max-width:900px;font-family:Georgia,"Times New Roman",serif}
.cover-deck{margin-top:24px;max-width:740px;font-size:1.16rem;color:#516067}

.contents-section{padding:72px 0 90px}
.contents-grid{display:grid;grid-template-columns:260px minmax(0,760px);gap:76px;align-items:start}
.contents-rail{position:sticky;top:112px;display:grid;border-top:1px solid var(--ink)}
.rail-title{padding:12px 0;color:var(--muted);font-size:.74rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.contents-rail a{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:13px 0;border-top:1px solid var(--rule);text-decoration:none}
.contents-rail a strong{color:var(--orange)}
.contents-rail a span{font-size:.9rem}
.chapters{display:grid;gap:0}
.chapter{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:0 0 70px;margin-bottom:70px;border-bottom:1px solid var(--rule)}
.chapter:last-child{margin-bottom:0}
.chapter-number{font-family:Georgia,"Times New Roman",serif;font-size:2.1rem;color:#a5aaa7;padding-top:5px}
.chapter-body h2{margin:6px 0 0;font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.12;letter-spacing:-.03em}
.chapter-body>p{margin-top:18px;color:#4c5a61}
.chapter-figure{margin:28px 0 0}
.chapter-figure.landscape img{aspect-ratio:16/9;object-fit:cover}
.chapter-figure.portrait{max-width:560px}
.chapter-figure.portrait img{aspect-ratio:4/5;object-fit:cover}
.chapter-figure figcaption,.image-strip figcaption{margin-top:8px;color:var(--muted);font-size:.8rem}
.margin-note{margin-top:24px;display:grid;grid-template-columns:70px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.margin-note span{color:var(--orange);font-weight:900}
.margin-note p{margin:0;color:#4c5a61}
.split-note{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}
.split-note figure{margin:0}
.split-note img{aspect-ratio:4/3;object-fit:cover}
.split-note>div{display:grid;align-content:start;gap:6px}
.split-note>div p{margin:0 0 16px;color:var(--muted)}
.chapter blockquote{margin:26px 0 0;padding:18px 0 18px 24px;border-left:4px solid var(--olive);font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;color:var(--teal)}
.image-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.image-strip figure{margin:0}
.image-strip img{aspect-ratio:4/3;object-fit:cover}
.numbered-takeaway{display:grid;grid-template-columns:40px 1fr;gap:10px 18px;margin-top:28px;padding-top:22px;border-top:1px solid var(--rule)}
.numbered-takeaway span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--orange);color:var(--brick);font-weight:900}
.numbered-takeaway p{margin:3px 0 0}

.end-note{padding:58px 0 70px;background:var(--teal);color:white}
.end-note-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.end-note span{color:#ffd0a4;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.end-note h2{margin:7px 0 0;font-size:2.2rem}
.reading-links{display:grid}
.reading-links a{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:15px 0;border-top:1px solid rgba(255,255,255,.22);text-decoration:none}
.reading-links a:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.reading-links strong{color:#ffd0a4}

.page-intro{padding:60px 0 48px;border-bottom:1px solid var(--rule);background:#f2eadb}
.intro-grid{display:grid;grid-template-columns:210px minmax(0,760px);gap:70px}
.page-code{padding-top:10px;border-top:4px solid var(--teal);font-size:.74rem;font-weight:900;letter-spacing:.1em;color:var(--brick)}
.intro-grid h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,6vw,4.8rem);line-height:1;letter-spacing:-.05em}
.intro-grid p{margin:16px 0 0;color:#536168;font-size:1.1rem}

.page-section,.faq-section,.contact-section,.legal-section{padding:70px 0 84px}
.about-layout{display:grid;grid-template-columns:minmax(0,680px) 330px;gap:70px;align-items:start}
.about-copy h2,.legal-copy h2{margin:36px 0 0;font-size:1.65rem}.about-copy h2:first-child,.legal-copy h2:first-child{margin-top:0}
.about-copy p,.legal-copy p{margin:12px 0 0;color:#4e5c63}
.about-aside{border-top:4px solid var(--orange)}
.about-aside figure{margin:16px 0 0}
.about-aside img{aspect-ratio:4/3;object-fit:cover}
.about-aside dl{margin:18px 0 0}
.about-aside dl div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--rule)}
.about-aside dt{color:var(--muted)}
.about-aside dd{margin:0;font-weight:800}
.contact-footnote{padding:18px 0;background:#ece4d4;border-top:1px solid var(--rule);font-size:.9rem}
.contact-footnote a{font-weight:800;color:var(--teal)}

.reading-queue{padding:60px 0 84px}
.queue-list{display:grid}
.queue-row{display:grid;grid-template-columns:70px 280px 1fr;gap:24px;padding:30px 0;border-top:1px solid var(--rule);align-items:start}
.queue-row:last-child{border-bottom:1px solid var(--rule)}
.queue-num{font-family:Georgia,"Times New Roman",serif;font-size:2rem;color:#a7aaa7}
.queue-row figure{margin:0}
.queue-row img{aspect-ratio:4/3;object-fit:cover}
.queue-row h2{margin:5px 0 0;font-size:1.8rem}
.queue-row p{margin-top:10px;color:var(--muted)}
.queue-row a{display:inline-block;margin-top:14px;color:var(--teal);font-weight:850;text-decoration:none}

.article-opening{padding:56px 0 44px;background:#f2eadb;border-bottom:1px solid var(--rule)}
.article-opening-grid{display:grid;grid-template-columns:210px minmax(0,760px);gap:70px}
.article-opening h1{margin:6px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.05em}
.article-opening p:last-child{margin-top:15px;color:#56636a;font-size:1.08rem}
.article-body-layout{display:grid;grid-template-columns:220px minmax(0,720px);gap:68px;padding-top:60px;padding-bottom:86px;align-items:start}
.article-index{position:sticky;top:112px;display:grid;border-top:4px solid var(--orange)}
.article-index strong{padding:12px 0}
.article-index a{padding:10px 0;border-top:1px solid var(--rule);text-decoration:none;color:var(--muted);font-size:.9rem}
.article-index a:hover{color:var(--teal)}
.article-copy h2{margin:36px 0 0;font-size:1.8rem}
.article-copy p{margin:13px 0 0;color:#4b5960}
.article-lead{margin:0 0 34px}
.article-lead img{aspect-ratio:16/9;object-fit:cover}
.article-inline{margin:28px 0}
.article-inline img{max-height:480px;object-fit:cover}
.article-box{margin-top:32px;padding:20px;border-top:2px solid var(--teal);border-bottom:2px solid var(--teal);background:#f7f1e5}
.article-box p{margin-top:8px}

.faq-columns{display:grid;grid-template-columns:240px minmax(0,720px);gap:70px}
.faq-note{padding-top:12px;border-top:4px solid var(--olive)}
.faq-note p{margin-top:8px;color:var(--muted)}
.faq-list{display:grid}
.faq-list details{border-top:1px solid var(--rule)}
.faq-list details:last-child{border-bottom:1px solid var(--rule)}
.faq-list summary{cursor:pointer;list-style:none;position:relative;padding:18px 46px 18px 0;font-weight:850}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:4px;top:12px;color:var(--orange);font-size:1.65rem}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{padding:0 0 18px;margin:0;color:var(--muted)}

.contact-layout{display:grid;grid-template-columns:340px minmax(0,650px);gap:70px;align-items:start}
.contact-info{display:grid;gap:5px}
.contact-label{margin-top:14px;color:var(--brick);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.contact-info p{margin:0;overflow-wrap:anywhere}
.contact-info a{color:var(--teal);font-weight:800}
.contact-info figure{margin:28px 0 0}
.contact-info img{aspect-ratio:4/3;object-fit:cover}
.contact-form{display:grid;gap:16px;padding:28px;border:1px solid var(--rule);background:white}
.contact-form div{display:grid;gap:6px}
.contact-form label{font-weight:850}
.contact-form input,.contact-form textarea{width:100%;padding:12px 13px;border:1px solid #bfc6c5;background:#fcfcfa;border-radius:0}
.contact-form textarea{resize:vertical}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:0;background:var(--teal);color:white;font-weight:850;text-decoration:none;cursor:pointer}
.button-secondary{background:#e5e8e5;color:var(--ink)}
.contact-form .button{justify-self:start}
.form-note{font-size:.8rem;color:var(--muted)}
.legal-copy{max-width:820px}

.status-page{min-height:65vh;display:grid;place-items:center;padding:60px 20px}
.status-card{max-width:620px;text-align:center;padding:44px;border-top:4px solid var(--orange);border-bottom:1px solid var(--rule);background:white}
.status-code{color:var(--brick);font-size:.78rem;font-weight:900;letter-spacing:.12em}
.status-card h1{margin:8px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:3rem}
.status-card p{margin:15px 0 24px;color:var(--muted)}

.guide-footer{padding:56px 0 22px;background:#1f343d;color:#e7eff0}
.footer-frame{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:44px}
.guide-footer .brand-copy strong{color:white}
.guide-footer .brand-copy small{color:#bdd0d4}
.footer-intro p{margin-top:15px;max-width:390px;color:#c6d5d8}
.footer-block h2{font-size:1rem;margin:0 0 13px;color:white}
.footer-block address,.footer-links{display:grid;gap:8px;font-style:normal}
.footer-block a,.footer-block span{color:#e0e9eb;text-decoration:none;overflow-wrap:anywhere}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);color:#9fb6bc;font-size:.8rem}

.cookie-note{position:fixed;z-index:80;left:50%;bottom:16px;transform:translateX(-50%);width:min(860px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;background:#213c46;color:white;box-shadow:var(--shadow)}
.cookie-note[hidden]{display:none}
.cookie-note p{margin:4px 0 0;color:#c9d8dc;font-size:.84rem}
.cookie-note a{color:white}
.cookie-actions{display:flex;gap:8px;flex:0 0 auto}

@media(max-width:960px){
  .menu-toggle{display:block}
  .guide-nav{position:fixed;inset:78px 18px auto;display:grid;padding:16px;background:#fbf7ee;border:1px solid var(--rule);box-shadow:var(--shadow);opacity:0;transform:translateY(-12px);pointer-events:none}
  .guide-nav.open{opacity:1;transform:none;pointer-events:auto}
  .cover-grid,.intro-grid,.article-opening-grid{grid-template-columns:150px 1fr;gap:40px}
  .contents-grid{grid-template-columns:190px 1fr;gap:40px}
  .about-layout,.contact-layout{grid-template-columns:1fr 1fr;gap:40px}
  .queue-row{grid-template-columns:55px 220px 1fr}
  .article-body-layout{grid-template-columns:170px 1fr;gap:40px}
  .faq-columns{grid-template-columns:180px 1fr;gap:40px}
  .footer-frame{grid-template-columns:1fr 1fr}.footer-intro{grid-column:1/-1}
}
@media(max-width:680px){
  body{font-size:16px}.frame{width:min(100% - 28px,1180px)}
  .header-frame{min-height:72px}.guide-nav{inset:72px 14px auto}
  .brand-mark{width:40px;height:40px;flex-basis:40px}.brand-copy small{display:none}
  .cover-band{padding:42px 0 48px}
  .cover-grid,.intro-grid,.article-opening-grid{grid-template-columns:1fr;gap:20px}
  .cover-label,.page-code{max-width:180px}
  .cover-title h1{font-size:clamp(2.7rem,14vw,4.2rem)}
  .contents-section{padding:48px 0 64px}
  .contents-grid{grid-template-columns:1fr;gap:38px}
  .contents-rail,.article-index{position:static}
  .contents-rail{grid-template-columns:1fr 1fr}
  .rail-title{grid-column:1/-1}
  .contents-rail a{padding-right:12px}
  .chapter{grid-template-columns:42px 1fr;gap:12px;padding-bottom:50px;margin-bottom:50px}
  .chapter-number{font-size:1.6rem}
  .split-note,.image-strip{grid-template-columns:1fr}
  .end-note-grid{grid-template-columns:1fr;gap:28px}
  .page-intro{padding:42px 0 38px}
  .about-layout,.contact-layout,.faq-columns{grid-template-columns:1fr;gap:36px}
  .queue-row{grid-template-columns:42px 1fr;gap:14px}.queue-row figure{grid-column:2}.queue-row>div{grid-column:2}
  .article-body-layout{grid-template-columns:1fr;gap:30px;padding-top:42px}
  .contact-form{padding:20px}
  .footer-frame{grid-template-columns:1fr}.footer-intro{grid-column:auto}
  .footer-bottom,.cookie-note{flex-direction:column;align-items:stretch}
  .cookie-actions{width:100%}.cookie-actions .button{flex:1}
}
@media(max-width:390px){
  .contents-rail{grid-template-columns:1fr}
  .chapter{grid-template-columns:1fr}.chapter-number{font-size:1rem;color:var(--orange)}
  .cover-title h1{font-size:2.65rem}
}
