:root{
  --navy:#0B1F3A; --navy-2:#0E2A4D; --navy-3:#14345E;
  --orange:#D9692E; --orange-2:#C25A22;
  --paper:#F7F5F0; --paper-2:#EFEBE2; --ink:#1C1C1C;
  --line:rgba(247,245,240,0.18); --line-dark:rgba(11,31,58,0.14);
  color-scheme:light;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:90px;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:'Archivo',sans-serif; -webkit-font-smoothing:antialiased; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px); overflow-x:hidden;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
h1,h2,h3{font-family:'Fraunces',serif; font-weight:500; margin:0; letter-spacing:-0.01em;}
p{line-height:1.6; margin:0;}
a{color:inherit;}
main{display:block;}

header.site{position:sticky; top:0; z-index:50; background:var(--navy); border-bottom:1px solid var(--line); padding-top:env(safe-area-inset-top,0px);}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 28px; max-width:1180px; margin:0 auto;}
.nav-logo{height:38px; width:auto;}
@media (max-width:900px){}
.nav-logo-word{height:27px; width:auto;}
nav.links{display:flex; gap:24px; align-items:center;}
nav.links a{color:var(--paper); text-decoration:none; font-size:13.5px; font-weight:500; opacity:0.8; white-space:nowrap;}
nav.links a:hover{opacity:1;}
nav.links a[aria-current="page"]{opacity:1; color:var(--orange);}
.nav-cta{background:var(--orange); color:white !important; padding:10px 18px; border-radius:2px; font-weight:600; opacity:1 !important;}
.nav-cta:hover{background:var(--orange-2);}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px; z-index:60;}
.burger span{width:22px; height:2px; background:var(--paper); display:block;}
.mobile-menu{display:none; position:fixed; inset:0; z-index:55; background:var(--navy); padding:90px 28px 40px; flex-direction:column; gap:6px; overflow-y:auto;}
.mobile-menu.is-open{display:flex;}
.mobile-menu a{color:var(--paper); text-decoration:none; font-size:18px; font-weight:500; padding:13px 0; border-bottom:1px solid var(--line);}
.mobile-menu a.nav-cta{border:none; background:var(--orange); text-align:center; border-radius:2px; margin-top:16px; padding:14px;}

.eyebrow-line{display:flex; align-items:center; gap:12px; margin-bottom:22px;}
.eyebrow-line .tick{width:28px; height:1px; background:var(--orange); flex:none;}
.eyebrow-line span{color:var(--orange); font-size:13px; font-weight:600; letter-spacing:0.02em;}
section{padding:80px 0;}
.page-hero-sm{padding:56px 0 50px; background:var(--navy);}
.page-hero-sm .eyebrow-line span{color:var(--orange);}
.page-hero-sm h1{color:var(--paper); font-size:clamp(1.9rem,3.6vw,2.6rem); max-width:20ch;}
.page-hero-sm p.lead{color:rgba(247,245,240,0.75); font-size:16px; max-width:58ch; margin-top:16px;}
.breadcrumb{font-size:12.5px; color:rgba(247,245,240,0.55); margin-bottom:16px;}
.breadcrumb a{color:rgba(247,245,240,0.75); text-decoration:none;}
.breadcrumb a:hover{color:var(--paper);}
.section-head{max-width:640px; margin-bottom:48px;}
.section-head .eyebrow-line span{color:var(--orange-2);}
.section-head h2{font-size:clamp(1.6rem,2.8vw,2.2rem); color:var(--navy);}
.section-head p{margin-top:14px; font-size:15.5px; color:#494947; max-width:56ch;}

.hero{background:var(--navy); position:relative; overflow:hidden; padding:50px 0 0;}
.hero-grid{display:grid; grid-template-columns:1.15fr 0.95fr; gap:52px; align-items:center; padding-bottom:60px;}
.hero h1{color:var(--paper); font-size:clamp(1.9rem,3.4vw,2.7rem); line-height:1.12; max-width:17ch;}
.hero h1 em{display:block; margin-top:6px;}
.hero h1 em{font-style:italic; color:var(--orange);}
.hero-sub{color:rgba(247,245,240,0.78); font-size:16.5px; max-width:46ch; margin-top:20px;}
.hero-points{display:flex; flex-wrap:wrap; gap:24px; margin-top:30px;}
.hero-point{display:flex; align-items:center; gap:10px;}
.hero-point .dim{width:8px; height:8px; border:1.5px solid var(--orange); transform:rotate(45deg); flex:none;}
.hero-point span{color:var(--paper); font-size:13.5px; font-weight:500;}

.split-band{background:var(--paper-2); border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark);}
.split-grid{display:grid; grid-template-columns:1fr 1fr;}
.split-item{padding:32px 38px;}
.split-item + .split-item{border-left:1px solid var(--line-dark);}
.split-item .k{font-size:12px; font-weight:600; color:var(--orange-2); letter-spacing:0.02em; margin-bottom:8px; display:block;}
.split-item h3{font-size:1.2rem; color:var(--navy); margin-bottom:8px;}
.split-item p{font-size:14px; color:#54544f; max-width:42ch;}
.arrow-link{display:inline-block; margin-top:14px; font-size:13.5px; font-weight:600; color:var(--navy); text-decoration:none; border-bottom:1px solid var(--orange); padding-bottom:2px;}

.quote-card{background:var(--paper); padding:32px 30px 28px; position:relative; box-shadow:0 30px 60px -20px rgba(0,0,0,0.45);}
.quote-card.flat{box-shadow:none; border:1px solid var(--line-dark);}
.quote-card::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--orange);}
.quote-card h3{font-size:1.3rem; margin-bottom:6px;}
.quote-card .sub{font-size:14px; color:#5b5b57; margin-bottom:22px;}
.field{margin-bottom:15px;}
.field label{display:block; font-size:12.5px; font-weight:600; color:#6b6b64; margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%; border:1px solid #d8d3c4; background:white; padding:11px 12px; font-family:'Archivo',sans-serif; font-size:14.5px; color:var(--ink);}
.field textarea{resize:vertical; min-height:90px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--navy-3); outline-offset:1px; border-color:var(--navy-3);}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.submit-btn{width:100%; background:var(--navy); color:white; border:none; padding:14px 18px; font-family:'Archivo',sans-serif; font-weight:600; font-size:15px; cursor:pointer; margin-top:4px;}
.submit-btn:hover{background:var(--navy-3);}
.form-note{font-size:12px; color:#8a8a83; margin-top:14px; line-height:1.5;}
.success-msg{display:none; text-align:center; padding:26px 8px;}
.success-msg .mark{width:40px; height:40px; margin:0 auto 14px; position:relative;}
.success-msg .mark::before{content:""; position:absolute; width:100%; height:100%; border:2px solid var(--orange); transform:rotate(45deg);}
.success-msg h3{font-size:1.15rem; margin-bottom:8px;}
.success-msg p{font-size:14px; color:#5b5b57;}

.process{background:var(--paper-2);}
.process-line{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.process-line::before{content:""; position:absolute; top:11px; left:0; right:0; height:1px; background:var(--line-dark);}
.process-step{position:relative; padding-right:22px;}
.process-step .mk{width:22px; height:22px; border:1.5px solid var(--navy); background:var(--paper-2); border-radius:50%; position:relative; z-index:2; margin-bottom:20px;}
.process-step .mk::after{content:""; position:absolute; inset:5px; background:var(--orange); border-radius:50%;}
.process-step h4{font-family:'Fraunces',serif; font-weight:500; font-size:1.02rem; color:var(--navy); margin-bottom:8px;}
.process-step p{font-size:13.5px; color:#54544f; line-height:1.55;}

.process-detail{display:grid; grid-template-columns:56px 1fr; gap:0 26px;}
.process-detail-item{display:contents;}
.process-detail-item .rail{display:flex; flex-direction:column; align-items:center;}
.process-detail-item .rail .dot{width:22px; height:22px; border-radius:50%; border:1.5px solid var(--navy); position:relative; flex:none;}
.process-detail-item .rail .dot::after{content:""; position:absolute; inset:5px; background:var(--orange); border-radius:50%;}
.process-detail-item .rail .ln{width:1px; flex:1; background:var(--line-dark); margin:6px 0;}
.process-detail-item:last-child .rail .ln{display:none;}
.process-detail-item .content{padding-bottom:40px;}
.process-detail-item .content h3{font-size:1.15rem; color:var(--navy); margin-bottom:8px;}
.process-detail-item .content p{font-size:14.5px; color:#494947; max-width:56ch;}

.verticals-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-dark); border:1px solid var(--line-dark);}
.vertical{background:var(--paper); padding:34px 32px;}
.vertical .tag{font-size:12px; color:var(--orange-2); font-weight:600; margin-bottom:12px; display:block;}
.vertical h3{font-size:1.4rem; color:var(--navy); margin-bottom:10px;}
.vertical p{font-size:14px; color:#54544f; max-width:40ch;}
.vertical .list{margin-top:16px; display:flex; flex-wrap:wrap; gap:8px 18px;}
.vertical .list span{font-size:12.5px; color:#75756e; position:relative; padding-left:14px;}
.vertical .list span::before{content:""; position:absolute; left:0; top:7px; width:6px; height:1px; background:var(--orange);}

.spec-block{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start; margin-bottom:80px;}
.spec-block:last-child{margin-bottom:0;}
.spec-block.rev{grid-template-columns:1.1fr 0.9fr;}
.spec-block.rev .spec-visual{order:2;}
.spec-visual{background:var(--navy); padding:36px 32px; position:relative; min-height:200px;}
.spec-visual .num{font-family:'Fraunces',serif; font-size:3rem; color:var(--orange); font-weight:500; line-height:1;}
.spec-visual .label{color:rgba(247,245,240,0.7); font-size:13px; margin-top:12px; max-width:26ch;}
.spec-copy h3{font-size:1.55rem; color:var(--navy); margin-bottom:12px;}
.spec-copy p{font-size:15px; color:#494947; margin-bottom:16px;}
.spec-copy ul{margin:0 0 20px; padding:0; list-style:none;}
.spec-copy li{font-size:14px; color:#494947; padding:9px 0 9px 20px; border-top:1px solid var(--line-dark); position:relative;}
.spec-copy li:last-child{border-bottom:1px solid var(--line-dark);}
.spec-copy li::before{content:""; position:absolute; left:0; top:17px; width:8px; height:1px; background:var(--orange);}

.subservice-links{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); margin-top:16px;}
.subservice-links a{background:var(--paper); padding:22px 22px; text-decoration:none; display:block;}
.subservice-links a h4{font-family:'Fraunces',serif; font-weight:500; font-size:1.02rem; color:var(--navy); margin-bottom:6px;}
.subservice-links a p{font-size:13px; color:#75756e; margin:0;}
.subservice-links a:hover h4{color:var(--orange-2);}

.trust{background:var(--navy); color:var(--paper);}
.trust .section-head h2{color:var(--paper);}
.trust .section-head p{color:rgba(247,245,240,0.72);}
.trust .section-head .eyebrow-line span{color:var(--orange);}
.trust-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:40px;}
.trust-item{border-left:1px solid var(--line); padding-left:20px;}
.trust-item .num{font-family:'Fraunces',serif; font-size:1.9rem; color:var(--orange); line-height:1; margin-bottom:12px; font-weight:500;}
.trust-item h4{font-size:1rem; font-weight:500; color:var(--paper); margin-bottom:8px; font-family:'Fraunces',serif;}
.trust-item p{font-size:13.5px; color:rgba(247,245,240,0.68); line-height:1.6;}

.quotes-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px;}
blockquote{margin:0; padding-top:20px; border-top:1px solid var(--line-dark);}
blockquote p{font-family:'Fraunces',serif; font-style:italic; font-size:1.1rem; color:var(--navy); line-height:1.5;}
blockquote footer{margin-top:16px; font-size:13px; color:#6b6b64; font-style:normal;}
blockquote footer strong{color:var(--navy); font-weight:600;}

.about-story{display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px;}
.about-story .pull{font-family:'Fraunces',serif; font-style:italic; font-size:1.4rem; color:var(--navy); line-height:1.35;}
.about-copy p{font-size:15px; color:#3a3a38; margin-bottom:16px; max-width:62ch;}
.values-line{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); margin-top:60px;}
.value-item{background:var(--paper); padding:28px 26px;}
.value-item h4{font-family:'Fraunces',serif; font-size:1.05rem; color:var(--navy); margin-bottom:10px; font-weight:500;}
.value-item p{font-size:13.5px; color:#54544f;}

.pricing-spec{border:1px solid var(--line-dark); background:var(--paper);}
.pricing-row{display:grid; grid-template-columns:1fr auto; gap:20px; padding:20px 26px; align-items:baseline;}
.pricing-row + .pricing-row{border-top:1px solid var(--line-dark);}
.pricing-row .lbl{font-size:14.5px; color:var(--ink); font-weight:500;}
.pricing-row .lbl small{display:block; font-size:12.5px; color:#8a8a83; font-weight:400; margin-top:4px;}
.pricing-row .val{font-family:'Fraunces',serif; font-size:1.4rem; color:var(--navy); white-space:nowrap;}
.criteria-list{margin-top:32px; display:grid; grid-template-columns:1fr 1fr; gap:14px 32px;}
.criteria-list div{display:flex; gap:12px; align-items:flex-start;}
.criteria-list .ck{width:15px; height:15px; border:1.5px solid var(--orange); transform:rotate(45deg); flex:none; margin-top:3px;}
.criteria-list p{font-size:14px; color:#3a3a38;}

.faq-list{max-width:760px;}
details.faq-item{border-top:1px solid var(--line-dark); padding:20px 0;}
details.faq-item:last-child{border-bottom:1px solid var(--line-dark);}
details.faq-item summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; font-family:'Fraunces',serif; font-size:1.02rem; color:var(--navy); font-weight:500;}
details.faq-item summary::-webkit-details-marker{display:none;}
details.faq-item summary::after{content:"+"; font-family:'Archivo',sans-serif; font-size:20px; color:var(--orange); flex:none; font-weight:400;}
details.faq-item[open] summary::after{content:"\2212";}
details.faq-item .a{font-size:14px; color:#494947; margin-top:12px; max-width:64ch; line-height:1.65;}

.contact-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px;}
.contact-info h3{font-size:1rem; color:var(--navy); margin-bottom:8px; font-family:'Fraunces',serif; font-weight:500;}
.contact-info .blk{margin-bottom:26px;}
.contact-info p{font-size:14px; color:#494947;}
.contact-info a{color:var(--navy); text-decoration:none; border-bottom:1px solid var(--orange);}

.article-body{max-width:720px;}
.article-meta{font-size:12.5px; color:#8a8a83; margin-bottom:18px;}
.article-body h2{font-size:1.4rem; color:var(--navy); margin:44px 0 16px;}
.article-body h2:first-child{margin-top:0;}
.article-body p{font-size:15.5px; color:#3a3a38; margin-bottom:18px; max-width:68ch;}
.article-body ul{margin:0 0 20px; padding-left:0; list-style:none;}
.article-body li{font-size:14.5px; color:#3a3a38; padding:8px 0 8px 20px; border-top:1px solid var(--line-dark); position:relative;}
.article-body li::before{content:""; position:absolute; left:0; top:16px; width:8px; height:1px; background:var(--orange);}
.article-cta{background:var(--paper-2); border:1px solid var(--line-dark); padding:26px 28px; margin-top:40px;}
.article-cta p{font-size:14.5px; color:#494947; margin-bottom:12px;}
.blog-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-dark); border:1px solid var(--line-dark);}
.blog-card{background:var(--paper); padding:30px 28px; text-decoration:none; display:block;}
.blog-card .k{font-size:12px; color:var(--orange-2); font-weight:600; display:block; margin-bottom:10px;}
.blog-card h3{font-size:1.15rem; color:var(--navy); margin-bottom:10px;}
.blog-card p{font-size:13.5px; color:#54544f;}
.blog-card:hover h3{color:var(--orange-2);}

.legal-body{max-width:760px;}
.legal-body h2{font-size:1.25rem; color:var(--navy); margin:38px 0 14px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p{font-size:14.5px; color:#3a3a38; margin-bottom:14px; max-width:68ch;}
.legal-body ul{margin:0 0 16px; padding-left:20px;}
.legal-body li{font-size:14.5px; color:#3a3a38; margin-bottom:8px;}
.legal-note{background:var(--paper-2); border-left:2px solid var(--orange); padding:16px 20px; font-size:13px; color:#6b6b64; margin-bottom:36px;}

.final-cta{background:var(--paper-2); text-align:center;}
.final-cta .wordmark{width:240px; margin:0 auto 26px;}
.final-cta h2{font-size:clamp(1.6rem,3vw,2.2rem); color:var(--navy); max-width:16ch; margin:0 auto;}
.final-cta p{margin-top:16px; font-size:15px; color:#54544f;}
.cta-btn-lg{display:inline-block; margin-top:26px; background:var(--orange); color:white; padding:15px 34px; font-weight:600; font-size:15px; text-decoration:none;}
.cta-btn-lg:hover{background:var(--orange-2);}

footer.site{background:var(--navy); color:rgba(247,245,240,0.6); padding:40px 0 32px;}
.footer-inner{display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px;}
.footer-logo{height:26px; margin-bottom:14px;}
.footer-inner .cols{display:flex; gap:50px; flex-wrap:wrap;}
.footer-col h5{font-size:12px; color:rgba(247,245,240,0.85); font-weight:600; margin-bottom:12px;}
.footer-col a{display:block; font-size:13px; color:rgba(247,245,240,0.6); text-decoration:none; margin-bottom:8px;}
.footer-col a:hover{color:var(--paper);}
.footer-bottom{max-width:1180px; margin:34px auto 0; padding:20px 28px 0; border-top:1px solid var(--line); font-size:12px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
.footer-bottom a{color:rgba(247,245,240,0.6); text-decoration:none;}
.footer-bottom a:hover{color:var(--paper);}

@media (max-width:900px){
  nav.links{display:none;}
  .burger{display:flex;}
  .hero-grid{grid-template-columns:1fr; gap:36px; padding-bottom:44px;}
  .process-line{grid-template-columns:1fr 1fr; row-gap:30px;}
  .process-line::before{display:none;}
  .verticals-grid{grid-template-columns:1fr;}
  .trust-grid{grid-template-columns:1fr; gap:26px;}
  .quotes-grid{grid-template-columns:1fr; gap:32px;}
  .field-row{grid-template-columns:1fr;}
  .split-grid{grid-template-columns:1fr;}
  .split-item + .split-item{border-left:none; border-top:1px solid var(--line-dark);}
  .spec-block, .spec-block.rev{grid-template-columns:1fr;}
  .spec-block.rev .spec-visual{order:0;}
  .subservice-links{grid-template-columns:1fr;}
  .about-story{grid-template-columns:1fr;}
  .values-line{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .criteria-list{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
  .footer-inner .cols{gap:30px;}
}
@media (prefers-reduced-motion:reduce){ *{transition:none !important; animation:none !important;} }

/* ===== E-E-A-T ===== */
.eeat-band{background:var(--paper); border-top:1px solid var(--line-dark); padding:48px 0;}
.eeat-grid{display:grid; grid-template-columns:1.3fr 0.7fr; gap:48px; align-items:start;}
.eeat-author{display:flex; gap:20px; align-items:flex-start;}
.eeat-mono{width:58px; height:58px; flex:none; background:var(--navy); color:var(--orange); font-family:'Fraunces',serif; font-size:1.3rem; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--orange);}
.eeat-k{font-size:11.5px; font-weight:600; color:var(--orange-2); letter-spacing:0.04em;}
.eeat-name{font-family:'Fraunces',serif; font-size:1.1rem; color:var(--navy); margin:4px 0 8px;}
.eeat-name a{text-decoration:none; border-bottom:1px solid var(--orange);}
.eeat-bio{font-size:14px; color:#494947; max-width:58ch;}
.eeat-meta{font-size:12.5px; color:#8a8a83; margin-top:10px;}
.eeat-meta a{color:#6b6b64;}
.eeat-sources h5{font-size:12px; font-weight:600; color:var(--navy); margin:0 0 10px;}
.eeat-sources ul{list-style:none; margin:0; padding:0;}
.eeat-sources li{font-size:13px; padding:8px 0; border-top:1px solid var(--line-dark);}
.eeat-sources li:last-child{border-bottom:1px solid var(--line-dark);}
.eeat-sources a{color:var(--navy); text-decoration:none;}
.eeat-sources a::after{content:" ↗"; color:var(--orange);}
.fact-box{background:var(--paper-2); border-left:2px solid var(--orange); padding:18px 22px; margin:24px 0; font-size:14px; color:#3a3a38; max-width:68ch;}
.fact-box strong{color:var(--navy);}
.fact-box a{color:var(--navy);}
.pledges{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark);}
.pledge{background:var(--paper); padding:28px 26px;}
.pledge h4{font-family:'Fraunces',serif; font-weight:500; font-size:1.05rem; color:var(--navy); margin:0 0 10px;}
.pledge p{font-size:13.5px; color:#54544f;}
.field-notes{background:var(--navy); color:var(--paper); padding:34px 32px; position:relative;}
.field-notes .k{font-size:12px; font-weight:600; color:var(--orange); letter-spacing:0.04em; display:block; margin-bottom:14px;}
.field-notes p{font-family:'Fraunces',serif; font-style:italic; font-size:1.15rem; line-height:1.5; color:var(--paper);}
.field-notes .sig{font-family:'Archivo',sans-serif; font-style:normal; font-size:13px; color:rgba(247,245,240,0.65); margin-top:16px;}
.chip-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
.chip{font-size:12.5px; color:var(--navy); border:1px solid var(--line-dark); padding:6px 12px; background:var(--paper);}
@media (max-width:900px){
  .eeat-grid{grid-template-columns:1fr; gap:28px;}
  .pledges{grid-template-columns:1fr;}
}

/* ===== OUTILS ===== */
.tool-shell{background:var(--paper); border:1px solid var(--line-dark); padding:34px 32px; max-width:860px; position:relative;}
.tool-shell::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--orange);}
.q-block{padding:18px 0; border-top:1px solid var(--line-dark);}
.q-block:first-child{border-top:none; padding-top:0;}
.q-block h4{font-family:'Fraunces',serif; font-weight:500; color:var(--navy); font-size:1.02rem; margin:0 0 12px;}
.opts{display:flex; flex-wrap:wrap; gap:8px;}
.opt{border:1px solid #d8d3c4; background:white; padding:9px 14px; font-family:'Archivo',sans-serif; font-size:13.5px; cursor:pointer; color:var(--ink);}
.opt:hover{border-color:var(--navy-3);}
.opt.on{background:var(--navy); color:white; border-color:var(--navy);}
.verdict{display:none; margin-top:26px; background:var(--navy); color:var(--paper); padding:28px 28px;}
.verdict .k{font-size:12px; font-weight:600; color:var(--orange); letter-spacing:0.04em;}
.verdict h3{color:var(--paper); font-size:1.5rem; margin:8px 0 10px;}
.verdict p{color:rgba(247,245,240,0.78); font-size:14.5px; max-width:60ch;}
.verdict .meter{height:6px; background:rgba(247,245,240,0.15); margin:18px 0 6px; position:relative;}
.verdict .meter span{position:absolute; left:0; top:0; bottom:0; background:var(--orange);}
.tool-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark);}
.tool-card{background:var(--paper); padding:30px 26px; text-decoration:none; display:block; position:relative;}
.tool-card .k{font-size:12px; font-weight:600; color:var(--orange-2); display:block; margin-bottom:10px;}
.tool-card h3{font-size:1.15rem; color:var(--navy); margin-bottom:10px;}
.tool-card p{font-size:13.5px; color:#54544f;}
.tool-card .lock{display:inline-block; margin-top:14px; font-size:11.5px; font-weight:600; color:var(--navy); border:1px solid var(--orange); padding:4px 9px;}
.tool-card:hover h3{color:var(--orange-2);}
.lock-view{text-align:center; padding:20px 10px;}
.lock-icon{width:46px; height:46px; margin:0 auto 18px; border:2px solid var(--orange); transform:rotate(45deg); display:flex; align-items:center; justify-content:center;}
.lock-icon span{transform:rotate(-45deg); color:var(--navy); font-family:'Fraunces',serif; font-size:1.1rem;}
.lock-view h3{font-size:1.35rem; color:var(--navy); margin-bottom:10px;}
.lock-view p{font-size:14.5px; color:#54544f; max-width:52ch; margin:0 auto;}
.code-row{display:flex; gap:10px; max-width:380px; margin:22px auto 0;}
.code-row input{flex:1; border:1px solid #d8d3c4; padding:12px; font-family:'Archivo',sans-serif; font-size:15px; letter-spacing:0.12em; text-transform:uppercase; text-align:center;}
.code-row button{background:var(--navy); color:white; border:none; padding:0 20px; font-family:'Archivo',sans-serif; font-weight:600; cursor:pointer;}
.code-msg{font-size:13px; color:var(--orange-2); margin-top:12px; min-height:18px;}
.cmp-wrap{overflow-x:auto;}
.cmp-table{width:100%; border-collapse:collapse; min-width:620px; table-layout:fixed;}
.cmp-table th,.cmp-table td{border-top:1px solid var(--line-dark); padding:10px 8px; text-align:left; font-size:13.5px; vertical-align:middle;}
.cmp-table th{font-weight:600; color:var(--navy); width:30%;}
.cmp-table input,.cmp-table select{width:100%; border:1px solid #d8d3c4; padding:8px; font-family:'Archivo',sans-serif; font-size:13.5px; background:white;}
.cmp-table thead th{font-family:'Fraunces',serif; font-weight:500; font-size:1rem; border-top:none;}
.cmp-out{margin-top:24px;}
.flag{padding:12px 16px; margin-bottom:8px; font-size:13.5px; border-left:2px solid var(--orange); background:var(--paper-2);}
.flag.good{border-left-color:#2F7A55;}
.date-out{font-family:'Fraunces',serif; font-size:2rem; color:var(--orange); margin:6px 0;}
@media (max-width:900px){ .tool-grid{grid-template-columns:1fr;} .tool-shell{padding:26px 20px;} .code-row{flex-direction:column;} .code-row button{padding:12px;} }

/* Logo accueil : net, avec halo DERRIÈRE (pas de flou sur l'image) */
.logo-halo{position:relative; display:inline-block; isolation:isolate;}
.logo-halo::before{content:""; position:absolute; left:50%; top:50%; width:170%; height:150%; transform:translate(-50%,-50%); z-index:-1;
  background:radial-gradient(closest-side, rgba(217,105,46,0.42), rgba(217,105,46,0.16) 55%, rgba(217,105,46,0) 100%);
  animation:ttrHalo 4s ease-in-out infinite; pointer-events:none;}
@keyframes ttrHalo{0%,100%{opacity:0.75; transform:translate(-50%,-50%) scale(0.96);}50%{opacity:1; transform:translate(-50%,-50%) scale(1.04);}}
.nav-logo-hero{height:128px; width:auto; display:block; transition:transform .3s ease;}
.logo-halo:hover .nav-logo-hero{transform:scale(1.03);}
.nav-inner.home{padding-top:10px; padding-bottom:10px;}
@media (max-width:900px){ .nav-logo-hero{height:88px;} }
@media (prefers-reduced-motion:reduce){ .logo-halo::before{animation:none;} }

/* ===== Consentement Loi 25 ===== */
.consent-banner{position:fixed; left:16px; right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); z-index:90; display:flex; justify-content:center;}
.consent-inner{background:var(--navy); color:var(--paper); max-width:760px; width:100%; padding:20px 22px; display:flex; gap:20px; align-items:center; box-shadow:0 20px 50px -10px rgba(0,0,0,0.45); border-top:3px solid var(--orange);}
.consent-inner p{font-size:13.5px; color:rgba(247,245,240,0.85); line-height:1.55;}
.consent-inner a{color:var(--orange);}
.consent-actions{display:flex; gap:10px; flex:none;}
.consent-actions button{font-family:'Archivo',sans-serif; font-weight:600; font-size:13.5px; padding:10px 16px; cursor:pointer; border:1px solid rgba(247,245,240,0.35);}
.consent-refuse{background:transparent; color:var(--paper);}
.consent-accept{background:var(--orange); color:white; border-color:var(--orange) !important;}
.form-error{margin-top:10px;}
@media (max-width:700px){ .consent-inner{flex-direction:column; align-items:stretch;} .consent-actions button{flex:1;} }

/* Consentements Loi 25 / LCAP (formulaire de soumission) */
.consent{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:13px;line-height:1.45;cursor:pointer}
.consent input{margin-top:3px;flex:0 0 auto;width:18px;height:18px}
.consent a{text-decoration:underline}
