/* ═══════════════════════════════════════════════════════════════
   Notamize tools - shared stylesheet
   Tokens inherited from ../index.html. Do not invent new values.
   Accent tints are derived with color-mix() from existing tokens.
   ═══════════════════════════════════════════════════════════════ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --bg:#F4F7FA;--dark:#1B2D3E;
  --primary:#2B5A7C;--primary-lt:#3A7BA8;
  --cyan:#00C9E8;--magenta:#E040A0;--violet:#7C4DFF;
  --sand:#D0D9E2;--beige:#EBF0F4;--muted:#5C6F7E;
  --shadow:rgba(27,45,62,0.08);

  /* derived, not invented */
  --cut:var(--magenta);
  --cut-ink:color-mix(in srgb, var(--magenta) 68%, var(--dark));
  --cut-soft:color-mix(in srgb, var(--magenta) 9%, #fff);
  --rise:var(--primary);
  --rise-ink:var(--primary);
  --rise-soft:color-mix(in srgb, var(--primary) 9%, #fff);
  --hl:color-mix(in srgb, var(--cyan) 15%, #fff);

  color-scheme:light
}

html{scroll-behavior:smooth}
body{
  font-family:'Jost',sans-serif;background:var(--bg);color:var(--dark);
  overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased
}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif}
img{max-width:100%;height:auto}

/* ─── NAV (matches ../index.html) ─── */
nav{
  display:flex;justify-content:space-between;align-items:center;
  padding:1rem 3rem;position:fixed;top:0;width:100%;z-index:100;
  background:rgba(244,247,250,0.92);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--sand);transition:box-shadow .3s
}
.nav-logo-img{height:110px;width:auto;display:block}
.nav-pills{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.lang-switcher{display:flex;gap:.2rem;margin-right:.5rem}
.lang-pill{
  padding:.36rem .68rem;text-decoration:none;color:var(--muted);
  font-size:.75rem;font-weight:500;border-radius:50px;
  border:1px solid var(--sand);transition:all .3s
}
.lang-pill:hover{color:var(--dark);border-color:var(--primary)}
.lang-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.nav-pill{
  padding:.48rem 1.1rem;text-decoration:none;color:var(--muted);
  font-size:.82rem;font-weight:400;border-radius:50px;transition:all .3s
}
.nav-pill:hover{color:var(--dark);background:var(--beige)}
.nav-cta{
  background:var(--primary);color:#fff;padding:.55rem 1.5rem;
  border-radius:50px;text-decoration:none;font-size:.82rem;font-weight:500;
  transition:all .3s;box-shadow:0 2px 12px rgba(43,90,124,.22);margin-left:.6rem
}
.nav-cta:hover{background:var(--primary-lt);box-shadow:0 4px 20px rgba(43,90,124,.33);transform:translateY(-1px)}

/* ─── SHELL ─── */
.tool{max-width:68rem;margin:0 auto;padding:11rem 1.5rem 4rem;display:grid;gap:2.4rem}

.crumbs{
  position:static;display:flex;justify-content:flex-start;gap:.45rem;
  align-items:center;flex-wrap:wrap;width:auto;
  padding:0;background:none;border:none;backdrop-filter:none;
  font-size:.78rem;color:var(--muted);margin-bottom:-1.2rem
}
.crumbs a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}
.crumbs a:hover{color:var(--primary);border-bottom-color:var(--primary)}
.crumbs span[aria-current]{color:var(--dark)}

.tag{
  display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--primary);background:var(--beige);
  padding:.35rem .8rem;border-radius:50px;border:1px solid var(--sand);
  justify-self:start
}

.tool-head{display:grid;gap:1rem}
.tool-head h1{
  font-size:clamp(2.1rem,5.5vw,3.4rem);line-height:1.12;font-weight:600;
  letter-spacing:-.01em;margin:.3rem 0 0
}
.tool-head h1 .cut{color:var(--cut-ink)}
.tool-head h1 .rise{color:var(--rise-ink)}
.standfirst{
  font-size:clamp(1.05rem,2.2vw,1.2rem);color:var(--muted);
  font-weight:300;max-width:62ch;line-height:1.6
}

/* ─── CONTROLS ─── */
.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(14.5rem,1fr));gap:1rem}
.ctl{
  background:#fff;border:1px solid var(--sand);border-radius:16px;
  padding:1.4rem 1.5rem;display:grid;gap:.6rem;align-content:start;
  box-shadow:0 2px 10px var(--shadow)
}
.ctl label{
  font-size:.68rem;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted)
}
.ctl-row{display:flex;align-items:baseline;gap:.5rem}
.ctl-row output{
  font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:600;
  color:var(--dark);font-variant-numeric:tabular-nums;line-height:1;min-width:2.6ch
}
.ctl-row .unit{color:var(--muted);font-size:.95rem}
.ctl .hint{font-size:.82rem;color:var(--muted);line-height:1.5}
input[type=range]{width:100%;accent-color:var(--primary);height:1.7rem;cursor:pointer}
.money{display:flex;align-items:center;gap:.35rem}
.money .sym{
  font-family:'Cormorant Garamond',serif;font-size:2rem;
  font-weight:600;color:var(--muted);line-height:1
}
.money input{
  font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;
  color:var(--dark);width:100%;min-width:0;background:transparent;
  border:none;border-bottom:2px solid var(--sand);padding:0 0 .15rem;
  font-variant-numeric:tabular-nums;line-height:1.1
}
.money input:focus{outline:none;border-bottom-color:var(--primary)}
.money input::placeholder{color:var(--sand);font-weight:400}
.ctl label .opt{
  font-size:.62rem;font-weight:500;letter-spacing:.06em;color:var(--muted);
  background:var(--beige);border:1px solid var(--sand);border-radius:50px;
  padding:.1rem .45rem;margin-left:.4rem;text-transform:uppercase
}
.cur-switcher,.pill-row{display:flex;gap:.25rem;margin-top:.1rem;flex-wrap:wrap}
.cur-pill{
  padding:.3rem .7rem;font:inherit;font-size:.75rem;font-weight:500;
  color:var(--muted);background:none;border:1px solid var(--sand);
  border-radius:50px;cursor:pointer;transition:all .3s
}
.cur-pill:hover{color:var(--dark);border-color:var(--primary)}
.cur-pill[aria-pressed=true]{background:var(--primary);color:#fff;border-color:var(--primary)}
input:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}

/* ─── THE TWO SIDES ─── */
.sides{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:1.4rem}
.side{
  background:#fff;border:1px solid var(--sand);border-radius:16px;
  padding:1.8rem 1.9rem;display:grid;gap:.9rem;align-content:start;
  box-shadow:0 4px 20px var(--shadow)
}
.side.cut{border-top:5px solid var(--cut)}
.side.rise{border-top:5px solid var(--rise)}
.side-tag{font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.cut .side-tag{color:var(--cut-ink)}
.rise .side-tag{color:var(--rise-ink)}
.side h2{font-size:1.4rem;font-weight:600;line-height:1.25;margin:0}
.big{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3rem,8vw,4.2rem);font-weight:600;line-height:1;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em
}
.cut .big{color:var(--cut-ink)}
.rise .big{color:var(--rise-ink)}
.big-caption{font-size:1.02rem;color:var(--dark);line-height:1.5}
.ledger{display:grid;border-top:1px solid var(--sand);margin-top:.3rem}
.ledger div{
  display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;
  border-bottom:1px solid var(--sand);font-size:.88rem
}
.ledger span:first-child{color:var(--muted)}
.ledger b{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}
.note{font-size:.88rem;color:var(--muted);line-height:1.55}
.side.cut .note.warn{
  background:var(--cut-soft);border-radius:10px;padding:.7rem .9rem;
  color:var(--dark);font-weight:500
}

/* ─── TABLES ─── */
.tbl{display:grid;gap:.7rem}
.tbl h2{font-size:1.5rem;font-weight:600}
.tbl .lede{color:var(--muted);font-size:.92rem;max-width:70ch}
.table-wrap{overflow-x:auto;border-radius:12px;box-shadow:0 4px 20px var(--shadow);background:#fff}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:.88rem}
th,td{padding:.6rem .7rem;text-align:center;white-space:nowrap}
thead th{
  font-size:.7rem;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;color:#fff
}
.t-cut thead th{background:var(--cut-ink)}
.t-rise thead th{background:var(--rise-ink)}
tbody th{text-align:left;font-weight:600;color:var(--dark);background:var(--beige)}
tbody td,tbody th{border-top:1px solid var(--sand)}
tr.you th,tr.you td{background:var(--hl);font-weight:600}
td.col,thead th.col{box-shadow:inset 2px 0 0 var(--primary),inset -2px 0 0 var(--primary)}
td.hit{outline:2px solid var(--primary);outline-offset:-2px;font-weight:700}
td.na{color:var(--muted);font-style:italic;font-size:.78rem;white-space:normal}
.youpill{
  display:inline-block;margin-left:.4rem;font-size:.6rem;letter-spacing:.08em;
  text-transform:uppercase;background:var(--primary);color:#fff;
  padding:.1rem .45rem;border-radius:50px;vertical-align:.1rem;font-weight:600
}

/* ─── METHOD + FAQ ─── */
.method{
  background:var(--beige);border:1px solid var(--sand);border-radius:16px;
  padding:1.6rem 1.8rem;display:grid;gap:.7rem
}
.method h2{font-size:1.3rem;font-weight:600}
.method p{font-size:.92rem;color:var(--muted);max-width:76ch}
.method i{font-style:italic;color:var(--dark)}

.faq{display:grid;gap:.6rem}
.faq h2{font-size:1.5rem;font-weight:600;margin-bottom:.3rem}
.faq details{
  background:#fff;border:1px solid var(--sand);border-radius:12px;
  padding:.9rem 1.2rem
}
.faq summary{
  cursor:pointer;font-weight:500;font-size:1rem;list-style:none;
  display:flex;justify-content:space-between;gap:1rem;align-items:center
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--primary);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:'–'}
.faq details p{margin-top:.7rem;font-size:.92rem;color:var(--muted);line-height:1.6}

/* ─── CTA ─── */
.cta-card{
  margin-top:1rem;background:var(--dark);color:#fff;
  border-radius:18px;padding:2.4rem 2.2rem;text-align:center;
  box-shadow:0 10px 40px rgba(27,45,62,.18)
}
.cta-card h3{font-size:1.75rem;font-weight:600;margin-bottom:.7rem;color:#fff}
.cta-card p{color:rgba(255,255,255,.75);font-size:1rem;margin-bottom:1.6rem}
.cta-btn{
  display:inline-block;background:var(--cyan);color:var(--dark);
  padding:.8rem 2rem;border-radius:50px;text-decoration:none;
  font-weight:600;font-size:.92rem;transition:all .3s
}
.cta-btn:hover{background:#fff;transform:translateY(-2px)}

.credit{font-size:.8rem;color:var(--muted);line-height:1.6;max-width:76ch}
.credit a{color:var(--primary);text-decoration:none;border-bottom:1px solid var(--sand)}
.credit a:hover{border-bottom-color:var(--primary)}

/* ─── FOOTER (matches ../index.html) ─── */
footer{background:var(--dark);color:#fff;padding:3rem 0 2rem;margin-top:3rem}
.footer-inner{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.footer-top{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:1.5rem;padding-bottom:2rem;
  border-bottom:1px solid rgba(255,255,255,.1)
}
.footer-logo-img{height:80px;width:auto;filter:brightness(0) invert(1);opacity:.9}
.footer-links{display:flex;gap:1.6rem;flex-wrap:wrap}
.footer-links a{color:rgba(255,255,255,.7);text-decoration:none;font-size:.88rem;transition:color .3s}
.footer-links a:hover{color:var(--cyan)}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:1.2rem;padding-top:1.5rem
}
.footer-copy{color:rgba(255,255,255,.5);font-size:.82rem}
.footer-partners{display:flex;align-items:center;gap:.9rem}
.footer-partners-label{color:rgba(255,255,255,.5);font-size:.78rem}
.footer-partner-logo{height:34px;width:auto;border-radius:6px;opacity:.85;transition:opacity .3s}
.footer-partner-logo:hover{opacity:1}

/* ─── RESPONSIVE ─── */
@media(max-width:820px){
  nav{padding:.7rem 1.1rem;gap:.5rem}
  .nav-logo-img{height:62px}
  .tool{padding:7.5rem 1rem 3rem;gap:2rem}
  .side{padding:1.5rem 1.3rem}
  .method{padding:1.3rem 1.3rem}
  .cta-card{padding:2rem 1.4rem}
  .footer-top,.footer-bottom{flex-direction:column;text-align:center}
}

/* ─── PRINT ─── */
@media print{
  nav,.cta-card,footer,.crumbs,.faq{display:none}
  body{background:#fff}
  .tool{padding:0;max-width:none;gap:1.5rem}
  .side,.ctl,.table-wrap{box-shadow:none;break-inside:avoid}
  .table-wrap{overflow:visible}
}

/* ─── MOBILE NAV (hamburger) ─── */
.nav-links{display:flex;gap:.4rem;align-items:center}
.nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:0;margin-left:.6rem;flex:0 0 auto;
  background:transparent;border:1px solid var(--sand);border-radius:50px;
  cursor:pointer;transition:border-color .3s
}
.nav-burger:hover{border-color:var(--primary)}
.nav-burger span{display:block;width:18px;height:2px;margin:0 auto;background:var(--dark);border-radius:2px;transition:transform .3s,opacity .2s}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){
  nav{padding:.7rem 1.1rem}
  .nav-logo-img{height:62px}
  .nav-pills{flex-wrap:nowrap}
  .nav-burger{display:flex}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;
    display:none;flex-direction:column;align-items:stretch;gap:0;
    background:var(--bg);
    border-bottom:1px solid var(--sand);padding:.4rem 1.1rem 1rem;
    box-shadow:0 12px 28px var(--shadow);
    max-height:calc(100vh - 90px);overflow-y:auto
  }
  .nav-links.open{display:flex}
  .nav-links .nav-pill{display:block;padding:.9rem .5rem;font-size:1rem;border-radius:10px;border-bottom:1px solid var(--sand)}
  .nav-links .nav-pill:last-child{border-bottom:none}
}
@media(max-width:420px){
  .nav-cta{padding:.5rem 1rem;font-size:.76rem;margin-left:.35rem}
  .lang-switcher{margin-right:.25rem}
  .lang-pill{padding:.3rem .5rem;font-size:.7rem}
}
