/* Editorial typography: a readable scale shared by all primary actions. */
:root{--muted:#655d5d;--action-size:17px;--action-height:60px}
body{font-size:18px;line-height:1.65;color:#292528}
h1,h2,h3{font-family:Manrope,sans-serif;font-weight:700;letter-spacing:-.045em}
h2{font-size:clamp(38px,3.8vw,56px);line-height:1.15;margin:18px 0 28px}
h3{font-size:28px;line-height:1.25}
.sectionlead{font-size:19px;line-height:1.7;color:var(--muted)}
.eyebrow,.card .label,.status-label{font-size:13px;font-weight:600;line-height:1.55;letter-spacing:.085em;color:#95684f}
.brand{font-size:26px;font-weight:700;letter-spacing:-1.1px}
.brandmark{width:34px;height:38px}
nav{min-height:104px}
.navlinks{font-size:15px;gap:25px}
.navlinks a{color:#534b4b}
.phone,.header-actions .phone{font-size:17px;letter-spacing:-.4px}
.header-actions{gap:22px}
.btn,.hero .actions .btn,.brief .btn,.contact-links>.btn,.contact-links .actions .btn.alt,.search-bridge-action .btn,.nav-search{
  display:inline-flex;align-items:center;justify-content:center;gap:16px;
  min-height:var(--action-height);padding:18px 26px;border-radius:999px;
  font-family:Manrope,sans-serif;font-size:var(--action-size);font-weight:700;line-height:1.35;letter-spacing:-.025em;
}
.btn:not(.alt),.nav-search{
  color:#fff;border:1px solid transparent;
  background:linear-gradient(120deg,#c64717,#d65b23);
  box-shadow:0 8px 24px #d85b2525,inset 0 1px 0 #ffffff28;
}
.btn:not(.alt):hover,.nav-search:hover{color:#fff;background:linear-gradient(120deg,#ad3a13,#c34b1b);border-color:transparent;box-shadow:0 12px 32px #d85b253d}
.nav-search{white-space:nowrap;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}
.nav-search:hover{transform:translateY(-2px)}
.nav-search svg{width:19px;height:19px;flex:0 0 19px}
.btn.alt{color:#463a37;border-color:#d7c6b9;box-shadow:none}
.btn.alt:hover{background:#fff7ef}
.hero .actions{gap:14px;margin-top:32px}
.hero .actions .btn{white-space:normal}
.protection-hero{grid-template-columns:1.16fr 1fr;min-height:745px;padding:48px 0 50px;column-gap:22px}
.protection-hero h1{font-size:clamp(52px,4.6vw,74px);font-weight:700;line-height:1.08;letter-spacing:-.05em;margin-bottom:30px}
.protection-hero .badge{font-size:12px;letter-spacing:.09em;line-height:1.6;margin-bottom:28px;color:#77615a}
.protection-hero .intro{font-size:19px;line-height:1.7;max-width:560px;color:#645859}
.protection-art{height:620px;margin-left:-20px;margin-right:-22px}
.hero-principle p{font-size:15px;line-height:1.75;color:#67504a}
.hero-principle p span{font-size:14px;color:#84716a}
.principle-line{height:52px}
.scene-kicker{font-size:11px;color:#806e62;letter-spacing:.11em}
.scene-caption p{font-size:13px;color:#786054}
.scene-stages button{font-size:14px;color:#88715f}
.scene-stages button span{font-size:11px;color:#8a7467}
.protection-strip>div,.strip{font-size:17px;line-height:1.5;font-weight:600}
.strip span{font-size:15px;line-height:1.6;color:#786b6b;font-weight:400}
.strip{gap:32px;padding:30px 0}
.mechanism .journey-heading{gap:48px;grid-template-columns:1.12fr 1fr}
.mechanism .journey-heading p{font-size:18px;line-height:1.7;max-width:490px;color:var(--muted)}
.mechanism .journey-grid article{padding:32px 26px}
.mechanism .journey-grid h3{font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.035em}
.mechanism .journey-grid p,.journey-grid p{font-size:17px;line-height:1.65;color:#6f6060}
.mechanism .journey-top span{font-size:12px;letter-spacing:.04em;color:#9b745f}
.journey-top{gap:15px;margin-bottom:24px}
.journey-top svg{flex-shrink:0}
.niche-buttons{gap:10px;margin:26px 0}
.niche-buttons button{font:600 16px/1.3 Manrope,sans-serif;min-height:48px;padding:13px 21px;color:#655252}
.industry-detail h3,.registry-grid h3,.card h3,.niche h3,.example h3{font-size:28px;font-weight:700;line-height:1.25;letter-spacing:-.035em}
.industry-detail p,.registry-grid p,.card p,.niche p,.example p,.example ol{font-size:18px;line-height:1.7;color:#6b5a5b}
.registry-grid a{font-size:18px;font-weight:700}
.niche .tag{font-size:14px;padding:7px 12px}
.niche .fine,.fine{font-size:15px;line-height:1.65;color:#79645d}
.product-flow span{font-size:16px;line-height:1.6;color:#665052}
.product-flow b{font-size:13px;width:40px;height:40px}
.note{font-size:18px;line-height:1.7;color:#6a5653}
.note strong{font-size:20px;font-weight:700}
.split>div{min-width:0}
.step{grid-template-columns:45px minmax(0,1fr);padding:27px 0}
.step:before{font-size:16px;font-weight:600}
.step strong{font-size:23px;font-weight:700;line-height:1.3;letter-spacing:-.025em}
.step p{font-size:18px;line-height:1.7;color:#6f5c5c}
summary{font-size:22px;line-height:1.45;font-weight:600;padding:10px 0}
details p{font-size:18px;line-height:1.75;color:#6f5d5d}
.contact h2{font-size:clamp(38px,3.7vw,52px);font-weight:700;line-height:1.15;letter-spacing:-.045em}
.contact p{font-size:18px;line-height:1.7;color:#715b53}
.contact .eyebrow{font-size:13px;color:#9a6043}
.brief{max-width:560px}
.brief label{font-size:16px;line-height:1.45;font-weight:600;color:#75564a}
.brief input{font-size:18px;min-height:62px;padding:18px;border-radius:13px}
.brief input::placeholder{font-size:17px;color:#8e7568}
.brief .consent-row{font-size:14px;line-height:1.65;color:#796153;gap:12px;margin:22px 0 12px}
.brief .consent-row input{width:20px;height:20px;min-height:20px;flex-basis:20px;padding:0}
.brief .btn{justify-content:space-between;padding-left:24px;padding-right:24px}
.contact .micro,.brief .micro,.micro{font-size:14px;line-height:1.6;color:#80665b}
.form-status{font-size:17px}
.contact-links>a[href^="mailto:"]{font-size:21px;color:#9b4b29}
.contact-links>a.btn[href^="mailto:"]{font-size:var(--action-size);color:#fff}
.contact-links>.phone{font-size:clamp(26px,2.6vw,36px)!important;font-weight:700}
.search-bridge-copy h2{font-size:clamp(34px,3.4vw,48px);font-weight:700;line-height:1.15;letter-spacing:-.045em}
.search-bridge-copy p{font-size:18px;line-height:1.7;color:var(--muted)}
.search-bridge-action{min-width:230px}
.search-bridge-action p{font-size:15px;color:#80665b}
footer{font-size:14px;line-height:1.7;color:#84716a}
.analytics-consent p{font-size:17px;line-height:1.45}
.analytics-consent small{font-size:14px;line-height:1.6;color:#7e6557}
.analytics-consent button{font-size:14px;min-height:44px}
@media(max-width:1250px){.navlinks{display:none}.protection-hero h1{font-size:clamp(50px,4.5vw,60px)}.mechanism .journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mechanism .journey-grid article:nth-child(2){border-right:0}.mechanism .journey-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:1000px){.protection-hero{column-gap:16px}.protection-hero h1{font-size:48px}.protection-art{height:560px}.protection-hero .intro{font-size:18px}.hero .actions .btn{width:100%}.mechanism .journey-heading{gap:30px}.search-bridge-copy h2{font-size:38px}.split{gap:36px}}
@media(max-width:760px){
  :root{--action-size:17px;--action-height:60px}
  body{font-size:17px;line-height:1.65}
  .brand{font-size:22px;letter-spacing:-.8px;gap:5px}.brandmark{width:29px;height:32px}
  .header-actions .phone{font-size:14px;letter-spacing:-.4px}
  header nav.wrap{gap:15px;padding-top:18px!important;padding-bottom:16px!important}
  .nav-search{font-size:17px;padding:18px 24px;min-height:60px;gap:14px}
  h2{font-size:38px;line-height:1.15;letter-spacing:-.045em}
  .sectionlead{font-size:18px;line-height:1.7}
  .eyebrow,.card .label,.status-label{font-size:12px;line-height:1.6}
  .protection-hero{grid-template-columns:minmax(0,1fr);padding:38px 0 30px;min-height:0}
  .protection-hero h1{font-size:clamp(39px,10.5vw,58px);line-height:1.08;letter-spacing:-.05em;margin-bottom:24px}
  .protection-hero .badge{font-size:11px;letter-spacing:.065em;line-height:1.7;margin-bottom:25px}
  .protection-hero .intro{font-size:18px;line-height:1.7;max-width:100%!important}
  .hero .actions .btn{font-size:17px;min-height:60px;padding:18px 24px}
  .protection-art{height:410px;width:calc(100% + 28px);margin:-3px -14px 10px}
  .scene-kicker{font-size:10px;color:#84715f}
  .scene-caption p{font-size:12px}.scene-caption{max-width:calc(100% - 85px)}
  .scene-stages button{font-size:13px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;padding:12px 0 0;min-height:53px}
  .scene-stages button span{font-size:10px}
  .scene-stages{gap:9px;left:20px;right:20px;bottom:12px}
  .hero-principle p{font-size:15px}.hero-principle p span{font-size:14px}
  .strip,.protection-strip>div{font-size:17px;gap:24px}.strip span{font-size:15px;line-height:1.6}
  section{padding:64px 0}
  .mechanism .journey-heading{grid-template-columns:minmax(0,1fr);gap:20px}
  .mechanism .journey-heading .eyebrow{font-size:12px;line-height:1.6}
  .mechanism .journey-heading p{font-size:18px;line-height:1.7}
  .mechanism .journey-grid{grid-template-columns:minmax(0,1fr)}
  .mechanism .journey-grid article{padding:28px;border-right:0;border-bottom:1px solid var(--line)}
  .mechanism .journey-grid article:last-child{border-bottom:0}
  .mechanism .journey-grid h3{font-size:26px;line-height:1.25}.mechanism .journey-grid p{font-size:17px;line-height:1.65}
  .mechanism .journey-top span{font-size:12px}.journey-top{margin-bottom:22px}
  .niche-buttons button{font-size:15px;min-height:46px;padding:12px 18px}
  .industry-detail,.registry-grid article,.card,.niche,.example{padding:27px}
  .industry-detail h3,.registry-grid h3,.card h3,.niche h3,.example h3{font-size:27px;line-height:1.25}
  .industry-detail p,.registry-grid p,.card p,.niche p,.example p,.example ol{font-size:17px;line-height:1.7}
  .industry-detail{display:block}.round-link{margin-top:24px;width:48px;height:48px}
  .registry-grid a{font-size:17px}.niche .fine{font-size:14px}.niche .tag{font-size:13px}
  .split{grid-template-columns:minmax(0,1fr)}
  .product-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .product-flow>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;align-items:center}
  .product-flow b{margin-bottom:0}.product-flow span{font-size:16px;line-height:1.55}
  .product-flow i{justify-self:start;margin-left:12px;transform:rotate(90deg)}
  .note{font-size:17px;padding:25px}.note strong{font-size:20px}
  .step strong{font-size:23px}.step p{font-size:17px}
  summary{font-size:20px;line-height:1.45}details p{font-size:17px}
  .contact{padding:30px 25px;gap:28px}
  .contact h2{font-size:36px;line-height:1.16;letter-spacing:-.045em}
  .contact p{font-size:18px;line-height:1.7}
  .contact .eyebrow{font-size:12px}
  .brief label{font-size:16px}.brief input{font-size:18px;padding:16px;min-height:60px}
  .brief input::placeholder{font-size:16px}.brief .consent-row{font-size:14px;line-height:1.65}
  .contact .micro,.brief .micro{font-size:14px;line-height:1.6}
  .contact-links{gap:22px}
  .contact-links>.phone{font-size:28px!important;letter-spacing:-.7px}
  .contact-links>a[href^="mailto:"]{font-size:20px}
  .contact-links>a.btn[href^="mailto:"]{font-size:17px}
  .search-bridge-copy h2{font-size:36px;line-height:1.16}
  .search-bridge-copy p{font-size:18px;line-height:1.7}
  .search-bridge-action{min-width:0}.search-bridge-action p{font-size:14px}
  html{scroll-padding-top:170px}footer{font-size:13px;line-height:1.7}
}
@media(max-width:360px){
  .brand{font-size:20px;gap:3px}.brandmark{width:25px;height:28px}.header-actions .phone{font-size:12px}
  .protection-hero h1{font-size:38px}.protection-hero .badge{font-size:10px;letter-spacing:.04em}
  .protection-art{height:370px}.scene-stages button{font-size:12px}.scene-kicker{font-size:9px}
  h2{font-size:34px}.contact h2{font-size:32px}
  .contact{padding:28px 20px}.contact-links>.phone{font-size:26px!important}
  .industry-detail,.registry-grid article,.card,.niche,.example{padding:24px}
  .mechanism .journey-grid article{padding:25px}.search-bridge-copy h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.nav-search{transition:none}.nav-search:hover{transform:none}}
