.portal-nav { position:sticky; top:0; z-index:40; display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:90px; padding:14px max(24px,calc((100vw - 1200px)/2)); background:#fffefaf5; border-bottom:1px solid #dddcd0; backdrop-filter:blur(14px); }
.portal-brand { display:flex; gap:12px; align-items:center; color:#263f32; text-decoration:none; }
.portal-mark { display:grid; place-items:center; width:46px; height:46px; border-radius:12px; background:#315644; color:#fffefa; font-size:31px; font-weight:850; }
.portal-brand strong { display:block; font-size:24px; line-height:1.3; letter-spacing:-.04em; }
.portal-brand strong small { font-size:20px; font-weight:650; }
.portal-brand > span > span { display:block; font-size:15px; line-height:1.5; color:#63705d; margin-top:4px; }
#portalMenu { display:flex; align-items:center; gap:26px; }
#portalMenu a { color:#45594b; font-size:18px; font-weight:650; }
#portalMenu .portal-nav-cta { padding:12px 18px; border-radius:10px; background:#315644; color:#fffefa; }
#portalMenuButton { display:none; color:#315644; font-size:27px; background:#f4f1e8; border-radius:10px; width:48px; }
.portal-hero { min-height:610px; padding:90px 24px; display:grid; align-items:center; background:linear-gradient(90deg,#fbf9f4ed,#fbf9f4ac),url('../images/hero-layers/hero-background.jpg') center/cover; }
.portal-hero-copy { width:min(1152px,100%); margin:auto; }
.portal-hero h1, .category-hero h1 { font-size:clamp(38px,5vw,64px); font-weight:850; color:#263f32; line-height:1.25; letter-spacing:-.045em; }
.portal-hero h1 em { color:#80643c; font-style:normal; }
.portal-hero p, .category-hero p { margin:24px 0 30px; font-size:22px; color:#45594b; line-height:1.8; }
.portal-primary { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:58px; padding:15px 26px; border-radius:12px; background:#315644; color:#fffefa; font-size:20px; font-weight:750; }
.portal-choice-section { padding:80px 24px; background:#f4f2eb !important; }
.portal-choices { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.portal-choice { display:block; position:relative; padding:38px; border:1px solid #d3d9ca; border-radius:22px; color:#315644; background:#fffefa; transition:transform .2s,border-color .2s; }
.portal-choice:hover { transform:translateY(-5px); border-color:#8c9c7e; }
.choice-tag { font-size:18px; font-weight:700; color:#80643c; }
.choice-symbol { position:absolute; right:32px; top:25px; font-size:40px; color:#9fac92; }
.portal-choice h3 { margin-top:34px; font-size:34px; font-weight:800; line-height:1.4; }
.portal-choice p { margin-top:22px; font-size:20px; line-height:1.8; color:#63705d; }
.choice-fees { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:28px; padding-top:24px; border-top:1px solid #d9ddcf; font-size:18px; }
.choice-fees strong { margin-left:6px; }
.choice-link { display:block; margin-top:28px; font-size:21px; }
.portal-choice--profit { background:#eaf0e3; }
.portal-brief { padding:80px 24px; }
.portal-brief .value-wrap { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.portal-brief-photo { border-radius:22px; overflow:hidden; }
.portal-brief-photo img { width:100%; height:350px; object-fit:cover; }
.portal-brief h2 { font-size:35px; font-weight:800; line-height:1.4; }
.portal-brief p { margin-top:20px; font-size:20px; color:#63705d; }
.brief-process { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:28px; color:#315644; font-size:19px; }
.brief-process span { padding:8px 12px; border-radius:8px; background:#e9edde; }
.brief-process b { font-weight:400; color:#a98242; }
.category-hero { padding:65px 24px 75px; background:#eeeee4; }
.category-back { display:inline-block; margin-bottom:35px; color:#63705d; font-size:18px; }
.category-hero h1 { font-size:clamp(34px,4vw,50px); }
.category-hero--profit { background:linear-gradient(90deg,#eef1e9ee,#eef1e9bf),url('../images/hero-layers/Farmland_and_forest_boundary_20261006171153.jpg') center/cover; }
.purchase-system { padding:25px; background:#fffefa; border:1px solid #dddcd0; border-radius:18px; }
.purchase-system summary { cursor:pointer; list-style:none; }
.purchase-system summary > span { font-size:30px; }
.purchase-system small { display:block; font-size:18px; margin-top:12px; color:#80643c; }
.purchase-system h3 { font-size:24px; font-weight:800; margin-top:6px; }
.purchase-system p { margin-top:15px; font-size:19px; }
.purchase-system a { display:inline-block; margin-top:15px; font-size:18px; text-decoration:underline; }
.usage-detail summary { margin-top:12px; color:#315644; cursor:pointer; font-size:18px; }
.usage-detail p { margin-top:8px; font-size:18px; color:#63705d; }
.portal-footer { padding:55px 24px; background:#263f31; color:#e9ecdf; }
.portal-footer > div { max-width:1152px; margin:auto; }
.portal-footer strong { font-size:24px; }
.portal-footer p { margin:15px 0 20px; font-size:19px; }
.portal-footer a { display:inline-block; margin-right:25px; margin-bottom:25px; color:#e4c78e; font-size:19px; }
.portal-footer small { display:block; max-width:800px; font-size:16px; line-height:1.8; margin-top:6px; color:#c6d2c4; }
@media(max-width:850px){
  .portal-nav { padding:12px 20px; flex-wrap:wrap; gap:12px; }
  #portalMenuButton { display:block; }
  #portalMenu { display:none; width:100%; flex-direction:column; align-items:stretch; gap:0; }
  #portalMenu.is-open { display:flex; }
  #portalMenu a { padding:13px 10px; }
  .portal-choices,.portal-brief .value-wrap { grid-template-columns:1fr; }
  .portal-hero { min-height:560px; }
  .portal-choice { padding:30px; }
}
@media(max-width:480px){
  .portal-nav { min-height:82px; padding:12px 16px; }
  .portal-brand strong { font-size:21px; }
  .portal-brand strong small { font-size:17px; }
  .portal-brand > span > span { font-size:13px; }
  .portal-mark { width:40px; height:40px; }
  .portal-hero { padding:60px 20px; min-height:540px; }
  .portal-hero p,.category-hero p { font-size:20px; }
  .portal-choice-section,.portal-brief { padding:60px 20px; }
  .portal-choice { padding:27px 23px; }
  .portal-choice h3 { font-size:29px; }
  .portal-choice p { font-size:19px; }
  .choice-symbol { right:20px; }
  .choice-fees { flex-direction:column; }
  .portal-brief-photo img { height:260px; }
  .category-hero { padding:40px 20px 55px; }
}
/* Keep the three category links centered independently of the logo and CTA. */
.portal-menu-links{display:flex;align-items:center;gap:26px}
@media(min-width:1051px){.portal-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.portal-brand{grid-column:1;grid-row:1;justify-self:start;white-space:nowrap}#portalMenu{display:contents}.portal-menu-links{grid-column:2;grid-row:1;justify-self:center}#portalMenu .portal-nav-cta{grid-column:3;grid-row:1;justify-self:end;white-space:nowrap}}
@media(max-width:1050px){.portal-nav{display:flex;padding:12px 20px;flex-wrap:wrap;gap:12px}#portalMenuButton{display:block}#portalMenu{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}#portalMenu.is-open{display:flex}.portal-menu-links{flex-direction:column;align-items:stretch;gap:0}#portalMenu a{padding:13px 10px}}
@media(min-width:1051px){.portal-menu-links a{display:flex;align-items:center;justify-content:center;min-height:52px}}
