:root{--ink:#17231f;--muted:#68736e;--paper:#f7f5ed;--card:#fff;--line:#dedfd7;--green:#0f6b4f;--lime:#d8f36a;--orange:#eb6d3e;--shadow:0 14px 36px #142d2417;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 80% -20%,#d7f6df 0,transparent 32rem),var(--paper);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{width:min(1120px,100% - 32px);margin:auto}.site-header{justify-content:space-between;align-items:center;padding:22px 0;display:flex}.brand{letter-spacing:-.04em;font:800 1.5rem/1 Georgia,serif}.brand span{color:var(--green)}nav{color:var(--muted);gap:24px;font-size:.92rem;display:flex}.pill,.button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:11px 18px;font-weight:700;display:inline-flex}.button.secondary{color:var(--ink);background:#e6ece8}main{padding-bottom:72px}.hero{max-width:900px;padding:76px 0 52px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-size:.76rem;font-weight:800}h1{letter-spacing:-.065em;margin:14px 0 24px;font:700 clamp(3rem,8vw,6.8rem)/.93 Georgia,serif}h2{letter-spacing:-.045em;font:700 clamp(2rem,4vw,3.2rem)/1 Georgia,serif}h3{margin:.3rem 0}.lede{color:var(--muted);max-width:670px;font-size:1.18rem;line-height:1.6}.search{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;gap:8px;max-width:760px;margin-top:32px;padding:8px;display:flex}.search input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:14px 16px;font-size:1.02rem}.shortcuts{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.shortcut{border:1px solid var(--line);background:#ffffffb3;border-radius:999px;padding:8px 13px;font-size:.88rem}.section{padding:50px 0}.section-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.section-head h2{margin:0}.grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px;transition:transform .18s,box-shadow .18s;box-shadow:0 4px 15px #142d2409}.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.card .number{color:var(--green);font-weight:800}.card p,.muted{color:var(--muted);line-height:1.55}.ranking-list{gap:10px;display:grid}.rank-row{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:54px 1fr auto;align-items:center;gap:16px;padding:16px 20px;display:grid}.rank{color:var(--green);font:700 1.8rem Georgia,serif}.score{text-align:right;color:var(--muted);font-size:.84rem}.breadcrumbs{color:var(--muted);padding:24px 0;font-size:.88rem}.page-head{padding:30px 0 36px}.page-head h1{font-size:clamp(2.8rem,6vw,5rem)}.badge{background:var(--lime);border-radius:99px;padding:6px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.notice{border-left:4px solid var(--orange);background:#fff6f0;border-radius:4px 14px 14px 4px;padding:15px 18px}.vote-actions{gap:8px;margin-top:12px;display:flex}.vote-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:9px 12px}.empty{color:var(--muted);text-align:center;border:1px dashed #bbc2bd;border-radius:18px;padding:38px}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:32px 0 44px;font-size:.88rem}.footer-row{justify-content:space-between;gap:20px;display:flex}.article-body{font:1.08rem/1.75 Georgia,serif}.article-body h2{margin-top:2.4rem;font-size:2rem}.article-body a{color:var(--green);text-decoration:underline}.auth-card{max-width:520px}.stack{gap:12px;display:grid}.field{gap:6px;display:grid}.field input,.field textarea,.field select{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:13px}.admin-grid{grid-template-columns:220px 1fr;gap:20px;display:grid}.admin-nav{align-content:start;gap:7px;display:grid}.admin-nav a{border-radius:10px;padding:10px}.admin-nav a:hover{background:#fff}.table-wrap{overflow:auto}.table{border-collapse:collapse;background:#fff;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:12px}@media (width<=760px){nav a:not(.pill){display:none}.grid{grid-template-columns:1fr}.hero{padding-top:42px}.rank-row{grid-template-columns:44px 1fr}.score{text-align:left;grid-column:2}.section-head,.footer-row{flex-direction:column;align-items:start}.admin-grid{grid-template-columns:1fr}.admin-nav{grid-template-columns:repeat(2,1fr)}}@font-face{font-family:Manrope;src:url(/fonts/manrope-400.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-600.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-700.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-800.ttf)format("truetype");font-weight:800;font-display:swap}:root{--ink:#062b57;--muted:#53677f;--paper:#f7faff;--card:#fff;--line:#d9e4f0;--green:#087cf0;--lime:#dcebff;--orange:#087cf0;--shadow:0 16px 40px #062b571a;font-family:Manrope,ui-sans-serif,system-ui,sans-serif}[hidden]{display:none!important}body{background:radial-gradient(circle at 82% -12%,#e5f1ff 0,transparent 30rem),var(--paper)}h1,h2,h3,.rank{font-family:Manrope,ui-sans-serif,system-ui,sans-serif}.brand{line-height:0;display:block}.brand img{width:158px;height:auto;display:block}.pill,.button{background:var(--ink)}.pill:hover,.button:hover{background:var(--green)}.badge{color:var(--ink);background:#dcebff}.card,.rank-row{box-shadow:0 5px 20px #062b570b}.feature-strip,.guide-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.feature-card{background:var(--ink);min-height:245px;box-shadow:var(--shadow);border-radius:20px;position:relative;overflow:hidden}.feature-card img{object-fit:cover;opacity:.58;width:100%;height:100%;transition:transform .25s,opacity .25s;position:absolute;inset:0}.feature-card:hover img{opacity:.48;transform:scale(1.035)}.feature-card span{color:#fff;text-shadow:0 1px 14px #0009;gap:5px;display:grid;position:absolute;inset:auto 18px 17px}.feature-card small{text-transform:uppercase;letter-spacing:.08em;font-weight:800}.feature-card strong{font-size:1.12rem;line-height:1.18}.feature-card em{opacity:.86;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-style:normal;overflow:hidden}.guide-grid,.ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.guide-card,.ranking-card{border:1px solid var(--line);background:#fff;border-radius:22px;transition:transform .18s,box-shadow .18s;display:grid;overflow:hidden;box-shadow:0 6px 22px #062b570d}.guide-card:hover,.ranking-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.guide-card img,.ranking-card img{aspect-ratio:16/8.5;object-fit:cover;width:100%;display:block}.guide-card>div,.ranking-card>div{padding:20px}.guide-card h3,.ranking-card h3{margin:.45rem 0;font-size:1.14rem;line-height:1.25}.guide-card p,.ranking-card p{color:var(--muted);margin:.5rem 0 1rem;line-height:1.5}.guide-card small,.ranking-card small{color:var(--green);font-weight:800}.guide-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-strip .guide-card img{aspect-ratio:16/7.5}.ranking-head,.business-head{grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr);align-items:center;gap:42px;display:grid}.category-cover,.business-cover,.article-cover{margin:0}.category-cover img,.business-cover img,.article-cover img{aspect-ratio:16/10;object-fit:cover;width:100%;box-shadow:var(--shadow);border-radius:24px;display:block}.article-cover{margin:30px 0 38px}.article-cover img{aspect-ratio:16/8.7}.article{max-width:820px}.rank-row{grid-template-columns:46px 112px minmax(0,1fr) auto}.rank-thumb{background:#eaf2fb;border-radius:13px;display:block;overflow:hidden}.rank-thumb img{object-fit:cover;width:100%;height:88px;display:block}.rank-copy{min-width:0}.rank-copy h3{font-size:1.06rem}.rank-copy>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.35rem 0;display:-webkit-box;overflow:hidden}.business-head h1{font-size:clamp(2.7rem,5.2vw,4.9rem)}.media-note{color:var(--muted);margin:24px 0;font-size:.85rem}.media-note a{color:var(--green);text-decoration:underline}.credit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0;display:grid}.credit-grid .card{padding:18px}.credit-grid p{margin-bottom:0}.purpose-head{grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:52px;max-width:960px;display:grid}.purpose-head img{filter:drop-shadow(0 18px 30px #062b5724);width:100%;height:auto}.purpose-story{color:#334b65;max-width:820px;font-size:1.13rem;line-height:1.8}.purpose-story .story-lead{color:var(--ink);font-size:1.55rem;font-weight:800;line-height:1.45}.purpose-story blockquote{background:var(--ink);color:#fff;box-shadow:var(--shadow);border:0;border-radius:24px;margin:42px 0;padding:30px 34px}.purpose-story blockquote span{opacity:.75;margin-bottom:10px;font-size:.88rem;display:block}.purpose-story blockquote strong{font-size:clamp(1.55rem,4vw,2.5rem);line-height:1.15;display:block}.principle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.principle-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:28px;position:relative}.principle-card>span{width:38px;height:38px;color:var(--green);background:#e8f3ff;border-radius:11px;place-items:center;font-weight:800;display:inline-grid}.principle-card h3{margin:20px 0 8px;font-size:1.25rem}.principle-card p{color:var(--muted);margin:0;line-height:1.6}.purpose-closing{color:#fff;background:linear-gradient(135deg,#062b57,#084887);border-radius:28px;justify-items:start;gap:18px;margin:38px 0;padding:44px;display:grid}.purpose-closing p{opacity:.86;max-width:760px;margin:0;font-size:1.2rem;line-height:1.65}.purpose-closing strong{max-width:820px;font-size:clamp(1.8rem,4vw,3rem);line-height:1.12}.purpose-closing .button{color:var(--ink);background:#fff}.hero-layout{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:start;gap:42px;max-width:none;display:grid}.hero-copy{padding-top:22px}.hero-copy h1{font-size:clamp(3rem,4.6vw,4.45rem);line-height:.96}.hero-photo{margin:0;position:relative}.hero-photo img{aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--shadow);border-radius:28px;display:block}figcaption{color:var(--muted);margin-top:8px;font-size:.72rem}figcaption a{text-decoration:underline}.visual-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.visual-card{margin:0}.visual-card>a{background:var(--ink);box-shadow:var(--shadow);border-radius:24px;display:block;position:relative;overflow:hidden}.visual-card img{aspect-ratio:16/9;object-fit:cover;opacity:.82;width:100%;transition:transform .25s,opacity .25s;display:block}.visual-card:hover img{opacity:.68;transform:scale(1.025)}.visual-card span{color:#fff;text-shadow:0 1px 12px #0000008c;justify-content:space-between;align-items:end;gap:16px;display:flex;position:absolute;bottom:20px;left:22px;right:22px}.visual-card strong{font:700 2rem/1 Georgia,serif}.visual-card small{font-weight:700}.footer-links{flex-wrap:wrap;gap:18px;display:flex}.policy{max-width:820px}.policy h2{margin-top:2.4rem;font-size:1.65rem}.policy li{margin:.55rem 0;line-height:1.55}.policy .card{margin-top:24px}@media (width<=760px){.shell{width:min(100% - 24px,1120px)}.site-header{flex-wrap:wrap;align-items:flex-start;gap:14px;padding:16px 0}.brand{font-size:1.7rem}.site-header nav{scrollbar-width:none;gap:8px;width:100%;padding:2px 0 8px;display:flex;overflow-x:auto}.site-header nav::-webkit-scrollbar{display:none}.site-header nav a,.site-header nav a:not(.pill){border:1px solid var(--line);background:#fffc;border-radius:999px;flex:none;align-items:center;padding:8px 12px;font-size:.82rem;display:inline-flex}.site-header nav .pill{background:var(--ink);color:#fff}.hero-layout{grid-template-columns:1fr;gap:26px;padding-top:28px}.hero-copy{padding-top:0}.hero-copy h1{letter-spacing:-.055em;font-size:clamp(2.55rem,14vw,4rem);line-height:.97}.hero-photo img{aspect-ratio:2.4;object-position:65% 45%;border-radius:20px;max-height:155px}.search{margin-top:24px}.visual-grid{grid-template-columns:1fr}.visual-card span{bottom:15px;left:16px;right:16px}.visual-card strong{font-size:1.6rem}.section{padding:38px 0}.rank-row{gap:10px;padding:14px 12px}.vote-actions{flex-wrap:wrap}.vote-actions button{flex:130px}.breadcrumbs{overflow-wrap:anywhere}.footer-links{gap:10px;display:grid}}@media (width<=430px){.search{border-radius:17px;display:grid}.search .button{width:100%}.rank-row{grid-template-columns:36px minmax(0,1fr)}.rank{font-size:1.45rem}.card{padding:19px}.page-head h1{overflow-wrap:anywhere;font-size:2.45rem}.lede{font-size:1.04rem}.visual-card small{display:none}}.contact-links{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.contact-links a{border:1px solid var(--line);color:var(--green);background:#f7faf8;border-radius:999px;padding:7px 11px;font-size:.82rem;font-weight:750;display:inline-flex}.contact-note{margin-top:16px}@media (width<=900px){.feature-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-head,.business-head{grid-template-columns:1fr 300px;gap:24px}.rank-row{grid-template-columns:42px 94px minmax(0,1fr)}.score{text-align:left;grid-column:3}.rank-thumb img{height:78px}}@media (width<=760px){.brand img{width:142px}.site-header{flex-wrap:nowrap;align-items:center}.site-header nav{width:auto;margin-left:auto}.site-header nav a,.site-header nav a:not(.pill){padding:7px 11px}.hero-photo img{aspect-ratio:auto;height:112px;max-height:112px}.hero-photo figcaption{margin-top:5px}.feature-strip,.guide-strip{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin-right:-12px;padding:2px 2px 15px;display:flex;overflow-x:auto}.feature-strip::-webkit-scrollbar{display:none}.guide-strip::-webkit-scrollbar{display:none}.feature-card{scroll-snap-align:start;flex:0 0 76vw;max-width:300px;min-height:190px}.guide-strip .guide-card{scroll-snap-align:start;flex:0 0 84vw;max-width:340px}.guide-grid,.ranking-grid{grid-template-columns:1fr}.guide-card,.ranking-card{grid-template-columns:112px minmax(0,1fr);align-items:stretch}.guide-card img,.ranking-card img,.guide-strip .guide-card img{aspect-ratio:auto;object-fit:cover;height:100%}.guide-card>div,.ranking-card>div{padding:15px}.guide-card p,.ranking-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.4rem 0 .7rem;display:-webkit-box;overflow:hidden}.ranking-head,.business-head{grid-template-columns:1fr;gap:22px}.category-cover img,.business-cover img{aspect-ratio:2.25;max-height:180px}.rank-row{grid-template-columns:34px 78px minmax(0,1fr);align-items:start}.rank-thumb img{height:72px}.rank-copy>p{-webkit-line-clamp:2}.score{grid-column:3}.article-cover{margin:22px 0 30px}.article-cover img{aspect-ratio:2;max-height:210px}.credit-grid{grid-template-columns:1fr}}@media (width<=430px){.site-header nav a:not(.pill){display:none}.site-header nav{padding:0;overflow:visible}.hero-layout{gap:16px}.hero-copy h1{font-size:2.4rem}.feature-card{flex-basis:79vw}.guide-card,.ranking-card{grid-template-columns:96px minmax(0,1fr)}.guide-card h3,.ranking-card h3{font-size:1rem}.guide-card p,.ranking-card p{font-size:.87rem}.rank-row{grid-template-columns:30px 68px minmax(0,1fr);padding:12px 10px}.rank-thumb img{height:64px}.rank-copy h3{font-size:.98rem}.rank-copy>p{font-size:.82rem}.rank-copy .contact-links{margin:8px 0}.rank-copy .vote-actions{grid-column:1/-1}.score{font-size:.76rem}.category-cover img,.business-cover img{max-height:145px}.article-cover img{max-height:180px}}@media (width<=760px){.purpose-head{grid-template-columns:1fr 86px;gap:18px}.purpose-head h1{font-size:2.7rem}.purpose-head .lede{grid-column:1/-1}.purpose-story{font-size:1rem;line-height:1.72}.purpose-story .story-lead{font-size:1.3rem}.purpose-story blockquote{margin:28px 0;padding:24px}.principle-grid{grid-template-columns:1fr}.purpose-closing{border-radius:22px;padding:28px 22px}.purpose-closing p{font-size:1rem}}@media (width<=430px){.purpose-head{grid-template-columns:1fr 66px}.purpose-head h1{font-size:2.2rem}.purpose-story blockquote strong{font-size:1.45rem}}
