
html{scroll-behavior:smooth;scroll-padding-top:24px}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #719d1c;outline-offset:5px}header nav{align-items:center}header nav a{padding:12px 0}header nav a:hover{color:#638517}.nav-login{border:1px solid #dce1d7;border-radius:12px;padding:11px 21px!important}.cta{border:0;color:var(--ink)}.secondary{display:inline-block;padding:17px 20px;border:1px solid #dce1d7;border-radius:14px;font-size:14px;font-weight:700;margin:18px 0 0 10px}.section{max-width:1500px;margin:0 auto;padding:65px 50px}.section h2{font-size:38px;letter-spacing:-1.5px;line-height:1.2;margin:0 0 15px}.lead{color:#69746e;font-size:16px;line-height:1.7;max-width:720px}.section-label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#608014;font-weight:800;margin-bottom:16px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.service-card{display:flex;flex-direction:column;position:relative;border:1px solid #e0e7d9;border-radius:26px;overflow:hidden;background:linear-gradient(135deg,#fff,#f2f6ed);box-shadow:inset 0 0 0 4px #ffffff9c,0 8px 22px #253a0d05;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 12px 35px #253a0d12}.service-copy{padding:25px 24px 5px;min-height:153px;z-index:1}.service-card h3{font-size:21px;letter-spacing:-.6px;margin:0 0 12px}.service-card p{font-size:13px;color:#647061;line-height:1.6;margin:0}.service-card img{width:100%;aspect-ratio:1.15;object-fit:cover;mix-blend-mode:multiply}.round-arrow{position:absolute;bottom:20px;right:20px;width:44px;height:44px;background:#ffffffe6;border:1px solid white;border-radius:50%;display:grid;place-items:center;font-size:25px;box-shadow:0 4px 16px #21300012}.process{border:1px solid #e0e7d7;border-radius:30px;padding:38px;background:linear-gradient(125deg,#fafcf7,#f0f5e8 60%,#fff);box-shadow:inset 0 0 0 5px #ffffffaa}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.step{background:#ffffffcf;border:1px solid #e1e7d9;border-radius:21px;padding:27px}.step-number{width:37px;height:37px;display:grid;place-items:center;background:var(--lime);border-radius:50%;font-weight:800;margin-bottom:22px}.step h3{font-size:19px;margin:0 0 13px;letter-spacing:-.5px}.step p{font-size:14px;line-height:1.7;color:#667060;margin:0}.contacts{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.contact-links{display:grid;gap:14px;margin-top:28px;font-size:21px;font-weight:650}.map-wrap{border:1px solid #e0e7d7;border-radius:24px;overflow:hidden;background:#f4f7f0}.map-wrap iframe{border:0;width:100%;height:320px;display:block}.map-caption{display:flex;justify-content:space-between;padding:13px 18px;font-size:12px;background:white;color:#65725e}.footer{background:#8a9b9f;color:#17262c;padding:40px 50px;margin-top:40px}.footer-inner{max-width:1400px;margin:auto;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer img{width:230px}.footer p{color:#c4cbd0;font-size:12px;line-height:1.8}.footer-links{display:flex;gap:25px;font-size:13px;align-items:start;flex-wrap:wrap}.review-tools{max-width:1500px;margin:0 auto;padding:0 50px}.review-tools summary{font-size:12px;color:#7a8370;cursor:pointer}.review-tools .controls{margin:15px 0}.review-tools .note{margin:12px 0;padding:0}.partner-hero{padding:95px 0 40px;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.partner-hero h1{font-size:56px;line-height:1.12;letter-spacing:-2.5px;margin:0 0 24px}.partner-hero img{width:100%;border-radius:28px}.partner-hero p{font-size:17px;line-height:1.7;color:#6a7565}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.ranking{background:#f7f9f3;border:1px solid #e0e7d7;border-radius:24px;padding:15px 25px}.ranking-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:14px;padding:20px 0;border-bottom:1px solid #dfe6d6;font-size:14px}.ranking-row:last-child{border:0}.rank{color:#859171}.score{color:#54780f;font-weight:800}.footnote{font-size:12px;line-height:1.7;color:#76816c}.faq details{border-bottom:1px solid #dfe5d7;padding:22px 0}.faq summary{font-size:18px;font-weight:700;cursor:pointer}.faq p{color:#66705e;line-height:1.8;font-size:14px;max-width:850px}.application{padding:35px;background:#f2f6eb;border:1px solid #dce6cd;border-radius:25px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields label{display:flex;flex-direction:column;gap:8px;font-size:13px}.fields input,.fields select,.fields textarea{width:100%;font:inherit;background:white;border:1px solid #d6deca;border-radius:10px;padding:13px;color:#17232c}.fields .wide{grid-column:1/-1}.form-status{font-size:14px;color:#527311;line-height:1.7}.form-demo{font-size:12px;color:#728065;margin-top:16px}.shell{min-height:0}.site-body{background:white}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,1fr)}.steps{gap:12px}.step{padding:20px}.contacts,.split{gap:30px}.partner-hero{gap:30px}.partner-hero h1{font-size:43px}}
@media(max-width:720px){header{flex-wrap:wrap;gap:18px}header nav{display:flex;flex-wrap:wrap;gap:8px 18px;width:100%;font-size:12px}.nav-login{margin-left:auto}header nav a{padding:8px 0}.section{padding:42px 20px}.section h2{font-size:29px;letter-spacing:-1px}.service-grid{gap:12px}.service-copy{padding:18px 14px 0;min-height:156px}.service-card{border-radius:19px}.service-card h3{font-size:17px}.service-card p{font-size:12px}.round-arrow{width:34px;height:34px;right:10px;bottom:10px}.process{padding:23px 18px}.steps,.contacts,.split,.partner-hero{grid-template-columns:1fr}.step{padding:22px}.step-number{margin-bottom:15px}.contacts{gap:25px}.footer{padding:30px 20px}.footer-links{gap:18px}.review-tools{padding:10px 20px}.secondary{margin-left:0;margin-right:10px}.partner-hero{padding:45px 0 10px}.partner-hero h1{font-size:39px;letter-spacing:-1.5px}.partner-hero img{max-height:280px;object-fit:cover}.fields{grid-template-columns:1fr}.application{padding:25px 20px}.ranking{padding:8px 15px}.ranking-row{font-size:12px;gap:8px;grid-template-columns:20px 1fr auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}
/* Shared navigation: logo left, primary links and account action right. */
html{scroll-padding-top:120px}
.site-header{position:sticky;top:0;z-index:100;display:block;width:100%;background:rgba(255,255,255,.97);border-bottom:1px solid #e8ece3;backdrop-filter:blur(14px)}
.header-inner{width:100%;max-width:1600px;min-height:112px;margin:0 auto;padding:20px 50px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.site-header .brand{flex:0 0 auto}
.site-header .brand img{width:280px;max-width:100%;display:block}
.site-header nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:32px;margin-left:auto;width:auto;white-space:nowrap;font-size:16px;font-weight:600}
.site-header nav a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 0;line-height:24px}
.site-header .nav-login{margin-left:8px;min-width:210px;min-height:58px;padding:16px 20px!important;border:1px solid var(--lime);border-radius:14px;background:var(--lime);color:var(--ink);font-weight:800}
.site-header .nav-login:hover{background:#96c825;border-color:#96c825;color:var(--ink)}
.nav-toggle{display:none}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-actions .cta,.hero-actions .secondary{display:flex;align-items:center;justify-content:center;width:210px;min-height:58px;margin:0;padding:16px 20px;font-size:15px;line-height:24px;border:1px solid transparent;border-radius:14px}
.hero-actions .secondary{border-color:#dce1d7;background:transparent}
.service-card img{mix-blend-mode:normal;aspect-ratio:1;object-fit:cover}
.account-preview{min-height:65vh}
@media(max-width:1150px){.header-inner{padding:18px 30px;gap:24px}.site-header .brand img{width:210px}.site-header nav{gap:18px;font-size:14px}.site-header .nav-login{min-width:174px;padding:12px 18px!important;margin-left:0}}
@media(max-width:960px){
html{scroll-padding-top:90px}
.header-inner{min-height:80px;padding:14px 20px;gap:16px;flex-wrap:nowrap;position:relative}
.site-header .brand img{width:200px}
.nav-toggle{display:flex;gap:12px;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;border:1px solid #dce1d7;border-radius:12px;background:white;color:var(--ink);font-size:14px;margin-left:auto}
.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;padding:16px 20px 24px;margin:0;background:white;border-bottom:1px solid #e8ece3;box-shadow:0 14px 24px #17232c0d;white-space:normal}
.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.site-header nav a{justify-content:flex-start;min-height:48px;padding:12px 16px;font-size:16px;border-radius:12px}
.site-header .nav-login{justify-content:center;margin:8px 0 0}
.hero-actions{gap:10px}.hero-actions .cta,.hero-actions .secondary{width:calc(50% - 5px);font-size:13px;padding:14px 8px;min-height:54px}
}

/* Category action below each photograph, linked to its questionnaire. */
.service-cta{display:flex;align-items:center;justify-content:center;min-height:52px;margin:18px 20px 20px;padding:12px 16px;border-radius:14px;background:var(--lime);color:var(--ink);font-size:14px;line-height:24px;font-weight:800;text-align:center}
.service-card:hover .service-cta{background:#96c825}
@media(max-width:720px){.service-cta{margin:12px;min-height:48px;padding:10px 6px;font-size:12px}}
/* Rating directory follows the existing white/lime design. */
.hero-actions{gap:10px}.hero-actions .cta,.hero-actions .secondary{width:auto;min-width:160px;padding:16px;font-size:14px}
.rating-intro h1{font-size:48px;letter-spacing:-1.8px;line-height:1.15;margin:0 0 22px}
.rating-intro{padding-top:64px}.rating-intro .lead{max-width:830px}
.rating-scroll{overflow-x:auto;border:1px solid #e0e7d7;border-radius:20px;margin-top:24px;background:#fff}
.rating-scroll:focus-visible{outline:3px solid #719d1c;outline-offset:4px}
.rating-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.5;min-width:1080px}
.rating-table th,.rating-table td{padding:18px 15px;border-bottom:1px solid #e8ece4;vertical-align:middle}
.rating-table thead th{background:#f5f7f1;color:#56624e;font-size:12px;font-weight:700;white-space:nowrap}
.rating-table tbody th{font-size:14px;font-weight:800;min-width:195px}
.rating-table tbody tr:last-child>*{border-bottom:0}
.rating-table tbody tr:hover{background:#fafbf7}
.rating-table a{color:#3f5b25;text-decoration:underline;text-underline-offset:4px}
.rating-score{font-weight:800;white-space:nowrap}.trend{color:#56770d;display:inline-block;margin-left:8px;font-size:18px}.trend.down{color:#667b88}
.rating-table .demo-cell{background:#edf6db;color:#395312;white-space:nowrap;font-weight:700}
.demo-cell small{display:block;font-size:10px;font-weight:500;color:#526d2a;margin-top:4px}
.demo-legend{font-size:13px;line-height:1.7;color:#5a6652;max-width:950px;margin:22px 0}
.demo-marker{display:inline-block;background:#edf6db;color:#395312;border:1px solid #bdd493;border-radius:6px;padding:1px 8px;margin-right:6px;font-weight:700}
.missing{color:#788174;font-size:12px}.rating-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.rating-actions .cta,.rating-actions .secondary{margin:0;min-height:54px;display:flex;align-items:center;justify-content:center;font-size:14px}
.method-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;font-weight:700}
.formula-card{background:#f3f7ed;border:1px solid #dfe7d4;border-radius:24px;padding:32px;margin:30px 0 42px}.formula-card p{max-width:900px;line-height:1.8;font-size:15px;color:#52604a}.formula-card .formula-title{font-weight:800;color:#17232c}.formula{font-size:clamp(20px,3vw,36px);font-weight:700;overflow-wrap:anywhere;letter-spacing:.3px}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.method-grid article{padding:24px;border:1px solid #e0e7d7;border-radius:18px;background:white}.method-grid h3{font-size:17px;margin:14px 0 12px}.method-grid p{font-size:14px;line-height:1.75;color:#62705b;margin:0}.method-number{font-size:12px;color:#4f7111;font-weight:800}.method-note{border-left:3px solid #a4d52d;padding:12px 24px;margin-top:32px;max-width:980px;font-size:14px;line-height:1.8;color:#58644f}
.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}
@media(max-width:1000px){.method-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.hero-actions .cta,.hero-actions .secondary{width:100%;min-width:0}.rating-intro h1{font-size:35px}.method-grid{grid-template-columns:1fr}.formula-card{padding:22px}.rating-table th,.rating-table td{padding:14px 12px}.rating-actions>a{width:100%}}
.table-hint{display:none}@media(max-width:1150px){.table-hint{display:block;color:#62705b;font-size:12px;line-height:1.6;margin-top:20px}}
/* Fixed score and trend tracks keep every indicator in the same column. */
.score-layout{display:inline-grid;grid-template-columns:5.5ch 24px;gap:12px;align-items:center;font-variant-numeric:tabular-nums}
.score-value{text-align:right}
.rating-score .trend,.trend-legend .trend{display:inline-flex;align-items:center;justify-content:center;width:24px;margin:0;font-size:21px;line-height:1;font-weight:600}
.trend.up{color:#56770d}.trend.down,.trend.unchanged{color:#667b88}
.trend-legend{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;font-size:13px;line-height:1.6;color:#596553;margin:18px 0}
.trend-legend>span{display:inline-flex;align-items:center;gap:6px}.trend-legend small{font-size:12px;flex-basis:100%;color:#62705b}
