/* Public interface: airy surfaces, compact navigation and clear content hierarchy. */
.portal{--paper:#fbfcf9;--card:#fff;--soft:#edf5ef;--line:#dce7df;--ink:#183d33;--muted:#596e65;--brand-dark:#216344;--radius:24px;--shadow:0 5px 24px #183d3306;background:var(--paper)}
.portal main{overflow:clip}
.portal button,.portal .button{border-radius:12px;min-height:44px}
.portal .button{box-shadow:0 4px 12px #183d3310}
.portal .topline{background:#143e32;font-size:11px}
.portal .topline .container{min-height:30px}
.portal .site-header{background:#fbfcf9f5;backdrop-filter:blur(16px);border-color:#dce7dfb3}
.portal .header-inner{min-height:84px;gap:28px;position:relative}
.portal .brand{display:inline-flex;align-items:center;gap:9px;letter-spacing:-1.2px}
.portal .brand .logo{height:46px;width:46px;max-width:46px;max-height:46px;object-fit:contain;mix-blend-mode:multiply}
.portal .brand .brand-name{font-size:26px;font-weight:550;line-height:1;letter-spacing:-1.3px;color:var(--ink);position:static;vertical-align:baseline;margin:0;white-space:nowrap}
.portal .brand-name b{font-weight:850;letter-spacing:-1.7px}
.portal .brand .brand-dot{position:static;color:#419e69;font-size:29px;vertical-align:baseline;margin:0;letter-spacing:0}
.portal .main-nav{gap:7px}
.portal .main-nav a{padding:10px 16px;border-radius:24px;font-size:14px;transition:background .15s,color .15s}
.portal .main-nav a:hover{background:var(--soft);text-decoration:none}
.portal .main-nav a[aria-current=page]{background:#e3efe5;color:#20573d}
.portal .main-nav a[aria-current=page]:after{display:none}
.portal .icon-button{width:44px;height:44px;min-width:44px;border-radius:50%;background:transparent;border:1px solid var(--line);color:var(--ink);box-shadow:none;font-size:22px}
.header-search{position:static}
.header-search summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
.header-search summary::-webkit-details-marker{display:none}
.header-search[open] summary{background:var(--soft)}
.header-search-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(470px,calc(100vw - 32px));padding:24px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 60px #183d3329;z-index:40}
.header-search-panel label{font-size:17px;margin-bottom:12px;letter-spacing:-.02em}
.search-input-row{display:flex;align-items:stretch;gap:8px}
.search-input-row input{font-size:16px;min-width:0;border-radius:10px;background:var(--paper)}
.search-input-row button{padding:10px 15px;flex-shrink:0}
.header-search-panel p{font-size:12px;color:var(--muted);margin:12px 0 0}
.portal .breaking{background:#edf3e9;border-color:var(--line)}
.portal .breaking .container{min-height:36px;font-size:11px}
.portal .hero-section{padding-top:48px;padding-bottom:26px}
.hero-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:56px;align-items:center}
.portal .section-intro{display:block;margin:0;min-width:0}
.portal .section-intro .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:23px}
.portal .section-intro h1{font-size:clamp(42px,4.5vw,66px);line-height:1.06;letter-spacing:-.06em;margin:0 0 24px}
.portal .section-intro h1 span{color:#268557}
.hero-description{font-size:16px;line-height:1.8;color:var(--muted);max-width:450px;margin:0 0 26px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 22px}
.hero-actions .button{padding:14px 19px;background:#226347;font-size:14px;gap:18px}
.hero-video-link{font-size:13px;font-weight:650;display:inline-flex;gap:8px;align-items:center;min-height:44px}
.hero-video-link>span{font-size:10px;color:#ad593c;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f7e9dd}
.portal .section-intro>p.hero-origin{font-size:11px;line-height:1.5;display:flex;align-items:center;gap:8px;margin:25px 0 0;padding:0;border:0;color:var(--muted)}
.hero-origin>span{color:#338268;font-size:19px}
.portal .hero-grid{display:block;min-width:0}
.portal .hero-feature,.portal .hero-copy{min-height:380px}
.portal .hero-feature{border-radius:26px;background:#154939;box-shadow:0 16px 40px #183d3312}
.portal .hero-copy{padding:30px}
.portal .hero-copy h2{font-size:34px;max-width:410px;margin:16px 0 12px}
.portal .hero-copy p{font-size:13px;max-width:340px;margin-bottom:16px}
.portal .hero-copy .button{font-size:12px;min-height:42px;padding:11px 16px;border-radius:10px}
.hero-footnote{display:flex;align-items:center;gap:24px;padding:23px 0 0;margin-top:28px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.hero-footnote>span{display:inline-flex;align-items:center;gap:7px}
.hero-footnote i{width:6px;height:6px;display:inline-block;background:#388568;border-radius:50%}
.hero-footnote>a{margin-left:auto;color:var(--brand-dark);font-weight:650}
.portal .home-section{padding:44px 0}
.portal .home-section.tinted{background:linear-gradient(120deg,#eaf4ed,#f2f5e9);border-block:1px solid var(--line)}
.portal .section-head{margin-bottom:25px;align-items:center;flex-wrap:nowrap}
.portal .section-head h2{font-size:clamp(26px,2.5vw,36px);letter-spacing:-.045em}
.portal .section-head .eyebrow{color:var(--brand-dark);font-size:10px;letter-spacing:.13em;margin-bottom:8px}
.portal .section-head>.text-link{border:1px solid var(--line);border-radius:24px;padding:8px 15px;white-space:nowrap;min-height:40px;display:inline-flex;align-items:center;background:var(--card);font-size:12px}
.portal .card-grid{gap:22px}
.portal .card-grid:has(>.content-card:only-child){grid-template-columns:minmax(0,1fr)}
.portal .card-grid>.content-card:only-child{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}
.portal .card-grid>.content-card:only-child>.card-image{height:100%;min-height:260px;max-height:360px;aspect-ratio:auto}
.portal .card-grid>.content-card:only-child>.card-body{padding:30px;max-width:660px}
.portal .card-grid>.products:only-child .product-cta{width:auto;padding-inline:24px}
.portal .card-grid>.videos:only-child{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.portal .content-card{border-radius:19px;box-shadow:0 5px 20px #143e3205;transition:transform .2s,box-shadow .2s,border-color .2s}
@media(hover:hover){.portal .content-card:hover{transform:translateY(-4px);border-color:#bdcec1;box-shadow:0 14px 30px #143e3210}}
.portal .card-body{padding:23px}
.portal .card-body h3{font-size:21px;line-height:1.35;letter-spacing:-.025em}
.portal .card-body p{line-height:1.8;font-size:13px}
.portal .card-body .eyebrow{letter-spacing:.11em;font-size:9px}
.portal .products .card-image{background:#f5f7f3;padding:22px;aspect-ratio:1.25}
.portal .products h3{font-size:17px;line-height:1.4}
.portal .products .product-cta{font-size:12px;background:#225e43;min-height:46px}
.portal .articles .card-image{background:#e9f0ed}
.portal .videos .card-body>.eyebrow{color:#a05037}
.portal .category-grid{gap:16px}
.portal .category-grid a{background:#eef4ed;border:1px solid #dce8dc;border-radius:18px;padding:24px;position:relative;overflow:hidden}
.portal .category-grid a:nth-child(4n+2){background:#edf3f7;border-color:#dce6ee}
.portal .category-grid a:nth-child(4n+3){background:#faf0e6;border-color:#eedfce}
.portal .category-grid a:nth-child(4n+4){background:#f0eef8;border-color:#e1ddef}
.portal .category-grid a:after{content:"↗";position:absolute;right:20px;top:18px;font-size:22px;color:#48675c}
.portal .category-number{margin-bottom:18px;color:#4d6e60;font-size:10px}
.portal .category-grid h3{font-size:21px;letter-spacing:-.03em;margin-bottom:10px}
.portal .category-grid p{font-size:12px;line-height:1.7;min-height:0;margin-bottom:18px}
.portal .page-content{padding-top:30px}
.portal .breadcrumb{margin-bottom:27px;font-size:12px}
.portal .page-heading{max-width:780px;margin-bottom:28px}
.portal .page-heading h1{font-size:clamp(32px,3.8vw,50px);line-height:1.12;margin-bottom:15px}
.portal .page-heading>p:last-child{font-size:15px;line-height:1.8}
.catalog-tools{margin-bottom:22px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.catalog-tools>summary{display:none;list-style:none;cursor:pointer;padding:15px 18px;font-size:14px;font-weight:650;align-items:center;gap:8px}
.catalog-tools>summary::-webkit-details-marker{display:none}
.filter-summary{font-size:11px;font-weight:450;color:var(--muted);margin-left:auto;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filter-chevron{font-size:20px;line-height:1;transition:transform .15s}
.catalog-tools[open] .filter-chevron{transform:rotate(180deg)}
.portal .catalog-tools .filters{margin:0;background:transparent;border:0;padding:20px;border-radius:16px;gap:14px}
.clear-filters{min-height:44px;display:inline-flex;align-items:center;font-size:12px;text-decoration:underline;color:var(--brand-dark)}
.portal .filters input,.portal .filters select{border-radius:10px;background:var(--paper)}
.portal .filters button{background:#216344}
.portal .product-media{border-radius:24px;box-shadow:0 12px 40px #183d3307}
.portal .product-purchase{background:linear-gradient(125deg,#edf6ef,#f5f6ea);border-radius:20px}
.portal .product-tags>span{background:#edf3f7;color:#34576a}
.portal .article-cover{border-radius:22px}
.portal .newsletter{background:#183f34;border-radius:24px}
.portal .site-footer{background:#eaf1e9;border-color:var(--line);margin-top:30px}
.portal .footer-top{padding-block:42px}
.portal .footer-top p{font-size:13px}
.portal .footer-top nav{font-size:13px;gap:10px 35px}
.portal .privacy-banner{border-radius:20px;box-shadow:0 12px 50px #183d3320}
html[data-theme=dark] .portal{--ink:#e3eee7;--muted:#b0c2b7;--paper:#101f1a;--card:#172a23;--soft:#1b3027;--line:#30483b;--brand-dark:#a3ddba}
html[data-theme=dark] .portal .site-header{background:#101f1af5;border-color:var(--line)}
html[data-theme=dark] .portal .brand .logo{filter:invert(1) hue-rotate(180deg) brightness(1.8);mix-blend-mode:screen}
html[data-theme=dark] .portal .main-nav a[aria-current=page]{background:#274b37;color:#ccebd6}
html[data-theme=dark] .portal .section-intro h1 span{color:#7ece9e}
html[data-theme=dark] .portal .breaking,html[data-theme=dark] .portal .site-footer{background:#172b22}
html[data-theme=dark] .portal .home-section.tinted{background:linear-gradient(120deg,#182e24,#202d22)}
html[data-theme=dark] .portal .category-grid a{background:#213b2a;border-color:var(--line)}
html[data-theme=dark] .portal .category-grid a:nth-child(4n+2){background:#223540}
html[data-theme=dark] .portal .category-grid a:nth-child(4n+3){background:#3b3023}
html[data-theme=dark] .portal .category-grid a:nth-child(4n+4){background:#302c40}
html[data-theme=dark] .portal .category-number,html[data-theme=dark] .portal .category-grid a:after{color:#b4c9bd}
html[data-theme=dark] .portal .products .card-image{background:#20352a}
html[data-theme=dark] .portal .product-purchase{background:linear-gradient(120deg,#1b3528,#273225)}
html[data-theme=dark] .portal .product-tags>span{background:#243b47;color:#c4dfef}
html[data-theme=dark] .portal .videos .card-body>.eyebrow{color:#f1b59b}
@media(max-width:1100px){.hero-layout{gap:30px}.portal .main-nav a{padding-inline:12px}.portal .header-inner{gap:18px}.portal .hero-feature,.portal .hero-copy{min-height:350px}.portal .hero-copy{padding:25px}.portal .hero-copy h2{font-size:30px}.hero-actions{gap:10px 16px}.hero-actions .button{font-size:13px;padding-inline:16px}}
@media(max-width:1024px){.portal .header-inner{min-height:76px;gap:12px}.portal .menu-toggle{order:3;margin-left:0}.portal .header-actions{margin-left:auto;order:2;gap:8px}.portal .main-nav{order:4;padding:12px 0;border-color:var(--line)}.portal .main-nav a{border-radius:10px;padding:12px 16px}.portal .main-nav.open{grid-template-columns:repeat(3,minmax(0,1fr))}.portal .brand .logo{height:42px;width:42px}.portal .brand .brand-name{font-size:25px}.portal .hero-section{padding-top:34px}.portal .section-intro .eyebrow{font-size:9px}.portal .section-intro h1{font-size:clamp(38px,5.5vw,55px)}.hero-description{font-size:14px}.hero-video-link{font-size:12px}.portal .hero-copy p{display:none}.portal .card-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.portal .container{width:calc(100% - 36px)}.portal .topline,.portal .breaking{display:none}.portal .header-inner{min-height:70px;gap:8px}.portal .brand{gap:6px}.portal .brand .logo{height:38px;width:38px;max-width:38px;max-height:38px}.portal .brand .brand-name{font-size:24px}.portal .brand .brand-dot{font-size:26px}.portal .header-actions{gap:6px}.portal .icon-button{width:42px;min-width:42px;height:42px;min-height:42px}.header-search-panel{top:calc(100% + 7px);padding:20px;right:0}.header-search-panel label{font-size:16px}.search-input-row button{font-size:13px;padding-inline:12px}.portal .hero-section{padding-top:30px;padding-bottom:16px}.hero-layout{grid-template-columns:1fr;gap:24px}.portal .section-intro .eyebrow{font-size:9px;margin-bottom:16px;letter-spacing:.11em}.portal .section-intro h1{font-size:clamp(39px,8vw,55px);line-height:1.04;margin-bottom:17px;letter-spacing:-.055em}.hero-description{font-size:14px;line-height:1.75;margin-bottom:20px;max-width:510px}.hero-actions{gap:12px 18px}.hero-actions .button{padding:12px 16px;font-size:13px}.hero-video-link{font-size:12px;gap:6px}.hero-video-link>span{width:26px;height:26px;font-size:9px}.portal .section-intro>p.hero-origin{display:none}.portal .hero-feature,.portal .hero-copy{min-height:270px}.portal .hero-feature{border-radius:20px}.portal .hero-copy{padding:24px}.portal .hero-copy h2{font-size:29px;margin:13px 0}.portal .hero-copy p{display:none}.portal .hero-copy .pill{font-size:8px}.portal .hero-copy .button{min-height:40px;font-size:11px;padding:10px 14px}.hero-footnote{font-size:10px;margin-top:20px;padding-top:15px;gap:10px;justify-content:space-between}.hero-footnote>span:nth-child(2){display:none}.hero-footnote>a{margin-left:0}.portal .home-section{padding:30px 0}.portal .section-head{gap:12px;margin-bottom:20px}.portal .section-head h2{font-size:25px;line-height:1.15}.portal .section-head .eyebrow{font-size:8px;letter-spacing:.1em}.portal .section-head>.text-link{font-size:10px;min-height:36px;padding:7px 11px;flex-shrink:0}.portal .card-grid{gap:16px}.portal .card-body{padding:20px}.portal .card-body h3{font-size:20px}.portal .products h3{font-size:17px}.portal .products .card-image{aspect-ratio:1.4;padding:20px}.portal .category-grid{gap:12px}.portal .category-grid a{padding:20px 16px}.portal .category-grid h3{font-size:18px}.portal .category-grid a:after{right:15px;top:13px;font-size:18px}.portal .category-number{margin-bottom:16px}.portal .category-grid p{font-size:11px}.portal .page-content{padding-top:22px}.portal .breadcrumb{font-size:11px;margin-bottom:22px}.portal .page-heading{margin-bottom:22px}.portal .page-heading h1{font-size:32px}.portal .page-heading>p:last-child{font-size:14px}.catalog-tools>summary{display:flex}.portal .catalog-tools .filters{border-top:1px solid var(--line);padding:16px;gap:14px}.portal .catalog-tools .filters label{font-size:13px;flex-basis:100%}.portal .catalog-tools .filters button{width:100%}.portal .article-heading h1{font-size:clamp(30px,6.5vw,40px)}.portal .article-summary{font-size:17px}.portal .prose{font-size:17px;line-height:1.85}.portal .site-footer{margin-top:22px}.portal .footer-top{padding-block:30px}.portal .privacy-banner{padding:16px;border-radius:16px}.portal .privacy-banner h2{font-size:18px;margin-bottom:8px}.portal .privacy-banner p{line-height:1.6;margin-bottom:10px}.portal .privacy-banner .actions{margin-top:10px}.portal .privacy-options{gap:10px}.portal .privacy-options label{font-size:11px}.portal .main-nav.open{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:481px) and (max-width:780px){.portal .hero-layout{grid-template-columns:1fr 1fr;gap:22px}.portal .section-intro h1{font-size:37px}.hero-actions{gap:6px}.hero-actions .button{font-size:12px;padding:12px 14px}.portal .hero-feature,.portal .hero-copy{min-height:320px}.portal .hero-copy{padding:20px}.portal .hero-copy h2{font-size:27px}}
@media(max-width:359px){.portal .container{width:calc(100% - 28px)}.portal .brand .brand-name{font-size:21px}.portal .brand .logo{width:31px;height:35px}.portal .header-inner{gap:6px}.portal .header-actions{gap:4px}.portal .icon-button{width:40px;height:40px;min-width:40px}.portal .section-intro h1{font-size:36px}.hero-actions{gap:8px}.hero-actions .button{font-size:12px;padding-inline:13px}.hero-video-link{font-size:11px}.hero-video-link>span{width:22px;height:22px}.hero-footnote{font-size:9px}.portal .section-head h2{font-size:23px}}
@media(max-width:780px){.portal .card-grid>.content-card:only-child{display:block}.portal .card-grid>.content-card:only-child>.card-image{height:auto;min-height:0;max-height:none;aspect-ratio:1.7}.portal .card-grid>.content-card:only-child>.card-body{padding:22px}.portal .card-grid>.products:only-child .product-cta{width:100%}}
@media(max-width:480px){.portal .card-grid,.portal .card-grid.four{grid-template-columns:minmax(0,1fr)}}
