/* Presentation shared by the campaign pages, home and archives. */
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(inter-latin-ext-wght-normal.woff2) format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(inter-latin-wght-normal.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {
    --ink: #10263c;
    --paper: #fbf8f1;
    --blue: #145e87;
    --gold: #f4c946;
    --line: #d4dcd9;
    --muted: #435b69;
    --wash: #f1f4f3;
    --deep: #0e293e;
    --page: 1400px;
}
body {background: #fff; color: var(--ink); font-weight: 450}
h1,h2,h3 {font-family: Inter,Manrope,sans-serif; font-weight: 780}
.wrap {width: min(91%,var(--page))}
.eyebrow {color: var(--blue); font-weight: 800; letter-spacing: .14em; font-size: .72rem}
.btn,.kfo-form button {min-height: 46px; border: 1px solid var(--gold); border-radius: 4px; background: var(--gold); color: #102439; font-weight: 800; font-size: 15px; padding: 13px 22px}
.btn:hover,.kfo-form button:hover {background: #ffdb68; color: #071d32; border-color: #d4ab36}
.text-link,.watch,.reading a {color: var(--blue); text-underline-offset: .26em}
.site-bar {border-bottom: 1px solid #e4e9e7; background: white}
.mast {min-height: 85px; border: 0; gap: 24px}
.mast .brand {gap: 10px; flex-shrink: 0}
.brand img {width: 56px}
.brand .brand-name {display: block; font-family: Inter,Manrope,sans-serif; font-size: 19px; font-weight: 780; letter-spacing: .20em; line-height: 1.15}
.brand small {display: block; margin-top: 6px; font-size: 10px; letter-spacing: .024em; color: var(--muted)}
.mast .topnav {transform: none; margin-left: auto; gap: clamp(13px,1.6vw,27px); font-size: 14px; font-weight: 710}
.mast .topnav a[aria-current="page"] {text-decoration: underline 2px var(--gold); text-underline-offset: 7px}
.mast .nav-cta {background: white; border-color: #a4b4bc; color: var(--ink); border-radius: 7px; font-size: 14px; padding: 12px 16px; min-height: 43px}
.mast .nav-cta:hover {border-color: var(--ink); background: var(--paper)}
.site-foot {background: var(--deep); color: #f3f7f6}
.site-foot .foot {padding: 46px 0; border: 0; display: grid; grid-template-columns: 1.2fr 1fr 1fr; justify-content: normal}
.site-foot .foot p,.site-foot .foot small {color: #ccd7db}
.site-foot .foot a:hover {color: #f3d477}
.site-foot h2 {font-size: 17px; margin: 2px 0 14px}
.site-foot .legal {border-top: 1px solid #ffffff32; padding: 15px 0 25px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; font-size: 13px; color: #d3dfe1}
.legal nav {display: flex; flex-wrap: wrap; gap: 18px}
.inner {padding-inline: 0}
.crumb {font-size: 13px}
.cards {gap: 34px 27px}
.card {border-bottom: 1px solid var(--line)}
.card-pic {border-radius: 4px}
.blog-count,.blog-cards time {font-size:13px;color:var(--muted)}
.blog-cards time {display:block;margin-top:14px}
.blog-cards {margin-top:20px}
.catalog-filter {background:var(--paper);padding:18px clamp(14px,2vw,28px);border-block:1px solid var(--line)}
.kfo {background: var(--paper); border: 1px solid #e0e1db}
:focus-visible {outline-color: #8b5b00}
@media(max-width:980px) {
    .mast {flex-wrap: wrap; gap: 12px; padding-block: 9px; min-height: 66px}
    .brand img {width: 43px}
    .brand .brand-name {font-size: 16px}
    .mast .nav-cta {margin-left: auto}
    .mast .topnav {width: 100%; order: 4; padding: 18px 0; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 16px 25px; font-size: 16px}
    .kf-js .menu-toggle {order: 3; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 9px 4px; min-height: 42px; background: transparent; color: var(--ink); border: 0; font-size: 14px; font-weight: 700}
    .kf-js .menu-toggle[aria-expanded="false"]+.topnav {display: none}
}
@media(max-width:700px) {
    .wrap {width: 90%}
    .site-foot .foot {grid-template-columns: 1fr 1fr; gap: 22px}
    .site-foot .foot>div:first-child {grid-column: 1/-1}
    .mast .nav-cta {font-size: 12px; min-height: 40px; padding: 9px 10px}
    .mast .brand {gap: 5px}
    .brand small {font-size: 8px}
    .brand .brand-name {font-size: 14px; letter-spacing: .12em}
}
@media(max-width:390px) {
    .mast {gap: 6px}
    .mast .nav-label {display: none}
    .mast .nav-label-short {display: inline}
    .brand img {width: 38px}
}
@media(max-width:600px) {
    .mast.wrap {width:94%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 8px;min-height:64px}
    .mast .brand {grid-row:1;grid-column:1;min-width:0;gap:5px}
    .mast .brand img {width:35px;height:35px}
    .mast .brand-name {font-size:13px;letter-spacing:.09em}
    .mast .brand small {display:none}
    .mast .nav-cta {grid-column:2;grid-row:1;margin:0;min-height:42px;padding:8px 9px}
    .mast .nav-cta .nav-label,.mast .nav-cta .arr {display:none}
    .mast .nav-cta .nav-label-short {display:inline}
    .kf-js .mast .menu-toggle {grid-column:3;grid-row:1;padding-inline:4px;min-height:44px}
    .mast .topnav {grid-row:2;grid-column:1/-1}
}
@media(prefers-reduced-motion:no-preference) {
    html:focus-within {scroll-behavior: smooth}
}
.kf-brand-text { white-space: nowrap; }
.kf-collection-hero {
    position: relative;
    isolation: isolate;
    padding-bottom: clamp(30px,3.4vw,56px);
    margin-bottom: 28px;
}
.kf-collection-hero::before {
    content: ""; position: absolute; inset: -42px 0 0;
    z-index: -1; background: #f8f5ed;
    box-shadow: 0 0 0 100vmax #f8f5ed;
    clip-path: inset(0 -100vmax);
}
.kf-collection-hero .crumb { margin-bottom: clamp(18px,2.7vw,42px); }
.kf-collection-grid { display: grid; grid-template-columns: 1.16fr 1fr; align-items: center; gap: clamp(32px,5vw,88px); }
.kf-collection-copy h1 { margin: .16em 0 .32em; font: 760 clamp(36px,4.5vw,74px)/1.06 Inter,Manrope,sans-serif; letter-spacing: -.06em; }
.kf-collection-copy .intro { max-width: 53ch; margin: 0; font-size: clamp(16px,1.25vw,20px); line-height: 1.6; color: #3e5262; }
.kf-collection-copy .text-link { display:inline-flex; gap: 8px; margin-top: 12px; }
.kf-collection-photo { position:relative; }
.kf-collection-photo img { display:block; width:100%; aspect-ratio:2 / 1; height:auto; object-fit:cover; border-radius:3px; }
.kf-collection-photo::before { content:""; position:absolute; left:-7px; top:9%; height:26%; width:3px; background:#c29a51; }
@media(max-width:760px) {
    .kf-collection-grid { grid-template-columns: 1fr; gap: 22px; }
    .kf-collection-photo img { max-height: 250px; aspect-ratio: 2.3; }
    .kf-collection-hero { margin-bottom: 21px; }
}
.kf-brand-text > .kf-reg {
    position: relative;
    top: -.65em;
    vertical-align: baseline;
    margin-inline-start: .035em;
    font: italic 600 .55em/0 Arial, sans-serif;
    letter-spacing: 0;
}
