:root{--cream:#faf9f5;--cream-deep:#f4f2eb;--white:#fff;--ink:#1a1a1a;--ink-2:#232220;--t-warm:#5a554b;--t-faint:#8a8478;--line:#ece7dc;--accent:#0f766e;--accent-hover:#0d9488;--accent-tint:#ccfbf1;--accent-ink:#0f766e;--accent-tint-ink:#0f766e24;--radius:20px;--radius-lg:28px;--container:1240px;--gutter:40px;--ease:cubic-bezier(.22,.61,.36,1);--serif:"Playfair Display",Georgia,serif;--sans:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{transition:background .2s var(--ease),transform .2s var(--ease),color .2s var(--ease)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15}h3{font-size:23px;letter-spacing:-.025em}p{color:var(--t-warm)}.container{width:min(var(--container),calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding:120px 0}.section--tight{padding:96px 0}.cream-deep{background:var(--cream-deep)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:13px;font-weight:700;margin-bottom:24px}.h2{font-size:clamp(36px,5vw,66px);letter-spacing:-.025em;font-weight:900;line-height:1;max-width:19ch;margin-bottom:28px}.lead{font-size:clamp(19px,1.6vw,24px);font-weight:300;line-height:1.5;max-width:56ch;color:var(--t-warm)}.accent{color:var(--accent)}.serif{font-family:var(--serif);font-weight:500;font-style:italic}.btn{border-radius:999px;padding:15px 25px;font-size:14px;font-weight:600;display:inline-flex;gap:20px;align-items:center;justify-content:center;text-decoration:none;border:1px solid transparent;line-height:1.5}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover)}.btn--ink{background:var(--ink);color:#fff}.btn--ghost{border-color:var(--line);background:transparent;color:var(--ink)}.btn--ghost:hover{background:var(--cream-deep)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.header{border-bottom:1px solid var(--line)}.header-inner{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:23px;letter-spacing:-1px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:10px;color:var(--ink)}.brand svg{width:29px;height:34px;color:var(--accent)}.header nav{display:flex;gap:32px}.header nav a{font-size:14px;text-decoration:none;color:var(--t-warm);font-weight:500}.header nav a:hover,.header nav a[aria-current]{color:var(--accent)}.skip-link{position:absolute;left:20px;top:-80px;z-index:10;background:#fff;padding:15px}.skip-link:focus{top:10px}.hero{display:grid;grid-template-columns:1.17fr 1fr;align-items:center;gap:70px;padding-top:100px;padding-bottom:100px}.hero h1{font-size:clamp(45px,5.4vw,76px);font-weight:900;letter-spacing:-.055em;line-height:1.04;margin-bottom:28px;max-width:12ch}.hero .lead{font-size:19px;max-width:48ch}.hero-note{font-size:12px;margin-top:20px;display:flex;gap:15px;align-items:center}.hero-note span{color:var(--accent)}.policy-scene{position:relative;background:var(--cream-deep);border:1px solid var(--line);border-radius:var(--radius-lg);padding:42px 40px 60px;transform:rotate(-2deg)}.document{background:#fff;box-shadow:0 15px 40px #1a1a1a08;padding:38px;border:1px solid var(--line);border-radius:5px;min-height:365px}.doc-top{font-size:10px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;letter-spacing:.08em;color:var(--t-faint)}.document h2{font-family:var(--serif);font-weight:500;font-size:31px;line-height:1.15;margin:25px 0 13px}.document p{font-size:11px;line-height:1.8}.doc-line{height:5px;background:var(--cream-deep);margin:9px 0;border-radius:4px}.doc-check{font-size:11px;margin:13px 0;color:var(--accent)}.scene-badge{position:absolute;bottom:26px;right:-20px;background:var(--accent);color:#fff;padding:15px 22px;border-radius:14px;box-shadow:0 10px 25px #0f766e20;transform:rotate(2deg);font-size:13px;display:flex;gap:12px;align-items:center}.scene-badge strong{display:block}.scene-badge small{color:#ccfbf1}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 0 24px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr)}.stat{padding:0 32px;border-right:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat strong{font-size:48px;line-height:1;font-weight:800;letter-spacing:-.05em}.stat p{font-size:14px;max-width:28ch;margin:12px 0}.caption{font-size:11px;color:var(--t-faint);margin-top:25px}.section-heading{max-width:780px;margin-bottom:50px}.grid-three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #1a1a1a05}.card p{font-size:15px;margin-bottom:0}.card__icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:var(--accent);background:var(--accent-tint);margin-bottom:30px;font-size:22px}.step-number{font-family:var(--serif);font-size:48px;color:var(--accent);display:block;margin-bottom:25px}.steps .card{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:30px 20px 0 0}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.teal-panel{background:var(--accent);border-radius:var(--radius-lg);padding:60px;color:#fff}.teal-panel p{color:#dbefea}.teal-panel .eyebrow{color:var(--accent-tint)}.teal-panel .h2{font-size:clamp(36px,4vw,52px)}.teal-panel .btn--primary{background:#fff;color:var(--accent)}.text-link{font-size:14px;font-weight:600;color:var(--accent)}.newsletter{border-top:1px solid var(--line)}.newsletter .h2{font-size:clamp(36px,4vw,52px)}.page-intro{padding-top:85px;padding-bottom:55px}.page-intro .h2{max-width:21ch}.page-content{padding-bottom:100px}.prose{max-width:800px}.prose p,.prose li{color:var(--t-warm)}.prose h2{font-size:29px;margin-top:45px}.prose .lead{font-size:23px}.prose ul{padding-left:22px}.notice{background:var(--cream-deep);border:1px solid var(--line);border-radius:14px;padding:20px 24px;font-size:14px;color:var(--t-warm)}.rating{border-radius:999px;font-size:11px;font-weight:700;padding:5px 11px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.rating--green{color:#1e7d5c;background:#e8f5f0}.rating--yellow{color:#b88000;background:#fff8e5}.rating--red{color:#c0392b;background:#fef2f2}.rating--needs-review{color:#5a554b;background:#f4f2eb}.filters{display:flex;gap:20px;flex-wrap:wrap;align-items:end;margin-bottom:30px}.filters label{min-width:210px}.result-count{font-size:13px;color:var(--t-warm);margin-left:auto}.tool-card{display:flex;flex-direction:column;gap:22px}.tool-card .tool-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.category{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--t-faint)}.tool-card h2{font-size:22px;letter-spacing:-.025em;margin-bottom:14px}.tool-card h2 a{text-decoration:none}.tool-card p{margin:0}.tool-card .text-link{margin-top:auto}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin:30px 0}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;vertical-align:top;padding:18px 22px;border-bottom:1px solid var(--line);min-width:150px}th{font-size:12px;background:var(--cream-deep)}td.notes-cell{min-width:300px}td.sources-cell{min-width:240px}td.sources-cell a{display:block;font-size:12px;color:var(--accent);overflow-wrap:anywhere;margin-bottom:10px}tr:last-child td{border-bottom:0}.form-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px;max-width:780px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}label,legend{font-size:14px;font-weight:600;color:var(--ink)}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #d8d3c8;border-radius:10px;background:var(--cream);padding:13px 14px;color:var(--ink);font-size:15px}textarea{min-height:115px;resize:vertical}.field-help{font-size:12px;font-weight:400;color:var(--t-warm);line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid .field{margin:0 0 22px}.consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-size:12px;font-weight:400;color:var(--t-warm)}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0;margin-top:4px}.status{font-size:14px;padding:14px 18px;border-radius:10px;background:var(--accent-tint);color:var(--accent);margin-top:20px}.status.error{background:#fef2f2;color:#a02b22}.form-note{font-size:12px;margin:18px 0 0}button:disabled{opacity:.65;cursor:wait}.builder-layout{display:grid;grid-template-columns:260px 1fr;gap:45px;align-items:start}.builder-sidebar{position:sticky;top:30px}.builder-sidebar ol{list-style:none;padding:0;counter-reset:steps}.builder-sidebar li{margin-bottom:8px}.builder-sidebar button{display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;font-size:13px;color:var(--t-warm);padding:10px 0}.builder-sidebar button span{border:1px solid var(--line);border-radius:50%;width:27px;height:27px;display:grid;place-items:center;font-size:11px}.builder-sidebar button[aria-current=step]{font-weight:700;color:var(--accent)}.builder-sidebar button[aria-current=step] span{background:var(--accent);color:#fff}.builder-sidebar button:disabled{cursor:default;opacity:.5}.builder-progress{height:4px;background:var(--line);border-radius:9px;margin-bottom:30px;overflow:hidden}.builder-progress div{background:var(--accent);height:100%;transition:width .3s}.builder-step{border:0;padding:0;margin:0;min-width:0}.builder-step legend{font-size:29px;font-weight:800;letter-spacing:-.03em;margin-bottom:12px}.builder-step>p{font-size:14px;margin-bottom:25px}.check-options{display:grid;gap:10px;margin-bottom:22px}.check-option{display:flex;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px 15px;font-weight:400;font-size:14px;align-items:flex-start}.check-option:has(input:checked){border-color:var(--accent);background:#f2faf7}.check-option .rating{margin-left:auto;font-size:10px}.builder-actions{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.policy-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);padding:35px;border-radius:var(--radius);font-family:var(--sans);font-size:14px;line-height:1.9;max-height:650px;overflow:auto;margin-top:30px}.review-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.review-summary div{border-bottom:1px solid var(--line);padding-bottom:12px}.review-summary dt{font-size:12px;color:var(--t-faint)}.review-summary dd{margin:5px 0 0;font-size:14px;overflow-wrap:anywhere}.download-bar{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}footer{border-top:1px solid var(--line);padding:65px 0 30px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-bottom:50px}.footer-top p{font-size:14px;max-width:43ch;margin-top:20px}.sibling{font-size:13px;color:var(--accent);text-decoration:none}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;align-content:start;font-size:13px}.footer-top nav a{text-decoration:none;color:var(--t-warm)}.footer-bottom{border-top:1px solid var(--line);padding-top:25px}.footer-bottom p{font-size:11px;max-width:95ch;color:var(--t-faint)}.footer-bottom>div{display:flex;gap:20px;font-size:11px;color:var(--t-faint)}.footer-bottom>div span{margin-right:auto}[hidden]{display:none!important}.empty-state{padding:35px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}@media(min-width:1500px){.hero{gap:110px}}@media(max-width:1000px){.hero{gap:35px}.policy-scene{padding:30px 25px 55px}.document{padding:25px}.grid-three{gap:16px}.card{padding:25px}.split{gap:40px}.header nav{gap:20px}.header-cta{padding:12px 18px}.builder-layout{grid-template-columns:200px 1fr;gap:30px}.teal-panel{padding:40px}}@media(max-width:760px){:root{--gutter:22px}.header-inner{min-height:90px;flex-wrap:wrap;padding-block:20px;gap:18px}.brand{font-size:21px}.header nav{order:3;width:100%;justify-content:space-between}.header-cta{font-size:11px;padding:10px 15px;gap:8px}.section{padding:75px 0}.section--tight{padding:65px 0}.hero{grid-template-columns:1fr;padding-top:60px;padding-bottom:65px;gap:45px}.hero h1{font-size:clamp(46px,10vw,68px);max-width:14ch}.policy-scene{max-width:500px;width:94%;margin:auto}.scene-badge{right:-12px}.stats-grid{grid-template-columns:1fr}.stat,.stat:first-child{padding:20px 0;border-right:0;border-bottom:1px solid var(--line);display:flex;gap:25px;align-items:center}.stat strong{min-width:100px;font-size:42px}.stat p{max-width:none;margin:0}.stats{padding-top:15px}.grid-three,.split,.footer-top{grid-template-columns:1fr}.section-heading{margin-bottom:35px}.steps{gap:35px}.step-number{margin-bottom:15px}.footer-top{gap:35px}.page-intro{padding-top:60px;padding-bottom:35px}.builder-layout{grid-template-columns:1fr;gap:20px}.builder-sidebar{position:static}.builder-sidebar ol{display:none}.builder-sidebar .notice{font-size:12px}.form-panel{padding:25px}.form-grid{grid-template-columns:1fr;gap:0}.review-summary{grid-template-columns:1fr}.filters label{flex:1;min-width:140px}.result-count{width:100%;margin:0}.teal-panel{padding:35px 28px}.footer-bottom>div{flex-wrap:wrap}.policy-preview{padding:22px}.hero-note{font-size:11px;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;transform:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{min-width:0}.tool-card .tool-meta{flex-wrap:wrap}.tool-card h2{overflow-wrap:anywhere}@media(min-width:761px)and (max-width:1000px){#tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.grid-three{grid-template-columns:1fr}}
