@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-400-sub.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
/* L111 layout: editorial, lots of white and sky blue, a squeegee cutting through soap in the hero */
*{box-sizing:border-box}
body{margin:0;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.foot{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding-block:26px;font-size:14px}
:root{--sky:#e3f2fb;--sky-2:#b9dcf1;--deep:#0b4a74;--ink:#13212c;--muted:#4d5d69;--white:#fff;
--head:"Instrument Serif",Georgia,serif;--body:"Inter",ui-sans-serif,system-ui,sans-serif}
body{background:var(--white);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:18px;border-bottom:1px solid var(--ink)}
.logo{font-family:var(--head);font-size:34px;line-height:1;color:var(--deep)}
.logo small{display:block;font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.nav{display:flex;gap:28px;font-size:15px}
.call{display:flex;align-items:center;gap:18px}
.num{font-weight:600;font-size:17px}
.btn{display:inline-block;background:var(--deep);color:var(--white);font-weight:600;font-size:15px;padding:13px 22px;border-radius:99px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding-block:56px 72px}
.k{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.k span{color:var(--deep);border:1px solid var(--deep);padding:3px 8px;margin-right:10px;border-radius:99px}
h1{font-family:var(--head);font-weight:400;font-size:clamp(60px,7.6vw,120px);line-height:.9;letter-spacing:-.01em}
h1 em{display:block;color:var(--deep)}
.lede{font-size:18px;color:var(--muted);margin:26px 0 30px;max-width:36ch}
.photo img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:40% 50%;border-radius:4px}
.photo figcaption{font-family:var(--head);font-style:italic;font-size:19px;color:var(--muted);margin-top:10px}
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-block:56px;border-top:1px solid var(--ink)}
.n{font-family:var(--head);font-size:44px;line-height:1;color:#3a7aa5}
h2{font-family:var(--head);font-weight:400;font-size:clamp(34px,3.4vw,46px);line-height:1;margin:10px 0 12px}
.cols p{font-size:16px;color:var(--muted)}
.often{background:var(--sky)}
.often-in{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;padding-block:72px}
.often img{border-radius:4px}
dl{margin-top:18px;border-top:1px solid var(--ink)}
dl div{display:flex;justify-content:space-between;gap:20px;padding-block:14px;border-bottom:1px solid rgba(19,33,44,.25)}
dt{font-weight:600}dd{margin:0;color:var(--muted);text-align:right}
.foot{color:var(--muted);border-top:1px solid var(--ink)}
@media (max-width:1000px){.nav{display:none}}
@media (max-width:900px){
 .logo{font-size:28px}
 .call .btn{display:none}.num{background:var(--deep);color:var(--white);padding:7px 14px;border-radius:99px}
 .hero{grid-template-columns:1fr;gap:28px;padding-block:28px 48px}
 .photo{order:-1}.photo img{aspect-ratio:4/3}
 h1{font-size:64px}
 .cols{grid-template-columns:1fr;gap:28px;padding-block:40px}
 .often-in{grid-template-columns:1fr;gap:28px;padding-block:48px}
 dl div{flex-direction:column;gap:2px}dd{text-align:left}
}
