/* Guardians Blog — extends the Tide site styles (site.css). Sand for reading, sea for moments. */
:root{--c-guides:#5d6d93;--c-treatments:#1f2c4e;--c-myeongdong:#c8603f}
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.78rem;color:var(--muted);letter-spacing:.04em}
.crumbs a{text-decoration:none;color:inherit}
.crumbs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.crumbs span[aria-hidden]{opacity:.5}
.sea .crumbs{color:var(--foam-dim)}
.sea .crumbs a:hover{color:var(--foam)}
.cat{display:inline-flex;align-items:center;gap:8px;font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.cat::before{content:"";width:18px;height:2px;background:var(--cc,var(--tide))}
.cat.guides{--cc:var(--c-guides)}.cat.treatments{--cc:var(--c-treatments)}.cat.myeongdong{--cc:var(--c-myeongdong)}
.sea .cat{color:var(--foam-dim)}
.sea .cat.treatments{--cc:var(--foam)}

/* index hero */
.b-hero{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(64px,9vw,120px) clamp(56px,7vw,96px)}
.b-hero::before{content:"";position:absolute;inset:0;background:url(../img/tide-tex.webp) center/cover;opacity:.5;z-index:-1}
.b-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,rgba(31,44,78,0),var(--sea));z-index:-1}
.b-hero .inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:end}
.b-hero h1{font-size:clamp(3.2rem,8vw,7.2rem);font-weight:400;line-height:.92;letter-spacing:-.02em;margin-top:22px}
.b-hero h1 i{color:var(--foam-dim)}
.b-hero .lede{margin-top:24px;font-size:1.12rem}
.b-topics{display:grid;gap:0;border-top:1px solid var(--line-sea)}
.b-topics a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-sea);text-decoration:none;font-family:var(--serif);font-size:1.5rem;transition:padding .25s,color .2s}
.b-topics a span{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;color:var(--foam-dim)}
.b-topics a:hover{padding-left:10px;color:#fff}

/* list */
.b-list{padding-block:clamp(48px,7vw,96px)}
.b-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(32px,4vw,48px)}
.b-tabs button{all:unset;box-sizing:border-box;cursor:pointer;padding:10px 18px;border:1px solid var(--rule);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:all .2s}
.b-tabs button:hover{color:var(--ink);border-color:var(--ink)}
.b-tabs button[aria-selected=true]{background:var(--sea);border-color:var(--sea);color:var(--foam)}
.b-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;text-decoration:none;padding-bottom:clamp(40px,5vw,64px);margin-bottom:clamp(40px,5vw,64px);border-bottom:1px solid var(--ink)}
.b-feature .cover{aspect-ratio:16/10}
.b-feature h2{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.05;margin:14px 0 16px}
.b-feature p.dek{color:var(--muted);font-size:1.05rem;max-width:46ch}
.b-feature .more-l{margin-top:22px}
.b-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,5vw,64px) clamp(20px,3vw,36px)}
.card{display:grid;gap:14px;align-content:start;text-decoration:none;min-width:0}
.cover{position:relative;overflow:hidden;background:var(--sea);aspect-ratio:4/3}
.cover img,.cover svg{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.cover img{filter:saturate(.82) contrast(1.02)}
a:hover .cover img,a:hover .cover svg{transform:scale(1.04)}
.card h3{font-size:1.7rem;line-height:1.1}
.card p{color:var(--muted);font-size:.95rem}
.meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.78rem;color:var(--muted);letter-spacing:.03em}
.meta span+span::before{content:"·";margin-right:14px;opacity:.6}
.more-l{display:inline-flex;align-items:center;gap:10px;font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}
.card[hidden],.b-feature[hidden]{display:none}

/* ask band */
.b-ask .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:32px;align-items:end}
.b-ask h2{font-size:clamp(2.2rem,4.6vw,3.8rem)}
.b-ask .acts{display:flex;flex-wrap:wrap;gap:12px}

/* post */
.p-head{padding-block:clamp(40px,6vw,72px) clamp(28px,4vw,44px)}
.p-head h1{font-size:clamp(2.5rem,5.6vw,4.8rem);font-weight:400;line-height:1;letter-spacing:-.015em;max-width:20ch;margin:18px 0 22px}
.p-head .dek{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.65rem);line-height:1.35;color:var(--muted);max-width:48ch}
.p-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:30px;padding-top:20px;border-top:1px solid var(--rule);font-size:.86rem}
.p-meta .by{display:flex;align-items:center;gap:12px}
.p-meta .av{width:40px;height:40px;border-radius:50%;background:var(--sea);display:grid;place-items:center;flex:none}
.p-meta .av svg{width:24px;height:24px}
.p-meta b{display:block;font-weight:700}
.p-meta small{color:var(--muted)}
.p-cover{aspect-ratio:21/9;max-height:560px}
.p-cover.wide{aspect-ratio:21/9}
.p-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,6vw,96px);padding-block:clamp(40px,6vw,72px) clamp(56px,8vw,110px)}
.p-side{position:sticky;top:150px;align-self:start;display:grid;gap:26px}
.toc h4,.side-card h4{margin:0 0 12px;font-size:.66rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-left:1px solid var(--rule)}
.toc a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:2px solid transparent;text-decoration:none;font-size:.88rem;line-height:1.4;color:var(--muted)}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--ink);border-left-color:var(--signal);font-weight:600}
.side-card{background:var(--sea);color:var(--foam);padding:22px}
.side-card h4{color:var(--foam-dim)}
.side-card p{font-family:var(--serif);font-size:1.3rem;line-height:1.2;margin-bottom:16px}
.side-card .btn{width:100%;padding:13px 16px;font-size:.72rem}
.side-card .btn+.btn{margin-top:8px}
.p-body{max-width:70ch;min-width:0;font-size:1.06rem;line-height:1.8}
.p-body h2{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.1;margin:2.2em 0 .6em;scroll-margin-top:150px}
.p-body h2:first-of-type{margin-top:1.4em}
.p-body p,.p-body ul,.p-body ol,.p-body table,.p-body .callout{margin:0 0 1.15em}
.p-body ul{padding-left:1.2em}
.p-body li{margin-bottom:.4em}
.p-body a{text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--signal)}
.p-body .small{font-size:.86rem;color:var(--muted)}
.answer{position:relative;background:var(--foam);padding:26px 28px 24px;border-left:3px solid var(--signal)}
.answer .lbl{display:block;font-size:.64rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--signal);margin-bottom:8px}
.answer p{margin:0;font-size:1.12rem;line-height:1.7}
.callout{background:var(--sand-2);padding:18px 22px;border-left:2px solid var(--tide);font-size:.98rem}
.callout.alert{background:var(--signal-soft);border-left-color:var(--signal)}
ol.timeline{list-style:none;padding:0;counter-reset:t;display:grid;gap:0}
ol.timeline li{counter-increment:t;position:relative;padding:14px 0 14px 58px;border-top:1px solid var(--rule);margin:0}
ol.timeline li:last-child{border-bottom:1px solid var(--rule)}
ol.timeline li::before{position:absolute;left:0;top:12px;content:counter(t,decimal-leading-zero);font-family:var(--serif);font-size:1.5rem;line-height:1.2;color:var(--tide)}
.tbl{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.55}
.tbl th{text-align:left;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding:10px 12px 10px 0;border-bottom:1px solid var(--ink)}
.tbl td{padding:12px 12px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.tbl td:first-child{white-space:nowrap;font-weight:600;padding-right:20px}
.sev-list p{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--rule);margin:0}
.sev-list p:last-child{border-bottom:1px solid var(--rule)}
.sev-list .sev{font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:4px 0;text-align:center;border:1px solid}
.sev.u{color:#b5482f}.sev.t{color:#a0731b}.sev.s{color:var(--tide)}
.sev-list b{margin-right:6px}
ul.dot{list-style:none;padding:0}
ul.dot li{position:relative;padding-left:26px}
ul.dot li::before{content:"";position:absolute;left:2px;top:.62em;width:11px;height:11px;border-radius:50%}
ul.dot.g li::before{background:#4f9d6c;box-shadow:0 0 0 4px rgba(79,157,108,.18)}
ul.dot.a li::before{background:#d9a23a;box-shadow:0 0 0 4px rgba(217,162,58,.2)}
ul.dot.r li::before{background:#c8503a;box-shadow:0 0 0 4px rgba(200,80,58,.18)}
.p-faq{margin-top:3em;border-top:1px solid var(--ink)}
.p-faq h2{margin-top:1em!important}
.p-faq details{border-bottom:1px solid var(--rule)}
.p-faq summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;font-family:var(--serif);font-size:1.4rem;line-height:1.25;position:relative}
.p-faq summary::-webkit-details-marker{display:none}
.p-faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--sans);font-weight:300;font-size:1.4rem;color:var(--muted)}
.p-faq details[open] summary::after{content:"−"}
.p-faq details p{padding-bottom:18px;color:var(--muted)}
.review-note{display:flex;gap:14px;align-items:flex-start;margin-top:2.4em;padding:18px 20px;border:1px solid var(--rule);font-size:.88rem;color:var(--muted)}
.review-note b{color:var(--ink)}
.p-cta .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}
.p-cta h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.p-cta .acts{display:flex;flex-wrap:wrap;gap:12px}
.rel h2{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:clamp(28px,4vw,44px)}
nav.main a[aria-current=page]{color:var(--foam)}
nav.main a[aria-current=page]::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:var(--foam)}
@media (max-width:1000px){
  .b-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-grid{grid-template-columns:minmax(0,1fr)}
  .p-side{position:static;order:2}
  .toc{display:none}
}
@media (max-width:760px){
  .b-hero .inner,.b-feature,.b-ask .wrap,.p-cta .wrap{grid-template-columns:minmax(0,1fr)}
  .b-grid{grid-template-columns:minmax(0,1fr)}
  .p-cover{aspect-ratio:4/3}
  .tbl td:first-child{white-space:normal}
  .sev-list p{grid-template-columns:minmax(0,1fr);gap:6px}
  .sev-list .sev{justify-self:start;padding:4px 8px}
}
.fig{margin:0 0 1.4em}
.fig img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(.82) contrast(1.02)}
.fig figcaption{font-size:.8rem;color:var(--muted);padding-top:8px;letter-spacing:.03em}
