/* Tavi guide-detail — SuperDesign editorial redesign.
   Self-contained (pairs with fonts.css). Light, committed cream aesthetic.
   Styles the existing article content classes so 270 pages restyle via CSS. */
*{box-sizing:border-box;}
:root{
  --beige:#F5F1E9;--surface:#FFFCF6;--white:#fff;--ink:#211E18;
  --ink70:rgba(33,30,24,.72);--ink60:rgba(33,30,24,.6);--ink40:rgba(33,30,24,.4);--ink30:rgba(33,30,24,.3);
  --teal:#2BB3A3;--tealDeep:#1E8F82;--tealInk:#0F6156;--coral:#FF8A65;--coralInk:#AC4326;
  --lightTeal:#DCF1EE;--lightCoral:#FFE7DD;--amberSoft:#F7EEDD;--amberInk:#8A5A00;--dangerSoft:#FBEDEA;--dangerInk:#B23A28;
  --hair:rgba(33,30,24,.08);--shadow:0 10px 30px -12px rgba(88,72,48,.14);
  --serif:'Instrument Serif',Georgia,serif;--sans:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;background:var(--beige);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;}
a{color:var(--tealInk);text-decoration:none;}
img{max-width:100%;display:block;} svg{display:block;}
h1,h2,h3,h4,p{margin:0;}

/* nav */
.gnav{position:sticky;top:0;z-index:50;background:rgba(245,241,233,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--hair);}
.gnav .in{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.gnav .brand{display:flex;align-items:center;gap:9px;}
.gnav .links{display:flex;gap:30px;}
.gnav .links a{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ink70);}
.gnav .links a:hover,.gnav .links a.active{color:var(--teal);}
.gnav .cta{background:var(--teal);color:#fff;padding:11px 22px;border-radius:999px;font-size:14px;font-weight:800;}
.gnav .cta:hover{background:var(--tealDeep);}
@media(max-width:820px){.gnav .links{display:none;}}

/* shell */
.gshell{max-width:1200px;margin:0 auto;padding:44px 24px 20px;display:flex;flex-direction:column;gap:48px;}
@media(min-width:1000px){.gshell{flex-direction:row;gap:64px;}}
.gart{flex:1;min-width:0;max-width:720px;}
@media(min-width:1000px){.gart{margin:0;}}

/* article head */
.gcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink40);margin-bottom:28px;}
.gcrumb a:hover{color:var(--teal);}
.gcrumb .sep{color:var(--ink30);}
.gcrumb .cur{color:var(--ink60);}
.gmeta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;}
.gpill{background:var(--lightTeal);color:var(--tealInk);font-size:10px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;padding:6px 13px;border-radius:999px;}
.gdate{font-size:13px;font-weight:700;font-style:italic;color:var(--ink40);}
.gtitle{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5.5vw,58px);line-height:1.04;letter-spacing:-1px;margin-bottom:30px;text-wrap:balance;}
.gbyline{font-size:13.5px;color:var(--ink40);margin:-16px 0 30px;display:flex;flex-wrap:wrap;gap:6px 12px;}
.gbyline .rev{font-weight:800;color:var(--ink60);}

/* start-here box (from .answer) */
.gstart{background:var(--lightTeal);border:1px solid rgba(43,179,163,.14);border-radius:28px;padding:30px 32px;margin-bottom:36px;position:relative;overflow:hidden;}
.gstart .h{font-size:16px;font-weight:900;color:var(--tealInk);margin-bottom:8px;}
.gstart p{font-size:17px;line-height:1.6;color:var(--ink70);font-weight:500;}

/* hero figure */
figure.hero,.ghero{margin:0 0 40px;}
figure.hero img,.ghero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:32px;box-shadow:var(--shadow);}

/* ---- body typography ---- */
.gbody{font-size:18px;color:var(--ink70);}
.gbody>p,.gbody .lede{line-height:1.75;margin-bottom:1.5rem;}
.gbody .lede{font-size:21px;color:var(--ink);font-weight:500;line-height:1.6;}
.gbody h2{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.12;letter-spacing:-.5px;color:var(--ink);margin:3rem 0 1.2rem;text-wrap:balance;}
.gbody h3{font-size:20px;font-weight:800;color:var(--ink);margin:2.2rem 0 .8rem;}
.gbody strong{font-weight:800;color:var(--ink);}
.gbody a{color:var(--tealInk);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(43,179,163,.4);}
.gbody a:hover{text-decoration-color:var(--teal);}
.gbody ul,.gbody ol{margin:0 0 1.5rem;padding-left:0;list-style:none;}
.gbody ol{counter-reset:li;}
.gbody li{position:relative;padding-left:32px;margin-bottom:12px;line-height:1.7;}
.gbody ul>li::before{content:"";position:absolute;left:8px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--teal);}
.gbody ol>li{counter-increment:li;}
.gbody ol>li::before{content:counter(li);position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--lightTeal);color:var(--tealInk);font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;}

/* callout boxes */
.gbody .note,.gbody .warn{border-radius:22px;padding:20px 24px;margin:2rem 0;font-size:16px;line-height:1.6;}
.gbody .note{background:var(--amberSoft);color:#5c4415;}
.gbody .note strong{color:var(--amberInk);}
.gbody .warn{background:var(--dangerSoft);color:#7a2c20;}
.gbody .warn strong{color:var(--dangerInk);}

/* in-content app CTA (existing .cta) → ink callout */
.gbody .cta{background:var(--ink);color:#fff;border-radius:32px;padding:36px;margin:3rem 0;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;position:relative;overflow:hidden;}
.gbody .cta .cta-body{flex:1;min-width:240px;}
.gbody .cta h3{font-family:var(--serif);font-weight:400;font-style:italic;font-size:28px;color:#fff;margin:0 0 10px;}
.gbody .cta p{color:rgba(255,255,255,.8);font-size:15.5px;line-height:1.6;margin:0;}
.gbody .cta .btn{flex:none;background:var(--teal);color:#fff;padding:15px 28px;border-radius:16px;font-weight:800;font-size:15px;white-space:nowrap;}
.gbody .cta .btn:hover{background:var(--tealDeep);}

/* tables */
.gbody .table-scroll{overflow-x:auto;margin:2rem 0;border-radius:20px;box-shadow:var(--shadow);}
.gbody table{width:100%;border-collapse:collapse;background:var(--white);font-size:15px;min-width:440px;}
.gbody th{background:var(--beige);text-align:left;font-weight:800;color:var(--ink);padding:14px 18px;font-size:12px;letter-spacing:.4px;text-transform:uppercase;}
.gbody td{padding:14px 18px;border-top:1px solid var(--hair);color:var(--ink70);}
.gbody tbody tr:hover{background:var(--surface);}

/* FAQ */
.gbody .faq{margin-top:3rem;}
.gbody .faq>h2{margin-bottom:1.2rem;}
.gbody .faq details{background:var(--white);border:1px solid var(--hair);border-radius:20px;margin-bottom:12px;overflow:hidden;transition:border-color .2s;}
.gbody .faq details[open]{border-color:rgba(43,179,163,.3);}
.gbody .faq summary{list-style:none;cursor:pointer;padding:20px 24px;font-size:16.5px;font-weight:800;color:var(--ink);display:flex;justify-content:space-between;gap:16px;align-items:center;}
.gbody .faq summary::-webkit-details-marker{display:none;}
.gbody .faq summary::after{content:"+";flex:none;color:var(--teal);font-size:22px;font-weight:400;transition:transform .2s;}
.gbody .faq details[open] summary::after{transform:rotate(45deg);}
.gbody .faq details p{padding:0 24px 22px;font-size:15.5px;color:var(--ink60);line-height:1.65;margin:0;}

.gbody .disclaimer{font-size:13.5px;font-style:italic;color:var(--ink40);line-height:1.6;margin-top:3rem;padding-top:24px;border-top:1px solid var(--hair);}

/* hide any leftover in-flow related section (moved to sidebar) */
.gart>article>section.related,.gbody>section.related{display:none;}

/* back link */
.gback{display:inline-flex;align-items:center;gap:8px;margin-top:40px;font-size:12px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink40);}
.gback:hover{color:var(--ink);}

/* ---- sidebar ---- */
.gside{width:100%;flex:none;}
@media(min-width:1000px){.gside{width:320px;position:sticky;top:96px;align-self:flex-start;}}
.gside-in{display:flex;flex-direction:column;gap:24px;}
.grel{background:var(--white);border:1px solid var(--hair);border-radius:26px;padding:28px;box-shadow:var(--shadow);}
.grel h4{font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--ink30);margin-bottom:20px;}
.grel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;}
.grel li{padding:0;}
.grel li::before{display:none;}
.grel a{font-family:var(--serif);font-size:19px;line-height:1.2;color:var(--ink);display:block;}
.grel a:hover{color:var(--tealInk);}
.gapp{background:var(--lightCoral);border:1px solid rgba(255,138,101,.16);border-radius:26px;padding:30px 28px;text-align:center;box-shadow:var(--shadow);}
.gapp .ic{width:60px;height:60px;background:var(--white);border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--coral);box-shadow:0 6px 16px -8px rgba(88,72,48,.3);}
.gapp h4{font-family:var(--serif);font-style:italic;font-size:24px;margin-bottom:12px;color:var(--ink);}
.gapp p{font-size:14.5px;color:var(--ink60);line-height:1.55;margin-bottom:22px;}
.gapp a{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;padding:14px 24px;border-radius:16px;font-weight:800;font-size:15px;}
.gapp a:hover{background:#000;}

/* global CTA */
.gcta{background:var(--teal);padding:96px 24px;position:relative;overflow:hidden;margin-top:60px;}
.gcta .b{position:absolute;width:340px;height:340px;background:rgba(255,255,255,.1);border-radius:999px;filter:blur(50px);bottom:-120px;right:-80px;}
.gcta .in{max-width:640px;margin:0 auto;text-align:center;position:relative;}
.gcta h2{font-family:var(--serif);font-style:italic;font-size:clamp(36px,6vw,60px);color:#fff;line-height:1.05;margin-bottom:20px;}
.gcta p{font-size:19px;color:rgba(255,255,255,.85);margin-bottom:36px;}
.gcta a{display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--teal);padding:17px 34px;border-radius:18px;font-weight:800;font-size:17px;transition:transform .2s;}
.gcta a:hover{transform:translateY(-2px);}
.gcta .tiny{margin-top:24px;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.5);}

/* footer */
.gfoot{background:var(--ink);color:#fff;padding:60px 24px 44px;}
.gfoot .in{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:22px;justify-content:space-between;align-items:center;}
.gfoot .fb{display:flex;align-items:center;gap:10px;}
.gfoot p{color:rgba(255,255,255,.4);font-size:13px;}
.gfoot .fl{display:flex;gap:22px;flex-wrap:wrap;}
.gfoot .fl a{color:rgba(255,255,255,.6);font-size:14px;font-weight:700;}
.gfoot .fl a:hover{color:#fff;}
