/* Shared Ridgeline identity and supporting-page layouts. */
body{margin:0;background:#F5F1EA;color:#0D1B2A;font-family:'Plus Jakarta Sans','FL Jakarta',RSJakarta,sans-serif}
.brand-header,.brand-footer{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#F5F1EA;color:#0D1B2A;padding:20px 28px;width:100%;font-family:'Plus Jakarta Sans',sans-serif}
.brand-header nav,.brand-footer nav{display:flex;gap:26px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto;font-size:13px;font-weight:600}
.brand-header a,.brand-footer a{text-decoration:none;color:inherit}.brand-header a:hover,.brand-footer a:hover{text-decoration:underline}
.brand-footer{min-height:116px;padding:32px 28px}.brand-footer p{font-size:11px;margin:0;line-height:1.7;color:#1B3A52}
.fl-brand-lockup{display:inline-flex;align-items:center;gap:14px;color:#0D1B2A;white-space:nowrap;text-decoration:none}
.fl-brand-mark{position:relative;display:block;width:86px;height:34px;overflow:hidden;flex:none}.fl-brand-mark img{position:absolute;width:144px!important;max-width:none!important;height:auto!important;left:-29px;top:-7px;border:0!important;border-radius:0!important}
.fl-brand-words{display:flex;flex-direction:column;line-height:1}.fl-brand-words strong{font-size:26px;font-weight:800;letter-spacing:-1.1px;line-height:1.1}.fl-brand-words span{font-size:15px;font-weight:400;letter-spacing:.4px;line-height:1.45;color:#2F5F7A}
.skip-link{position:absolute;left:20px;top:-100px;background:#F5F1EA;color:#0D1B2A;padding:12px;z-index:10}.skip-link:focus{top:10px}
body.legal-design{--bg:#F5F1EA;--ink:#0D1B2A;--sub:#1B3A52;--card:#EAE3D6;--accent:#2F5F7A;--stone:#625e56;background:#F5F1EA;color:#0D1B2A;padding:0}
.legal-design main,.legal-design>.container,.legal-design>.wrap{max-width:900px;width:auto;margin:0 auto;padding:68px 28px 80px;background:transparent;border:0;box-shadow:none;border-radius:0}
.legal-design h1{font-size:clamp(36px,5vw,56px);letter-spacing:-.045em;line-height:1.15;color:#0D1B2A}.legal-design h2{color:#0D1B2A;font-size:25px;letter-spacing:-.025em;margin-top:38px}.legal-design p,.legal-design li{line-height:1.8}.legal-design .eyebrow{color:#2F5F7A}.legal-design .feature-card,.legal-design .contact-box,.legal-design .faq-item{border-radius:5px;background:#EAE3D6}.legal-design .contact-box{background:#B5C4BA}.legal-design .legacy-footer{max-width:900px;margin:0 auto;padding:24px 28px;color:#1B3A52;background:transparent}.legal-design .legacy-footer a{color:#2F5F7A}.legal-design>svg{display:none}
body.utility-design{padding:0;background:#F5F1EA;color:#0D1B2A;font-family:'Plus Jakarta Sans',sans-serif}
.utility-design .sheet{max-width:none;width:auto;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
.utility-design .sheet-head{max-width:1088px;margin:36px auto 0;padding:0 28px;background:transparent;border:0;color:#2F5F7A;font-size:11px;letter-spacing:.14em}
.utility-design .hero{max-width:1088px;margin:0 auto;padding:48px 28px 76px;gap:64px;align-items:center;background:transparent}
.utility-design h1{font-size:clamp(48px,6vw,76px);font-weight:800;letter-spacing:-.055em;color:#0D1B2A;line-height:1.08}.utility-design .tag{font-size:25px;font-weight:700;line-height:1.3;margin-top:20px;color:#1B3A52}.utility-design .lead{font-size:16px;line-height:1.8;color:#1B3A52;max-width:520px}.utility-design .shot{padding:28px;background:#B5C4BA;border:0;border-radius:5px;box-shadow:none}.utility-design .shot>img{width:100%;border:0;border-radius:0;box-shadow:none}.utility-design .shot figcaption{font-size:10px;color:#1B3A52;margin-top:14px}.utility-design .gauge{display:none}.utility-design .chip{background:#EAE3D6;color:#1B3A52;border:0}
.utility-design .specs{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;padding:64px max(28px,calc((100% - 1032px)/2));background:#0D1B2A;border:0}.utility-design .spec{display:block;border:0;border-top:1px solid #52636c;padding:26px 0;background:transparent}.utility-design .spec>b{display:block;color:#E88B74;font-size:11px;letter-spacing:.15em;margin-bottom:16px}.utility-design .spec>span{color:#F5F1EA;font-size:14px;line-height:1.8}.utility-design .spec em{color:#B5C4BA}.utility-design .ghost{color:#0D1B2A}.utility-design .sheet-foot{display:none}
#rs-preview[data-product=cardsworth] .gallery-track{grid-template-columns:1fr}#rs-preview[data-product=cardsworth] .gallery-slide:not(:first-child){display:none}#rs-preview[data-product=cardsworth] .gallery-slide img{max-width:900px;width:100%}#rs-preview[data-product=cardsworth] .journey-grid{grid-template-columns:1fr}#rs-preview[data-product=cardsworth] .journey-card{display:grid;grid-template-columns:.7fr 1.3fr;gap:35px;padding:34px}#rs-preview[data-product=cardsworth] .journey-card img{max-width:100%;margin:0}#rs-preview[data-product=cardsworth] .journey-card p{min-height:0}#rs-preview[data-product=cardsworth] .privacy-grid{grid-template-columns:1fr 1fr}#rs-preview[data-product=cardsworth] .privacy img{width:100%;border:0;border-radius:0}
@media(max-width:760px){.brand-header,.brand-footer{flex-wrap:wrap;padding-left:20px;padding-right:20px}.brand-header nav{gap:18px}.utility-design .hero{gap:35px}.utility-design .specs{grid-template-columns:1fr;padding:40px 28px}#rs-preview[data-product=cardsworth] .journey-card,#rs-preview[data-product=cardsworth] .privacy-grid{grid-template-columns:1fr}}
@media(max-width:440px){.fl-brand-words strong{font-size:21px}.fl-brand-words span{font-size:13px}.fl-brand-lockup{gap:8px}.brand-header nav{font-size:12px}}

/* Utility refinement: larger product view, quiet outer-margin ridge, bounded footer. */
body.utility-design{min-height:100vh;display:flex;flex-direction:column}
.utility-design .brand-header,.utility-design .brand-footer{flex-shrink:0}
.utility-design .sheet{flex:1;display:flex;flex-direction:column;position:relative;isolation:isolate}
.utility-design .sheet-head{width:100%;max-width:1200px;flex-shrink:0}
.utility-design .hero{width:100%;max-width:1200px;position:relative;z-index:1;flex-shrink:0}
.utility-design .specs{flex:1;position:relative;z-index:1}
.utility-design .brand-footer{min-height:100px;padding-top:24px;padding-bottom:24px}
.utility-design .sheet::before{content:'';position:absolute;left:0;top:360px;width:max(180px,calc((100vw - 1200px)/2));height:280px;background:url('/assets/ridgeline/mountains.jpg') right bottom/auto 280px no-repeat;opacity:.3;pointer-events:none;mask-image:linear-gradient(to right,#000 50%,transparent)}
.utility-design[data-utility=dipstick] .shot{width:560px;max-width:52%;padding:18px}
.utility-design[data-utility=dipstick] .hero{gap:56px;padding-top:40px;padding-bottom:56px}
@media(max-width:1200px){.utility-design .sheet::before{display:none}}
@media(max-width:760px){.utility-design[data-utility=dipstick] .hero{flex-direction:column;gap:32px}.utility-design[data-utility=dipstick] .shot{width:100%;max-width:560px;padding:14px}.utility-design .brand-footer{gap:16px}}

/* Approved utility treatment shared by Dipstick, Shelf, and Summit Log. */
.utility-design .hero{gap:56px;padding-top:40px;padding-bottom:56px}
.utility-design .demo-col{flex:0 1 560px;width:560px;max-width:52%;min-width:0;padding:18px;background:#B5C4BA;border-radius:5px}
.utility-design .demo-wrap{max-width:none;width:100%}
.utility-design .demo-cap{color:#1B3A52;font-size:10px}
.utility-design[data-utility=summitlog] .sl{zoom:1.35;box-shadow:none}
@media(max-width:800px){.utility-design .hero{flex-direction:column;gap:32px}.utility-design .hero-copy{width:100%}.utility-design .demo-col,.utility-design[data-utility=dipstick] .shot{flex:0 1 auto;width:100%;max-width:560px;padding:14px}.utility-design[data-utility=summitlog] .sl{zoom:1}}
