*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --olive:#3B4A2F;--khaki:#C8B882;--cream:#F5F0E8;--rust:#B84C2B;
  --dark:#1A1F14;--mid:#6B7560;--border:rgba(200,184,130,0.12);--white:#FDFAF4;
  --card:rgba(59,74,47,0.13);
}
html{scroll-behavior:smooth}
body{background:var(--dark);color:var(--cream);font-family:'DM Sans',sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
/* Default link color so no anchor falls back to the browser's blue */
a{color:var(--khaki)}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:999;opacity:0.5}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:1rem 2.5rem;background:rgba(26,31,20,0.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-logo{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:0.12em;color:var(--khaki);cursor:pointer;text-decoration:none}
.nav-logo span{color:var(--rust)}
.nav-links{display:flex;gap:0.15rem;list-style:none;align-items:center}
.nav-links > li{position:relative}
.nav-links > li > a{color:var(--mid);text-decoration:none;font-size:0.7rem;letter-spacing:0.06em;text-transform:uppercase;transition:color 0.2s;cursor:pointer;white-space:nowrap;padding:0.5rem 0.55rem;display:flex;align-items:center;gap:0.25rem}
.nav-links > li > a:hover,.nav-links > li > a.active,.nav-links > li:hover > a{color:var(--khaki)}
.nav-links > li > a:focus-visible{outline:1px solid var(--khaki);outline-offset:2px}
.nav-drop-arrow{font-size:0.5rem;opacity:0.5;transition:transform 0.2s,opacity 0.2s}
.nav-links > li:hover .nav-drop-arrow{transform:rotate(180deg);opacity:0.8}
.nav-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:180px;background:rgba(26,31,20,0.98);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:4px;padding:0.45rem 0;opacity:0;visibility:hidden;transition:opacity 0.18s,visibility 0.18s;z-index:950;box-shadow:0 8px 32px rgba(0,0,0,0.35)}
.nav-links > li:hover .nav-dropdown{opacity:1;visibility:visible}
.nav-dropdown a{display:block;color:var(--mid);text-decoration:none;font-size:0.68rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.52rem 1.1rem;transition:color 0.15s,background 0.15s;cursor:pointer;white-space:nowrap}
.nav-dropdown a:hover,.nav-dropdown a.active{color:var(--khaki);background:rgba(59,74,47,0.2)}
.nav-cta{background:var(--rust)!important;color:var(--white)!important;padding:0.38rem 0.9rem!important;border-radius:2px!important}
.nav-cta:hover{background:#9a3e24!important}
/* hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hamburger span{display:block;width:22px;height:2px;background:var(--khaki);transition:all 0.3s ease}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile-menu{display:none;position:fixed;top:56px;left:0;right:0;bottom:0;background:rgba(26,31,20,0.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:899;padding:1.5rem 2rem;flex-direction:column;gap:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
.mobile-menu.open{display:flex}
.mobile-menu a{color:var(--mid);text-decoration:none;font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.85rem 0;border-bottom:1px solid var(--border);cursor:pointer;transition:color 0.2s}
.mobile-menu a:hover{color:var(--khaki)}
.mobile-menu a:last-child{border:none;color:var(--rust);margin-top:0.5rem}
.mobile-menu-group{border-bottom:1px solid var(--border)}
.mobile-menu-group-header{display:flex;align-items:center;justify-content:space-between;padding:0.85rem 0;cursor:pointer;color:var(--mid);font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;transition:color 0.2s;user-select:none;-webkit-tap-highlight-color:transparent}
.mobile-menu-group-header:hover,.mobile-menu-group.open .mobile-menu-group-header{color:var(--khaki)}
.mobile-menu-group-arrow{font-size:0.5rem;opacity:0.5;transition:transform 0.25s ease,opacity 0.2s;flex-shrink:0}
.mobile-menu-group.open .mobile-menu-group-arrow{transform:rotate(180deg);opacity:0.8}
.mobile-menu-group-links{max-height:0;overflow:hidden;transition:max-height 0.3s ease}
.mobile-menu-group.open .mobile-menu-group-links{max-height:500px}
.mobile-menu-group-links a{display:block;color:var(--mid);text-decoration:none;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.6rem 0 0.6rem 1.2rem;border-bottom:none;border-top:1px solid rgba(200,184,130,0.06);transition:color 0.2s;position:relative}
.mobile-menu-group-links a::before{content:'→';position:absolute;left:0;color:var(--rust);font-size:0.68rem;opacity:0.5}
.mobile-menu-group-links a:hover,.mobile-menu-group-links a.active{color:var(--khaki)}

/* ── SEARCH BAR ── */
.search-bar{background:rgba(59,74,47,0.2);border-bottom:1px solid var(--border);padding:0.9rem 2.5rem;display:flex;align-items:center;gap:1rem}
.search-wrap{position:relative;max-width:560px;width:100%}
.search-wrap input{width:100%;background:rgba(26,31,20,0.6);border:1px solid var(--border);color:var(--cream);font-family:'DM Sans',sans-serif;font-size:0.85rem;padding:0.6rem 1rem 0.6rem 2.5rem;border-radius:3px;outline:none;transition:border-color 0.2s}
.search-wrap input:focus{border-color:rgba(200,184,130,0.35)}
.search-wrap input::placeholder{color:var(--mid)}
.search-icon{position:absolute;left:0.75rem;top:50%;transform:translateY(-50%);color:var(--mid);font-size:0.85rem;pointer-events:none}
.search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:rgba(26,31,20,0.98);border:1px solid var(--border);border-radius:3px;z-index:800;display:none;max-height:320px;overflow-y:auto}
.search-results.open{display:block}
.sr-item{padding:0.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background 0.15s}
.sr-item:last-child{border:none}
.sr-item:hover{background:rgba(59,74,47,0.3)}
.sr-page{font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--rust);margin-bottom:0.2rem}
.sr-title{font-size:0.85rem;color:var(--cream)}
.sr-desc{font-size:0.75rem;color:var(--mid);margin-top:0.15rem}
.sr-none{padding:1rem;font-size:0.82rem;color:var(--mid);text-align:center}

/* ── PAGE SYSTEM ── */


@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* ── SHARED COMPONENTS ── */
.page-header{padding:8.5rem 2.5rem 4rem;border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.page-header::after{content:'';position:absolute;right:-8%;top:50%;transform:translateY(-50%);width:38vw;height:38vw;border-radius:50%;background:radial-gradient(circle,rgba(59,74,47,0.25) 0%,transparent 70%);pointer-events:none}
.breadcrumb{font-size:0.68rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--mid);margin-bottom:1.2rem}
.breadcrumb a{color:var(--rust);cursor:pointer;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}
.page-tag{font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--rust);margin-bottom:0.85rem;display:inline-block;border:1px solid var(--rust);padding:0.26rem 0.62rem;border-radius:2px}
.page-header h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,6vw,5.5rem);line-height:0.92;letter-spacing:0.02em}
.page-header h1 em{color:var(--khaki);font-style:normal;display:block}
.page-header .lead{max-width:600px;font-size:0.98rem;color:var(--mid);line-height:1.82;margin-top:1.2rem}
.section-tag{font-size:0.63rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--rust);margin-bottom:0.65rem}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.9rem,4vw,3rem);line-height:1;letter-spacing:0.03em;margin-bottom:0.65rem}
.section-title em{color:var(--khaki);font-style:normal}
.section-lead{font-size:0.9rem;color:var(--mid);max-width:560px;line-height:1.8;margin-bottom:2.2rem}
.site-notice{display:flex;align-items:center;gap:1rem;padding:1rem 2.5rem;background:rgba(184,76,43,0.12);border-top:2px solid var(--rust);border-bottom:1px solid rgba(184,76,43,0.2)}
.site-notice-icon{font-size:1.3rem;color:var(--rust);flex-shrink:0;line-height:1}
.site-notice p{font-size:0.82rem;color:var(--khaki);line-height:1.65;margin:0;font-weight:400}
.alert{border-radius:4px;padding:1.2rem 1.5rem;display:flex;gap:1rem;align-items:flex-start;margin:1.5rem 0}
.alert-warn{background:rgba(184,76,43,0.1);border:1px solid rgba(184,76,43,0.3)}
.alert-info{background:rgba(59,74,47,0.28);border:1px solid rgba(200,184,130,0.18)}
.alert-icon{font-size:1.1rem;flex-shrink:0;margin-top:0.1rem}
.alert-body h4{font-family:'Libre Baskerville',serif;font-size:0.88rem;margin-bottom:0.28rem}
.alert-warn .alert-body h4{color:var(--rust)}.alert-info .alert-body h4{color:var(--khaki)}
.alert-body p{font-size:0.81rem;color:var(--mid);line-height:1.65;margin:0}
.btn-primary{display:inline-block;background:var(--rust);color:var(--white);padding:0.78rem 1.7rem;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;transition:background 0.2s,transform 0.2s;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;text-decoration:none}
.btn-primary:hover{background:#9a3e24;transform:translateY(-2px)}
.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:2px solid var(--khaki);outline-offset:2px}
.btn-secondary{display:inline-block;border:1px solid rgba(200,184,130,0.32);color:var(--khaki);padding:0.78rem 1.7rem;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;transition:border-color 0.2s,transform 0.2s;background:transparent;cursor:pointer;font-family:'DM Sans',sans-serif;text-decoration:none}
.btn-secondary:hover{border-color:var(--khaki);transform:translateY(-2px)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity 0.55s ease,transform 0.55s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── ARTICLE BODY ── */
.article-body{padding:4rem 2.5rem}
.article-body h2{font-family:'Bebas Neue',sans-serif;font-size:1.9rem;letter-spacing:0.03em;margin:3rem 0 0.65rem;padding-top:1.8rem;border-top:1px solid var(--border)}
.article-body h2:first-child{margin-top:0;padding-top:0;border-top:none}
.article-body h2 em{color:var(--khaki);font-style:normal}
.article-body h3{font-family:'Libre Baskerville',serif;font-size:1.05rem;color:var(--cream);margin:1.7rem 0 0.5rem}
.article-body p{font-size:0.9rem;color:var(--mid);line-height:1.85;margin-bottom:1rem}
.article-body strong{color:var(--cream);font-weight:500}
.article-body ul,.article-body ol{padding-left:1.5rem;margin-bottom:1rem}
.article-body li{font-size:0.88rem;color:var(--mid);line-height:1.75;margin-bottom:0.3rem}
.do-dont{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1.7rem 0}
.do-box,.dont-box{border-radius:4px;padding:1.3rem}
.do-box{background:rgba(59,74,47,0.22);border:1px solid rgba(59,74,47,0.48)}
.dont-box{background:rgba(184,76,43,0.08);border:1px solid rgba(184,76,43,0.2)}
.do-box h4{color:var(--khaki);font-family:'Libre Baskerville',serif;font-size:0.88rem;margin-bottom:0.85rem}
.dont-box h4{color:var(--rust);font-family:'Libre Baskerville',serif;font-size:0.88rem;margin-bottom:0.85rem}
.do-dont ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:0.45rem}
.do-dont li{font-size:0.8rem;color:var(--mid);padding-left:1rem;position:relative;line-height:1.5}
.do-box li::before{content:'✓';position:absolute;left:0;color:var(--khaki)}
.dont-box li::before{content:'✕';position:absolute;left:0;color:var(--rust)}
.checklist{background:rgba(26,31,20,0.38);border:1px solid var(--border);border-radius:4px;padding:1.5rem;margin:1.7rem 0}
.checklist h4{font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:0.05em;margin-bottom:0.9rem;color:var(--cream)}
.checklist ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:0.55rem}
.checklist li{font-size:0.81rem;color:var(--mid);padding-left:1.6rem;position:relative;cursor:pointer;user-select:none;line-height:1.55;transition:color 0.2s}
.checklist li::before{content:'☐';position:absolute;left:0;color:var(--khaki)}
.checklist li.checked{color:rgba(107,117,96,0.4);text-decoration:line-through}
.checklist li.checked::before{content:'☑';color:var(--olive)}
.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem;margin:1.7rem 0}
.info-card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:1.4rem;transition:background 0.2s}
.info-card:hover{background:rgba(59,74,47,0.22)}
.ic-tag{display:inline-block;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.17rem 0.42rem;border-radius:2px;margin-bottom:0.48rem}
.tag-m{background:rgba(184,76,43,0.18);color:var(--rust)}
.tag-p{background:rgba(59,74,47,0.38);color:var(--khaki)}
.tag-n{background:rgba(200,184,130,0.08);color:var(--khaki)}
.info-card h4{font-family:'Libre Baskerville',serif;font-size:0.9rem;color:var(--cream);margin-bottom:0.38rem}
.info-card p{font-size:0.78rem;color:var(--mid);line-height:1.6}

/* ── FOOTER ── */
footer{background:#111510;padding:2.5rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.2rem}
.footer-logo{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:0.1em;color:var(--khaki);cursor:pointer}
.footer-logo span{color:var(--rust)}
.footer-links{display:flex;gap:1.6rem;list-style:none;flex-wrap:wrap}
.footer-links a{color:var(--mid);text-decoration:none;font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;transition:color 0.2s;cursor:pointer}
.footer-links a:hover{color:var(--khaki)}
.footer-copy{font-size:0.67rem;color:rgba(107,117,96,0.45)}
.disclaimer{background:rgba(59,74,47,0.12);border-top:1px solid rgba(200,184,130,0.05);padding:1rem 2.5rem;font-size:0.68rem;color:rgba(107,117,96,0.52);text-align:center;line-height:1.65}

/* ══════════ HOME ══════════ */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:7rem 2.5rem 4rem;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;right:-10%;top:50%;transform:translateY(-50%);width:52vw;height:52vw;border-radius:50%;background:radial-gradient(circle,rgba(59,74,47,0.28) 0%,transparent 70%);pointer-events:none}
.hero-tag{display:inline-block;font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--rust);border:1px solid var(--rust);padding:0.28rem 0.65rem;margin-bottom:1.4rem;animation:fadeUp 0.6s ease both}
.hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(3.2rem,7vw,6.8rem);line-height:0.92;letter-spacing:0.02em;animation:fadeUp 0.7s 0.1s ease both}
.hero h1 em{color:var(--khaki);font-style:normal;display:block}
.hero-sub{margin-top:1.7rem;font-size:0.98rem;color:var(--mid);max-width:480px;line-height:1.82;animation:fadeUp 0.7s 0.2s ease both}
.hero-sub strong{color:var(--cream);font-weight:500}
.hero-actions{display:flex;gap:0.9rem;margin-top:1.9rem;animation:fadeUp 0.7s 0.3s ease both;flex-wrap:wrap}
.hero-stats{display:flex;gap:2rem;margin-top:2.8rem;padding-top:1.8rem;border-top:1px solid var(--border);animation:fadeUp 0.7s 0.4s ease both;flex-wrap:wrap}
.stat-num{font-family:'Bebas Neue',sans-serif;font-size:1.9rem;color:var(--khaki);letter-spacing:0.05em;display:block}
.stat-label{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--mid)}
.hero-visual{display:flex;align-items:center;justify-content:center;position:relative;animation:fadeIn 1s 0.5s ease both}
.rating-wheel{width:300px;height:300px;border-radius:50%;border:1px solid rgba(200,184,130,0.16);display:flex;align-items:center;justify-content:center;position:relative}
.rating-wheel::before{content:'';position:absolute;inset:12px;border-radius:50%;border:1px dashed rgba(200,184,130,0.09)}
.rw-pct{font-family:'Bebas Neue',sans-serif;font-size:5rem;line-height:1;color:var(--khaki);text-align:center}
.rw-label{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--mid);text-align:center;margin-top:0.3rem}
.rw-label strong{color:var(--rust);display:block;font-size:0.75rem}
.badge{position:absolute;background:rgba(59,74,47,0.85);border:1px solid rgba(200,184,130,0.16);border-radius:4px;padding:0.48rem 0.75rem;font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--cream);backdrop-filter:blur(8px)}
.badge .bv{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--khaki);display:block;line-height:1;margin-bottom:0.12rem}
.badge-1{top:8%;left:-4%}.badge-2{bottom:12%;right:-10%}.badge-3{top:54%;left:-12%}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}
.guide-card{background:var(--dark);padding:1.8rem 1.6rem;cursor:pointer;transition:background 0.2s;position:relative;overflow:hidden}
.guide-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rust);transform:scaleY(0);transform-origin:bottom;transition:transform 0.22s ease}
.guide-card:hover{background:rgba(59,74,47,0.18)}
.guide-card:hover::before{transform:scaleY(1)}
.guide-num{font-family:'Bebas Neue',sans-serif;font-size:2.7rem;color:rgba(200,184,130,0.06);line-height:1;margin-bottom:0.7rem;transition:color 0.22s}
.guide-card:hover .guide-num{color:rgba(200,184,130,0.12)}
.guide-card h3{font-family:'Libre Baskerville',serif;font-size:0.97rem;color:var(--cream);margin-bottom:0.45rem;line-height:1.4}
.guide-card p{font-size:0.78rem;color:var(--mid);line-height:1.62}
.guide-arrow{display:inline-block;margin-top:0.9rem;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--rust);opacity:0;transform:translateX(-5px);transition:opacity 0.18s,transform 0.18s}
.guide-card:hover .guide-arrow{opacity:1;transform:translateX(0)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem;margin-top:2.2rem;counter-reset:steps}
.step{border-top:1px solid rgba(200,184,130,0.18);padding-top:1.2rem}
.step::before{counter-increment:steps;content:"0" counter(steps);font-family:'Bebas Neue',sans-serif;font-size:0.82rem;letter-spacing:0.1em;color:var(--rust);display:block;margin-bottom:0.7rem}
.step h4{font-family:'Libre Baskerville',serif;font-size:0.92rem;color:var(--cream);margin-bottom:0.38rem}
.step p{font-size:0.78rem;color:var(--mid);line-height:1.62}
.rtable{width:100%;border-collapse:collapse;font-size:0.82rem}
.rtable th{background:rgba(59,74,47,0.38);color:var(--khaki);font-weight:500;letter-spacing:0.08em;text-transform:uppercase;font-size:0.65rem;padding:0.75rem 1rem;text-align:left}
.rtable td{padding:0.7rem 1rem;border-top:1px solid var(--border);color:var(--cream)}
.rtable tr:hover td{background:rgba(59,74,47,0.13)}
.rtable .hl td{color:var(--khaki);font-weight:500}
.flag-ico{height:0.92em;width:auto;vertical-align:-0.12em;margin-right:0.5rem;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,0.25)}
.dc-table{width:100%;border-collapse:collapse;font-size:0.8rem;margin:1.4rem 0}
.dc-table th{background:rgba(59,74,47,0.38);color:var(--khaki);font-weight:500;letter-spacing:0.08em;text-transform:uppercase;font-size:0.63rem;padding:0.7rem 0.9rem;text-align:left}
.dc-table td{padding:0.65rem 0.9rem;border-top:1px solid var(--border);color:var(--cream);vertical-align:top;line-height:1.55}
.dc-table tr:hover td{background:rgba(59,74,47,0.13)}
.dc-table td.dc-cond{font-weight:500;color:var(--cream);white-space:normal}
.dc-table td.dc-code{white-space:nowrap}
.dc-table td.dc-crit{color:var(--mid)}
.dc-table a{color:var(--khaki);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.dc-table a:hover{color:var(--cream)}
.formula-box{background:rgba(59,74,47,0.16);border:1px solid var(--border);border-radius:4px;padding:1.7rem}
.formula-box h4{font-family:'Libre Baskerville',serif;color:var(--cream);margin-bottom:1.1rem;font-size:0.98rem}
.f-step{display:flex;gap:0.75rem;margin-bottom:0.85rem;align-items:flex-start;font-size:0.81rem;color:var(--mid);line-height:1.6}
.f-num{background:var(--rust);color:white;width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.62rem;font-weight:500;flex-shrink:0;margin-top:0.12rem}
.f-note{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--border);font-size:0.76rem;color:var(--rust);font-style:italic}

/* ══════════ CALCULATOR ══════════ */
.calc-body{display:grid;grid-template-columns:1fr 350px;gap:2.5rem;padding:3rem 2.5rem;align-items:start}
.input-panel h2{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:0.05em;margin-bottom:0.28rem}
.input-panel .sub{font-size:0.8rem;color:var(--mid);margin-bottom:1.6rem}
.conditions-list{display:flex;flex-direction:column;gap:0.55rem;margin-bottom:1.1rem}
.condition-row{display:grid;grid-template-columns:1fr auto auto;gap:0.65rem;align-items:center;background:rgba(59,74,47,0.14);border:1px solid var(--border);border-radius:4px;padding:0.85rem 1rem;animation:slideIn 0.2s ease both}
@keyframes slideIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.condition-row label{font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--mid);display:block;margin-bottom:0.22rem}
.cname{background:transparent;border:none;border-bottom:1px solid rgba(200,184,130,0.16);color:var(--cream);font-family:'DM Sans',sans-serif;font-size:0.87rem;padding:0.22rem 0;width:100%;outline:none;transition:border-color 0.2s}
.cname:focus{border-color:var(--khaki)}.cname::placeholder{color:var(--mid)}
.rsel{background:rgba(26,31,20,0.8);border:1px solid var(--border);color:var(--cream);font-family:'DM Sans',sans-serif;font-size:0.87rem;padding:0.32rem 0.65rem;border-radius:2px;outline:none;cursor:pointer;min-width:72px}
.rsel:focus{border-color:var(--khaki)}
.rm-btn{background:transparent;border:1px solid rgba(184,76,43,0.2);color:rgba(184,76,43,0.52);border-radius:2px;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.18s;flex-shrink:0;font-size:0.82rem}
.rm-btn:hover{background:rgba(184,76,43,0.12);color:var(--rust);border-color:var(--rust)}
.add-btn{background:transparent;border:1px dashed rgba(200,184,130,0.18);color:var(--mid);border-radius:4px;padding:0.75rem;width:100%;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;transition:all 0.18s}
.add-btn:hover{border-color:var(--khaki);color:var(--khaki)}
.result-card{background:rgba(59,74,47,0.16);border:1px solid var(--border);border-radius:6px;overflow:hidden}
.results-panel{position:sticky;top:8.5rem}
.result-header{padding:1.7rem;background:rgba(59,74,47,0.26);border-bottom:1px solid var(--border);text-align:center}
.r-label{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--mid);margin-bottom:0.38rem}
.r-exact{font-family:'Bebas Neue',sans-serif;font-size:4.8rem;line-height:1;color:var(--khaki);transition:all 0.35s ease}
.r-rounded-label{font-size:0.67rem;color:var(--mid);margin-top:0.75rem}
.r-rounded{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:var(--cream)}
.gauge-wrap{padding:1.2rem 1.7rem;border-bottom:1px solid var(--border)}
.gauge-lbl{font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--mid);margin-bottom:0.55rem}
.gauge-track{height:6px;background:rgba(255,255,255,0.05);border-radius:4px;overflow:hidden}
.gauge-fill{height:100%;background:linear-gradient(to right,var(--olive),var(--khaki));border-radius:4px;transition:width 0.45s cubic-bezier(0.4,0,0.2,1);min-width:2px}
.breakdown{padding:1.2rem 1.7rem}
.breakdown h4{font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--mid);margin-bottom:0.85rem}
.bs-row{display:flex;justify-content:space-between;align-items:center;font-size:0.76rem;color:var(--mid);padding:0.32rem 0;border-bottom:1px solid rgba(200,184,130,0.04)}
.bs-row:last-child{border:none;color:var(--cream);font-weight:500}
.bs-dot{width:6px;height:6px;border-radius:50%;background:var(--rust);display:inline-block;margin-right:0.38rem;flex-shrink:0}
.bs-val{font-family:'Bebas Neue',sans-serif;font-size:0.98rem;color:var(--khaki);letter-spacing:0.05em}
.pay-section{padding:1.2rem 1.7rem;background:rgba(26,31,20,0.25)}
.pay-section h4{font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--mid);margin-bottom:0.85rem}
.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.45rem}
.pay-item{padding:0.58rem;background:rgba(59,74,47,0.16);border-radius:3px;text-align:center;border:1px solid var(--border)}
.pay-lbl{font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--mid);display:block;margin-bottom:0.18rem}
.pay-val{font-family:'Bebas Neue',sans-serif;font-size:0.97rem;color:var(--cream)}
.pay-val.hl{color:var(--khaki)}
.math-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.math-step{background:rgba(26,31,20,0.36);border:1px solid var(--border);border-radius:4px;padding:1.3rem}
.ms-num{font-family:'Bebas Neue',sans-serif;font-size:2.8rem;color:rgba(200,184,130,0.07);line-height:1;margin-bottom:0.38rem}
.ms-title{font-family:'Libre Baskerville',serif;font-size:0.88rem;color:var(--cream);margin-bottom:0.38rem}
.ms-body{font-size:0.76rem;color:var(--mid);line-height:1.6}
.ms-ex{margin-top:0.65rem;padding:0.55rem;background:rgba(59,74,47,0.22);border-radius:3px;font-size:0.72rem;color:var(--khaki);font-style:italic}
.ptable{width:100%;border-collapse:collapse;font-size:0.81rem}
.ptable th{background:rgba(59,74,47,0.38);color:var(--khaki);font-weight:500;letter-spacing:0.08em;text-transform:uppercase;font-size:0.64rem;padding:0.75rem 1.05rem;text-align:left}
.ptable td{padding:0.7rem 1.05rem;border-top:1px solid var(--border);color:var(--cream)}
.ptable tr:hover td{background:rgba(59,74,47,0.11)}
.ptable .rhl td{color:var(--khaki);font-weight:500}

/* ══════════ APPEALS / LANES ══════════ */
.lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;padding:3rem 2.5rem;border-bottom:1px solid var(--border)}
.lane{border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.lane-hdr{padding:1.7rem;text-align:center}
.lane-1 .lane-hdr{background:rgba(59,74,47,0.3)}
.lane-2 .lane-hdr{background:rgba(184,76,43,0.12)}
.lane-3 .lane-hdr{background:rgba(200,184,130,0.06)}
.lane-icon{font-size:1.7rem;margin-bottom:0.65rem}
.lane-name{font-family:'Bebas Neue',sans-serif;font-size:1.35rem;letter-spacing:0.05em;color:var(--cream);margin-bottom:0.18rem}
.lane-form{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--mid)}
.lane-body{background:rgba(26,31,20,0.36);border:1px solid var(--border);border-top:none;padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:0.85rem}
.lane-meta{display:grid;grid-template-columns:1fr 1fr;gap:0.55rem}
.lm{background:rgba(59,74,47,0.17);border-radius:3px;padding:0.65rem;text-align:center}
.lm-lbl{font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--mid);display:block;margin-bottom:0.18rem}
.lm-val{font-family:'Bebas Neue',sans-serif;font-size:0.97rem;color:var(--khaki)}
.lane-desc{font-size:0.78rem;color:var(--mid);line-height:1.63}
.lane-best-lbl{font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--rust);margin-bottom:0.38rem}
.lane-best ul{list-style:none;display:flex;flex-direction:column;gap:0.32rem}
.lane-best li{font-size:0.75rem;color:var(--mid);padding-left:0.85rem;position:relative;line-height:1.48}
.lane-best li::before{content:'→';position:absolute;left:0;color:var(--khaki);font-size:0.68rem}
.lane-warn{background:rgba(184,76,43,0.07);border:1px solid rgba(184,76,43,0.17);border-radius:3px;padding:0.65rem 0.85rem;font-size:0.73rem;color:var(--rust);line-height:1.5;margin-top:auto}
.timeline{display:flex;flex-direction:column;max-width:720px;position:relative}
.timeline::before{content:'';position:absolute;left:18px;top:0;bottom:0;width:2px;background:var(--border)}
.tl-item{display:flex;gap:1.7rem;position:relative;padding-bottom:2rem}
.tl-item:last-child{padding-bottom:0}
.tl-dot{width:36px;height:36px;border-radius:50%;background:var(--dark);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:0.7rem;color:var(--khaki);font-family:'Bebas Neue',sans-serif;z-index:1}
.tl-dot.act{background:var(--rust);border-color:var(--rust);color:white}
.tl-content{padding-top:0.38rem}
.tl-content h4{font-family:'Libre Baskerville',serif;font-size:0.9rem;color:var(--cream);margin-bottom:0.32rem}
.tl-content p{font-size:0.79rem;color:var(--mid);line-height:1.6}
.tl-time{display:inline-block;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--rust);margin-top:0.32rem;background:rgba(184,76,43,0.08);padding:0.17rem 0.42rem;border-radius:2px}
.strat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.strat-card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:1.5rem}
.strat-card h4{font-family:'Libre Baskerville',serif;font-size:0.92rem;color:var(--cream);margin-bottom:0.55rem}
.strat-card p,.strat-card li{font-size:0.8rem;color:var(--mid);line-height:1.63}
.strat-card ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:0.38rem;margin-top:0.45rem}
.strat-card li{padding-left:0.85rem;position:relative}
.strat-card li::before{content:'·';position:absolute;left:0;color:var(--khaki);font-weight:700}

/* ══════════ ABOUT ══════════ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;padding:4rem 2.5rem}
.about-photo{background:rgba(59,74,47,0.22);border:1px solid var(--border);border-radius:6px;padding:3rem;text-align:center;position:sticky;top:5.5rem}
.about-avatar{width:100px;height:100px;border-radius:50%;background:var(--rust);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:3rem;color:white;margin:0 auto 1.5rem}
.about-name{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--cream);letter-spacing:0.05em}
.about-title{font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--mid);margin-top:0.3rem}
.about-badges{display:flex;flex-direction:column;gap:0.5rem;margin-top:1.5rem}
.ab{background:rgba(59,74,47,0.3);border:1px solid var(--border);border-radius:3px;padding:0.5rem 0.8rem;font-size:0.72rem;color:var(--khaki);letter-spacing:0.08em;text-align:center}
.about-content h2{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:0.03em;margin-bottom:0.65rem}
.about-content h2 em{color:var(--khaki);font-style:normal}
.about-content p{font-size:0.9rem;color:var(--mid);line-height:1.85;margin-bottom:1.2rem}
.about-content strong{color:var(--cream);font-weight:500}
.mission-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.mission-card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:1.3rem}
.mc-icon{font-size:1.3rem;margin-bottom:0.6rem}
.mc-title{font-family:'Libre Baskerville',serif;font-size:0.9rem;color:var(--cream);margin-bottom:0.38rem}
.mc-body{font-size:0.78rem;color:var(--mid);line-height:1.6}

/* ══════════ RESOURCES ══════════ */
.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem;margin-top:2rem}
.resource-card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:1.5rem;transition:background 0.2s}
.resource-card:hover{background:rgba(59,74,47,0.22)}
.rc-cat{font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--rust);margin-bottom:0.5rem}
.rc-name{font-family:'Libre Baskerville',serif;font-size:0.95rem;color:var(--cream);margin-bottom:0.38rem}
.rc-desc{font-size:0.78rem;color:var(--mid);line-height:1.6;margin-bottom:0.8rem}
.rc-link{font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--khaki);text-decoration:none;border-bottom:1px solid rgba(200,184,130,0.25);padding-bottom:1px;transition:border-color 0.2s}
.rc-link:hover{border-color:var(--khaki)}

/* ══════════ CONTACT ══════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:4rem 2.5rem;align-items:start}
.contact-form{display:flex;flex-direction:column;gap:1.2rem}
.form-group{display:flex;flex-direction:column;gap:0.4rem}
.form-group label{font-size:0.68rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--mid)}
.form-group input,.form-group textarea,.form-group select{background:rgba(59,74,47,0.15);border:1px solid var(--border);color:var(--cream);font-family:'DM Sans',sans-serif;font-size:0.88rem;padding:0.75rem 1rem;border-radius:3px;outline:none;transition:border-color 0.2s;width:100%}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:rgba(200,184,130,0.35)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--mid)}
.form-group textarea{resize:vertical;min-height:130px}
.form-group select option{background:var(--dark)}
.contact-info h3{font-family:'Libre Baskerville',serif;font-size:1.05rem;color:var(--cream);margin-bottom:0.5rem;margin-top:2rem}
.contact-info h3:first-child{margin-top:0}
.contact-info p{font-size:0.85rem;color:var(--mid);line-height:1.75;margin-bottom:0.5rem}
.contact-info strong{color:var(--cream);font-weight:500}
.ci-cards{display:flex;flex-direction:column;gap:0.8rem;margin-top:1rem}
.ci-card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:1.1rem 1.3rem}
.ci-label{font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--rust);margin-bottom:0.28rem}
.ci-value{font-size:0.85rem;color:var(--cream)}

/* ══════════ NEWSLETTER ══════════ */
.newsletter-section{padding:5rem 2.5rem;text-align:center;border-top:1px solid var(--border)}
.newsletter-inner{max-width:500px;margin:0 auto}
.nl-form{display:flex;border:1px solid var(--border);border-radius:2px;overflow:hidden;margin-top:1.8rem}
.nl-form input{flex:1;background:rgba(59,74,47,0.16);border:none;padding:0.85rem 1.2rem;color:var(--cream);font-family:'DM Sans',sans-serif;font-size:0.87rem;outline:none}
.nl-form input::placeholder{color:var(--mid)}
.nl-form button{background:var(--rust);color:white;border:none;padding:0.85rem 1.5rem;font-family:'DM Sans',sans-serif;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:background 0.2s}
.nl-form button:hover{background:#9a3e24}

/* ── TABLE OF CONTENTS ── */
.toc{padding:2rem 2.5rem;border-bottom:1px solid var(--border);background:rgba(59,74,47,0.06)}
.toc-title{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:0.06em;color:var(--khaki);margin-bottom:1rem;display:flex;align-items:center;gap:0.6rem}
.toc-title::before{content:'';display:inline-block;width:3px;height:1.1em;background:var(--rust);border-radius:1px}
.toc ol{list-style:none;padding:0;columns:2;column-gap:2.5rem}
.toc li{break-inside:avoid;margin-bottom:0.35rem}
.toc a{color:var(--mid);text-decoration:none;font-size:0.82rem;line-height:1.65;display:flex;align-items:baseline;gap:0.5rem;transition:color 0.15s}
.toc a:hover{color:var(--khaki)}
.toc .toc-num{font-family:'Bebas Neue',sans-serif;font-size:0.85rem;color:var(--rust);min-width:1.2rem}
.toc a span:last-child{flex:1}
[id*="-s"]{scroll-margin-top:5rem}

/* ══════════ RESPONSIVE ══════════ */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr}.hero-visual{display:none}
  .guide-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}
  .calc-body{grid-template-columns:1fr}.results-panel{position:static}
  .lanes{grid-template-columns:1fr;padding:2.5rem 1.5rem}
  .math-steps{grid-template-columns:1fr 1fr}.strat-grid{grid-template-columns:1fr}
  .info-grid{grid-template-columns:1fr 1fr}.about-grid{grid-template-columns:1fr}
  .about-photo{position:static}.contact-grid{grid-template-columns:1fr}
  .mission-cards{grid-template-columns:1fr}
}
@media(max-width:768px){
  .hamburger{display:flex}.nav-links{display:none}
  .guide-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}
  .do-dont{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}
  .math-steps{grid-template-columns:1fr 1fr}
  .toc ol{columns:1}
}
@media(max-width:480px){
  .math-steps{grid-template-columns:1fr}
  nav{padding:0.85rem 1.2rem}
  .hero,.article-body,.lanes,.calc-body,.about-grid,.contact-grid,.resources-grid,.newsletter-section{padding-left:1.2rem;padding-right:1.2rem}
  .page-header{padding-left:1.2rem;padding-right:1.2rem}
  .toc{padding-left:1.2rem;padding-right:1.2rem}
  .search-bar{padding-left:1.2rem;padding-right:1.2rem}
  footer{padding:1.8rem 1.2rem;flex-direction:column;align-items:flex-start}
  .disclaimer{padding:0.9rem 1.2rem}
  .site-notice{padding:0.9rem 1.2rem}
}
.donate-float{position:fixed;bottom:24px;right:24px;z-index:1000}
.donate-float button{background:var(--rust);color:var(--white);border:none;border-radius:2px;padding:12px 22px;font-family:'DM Sans',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 4px 16px rgba(0,0,0,0.3);transition:background 0.2s,transform 0.2s}
.donate-float button:hover{background:#9a3e24;transform:translateY(-2px)}
.donate-float button svg{width:18px;height:18px;fill:var(--white);flex-shrink:0}
@media(max-width:480px){.donate-float{bottom:16px;right:16px}.donate-float button{padding:10px 16px;font-size:0.85rem}}

/* Secondary-condition literature references */
.sec-lit{margin:1.7rem 0}
.sec-lit-block{background:rgba(59,74,47,0.16);border:1px solid rgba(200,184,130,0.18);border-radius:6px;padding:1.5rem 1.7rem;margin-bottom:1.2rem}
.sec-lit-block > h4{font-family:'Libre Baskerville',serif;font-size:1rem;color:var(--khaki);margin:0 0 0.2rem}
.sec-lit-block > .sec-lit-sub{font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--rust);margin-bottom:0.9rem}
.sec-lit-item{padding:0.95rem 0;border-top:1px solid var(--border)}
.sec-lit-item:first-of-type{border-top:none}
.sec-lit-cond{font-family:'DM Sans',sans-serif;font-size:0.9rem;color:var(--cream);font-weight:500;display:block;margin-bottom:0.25rem}
.sec-lit-cond .ev{font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;font-weight:500;padding:0.12rem 0.4rem;border-radius:2px;margin-left:0.55rem;vertical-align:middle;white-space:nowrap}
.sec-lit-cond .ev-strong{background:rgba(59,74,47,0.45);color:var(--khaki)}
.sec-lit-cond .ev-mod{background:rgba(200,184,130,0.08);color:var(--mid)}
.sec-lit-cond .ev-weak{background:rgba(184,76,43,0.12);color:var(--rust)}
.sec-lit-desc{font-size:0.83rem;color:var(--mid);line-height:1.7;margin:0 0 0.4rem}
.sec-lit-ref{font-size:0.74rem;color:var(--khaki);line-height:1.55;margin:0;font-style:italic}
.sec-lit-ref a{color:var(--khaki);text-decoration:underline;text-underline-offset:2px}
.sec-lit-ref a:hover{color:var(--cream)}
.sec-lit-ref .src-note{font-style:normal;color:var(--mid)}
