/* MathOpus Notice/Announcement template — shared stylesheet.
   Markup convention: wrap content in <div class="mo-anniv"> ... </div>
   See .cursor/skills/wp-notice-post/SKILL.md for the full markup template. */
.mo-anniv{--navy-900:#081327;--navy-800:#0c1c39;--navy-700:#122a52;--navy-600:#1a3868;--gold-500:#c9a15a;--gold-400:#dfc08a;--gold-300:#ecd9b0;--ivory:#f8f4ea;--ink:#1c2333;--line:rgba(201,161,90,.35);
position:relative;max-width:1080px;margin:0 auto;padding:0;color:var(--ink);font-family:'Noto Sans KR',-apple-system,sans-serif;line-height:1.85;font-size:16px;box-sizing:border-box;overflow:hidden;}
.mo-anniv *{box-sizing:border-box;}
.mo-anniv .mo-serif{font-family:'Noto Serif KR',serif;}
.mo-anniv .mo-display{font-family:'Playfair Display',serif;}

/* Hero */
.mo-hero{position:relative;background:radial-gradient(ellipse 120% 100% at 50% -10%,var(--navy-600),var(--navy-900) 70%);padding:76px 40px 64px;text-align:center;overflow:hidden;}
.mo-hero::before,.mo-hero::after{content:"";position:absolute;border:1px solid var(--line);}
.mo-hero::before{width:120px;height:120px;top:24px;left:24px;border-right:none;border-bottom:none;}
.mo-hero::after{width:120px;height:120px;bottom:24px;right:24px;border-left:none;border-top:none;}
.mo-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--gold-400);font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;margin-bottom:22px;}
.mo-kicker .mo-dot{width:5px;height:5px;background:var(--gold-500);border-radius:50%;display:inline-block;}
.mo-hero h1{color:var(--ivory);font-size:clamp(24px,4vw,34px);font-weight:600;letter-spacing:-.01em;margin:0 0 22px;line-height:1.5;}
.mo-hero h1 .mo-accent{color:var(--gold-400);}
.mo-hero-rule{width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-500),transparent);margin:0 auto 22px;}
.mo-hero p.mo-sub{color:#c7d0e0;font-size:15.5px;max-width:560px;margin:0 auto;letter-spacing:.01em;}

/* Body wrapper */
.mo-body{background:var(--ivory);padding:0 40px;}
.mo-section{padding:60px 0;border-bottom:1px solid rgba(201,161,90,.22);}
.mo-section:last-of-type{border-bottom:none;}
.mo-eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold-500);font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-bottom:18px;}
.mo-eyebrow::after{content:"";flex:1;height:1px;background:var(--line);}
.mo-h2{font-size:clamp(20px,2.6vw,26px);font-weight:700;color:var(--navy-900);margin:0 0 20px;letter-spacing:-.01em;}
.mo-p{margin:0 0 16px;color:#3a4356;font-size:15.5px;}
.mo-p:last-child{margin-bottom:0;}
.mo-signature-line{color:var(--navy-800);font-weight:700;font-size:17px;margin-bottom:24px;}

/* Pull quote / highlight */
.mo-quote{position:relative;margin:26px 0;padding:22px 28px;background:linear-gradient(135deg,rgba(201,161,90,.09),rgba(201,161,90,.02));border-left:3px solid var(--gold-500);}
.mo-quote p{margin:0;font-family:'Noto Serif KR',serif;font-size:16.5px;color:var(--navy-900);font-weight:500;line-height:1.75;}
.mo-highlight{color:var(--navy-900);font-weight:700;border-bottom:2px solid var(--gold-400);}

/* Brand reveal */
.mo-brand{background:linear-gradient(180deg,var(--navy-900),var(--navy-800));padding:66px 40px;text-align:center;position:relative;}
.mo-brand-word{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(34px,6vw,54px);color:var(--ivory);letter-spacing:.01em;margin:0;}
.mo-brand-word .mo-op{color:var(--gold-400);}
.mo-brand-tagline{color:var(--gold-300);font-size:13px;letter-spacing:.22em;text-transform:uppercase;margin:10px 0 30px;font-weight:600;}
.mo-brand p{color:#cfd7e6;max-width:620px;margin:0 auto 14px;font-size:15.5px;}
.mo-brand p:last-child{margin-bottom:0;}
.mo-brand .mo-highlight{color:var(--gold-300);border-bottom-color:var(--gold-500);}

/* Plans */
.mo-plans-head{text-align:center;margin-bottom:40px;}
.mo-plans-head .mo-eyebrow{justify-content:center;}
.mo-plans-head .mo-eyebrow::after{display:none;}
.mo-plans-head .mo-h2{margin-bottom:8px;}
.mo-plans-head p{color:#5a6478;font-size:14.5px;}
.mo-plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.mo-plan-grid.mo-plan-grid-3{grid-template-columns:repeat(3,1fr);}
.mo-plan{background:#fff;border:1px solid #e7ddc8;border-radius:6px;padding:34px 30px;position:relative;transition:transform .25s ease,box-shadow .25s ease;}
.mo-plan:hover{transform:translateY(-4px);box-shadow:0 18px 40px -12px rgba(10,26,53,.18);}
.mo-plan-lab{background:linear-gradient(180deg,#0f2547,#0a1a35);border-color:var(--navy-700);}
.mo-plan-tag{display:inline-block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold-500);border:1px solid var(--gold-500);padding:4px 10px;border-radius:20px;margin-bottom:18px;}
.mo-plan-lab .mo-plan-tag{color:var(--gold-400);border-color:var(--gold-400);}
.mo-plan-name{font-family:'Noto Serif KR',serif;font-size:21px;font-weight:700;color:var(--navy-900);margin:0 0 6px;}
.mo-plan-lab .mo-plan-name{color:#fff;}
.mo-plan-price{font-family:'Playfair Display',serif;font-size:26px;color:var(--navy-800);font-weight:700;margin-bottom:20px;}
.mo-plan-price span{font-size:13px;font-family:'Noto Sans KR',sans-serif;font-weight:500;color:#8a8478;margin-left:4px;}
.mo-plan-lab .mo-plan-price{color:var(--gold-400);}
.mo-plan-lab .mo-plan-price span{color:#9fb0cc;}
.mo-plan-divider{width:32px;height:1px;background:var(--gold-500);margin-bottom:20px;}
.mo-plan-label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#a4915f;font-weight:700;margin-bottom:6px;}
.mo-plan-lab .mo-plan-label{color:var(--gold-400);}
.mo-plan-target{font-size:15px;color:var(--navy-900);font-weight:600;margin-bottom:20px;}
.mo-plan-lab .mo-plan-target{color:#e8ecf4;}
.mo-plan-desc{font-size:14px;color:#565f72;line-height:1.8;}
.mo-plan-lab .mo-plan-desc{color:#c3ccdd;}

/* Closing */
.mo-closing{text-align:center;}
.mo-closing .mo-eyebrow{justify-content:center;}
.mo-closing .mo-eyebrow::after{display:none;}
.mo-closing .mo-p{max-width:600px;margin:0 auto 16px;}
.mo-closing .mo-quote{max-width:560px;margin:26px auto 0;text-align:left;}

/* CTA */
.mo-cta{background:linear-gradient(135deg,var(--navy-900),var(--navy-700));border-radius:8px;padding:48px 40px;text-align:center;margin:0;}
.mo-cta p{color:#d3dae8;font-size:15px;max-width:520px;margin:0 auto 26px;}
.mo-cta-btn{display:inline-block;font-family:'Noto Serif KR',serif;font-weight:700;font-size:15.5px;color:var(--navy-900);background:linear-gradient(135deg,var(--gold-400),var(--gold-500));padding:14px 38px;border-radius:2px;letter-spacing:.04em;cursor:default;user-select:none;box-shadow:0 10px 26px -8px rgba(201,161,90,.5);}
.mo-cta-btn.mo-cta-btn-active{cursor:pointer;}
.mo-cta-note{margin-top:14px !important;font-size:12.5px !important;color:#8a99bb !important;}

/* More-links (cross-links to other categories/posts) */
.mo-more{background:var(--ivory);padding:0 40px 8px;text-align:center;}
.mo-more-label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#8a8478;font-weight:700;margin-bottom:16px;}
.mo-more-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.mo-more-link{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border:1px solid var(--line);border-radius:30px;color:var(--navy-800);font-size:13.5px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;}
.mo-more-link:hover{background:var(--navy-900);color:var(--gold-300);border-color:var(--navy-900);}

/* Signature */
.mo-sign{text-align:center;padding:52px 40px 60px;background:var(--ivory);}
.mo-sign-rule{width:40px;height:1px;background:var(--gold-500);margin:0 auto 22px;}
.mo-sign p{margin:0 0 6px;color:#3a4356;font-size:15px;}
.mo-sign .mo-sign-name{font-family:'Noto Serif KR',serif;font-weight:700;color:var(--navy-900);font-size:16px;margin-top:4px;}
.mo-badge{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding:8px 20px;border:1px solid var(--line);border-radius:30px;color:var(--gold-500);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;}
.mo-badge .mo-dot{width:4px;height:4px;background:var(--gold-500);border-radius:50%;}

@media (max-width:680px){
.mo-hero{padding:56px 24px 46px;}
.mo-body{padding:0 22px;}
.mo-section{padding:44px 0;}
.mo-brand{padding:48px 24px;}
.mo-plan-grid,.mo-plan-grid.mo-plan-grid-3{grid-template-columns:1fr;}
.mo-cta{padding:38px 22px;}
.mo-sign{padding:44px 22px 48px;}
}
