/* Site refinement: Impeccable visual polish + Vercel interface checks, 2026-11-05. */
:root{--refine-focus:#135d74;--refine-ink:#243c36;--refine-accent:#315e4e;--refine-surface:#f2f4ef}
html{scroll-padding-top:24px}
.refine-skip{position:fixed;top:12px;left:12px;z-index:2147483000;padding:12px 18px;background:#fff;color:#173e49;border:2px solid #173e49;border-radius:6px;transform:translateY(-160%);font:600 16px/1.4 system-ui,sans-serif;text-decoration:none}
.refine-skip:focus{transform:translateY(0)}
body :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--refine-focus);outline-offset:4px}
body :where(button,input,select,textarea){font:inherit}
body :where(button,a,input,select,summary){touch-action:manipulation}
body ::selection{background:#d8e8e2;color:#173a30}
body :where(main,article,.r-results,.cnl-card-copy,.eri-list li){min-width:0}
body :where(main h1,main h2,main h3,.r-wordmark){overflow-wrap:break-word;text-wrap:balance}
body :where(main p,main li){overflow-wrap:break-word}
body :where(input,textarea){caret-color:var(--refine-focus)}
.refine-table{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin-block:24px}
.refine-table table{margin:0!important;min-width:480px}
.refine-table:focus-visible{outline:3px solid var(--refine-focus);outline-offset:3px}
.refine-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Existing directory identities and photography remain intact. */
.refresh-site .r-hero h1{letter-spacing:-.025em;line-height:1.06;max-width:17ch;font-size:clamp(2.4rem,4.3vw,4.5rem)}
.refresh-site .r-lead{font-size:clamp(1rem,1.15vw,1.125rem);line-height:1.75;max-width:58ch;margin-block:22px 28px}
.refresh-site .r-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:12px 20px;line-height:1.35;text-decoration:none;transition:background-color .18s ease,color .18s ease}
.refresh-site .r-button:hover{filter:brightness(.91)}
.refresh-site .r-section-heading{align-items:flex-end;gap:20px;margin-bottom:26px}
.refresh-site .r-section-heading h2{font-size:clamp(1.65rem,2.5vw,2.25rem);line-height:1.2;max-width:29ch;margin:0}
.refresh-site .refine-directory-help{max-width:64ch;color:var(--r-ink,#364b45);font-size:15px;line-height:1.65;margin:12px 0 0}
.refresh-site .r-filters button{min-height:44px;padding-block:11px;line-height:1.4;text-align:left}
.refresh-site .r-tools{align-items:center;gap:16px;flex-wrap:wrap}
.refresh-site .r-tools label{display:inline-flex;gap:8px;align-items:center;line-height:1.5}
.refresh-site .r-tools select,.refresh-site #savedOnly{min-height:44px;background:var(--r-paper,#fff);color:inherit;padding:8px 10px}
.refresh-site #resultCount{font-variant-numeric:tabular-nums;font-size:14px;line-height:1.5;margin:0}
.refresh-site .r-card h3{line-height:1.25;margin-top:10px;overflow-wrap:anywhere}
.refresh-site .r-card-copy>p{font-size:15px;line-height:1.65;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.refresh-site .r-card-links{gap:12px;flex-wrap:wrap;margin-top:18px}
.refresh-site .r-card-links a{min-height:40px;display:inline-flex;align-items:center;text-underline-offset:4px}
.refresh-site .r-save{width:44px;height:44px;display:grid;place-items:center;background:#fff;color:#1d4237;border:1px solid #a8b7ac;border-radius:50%;padding:11px;box-shadow:0 3px 10px #17392c12}
.refresh-site .r-save svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7}
.refresh-site .r-save[aria-pressed="true"]{background:#254c3e;color:#fff;border-color:#254c3e}
.refresh-site .r-save[aria-pressed="true"] svg{fill:currentColor}
.refresh-site .r-empty{padding:40px 24px;border:1px solid #c9d2c9;text-align:left;grid-column:1/-1}
.refresh-site .r-empty p{max-width:56ch;line-height:1.7}
.refresh-site .r-empty button,.refresh-site #loadMore{min-height:46px;padding:12px 20px;cursor:pointer}
.refresh-site #mainNav a,.refresh-site #menuButton{min-height:44px;align-items:center}
.refresh-site #mainNav a{display:inline-flex}
.refresh-site #searchForm input{font-size:16px;min-width:0;min-height:44px}
.refresh-site #searchForm button{min-height:44px}
.refresh-site .r-card img{background:#eff1eb}
/* Editorial pages: less unused masthead space, stronger reading hierarchy. */
body.cnl-active .td-header-sp-logo{padding-top:16px!important;padding-bottom:16px!important}
body.cnl-active .td-header-style-7 .td-header-sp-logo{min-height:140px}
body.cnl-active .cnl-home-intro{padding-top:42px;padding-bottom:30px}
body.cnl-active .cnl-home-intro h1,body.cnl-active .cnl-home-intro h2{font-size:clamp(2.25rem,4.1vw,3.65rem);line-height:1.09;letter-spacing:-.022em;max-width:23ch}
.refine-home-lead{max-width:70ch;color:var(--cnl-muted,#535d57);font-size:17px;line-height:1.75;margin:18px 0 0}
.refine-home-actions{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;margin-top:22px}
.refine-home-actions a{display:inline-flex;align-items:center;min-height:44px;font:600 14px/1.4 Arial,sans-serif;text-underline-offset:5px;color:var(--cnl-ink,#213d36)}
.refine-home-actions a:first-child{background:var(--cnl-ink,#213d36);color:#fff;padding:11px 18px;text-decoration:none;border-radius:4px}
.refine-home-actions a:first-child:hover{background:var(--refine-focus)}
body.cnl-active .cnl-card-row h3{font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.27}
body.cnl-active .cnl-card-copy p{line-height:1.7}
body.cnl-active .cnl-card-lead h3{font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.15}
body.cnl-active .cnl-card-category{color:var(--cnl-ink);text-decoration:underline;text-decoration-color:var(--cnl-rule);text-underline-offset:4px;line-height:1.6}
body.cnl-active .cnl-card-lead .cnl-card-category{color:#fff}
body.cnl-active .cnl-section-heading h2{line-height:1.2}
body.cnl-active .cnl-article-content{font-size:18px;line-height:1.85;max-width:75ch}
body.cnl-active .cnl-article-content :where(h2,h3){margin-top:1.8em;line-height:1.3}
body.cnl-active .cnl-article-content :where(a){text-decoration:underline;text-underline-offset:3px}
body.cnl-active .cnl-article-content img{max-width:100%;height:auto}
body.cnl-active .cnl-section-heading>p,body.cnl-active .cnl-section-heading>div>p{display:none}
/* Shopping portal: clear search and legible cards; no external font dependency. */
body.refine-portal{--refine-focus:#ffcf70;--refine-ink:#123d43;font-family:Arial,Helvetica,sans-serif}
.refine-portal .portal-intro{padding-block:38px}
.refine-portal .portal-intro h1{font-size:clamp(2rem,3.8vw,3.4rem);line-height:1.12;letter-spacing:-.025em;max-width:21ch}
.refine-portal .portal-intro p{font-size:16px;line-height:1.7;max-width:65ch}
.refine-portal :where(.portal-search,.site-search) input{min-height:46px;font-size:16px;min-width:0}
.refine-portal :where(.portal-search,.site-search) button{min-height:46px;padding-inline:20px;background:#be432d;color:#fff}
.refine-portal .nav-toggle{width:46px;height:46px}
.refine-portal :where(.portal-section-head h2,.home-block h2){line-height:1.25}
.refine-portal :where(.brand-card,.coupon-card) p{line-height:1.65}
.refine-portal a:focus-visible{outline-color:#176778}
.refine-portal .portal-intro a:focus-visible,.refine-portal .topbar a:focus-visible{outline-color:#ffd589}
.refine-portal .refine-directory-help{margin-top:12px}
/* Footwear reading guide. */
.eri-page .eri-main{padding-top:42px}
.eri-page .eri-main>h1{letter-spacing:-.022em;line-height:1.13;max-width:23ch}
.eri-page .eri-lead{max-width:70ch;line-height:1.85;font-size:18px}
.eri-page .eri-topics a{min-height:44px;display:inline-flex;align-items:center;padding:8px 16px;background:#f6f7f2}
.eri-page .eri-list li{padding-block:28px}
.eri-page .eri-list p{line-height:1.75}
.eri-page .eri-list h3 a:hover{text-decoration:underline}
.eri-page .eri-article{line-height:1.85}
.eri-page .eri-article :where(h2,h3){margin-top:1.8em}
/* Service site: improve form clarity without changing the referral workflow. */
.refine-service{--refine-focus:#134f78}
.refine-service .hero-home h1{line-height:1.1;letter-spacing:-.025em}
.refine-service .hero-content>p{line-height:1.75;max-width:65ch}
.refine-service .request-section :where(input,select,textarea){min-height:46px;font-size:16px;line-height:1.5}
.refine-service .request-section label>span{font-weight:600;line-height:1.5}
.refine-service .request-section textarea{min-height:110px}
.refine-service .request-section button{min-height:48px;line-height:1.4}
.refine-service .request-section :where(input,select,textarea):focus{outline:3px solid #1b638f;outline-offset:2px}
.refine-service .faq-section summary{min-height:48px;padding-block:14px;line-height:1.5}
@media(max-width:760px){
 .refresh-site .r-hero{margin-top:24px}
 .refresh-site .r-hero h1{font-size:clamp(2.3rem,9vw,3.2rem)}
 .refresh-site .r-lead{font-size:16px;line-height:1.75}
 .refresh-site .r-intro-copy{padding:28px 22px}
 .refresh-site .r-section-heading{display:block}
 .refresh-site .r-section-heading>a{display:inline-flex;align-items:center;min-height:44px;margin-top:8px}
 .refresh-site .r-tools>div{display:flex;flex-wrap:wrap;gap:8px 14px;width:100%}
 .refresh-site .r-tools label{flex:1 1 140px;justify-content:space-between}
 .refresh-site .r-tools select{max-width:180px}
 .refresh-site .r-tools #savedOnly{flex:0 0 auto}
 .refresh-site .r-filters{justify-content:flex-start;min-width:0;gap:8px;scroll-padding-inline:16px;overscroll-behavior-x:contain}
 .refresh-site .r-filters button{flex-shrink:0;font-size:14px;white-space:nowrap}
 .refresh-site .r-card-copy>p{font-size:15px;-webkit-line-clamp:3}
 .refresh-site .r-card-links a{min-height:44px}
 body.cnl-active .cnl-home-intro{padding-top:28px;padding-bottom:24px}
 body.cnl-active .cnl-home-intro h1,body.cnl-active .cnl-home-intro h2{font-size:clamp(2rem,8.5vw,2.85rem)}
 .refine-home-lead{font-size:16px;line-height:1.75}
 .refine-home-actions{gap:6px 18px;margin-top:18px}
 body.cnl-active .cnl-lead-grid{padding-top:24px;gap:24px}
 body.cnl-active .cnl-card-lead .cnl-card-copy{left:22px;right:22px;bottom:24px}
 body.cnl-active .cnl-article-content{font-size:17px;line-height:1.8}
 .refine-portal .portal-intro{padding-block:28px}
 .refine-portal .portal-intro h1{font-size:2rem}
 .refine-portal .portal-search{width:100%}
 .refine-portal .portal-intro-inner{gap:20px}
 .refine-portal .portal-intro p{font-size:15px}
 .eri-page .eri-main{padding-top:30px}
 .eri-page .eri-main>h1{font-size:clamp(2rem,9vw,2.9rem)}
 .eri-page .eri-lead{font-size:17px}
 .eri-page .eri-header nav{gap:14px;flex-wrap:wrap}
 .eri-page .eri-header nav a{min-height:44px;display:inline-flex;align-items:center}
 .refine-service .hero-home h1{font-size:clamp(2rem,8.6vw,2.9rem)}
 .refine-service .hero-content>p{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 body :where(.r-card,.r-card img,.cnl-card-media img,.r-button,.refine-home-actions a){transition:none!important;animation:none!important;transform:none!important}
}
@media(forced-colors:active){body :where(a,button,input,select,textarea):focus-visible{outline:3px solid Highlight}.refine-home-actions a:first-child{border:1px solid ButtonText}.refresh-site .r-save{border:1px solid ButtonText}}

/* The old GenerateBlocks homepage duplicates the active editorial home. Keep its content, but show one homepage. */
body.home.cnl-variant-productivity #page > section.gb-element-cb16aa20{display:none}

@media(max-width:600px){
 body.cnl-active .cnl-section-heading-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px}
 body.cnl-active .cnl-section-heading-row>div{min-width:0;max-width:100%}
 body.cnl-active .cnl-section-heading-row>a{max-width:100%;min-height:44px;display:inline-flex;align-items:center;line-height:1.5}
 body.cnl-active .td-search-wrap-mob input{box-sizing:border-box;width:100%;max-width:100%}
}
