
:root{
  --bg:#fbf6f3;
  --bg-alt:#fffdfb;
  --surface:#ffffff;
  --surface-2:#f7efea;
  --surface-3:#f2e5dd;
  --text:#2f2a28;
  --text-soft:#665a55;
  --heading:#342521;
  --accent:#b77963;
  --accent-deep:#925840;
  --accent-soft:#ecd6cb;
  --accent-line:#dec2b4;
  --ring:rgba(183,121,99,.18);
  --shadow:0 14px 40px rgba(93, 68, 56, 0.10);
  --shadow-soft:0 10px 24px rgba(93, 68, 56, 0.08);
  --radius:24px;
  --radius-sm:16px;
  --navy:#31455c;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  background:
    radial-gradient(circle at top right, rgba(183,121,99,.10), transparent 28%),
    radial-gradient(circle at left 10% bottom 20%, rgba(236,214,203,.45), transparent 25%),
    var(--bg);
  color:var(--text);
  line-height:1.7;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1180px, calc(100% - 2rem)); margin:0 auto}
.topbar{
  background:linear-gradient(90deg, rgba(183,121,99,.13), rgba(236,214,203,.55));
  color:var(--heading);
  font-size:.93rem;
  border-bottom:1px solid var(--accent-line);
}
.topbar .container{padding:.78rem 0}
.site-header{
  position:sticky; top:0; z-index:100;
  backdrop-filter: blur(16px);
  background:rgba(251,246,243,.82);
  border-bottom:1px solid transparent;
  transition:.35s ease;
}
.site-header.scrolled{
  background:rgba(255,253,251,.94);
  border-color:rgba(183,121,99,.16);
  box-shadow:0 8px 24px rgba(80,58,48,.06);
}
.header-row{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  min-height:84px;
}
.brand{
  display:flex; align-items:center; gap:.9rem; min-width:0;
}
.brand-mark{
  width:48px; height:48px; border-radius:18px;
  background:
    radial-gradient(circle at 30% 30%, #f5e4dc 0, #d9b3a2 45%, #b77963 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 10px 22px rgba(183,121,99,.18);
  position:relative; flex:none;
}
.brand-mark:before{
  content:"Z";
  position:absolute; inset:0;
  display:grid; place-items:center;
  font-family:'Cormorant Garamond', serif;
  color:white; font-size:1.55rem; font-weight:700;
}
.brand-name{
  display:block; font-family:'Cormorant Garamond', serif; font-size:1.7rem; font-weight:700; color:var(--heading); letter-spacing:.01em;
}
.brand-tag{
  display:block; font-size:.84rem; color:var(--text-soft); margin-top:.1rem;
}
.main-nav{display:flex; align-items:center; gap:1rem}
.main-nav a{
  font-size:.96rem; color:var(--text); padding:.55rem .2rem; position:relative;
}
.main-nav a:after{
  content:""; position:absolute; left:0; right:0; bottom:.2rem; height:2px; background:linear-gradient(90deg,var(--accent), transparent);
  transform:scaleX(0); transform-origin:left; transition:.28s ease;
}
.main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}
.search-toggle,.mobile-toggle{
  border:1px solid var(--accent-line);
  background:rgba(255,255,255,.7);
  border-radius:999px;
  padding:.72rem 1rem;
  color:var(--heading);
  cursor:pointer;
  transition:.28s ease;
  font:inherit;
}
.search-toggle:hover,.mobile-toggle:hover,.btn:hover{transform:translateY(-2px)}
.mobile-toggle{display:none}
.mobile-panel{display:none; padding:0 0 1rem}
.mobile-panel nav{display:flex; flex-direction:column; gap:.3rem}
.mobile-panel a,.mobile-panel button{
  padding:.8rem 1rem; border-radius:14px; background:var(--surface); border:1px solid var(--accent-line); font:inherit; text-align:left; color:var(--text);
}
.search-dialog{
  position:fixed; inset:0; background:rgba(34,26,23,.35); display:none; align-items:flex-start; justify-content:center; padding:7rem 1rem 1rem; z-index:140;
}
.search-dialog.open{display:flex}
.search-shell{
  width:min(780px,100%); background:var(--surface); border:1px solid var(--accent-line); border-radius:28px; box-shadow:var(--shadow);
  padding:1rem;
}
.search-top{display:flex; gap:.8rem}
.search-top input{
  flex:1; border:1px solid var(--accent-line); border-radius:18px; padding:1rem 1.1rem; font:inherit; background:#fff;
}
.search-results{padding-top:.8rem; display:grid; gap:.7rem; max-height:55vh; overflow:auto}
.search-item{
  border:1px solid var(--accent-line); border-radius:18px; padding:1rem; background:var(--bg-alt);
}
.search-item strong{display:block; color:var(--heading)}
.label,.eyebrow,.kicker{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.42rem .8rem;
  border:1px solid rgba(183,121,99,.28);
  background:rgba(255,255,255,.66);
  border-radius:999px;
  color:var(--accent-deep);
  font-size:.86rem;
  font-weight:600;
}
.hero{
  position:relative; overflow:hidden;
  padding:5rem 0 3.5rem;
}
.hero:before{
  content:""; position:absolute; right:-8rem; top:-8rem; width:26rem; height:26rem; border-radius:50%;
  background:radial-gradient(circle, rgba(183,121,99,.12), transparent 60%);
}
.hero-grid{
  display:grid; grid-template-columns:1.15fr .85fr; gap:2rem; align-items:start;
}
.hero-copy{
  padding:1rem 0;
}
.hero-copy h1{
  font-family:'Cormorant Garamond', serif;
  color:var(--heading);
  font-size:clamp(3rem, 6vw, 5.2rem);
  line-height:.96;
  letter-spacing:-.02em;
  margin:.9rem 0 1rem;
}
.hero-copy p{font-size:1.08rem; color:var(--text-soft); max-width:64ch}
.cta-row{display:flex; flex-wrap:wrap; gap:.9rem; margin:1.6rem 0 0}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:1rem 1.22rem; border-radius:18px; font-weight:600; transition:.28s ease; border:1px solid var(--accent-line)
}
.btn-primary{background:linear-gradient(180deg, #bf856e, #a5674d); color:#fff; box-shadow:0 18px 30px rgba(183,121,99,.22)}
.btn-secondary{background:rgba(255,255,255,.82); color:var(--heading)}
.hero-aside{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,239,234,.92));
  border:1px solid var(--accent-line);
  border-radius:32px;
  padding:1.25rem;
  box-shadow:var(--shadow);
  display:grid; gap:1rem;
}
.aside-panel{
  background:var(--bg-alt);
  border:1px solid rgba(183,121,99,.14);
  border-radius:24px; padding:1.15rem;
}
.aside-panel h3{margin:.1rem 0 .4rem; color:var(--heading); font-size:1.05rem}
.aside-panel p{margin:0; color:var(--text-soft)}
.score-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem;
}
.score-card{
  padding:1.05rem; border-radius:22px; background:var(--surface-2); border:1px solid var(--accent-line)
}
.score-card strong{
  display:block; font-size:1.9rem; color:var(--heading); font-family:'Cormorant Garamond', serif;
}
.score-card span{font-size:.9rem; color:var(--text-soft)}
.guidance-banner{
  padding:1.25rem 0 0;
}
.guidance-box{
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,239,234,.96));
  border:1px solid var(--accent-line);
  border-radius:28px;
  padding:1.25rem;
  box-shadow:var(--shadow-soft);
}
.guidance-box h2{
  margin:.25rem 0 .4rem; color:var(--heading); font-size:1.45rem; font-family:'Cormorant Garamond', serif;
}
.guidance-box p{margin:.4rem 0 0; color:var(--text-soft)}
.notice-points{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin-top:1rem
}
.notice-points .point{
  padding:.95rem 1rem; border-radius:18px; background:rgba(255,255,255,.8); border:1px solid rgba(183,121,99,.12);
  font-size:.95rem; color:var(--text)
}
.section{padding:4.4rem 0}
.section.alt{background:linear-gradient(180deg, rgba(255,255,255,.56), rgba(247,239,234,.5))}
.section.band{
  background:linear-gradient(180deg, #fff7f2, #f7ede7);
  border-top:1px solid rgba(183,121,99,.12);
  border-bottom:1px solid rgba(183,121,99,.12);
}
.section-head{
  display:grid; grid-template-columns:1fr .95fr; gap:1.5rem; align-items:end; margin-bottom:1.8rem
}
.section-head h2{
  margin:.55rem 0 0; font-size:clamp(2rem, 3.2vw, 3rem); line-height:1.02; color:var(--heading); font-family:'Cormorant Garamond', serif;
}
.section-head p{margin:0; color:var(--text-soft)}
.card-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem;
}
.card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(183,121,99,.15);
  border-radius:26px;
  padding:1.3rem;
  box-shadow:var(--shadow-soft);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.card:hover{transform:translateY(-8px); box-shadow:var(--shadow); border-color:rgba(183,121,99,.26)}
.card h3{
  margin:.75rem 0 .5rem; font-size:1.35rem; color:var(--heading); font-family:'Cormorant Garamond', serif;
}
.card p{margin:0 0 .8rem; color:var(--text-soft)}
.card .text-link{font-weight:600; color:var(--accent-deep)}
.card .eyebrow{
  background:rgba(242,229,221,.85)
}
.icon-badge{
  width:48px; height:48px; border-radius:16px; background:linear-gradient(180deg, #f2d5c7, #e6bfab); display:grid; place-items:center;
  color:#fff; font-weight:700;
}
.split{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem}
.panel{
  background:rgba(255,255,255,.88); border:1px solid var(--accent-line); border-radius:26px; padding:1.35rem; box-shadow:var(--shadow-soft)
}
.panel h3,.content-block h2,.subsection h2{
  margin:.15rem 0 .8rem; color:var(--heading); font-family:'Cormorant Garamond', serif; font-size:1.8rem
}
.bullets{margin:0; padding-left:1.2rem; color:var(--text-soft)}
.bullets li{margin:.45rem 0}
.process-grid,.topic-grid,.provider-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem}
.process-card,.topic-card,.provider-card{
  background:rgba(255,255,255,.9); border:1px solid var(--accent-line); border-radius:24px; padding:1.2rem; box-shadow:var(--shadow-soft); transition:.28s ease
}
.process-card:hover,.topic-card:hover,.provider-card:hover{transform:translateY(-6px)}
.step-num{
  width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:var(--surface-3); color:var(--accent-deep); font-weight:700; margin-bottom:.8rem
}
.provider-card h3,.topic-card h3,.process-card h3{margin:.2rem 0 .45rem; color:var(--heading); font-size:1.2rem; font-family:'Cormorant Garamond', serif;}
.provider-card p,.topic-card p,.process-card p{margin:0; color:var(--text-soft)}
.faq-list{display:grid; gap:1rem}
.faq-item{
  border:1px solid var(--accent-line); border-radius:22px; background:rgba(255,255,255,.9); overflow:hidden; box-shadow:var(--shadow-soft)
}
.faq-question{
  width:100%; background:none; border:0; padding:1.15rem 1.2rem; text-align:left; display:flex; justify-content:space-between; gap:1rem; font:inherit; cursor:pointer; color:var(--heading); font-weight:600
}
.faq-answer{
  max-height:0; overflow:hidden; transition:max-height .34s ease;
}
.faq-answer .inner{padding:0 1.2rem 1.2rem; color:var(--text-soft)}
.page-hero{
  padding:3.2rem 0 2rem;
}
.page-shell{
  display:grid; grid-template-columns:260px 1fr; gap:1.3rem;
}
.side-nav{
  position:sticky; top:108px; align-self:start; background:rgba(255,255,255,.85); border:1px solid var(--accent-line); border-radius:24px; padding:1rem; box-shadow:var(--shadow-soft)
}
.side-nav strong{display:block; color:var(--heading); margin:.2rem 0 .8rem}
.side-nav a{display:block; padding:.62rem .7rem; border-radius:12px; color:var(--text-soft)}
.side-nav a:hover{background:var(--surface-2); color:var(--heading)}
.content-wrap{display:grid; gap:1rem}
.content-block{
  background:rgba(255,255,255,.92); border:1px solid var(--accent-line); border-radius:28px; padding:1.5rem; box-shadow:var(--shadow-soft)
}
.content-block p{margin:.45rem 0; color:var(--text-soft)}
.content-block ul{margin:.6rem 0 0 1.15rem; color:var(--text-soft)}
.page-intro{
  max-width:75ch; color:var(--text-soft); margin-top:1rem
}
.inline-notice{
  margin-top:1rem; background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,239,234,.92)); border:1px solid var(--accent-line); border-radius:22px; padding:1rem 1.1rem;
}
.inline-notice strong{display:block; color:var(--heading); margin-bottom:.35rem}
.comparison-table{
  width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid var(--accent-line); border-radius:22px
}
.comparison-table th,.comparison-table td{padding:.95rem 1rem; border-bottom:1px solid var(--accent-line); text-align:left}
.comparison-table th{background:var(--surface-2); color:var(--heading)}
.comparison-table tr:last-child td{border-bottom:0}
.contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:1.2rem}
.contact-card, .form-card{
  background:rgba(255,255,255,.92); border:1px solid var(--accent-line); border-radius:28px; padding:1.4rem; box-shadow:var(--shadow-soft)
}
.form-grid{display:grid; gap:.9rem}
.form-grid label{display:grid; gap:.35rem; color:var(--heading); font-weight:600}
.form-grid input,.form-grid textarea{
  border:1px solid var(--accent-line); border-radius:16px; padding:.9rem 1rem; font:inherit; background:#fff
}
.form-grid textarea{min-height:160px; resize:vertical}
.footer{
  padding:2.7rem 0; border-top:1px solid rgba(183,121,99,.15);
  background:linear-gradient(180deg, rgba(255,255,255,.4), rgba(247,239,234,.75));
}
.footer-grid{display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:1.2rem}
.footer h3,.footer h4{margin:0 0 .7rem; color:var(--heading); font-family:'Cormorant Garamond', serif}
.footer p,.footer li,.footer a{color:var(--text-soft)}
.footer ul{margin:0; padding:0; list-style:none; display:grid; gap:.45rem}
.footer-legal{
  margin-top:1.2rem; padding-top:1rem; border-top:1px solid rgba(183,121,99,.14); display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; color:var(--text-soft); font-size:.95rem
}
.crumbs{
  display:flex; gap:.5rem; flex-wrap:wrap; color:var(--text-soft); font-size:.94rem
}
.crumbs span{opacity:.6}
[data-reveal]{opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease}
[data-reveal].revealed{opacity:1; transform:none}
@media (max-width: 1100px){
  .main-nav{display:none}
  .mobile-toggle{display:inline-flex}
  .mobile-panel.open{display:block}
  .hero-grid,.section-head,.page-shell,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .notice-points,.topic-grid,.provider-grid,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .side-nav{position:static}
}
@media (max-width: 720px){
  .hero{padding-top:3rem}
  .hero-copy h1{font-size:2.65rem}
  .notice-points,.topic-grid,.provider-grid,.process-grid,.score-grid,.card-grid,.split{grid-template-columns:1fr}
  .section{padding:3rem 0}
  .brand-tag{display:none}
}


/* WordPress theme enhancements */
.main-nav .current-menu-item > a:after,
.main-nav .current_page_item > a:after,
.main-nav .current-menu-ancestor > a:after,
.main-nav .current-page-ancestor > a:after{transform:scaleX(1)}
.mobile-panel .current-menu-item > a,
.mobile-panel .current_page_item > a{background:var(--surface-2); border-color:var(--accent-line)}
.footer-menu{list-style:none; padding:0; margin:0; display:grid; gap:.5rem}
.footer-menu li{margin:0}
.wp-caption,.aligncenter{max-width:100%}
.zni-form-status{margin:0 0 1rem; padding:1rem 1.1rem; border-radius:18px; border:1px solid var(--accent-line); background:var(--surface)}
.zni-form-status.success{background:#eff9f6; border-color:#b8e4d8}
.zni-form-status.error{background:#fff2f2; border-color:#efc5c5}
.form-card input,.form-card textarea{
  width:100%; border:1px solid var(--accent-line); border-radius:16px; padding:.95rem 1rem; background:#fff; font:inherit; color:var(--text); margin-top:.35rem;
}
.form-card textarea{min-height:150px; resize:vertical}
.form-card label{display:grid; gap:.35rem; color:var(--heading); font-weight:600}
.screen-reader-text{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.search-no-results .content-wrap, .search-results-page .content-wrap{display:block}
.search-list{display:grid; gap:1rem}
.search-list article{padding:1.2rem; border:1px solid var(--accent-line); border-radius:24px; background:var(--bg-alt); box-shadow:var(--shadow-soft)}
.not-found{padding:4rem 0 5rem}
.not-found .content-block{max-width:760px; margin:0 auto}

.main-nav li{list-style:none; display:inline-flex; align-items:center}
.mobile-panel li{list-style:none; width:100%}
.mobile-panel li a{display:block}
.footer-menu li{list-style:none}
