:root{--ink:#13293d;--ink-2:#203b51;--red:#8f1d2c;--red-bright:#c33243;--paper:#f7f5ef;--white:#fff;--line:#d9dedc;--muted:#60707a;--green:#345b4d;--blue:#315a78;--shadow:0 18px 45px rgba(19,41,61,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}a{color:inherit}button,input{font:inherit}.site-header{height:76px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(19,41,61,.14);position:sticky;top:0;background:rgba(247,245,239,.94);backdrop-filter:blur(14px);z-index:10}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;letter-spacing:-.03em;font-size:1.15rem}.brand span span{color:var(--red)}.leaf{width:31px;height:31px;display:grid;place-items:center;background:var(--red);color:white;border-radius:4px;transform:rotate(45deg);font-size:.7rem}.leaf::first-letter{transform:rotate(-45deg)}nav{display:flex;gap:28px}nav a{text-decoration:none;color:var(--ink-2);font-size:.92rem;font-weight:600}nav a:hover{color:var(--red)}
.intro{padding:clamp(64px,10vw,132px) clamp(20px,8vw,120px) 78px;min-height:570px;position:relative;overflow:hidden}.intro:after{content:"";position:absolute;right:-8vw;top:22px;width:min(38vw,520px);aspect-ratio:1;background:linear-gradient(145deg,transparent 31%,rgba(143,29,44,.055) 31% 45%,transparent 45% 52%,rgba(19,41,61,.045) 52% 67%,transparent 67%);transform:rotate(12deg);pointer-events:none}.eyebrow,.kicker{text-transform:uppercase;font-size:.75rem;letter-spacing:.18em;font-weight:700;color:var(--red)}h1,h2{font-family:"Newsreader",serif;margin:0;line-height:.95;letter-spacing:-.045em}h1{font-size:clamp(4rem,10vw,8.4rem);max-width:960px}h1 em{color:var(--red);font-weight:500}.lede{font-size:clamp(1.15rem,2vw,1.4rem);max-width:690px;color:var(--ink-2);margin:28px 0}.principles{display:flex;flex-wrap:wrap;gap:10px}.principles span{background:#fff;border:1px solid var(--line);padding:8px 13px;border-radius:3px;font-size:.85rem;font-weight:600}
.directory{background:#eef1ef;padding:80px clamp(20px,5vw,72px) 96px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-heading h2,.starter h2,.approach h2{font-size:clamp(2.5rem,5vw,4.4rem);margin-top:10px}.section-heading p{color:var(--muted)}.toolbar{display:flex;gap:14px;justify-content:space-between;margin:22px 0 28px}.search{background:#fff;border:1px solid #cdd4d1;border-radius:6px;display:flex;align-items:center;gap:10px;padding:0 14px;min-width:min(440px,100%)}.search input{border:0;outline:0;background:transparent;padding:14px 0;width:100%;color:var(--ink)}kbd{border:1px solid var(--line);background:var(--paper);padding:1px 6px;border-radius:3px;color:var(--muted)}.filters{display:flex;gap:6px;background:#dde3e0;padding:5px;border-radius:7px}.filters button{border:0;background:transparent;padding:9px 12px;border-radius:4px;color:#51626b;cursor:pointer;font-weight:600;font-size:.86rem}.filters button.active{background:var(--ink);color:white}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-card{background:var(--white);border:1px solid #d9dfdc;border-radius:7px;overflow:hidden;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.card-head{padding:18px 20px;display:flex;gap:14px;align-items:center;border-bottom:1px solid #edf0ee}.google-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:5px;background:var(--paper);color:#466174;font-weight:700;font-size:1.15rem}.card-head h3{margin:0;font-size:1rem}.card-head p{margin:2px 0 0;color:var(--muted);font-size:.82rem}.alternatives{padding:7px 20px 12px}.alternative{display:grid;grid-template-columns:78px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0ee}.alternative:last-child{border-bottom:0}.region{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.region.Canada{color:var(--red)}.region.Europe{color:var(--blue)}.region.Other{color:var(--green)}.alt-name{font-weight:700;text-decoration:none}.alt-name:hover{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}.note{display:block;color:var(--muted);font-size:.76rem;font-weight:400}.arrow{text-decoration:none;color:var(--muted);font-size:1.2rem}.empty{text-align:center;padding:70px;background:white;border:1px dashed #c5ceca}.empty h3{font-family:"Newsreader",serif;font-size:2rem;margin:0}
.starter{background:var(--ink);color:white;padding:84px clamp(20px,8vw,120px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,110px)}.starter p{color:#c6d0d7;max-width:590px;font-size:1.1rem}.kicker.light{color:#e7a7ad}.starter ol{list-style:none;padding:0;margin:0;counter-reset:steps}.starter li{counter-increment:steps;border-top:1px solid rgba(255,255,255,.2);padding:20px 0 20px 54px;position:relative}.starter li:before{content:"0" counter(steps);position:absolute;left:0;color:#e7a7ad;font-weight:700}.starter li b,.starter li span{display:block}.starter li span{color:#aebdc7;font-size:.9rem;margin-top:3px}.approach{padding:86px clamp(20px,8vw,120px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,110px)}.approach h2{font-size:clamp(2.4rem,4.5vw,4rem)}.approach-copy{color:var(--ink-2);font-size:1.04rem}.approach-copy p:first-child{margin-top:0}footer{padding:38px clamp(20px,5vw,72px);display:grid;grid-template-columns:auto 1fr;gap:18px 40px;align-items:center;border-top:4px solid var(--red)}.brand.small{font-size:1rem}.brand.small .leaf{width:24px;height:24px}.fine{grid-column:1/-1;color:var(--muted);font-size:.75rem;margin:0}footer>p:not(.fine){justify-self:end;color:var(--muted);font-size:.86rem}
@media(max-width:820px){nav{display:none}.intro{min-height:auto;padding-top:72px}.directory{padding-top:58px}.section-heading,.toolbar{align-items:stretch;flex-direction:column}.search{min-width:0}.filters{overflow:auto}.filters button{white-space:nowrap}.product-grid,.starter,.approach{grid-template-columns:1fr}.alternative{grid-template-columns:68px 1fr auto}footer{grid-template-columns:1fr}footer>p:not(.fine){justify-self:start;margin:0}}
@media(max-width:480px){h1{font-size:3.6rem}.directory{padding-left:14px;padding-right:14px}.card-head,.alternatives{padding-left:15px;padding-right:15px}.principles span{font-size:.76rem}.filters{margin-inline:-2px}.section-heading p{margin-bottom:0}}
body{font-family:Arial,"Helvetica Neue",sans-serif}h1,h2,.empty h3{font-family:Georgia,"Times New Roman",serif}
.leaf{transform:none;background:none;border-radius:3px;overflow:hidden}
.leaf img{width:100%;height:100%;display:block;object-fit:cover}
.site-header .leaf{width:62px;height:62px;flex:0 0 62px}
.brand.small .leaf{width:46px;height:46px}
.intro{text-align:center;display:flex;flex-direction:column;align-items:center;padding-left:clamp(32px,12vw,190px);padding-right:clamp(32px,12vw,190px)}
.intro h1{margin-inline:auto;white-space:nowrap;font-size:clamp(1.3rem,6.2vw,6.7rem);letter-spacing:-.05em}.intro .lede{margin-left:auto;margin-right:auto}.intro .principles{justify-content:center}
.matrix-section{scroll-margin-top:76px}
.matrix-section th{position:static;top:auto}
.matrix-section{padding:80px clamp(20px,5vw,72px) 96px;background:var(--paper)}.matrix-wrap{overflow:auto;border:1px solid var(--line);background:white;border-radius:7px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:600px}th,td{padding:13px 18px;border-bottom:1px solid #e5e9e7;text-align:center}th{background:var(--ink);color:white;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;position:sticky;top:76px}th:first-child,td:first-child{text-align:left}td:first-child{font-weight:700;color:var(--ink)}.yes{color:#216245;font-weight:800;font-size:1.15rem}.no{color:#a7b0ad;font-weight:700}.partial{color:#9b681d;font-weight:800}.matrix-note{color:var(--muted);font-size:.82rem;margin:15px 2px 0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-card{transition:none}}
