:root{
  --ink:#152d35;
  --ink2:#294852;
  --muted:#53636a;
  --sea:#1c665b;
  --cream:#f7f5ef;
  --paper:#fffefa;
  --sand:#e8e2d7;
  --line:#cfcfc6;
  --gold:#af7943;
  --white:#fff;
  --radius:2px;
  --serif:Georgia,'Iowan Old Style',Cambria,serif;
  --sans:'Segoe UI',Arial,Helvetica,sans-serif
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth
}
body{
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:var(--sans);
  line-height:1.55
}
button,a{
  font:inherit
}
a{
  color:inherit
}
a:focus-visible,summary:focus-visible{
  outline:3px solid #a46027;
  outline-offset:4px
}
::selection{
  background:#f0d7a4;
  color:var(--ink)
}
.skip{
  position:absolute;
  top:-8rem;
  left:1rem;
  background:var(--ink);
  color:white;
  padding:12px 18px;
  z-index:100
}
.skip:focus{
  top:1rem
}
.wrap{
  max-width:1250px;
  margin:0 auto;
  padding:0 40px
}
.topbar{
  border-bottom:1px solid #d9d7cf;
  background:var(--paper);
  position:relative;
  z-index:20
}
.topbar-inner{
  min-height:101px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}
.brand{
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:13px;
  min-width:250px
}
.mark{
  width:47px;
  height:51px;
  background:var(--ink);
  display:grid;
  place-items:center;
  position:relative;
  color:var(--paper);
  font-family:var(--serif);
  font-size:33px;
  line-height:1
}
.mark:after{
  position:absolute;
  content:'';
  width:20px;
  height:2px;
  background:#cd9b66;
  bottom:9px;
  left:13px
}
.wordmark b{
  display:block;
  font-family:var(--serif);
  font-size:25px;
  line-height:1;
  letter-spacing:-.7px;
  font-weight:700
}
.wordmark small{
  display:block;
  letter-spacing:1.5px;
  font-size:9.5px;
  line-height:1.6;
  margin-top:5px;
  font-weight:700
}
.desktop-nav{
  display:flex;
  align-items:center;
  gap:32px
}
.desktop-nav a{
  text-decoration:none;
  font-size:13px;
  font-weight:650;
  letter-spacing:.01em
}
.desktop-nav a:hover{
  text-decoration:underline;
  text-underline-offset:6px
}
.nav-cta{
  background:var(--ink);
  color:#fff!important;
  padding:13px 21px;
  white-space:nowrap
}
.nav-cta:hover{
  background:var(--sea)
}
.mobile-nav{
  display:none
}
.hero{
  overflow:hidden;
  position:relative;
  background:linear-gradient(90deg,var(--cream) 0 59%,#dce8e1 59% 100%)
}
.hero-inner{
  min-height:630px;
  display:grid;
  grid-template-columns:54% 46%;
  align-items:center;
  position:relative
}
.hero-copy{
  padding:85px 55px 85px 0;
  z-index:2
}
.eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--sea);
  font-size:11px;
  font-weight:750;
  line-height:1.6
}
.eyebrow:before{
  content:'';
  width:27px;
  height:2px;
  background:var(--gold);
  display:inline-block
}
.hero h1{
  font:400 clamp(47px,4.7vw,72px)/1.075 var(--serif);
  letter-spacing:-2.75px;
  margin:27px 0 24px;
  max-width:670px
}
.hero h1 em{
  font-style:italic;
  color:var(--sea);
  font-weight:400
}
.hero-lede{
  font-size:17px;
  line-height:1.8;
  color:#40515a;
  max-width:540px;
  margin:0 0 32px
}
.actions{
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:17px;
  background:var(--ink);
  color:white;
  padding:15px 20px;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  min-height:52px
}
.button:hover{
  background:#174d47
}
.button-light{
  background:#fff;
  color:var(--ink)
}
.button-light:hover{
  background:#e8f4ef
}
.quiet-link{
  font-size:14px;
  text-underline-offset:5px;
  font-weight:700
}
.hero-proof{
  display:flex;
  gap:15px;
  align-items:center;
  margin-top:50px;
  padding-top:20px;
  border-top:1px solid #d5d8d0;
  max-width:540px;
  font-size:12px;
  line-height:1.6;
  color:#52615d
}
.proof-square{
  width:31px;
  height:31px;
  flex:0 0 31px;
  border:1px solid #8aa69c;
  display:grid;
  place-items:center;
  font-size:18px;
  color:var(--sea)
}
.visual{
  position:relative;
  min-height:660px;
  display:grid;
  place-items:center;
  padding:45px 0 96px 8px
}
.visual:before{
  content:'';
  position:absolute;
  inset:0 -80vw 0 0;
  background:radial-gradient(circle at 12% 42%,#f3f8f2aa,transparent 47%),repeating-linear-gradient(0deg,transparent 0,transparent 34px,#bacdc722 35px),repeating-linear-gradient(90deg,transparent 0,transparent 34px,#bacdc722 35px);
  pointer-events:none
}
.sheet-back{
  position:absolute;
  top:116px;
  left:52px;
  width:370px;
  height:423px;
  background:#c6d6cd;
  transform:rotate(-9deg);
  border:1px solid #a7bdb4;
  box-shadow:0 12px 24px #203d3340
}
.sheet-back:before{
  content:'PUBLIC RECORD';
  display:block;
  margin:35px 28px;
  color:#426355;
  font:700 14px var(--serif);
  letter-spacing:2px
}
.sheet-back:after{
  content:'';
  display:block;
  margin:36px 28px;
  height:220px;
  background:repeating-linear-gradient(0deg,#a6b9ad 0,#a6b9ad 1px,transparent 1px,transparent 28px)
}
.sheet{
  z-index:2;
  position:relative;
  width:min(405px,95%);
  background:#fffdfa;
  padding:35px 32px 25px;
  box-shadow:0 24px 65px #274d4533,0 4px 8px #274d451f;
  transform:rotate(3deg);
  border:1px solid #e5e2d8
}
.sheet-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:2px solid #203c41;
  padding-bottom:17px
}
.seal{
  font:700 10px var(--sans);
  letter-spacing:2px;
  color:#315156
}
.sheet-stamp{
  border:1px solid #7d968a;
  padding:5px 7px;
  color:#286458;
  font:700 9px var(--sans);
  letter-spacing:1px
}
.sheet h2{
  font:400 28px/1.15 var(--serif);
  margin:26px 0 8px
}
.sheet .meta{
  color:#50675e;
  font:700 9px var(--sans);
  letter-spacing:1.3px;
  margin-bottom:22px
}
.doc-row{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:13px;
  padding:13px 0;
  border-top:1px solid #e5e8e3;
  align-items:start
}
.doc-n{
  font:700 10px var(--sans);
  color:#80572e
}
.doc-h{
  font:700 12px var(--sans);
  color:#304c50
}
.doc-lines{
  margin-top:6px;
  background:linear-gradient(90deg,#b6c4bf 0 86%,transparent 86%);
  height:5px;
  opacity:.62
}
.doc-lines.short{
  width:68%
}
.sheet-bottom{
  margin-top:17px;
  padding-top:15px;
  border-top:1px solid #d4dfd8;
  font-size:10px;
  font-weight:700;
  color:var(--sea);
  display:flex;
  justify-content:space-between
}
.chip{
  z-index:3;
  position:absolute;
  right:-14px;
  bottom:16px;
  background:var(--ink);
  color:white;
  padding:14px 19px;
  box-shadow:0 13px 28px #1b433e30;
  font-size:11px;
  letter-spacing:.3px;
  font-weight:600
}
.chip b{
  color:#e9bb77
}
.section{
  padding:110px 0
}
.section-head{
  display:grid;
  grid-template-columns:37% 1fr;
  gap:60px;
  align-items:end;
  margin-bottom:56px
}
.kicker{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:2px;
  color:var(--sea);
  font-weight:800;
  margin:0 0 15px
}
.section h2,.section-head h2{
  font:400 clamp(36px,3.7vw,54px)/1.16 var(--serif);
  letter-spacing:-1.5px;
  margin:0
}
.section-head p{
  max-width:600px;
  margin:0 0 6px;
  font-size:16px;
  line-height:1.8;
  color:#52616a
}
.feature{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  background:var(--paper);
  border:1px solid var(--line);
  min-height:430px
}
.feature-copy{
  padding:60px 56px
}
.num{
  font:700 12px var(--sans);
  letter-spacing:2px;
  color:#80572e
}
.feature h3{
  font:400 37px/1.18 var(--serif);
  margin:20px 0 22px;
  max-width:430px
}
.feature p{
  font-size:15px;
  line-height:1.8;
  color:#4b5b61;
  max-width:465px
}
.list-tick{
  padding:0;
  margin:23px 0 0;
  list-style:none;
  display:grid;
  gap:9px;
  font-size:13px;
  font-weight:700
}
.list-tick li:before{
  content:'✓';
  color:var(--sea);
  padding-right:11px
}
.feature-copy,.feature-visual,.report{
  min-width:0
}
.feature-visual{
  background:#e6ece6;
  border-left:1px solid var(--line);
  padding:52px;
  display:flex;
  align-items:center;
  justify-content:center
}
.report{
  background:#fff;
  max-width:420px;
  width:100%;
  min-width:0;
  padding:28px;
  border:1px solid #d9ddd5;
  box-shadow:0 10px 0 -4px #d4ded7,0 15px 35px #334d3d1c
}
.report-title{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  border-bottom:1px solid #cddbd5;
  padding-bottom:17px;
  gap:15px
}
.report-title b{
  font-family:var(--serif);
  font-size:19px;
  font-weight:400
}
.report-title span{
  font-size:9px;
  font-weight:800;
  color:#50746b;
  text-transform:uppercase;
  letter-spacing:1px;
  white-space:nowrap
}
.report-label{
  font-size:10px;
  letter-spacing:1.4px;
  color:#4f615a;
  font-weight:800;
  margin:23px 0 6px
}
.report-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 0;
  border-bottom:1px solid #e4e9e4;
  font-size:12px;
  color:#2a4445;
  font-weight:700
}
.check{
  border-radius:50%;
  background:#dce9e2;
  color:#1c665b;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  flex:0 0 25px
}
.report-footer{
  font-size:10px;
  color:#52635c;
  margin-top:18px
}
.service-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-top:22px
}
.mini{
  background:var(--paper);
  border:1px solid var(--line);
  padding:42px 42px 48px;
  min-height:282px
}
.mini h3{
  font:400 29px/1.2 var(--serif);
  margin:16px 0
}
.mini p{
  max-width:470px;
  font-size:14px;
  color:#546269;
  line-height:1.8
}
.mini .textlink{
  font-weight:800;
  font-size:13px;
  text-underline-offset:5px
}
.separate{
  margin-top:22px;
  padding:25px 32px;
  border:1px solid #d6d1c7;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:28px;
  background:#edeae2
}
.separate strong{
  font:400 23px var(--serif)
}
.separate p{
  font-size:13px;
  color:#53616a;
  margin:0;
  max-width:650px
}
.process{
  background:var(--ink);
  color:#fff
}
.process .kicker{
  color:#e6b17a
}
.process-header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:35px;
  margin-bottom:52px
}
.process h2{
  max-width:750px
}
.process-header p{
  max-width:310px;
  color:#c1d0d1;
  font-size:14px;
  margin:0
}
.process-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #547077
}
.process-step{
  padding:32px 38px 8px 0
}
.process-step:not(:last-child){
  border-right:1px solid #547077;
  margin-right:36px
}
.process-step .num{
  color:#eabb80
}
.process-step h3{
  font:400 26px var(--serif);
  margin:21px 0 13px
}
.process-step p{
  color:#c5d1d3;
  font-size:14px;
  line-height:1.8;
  max-width:330px
}
.about{
  background:#eeeae0
}
.about-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:100px;
  align-items:center
}
.about h2{
  max-width:640px
}
.about-copy p{
  color:#475963;
  line-height:1.85;
  font-size:16px;
  max-width:630px
}
.about-fact{
  border-left:2px solid #bb8651;
  padding:22px 28px;
  background:#fbf9f3
}
.fact-n{
  font:400 62px/.95 var(--serif);
  color:var(--sea);
  margin-bottom:12px
}
.about-fact strong{
  font:400 25px/1.25 var(--serif);
  display:block;
  max-width:340px
}
.about-fact p{
  font-size:13px;
  color:#52636a;
  max-width:360px;
  line-height:1.8
}
.quote-rule{
  border-top:1px solid #d9d3c8;
  margin:27px 0
}
.deadline{
  background:var(--paper);
  padding:60px 0;
  border-top:1px solid #ddd8cd;
  border-bottom:1px solid #ddd8cd
}
.deadline-inner{
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:50px;
  align-items:center
}
.deadline h2{
  font:400 30px/1.15 var(--serif);
  margin:0
}
.dategrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.datebox{
  border-left:2px solid var(--sea);
  padding-left:19px
}
.datebox b{
  font:400 26px var(--serif)
}
.datebox small{
  display:block;
  font-size:12px;
  line-height:1.6;
  color:#55636a;
  margin-top:7px
}
.deadline-note{
  grid-column:2;
  font-size:11px;
  color:#617077;
  margin:-16px 0 0;
  max-width:750px
}
.deadline-note a{
  text-underline-offset:4px
}
.contact{
  background:#173a42;
  color:#fff;
  padding:95px 0
}
.contact-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:70px
}
.contact .kicker{
  color:#e2b785
}
.contact h2{
  font:400 clamp(40px,4.2vw,60px)/1.11 var(--serif);
  max-width:720px;
  letter-spacing:-1.5px;
  margin:0 0 18px
}
.contact p{
  font-size:15px;
  line-height:1.7;
  color:#c9d8d8;
  max-width:620px;
  margin:0
}
.footer{
  padding:34px 0;
  background:#0f2830;
  color:#b9c9c9
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  font-size:12px
}
.footer b{
  color:#fff;
  font-family:var(--serif);
  font-size:21px
}
.footer small{
  display:block;
  color:#b9c9c9
}
.footer a{
  color:#fff;
  text-underline-offset:4px
}
@media(max-width:1100px){
  .wrap{
    padding:0 28px
  }
  .hero-inner{
    grid-template-columns:53% 47%
  }
  .hero h1{
    font-size:53px
  }
  .hero-copy{
    padding-right:30px
  }
  .sheet{
    width:330px
  }
  .sheet-back{
    left:0;
    width:305px
  }
  .chip{
    right:0
  }
  .section-head{
    gap:35px
  }
  .feature-copy{
    padding:45px
  }
  .feature-visual{
    padding:35px
  }
  .about-grid{
    gap:50px
  }
}
@media(max-width:860px){
  .wrap{
    padding:0 22px
  }
  .topbar-inner{
    min-height:79px
  }
  .brand{
    min-width:0
  }
  .mark{
    width:40px;
    height:43px;
    font-size:28px
  }
  .wordmark b{
    font-size:21px
  }
  .wordmark small{
    font-size:8px
  }
  .desktop-nav{
    display:none
  }
  .mobile-nav{
    display:block;
    position:relative
  }
  .mobile-nav summary{
    list-style:none;
    cursor:pointer;
    font-weight:800;
    border:1px solid #bbc8c4;
    padding:9px 13px;
    font-size:13px
  }
  .mobile-nav summary::-webkit-details-marker{
    display:none
  }
  .mobile-nav summary:after{
    content:' ☰';
    margin-left:6px
  }
  .mobile-nav[open] .mobile-items{
    position:absolute;
    right:0;
    top:47px;
    display:grid;
    min-width:210px;
    background:#fff;
    border:1px solid #d3d4cc;
    box-shadow:0 16px 24px #10221e2e;
    padding:9px;
    z-index:30
  }
  .mobile-items a{
    padding:11px;
    text-decoration:none;
    font-size:14px
  }
  .hero{
    background:linear-gradient(180deg,var(--cream) 0 62%,#dce8e1 62% 100%)
  }
  .hero-inner{
    grid-template-columns:1fr;
    min-height:0
  }
  .hero-copy{
    padding:72px 0 25px
  }
  .hero h1{
    font-size:clamp(45px,10vw,69px);
    letter-spacing:-1.9px;
    margin:23px 0
  }
  .hero-lede{
    font-size:16px;
    line-height:1.75
  }
  .hero-proof{
    margin-top:37px
  }
  .visual{
    min-height:560px;
    padding:25px 12px 118px
  }
  .visual:before{
    inset:0 -22px
  }
  .sheet-back{
    left:13%;
    top:65px;
    width:65%;
    height:365px
  }
  .sheet{
    width:76%;
    max-width:395px;
    padding:24px;
    transform:rotate(3deg)
  }
  .sheet h2{
    font-size:24px
  }
  .sheet .meta{
    margin-bottom:12px
  }
  .doc-row{
    padding:10px 0
  }
  .chip{
    bottom:14px;
    right:0
  }
  .section{
    padding:72px 0
  }
  .section-head{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:34px
  }
  .section h2,.section-head h2{
    font-size:40px
  }
  .section-head p{
    font-size:15px
  }
  .feature{
    grid-template-columns:minmax(0,1fr)
  }
  .feature-copy{
    padding:38px 30px
  }
  .feature h3{
    font-size:33px
  }
  .feature-visual{
    border-left:0;
    border-top:1px solid var(--line);
    padding:40px 24px
  }
  .service-pair{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:14px
  }
  .mini{
    min-height:0;
    padding:31px
  }
  .mini h3{
    font-size:27px
  }
  .separate{
    display:block;
    padding:25px
  }
  .separate p{
    margin-top:10px
  }
  .process-header{
    display:block
  }
  .process-header p{
    margin-top:20px
  }
  .process-grid{
    grid-template-columns:1fr
  }
  .process-step{
    padding:27px 0!important;
    margin:0!important;
    border-right:0!important;
    border-bottom:1px solid #547077
  }
  .process-step p{
    max-width:500px
  }
  .about-grid{
    grid-template-columns:1fr;
    gap:30px
  }
  .about-fact{
    max-width:100%
  }
  .deadline-inner{
    grid-template-columns:1fr;
    gap:22px
  }
  .dategrid{
    grid-template-columns:1fr 1fr
  }
  .deadline-note{
    grid-column:1;
    margin:0
  }
  .contact-inner{
    display:block
  }
  .contact .button{
    margin-top:30px
  }
  .footer-inner{
    align-items:start;
    flex-direction:column;
    gap:16px
  }
}
@media(max-width:400px){
  .wrap{
    padding:0 18px
  }
  .wordmark b{
    font-size:18px
  }
  .wordmark small{
    font-size:9px;
    letter-spacing:.5px
  }
  .mark{
    width:37px;
    height:40px
  }
  .hero h1{
    font-size:43px
  }
  .hero-copy{
    padding-top:58px
  }
  .eyebrow{
    font-size:10px;
    letter-spacing:1.5px
  }
  .actions{
    gap:19px
  }
  .visual{
    min-height:520px
  }
  .sheet{
    width:82%;
    padding:18px
  }
  .sheet h2{
    font-size:22px
  }
  .sheet-back{
    top:43px
  }
  .chip{
    font-size:10px;
    padding:11px
  }
  .dategrid{
    grid-template-columns:1fr
  }
  .report{
    padding:20px
  }
  .about-fact{
    padding:18px
  }
}
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *{
    animation:none!important;
    transition:none!important
  }
}
/* Production refinements: make long-form copy comfortable and controls easy to use. */
.section-head p,.about-copy p{
  font-size:17px
}
.feature p,.mini p,.process-step p,.contact p{
  font-size:16px
}
.mini .textlink,.separate p,.separate a,.about-fact p,.process-header p{
  font-size:15px
}
.list-tick{
  font-size:15px
}
.datebox small{
  font-size:14px
}
.deadline-note{
  font-size:13px;
  line-height:1.6
}
.report-item{
  font-size:14px
}
.report-footer{
  font-size:12px;
  line-height:1.6
}
.report-label{
  font-size:12px
}
.hero-proof{
  font-size:13px
}
.desktop-nav a{
  font-size:14px
}
.mobile-nav summary{
  min-height:44px;
  display:flex;
  align-items:center
}
.mobile-items a{
  min-height:44px;
  display:flex;
  align-items:center
}
.textlink:hover,.separate a:hover,.footer a:hover,.deadline-note a:hover{
  text-decoration-thickness:2px
}
section[id],footer[id]{
  scroll-margin-top:18px
}
.visual{
  margin:0
}
.document-caption{
  position:absolute;
  z-index:4;
  bottom:25px;
  left:15px;
  font-size:11px;
  color:#31574f;
  background:#f8faf4e8;
  padding:5px 8px
}
.hero .sheet h2{
  letter-spacing:0
}
.footer-status{
  font-size:13px
}
.contact-action{
  display:grid;
  gap:14px;
  justify-items:start;
  min-width:245px
}
.contact-email{
  color:#fff;
  font-weight:700;
  text-underline-offset:4px
}
.contact-email a{
  color:#fff
}
.contact-copy{
  background:transparent;
  color:#fff;
  border:1px solid #8fb4b4;
  font-size:13px;
  padding:10px 13px;
  min-height:44px;
  cursor:pointer
}
.contact-copy:hover{
  background:#29515a
}
.contact-copy:focus-visible{
  outline:3px solid #f0bd7b;
  outline-offset:3px
}
.copy-status{
  min-height:1.5em;
  font-size:13px;
  color:#d5e6e6
}
/* Quiet product-development panel, deliberately distinct from the services. */
.platform{
  padding:66px 0;
  background:#e6ece7;
  border-top:1px solid #d6ddd7
}
.platform-inner{
  display:grid;
  grid-template-columns:240px 1fr;
  align-items:start;
  gap:65px
}
.platform h2{
  font:400 clamp(31px,3.2vw,43px)/1.2 var(--serif);
  letter-spacing:-1px;
  margin:0 0 16px
}
.platform p{
  font-size:16px;
  line-height:1.85;
  color:#40535a;
  margin:0 0 12px;
  max-width:810px
}
.platform-status{
  display:inline-block;
  padding:8px 11px;
  background:#d5e6da;
  color:#17493f;
  font-size:12px;
  letter-spacing:1px;
  font-weight:800;
  text-transform:uppercase;
  border-left:3px solid var(--sea)
}
.platform-heading{
  color:#24584d;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:11px;
  margin:0 0 14px
}
@media(max-width:860px){
  .platform-inner{
    grid-template-columns:1fr;
    gap:22px
  }
  .platform{
    padding:56px 0
  }
  .contact-action{
    margin-top:28px
  }
  .document-caption{
    bottom:66px;
    left:6px
  }
  .contact .button{
    margin-top:0
  }
}
@media(max-width:400px){
  .document-caption{
    font-size:10px;
    bottom:64px
  }
  .hero-proof{
    margin-top:30px
  }
  .report-item{
    font-size:13px
  }
  .platform h2{
    font-size:33px
  }
}
@media(min-width:861px) and (max-width:1100px){
  .desktop-nav{
    gap:18px
  }
  .desktop-nav a{
    font-size:13px
  }
  .brand{
    min-width:215px
  }
  .nav-cta{
    padding:12px 14px
  }
}


/* Multipage editorial system. Inherits the November 3 Scout-reviewed visual design. */
.desktop-nav{gap:25px}
.desktop-nav a[aria-current="page"]:not(.nav-cta){color:var(--sea);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.nav-cta[aria-current="page"]{background:var(--sea)}
.mobile-items a[aria-current="page"]{background:#edf3ee;color:#17493f;font-weight:800}
.breadcrumbs{display:flex;align-items:center;gap:13px;color:#53636a;font-size:12px;padding-top:22px;padding-bottom:8px}
.breadcrumbs a{text-underline-offset:4px}
.breadcrumbs span[aria-hidden]{color:#596b65}
.page-hero{position:relative;overflow:hidden}
.page-hero .page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:8%;min-height:610px;padding-top:70px;padding-bottom:85px}
.page-copy{max-width:645px}
.page-copy h1{font:400 clamp(49px,5vw,78px)/1.075 var(--serif);letter-spacing:-2.9px;margin:27px 0 25px}
.page-copy h1 em{font-weight:400;color:var(--sea)}
.page-lede{font-size:18px;line-height:1.8;color:#41555b;max-width:575px;margin:0 0 30px}
.page-copy .fine-print{margin:26px 0 0;color:#526963;font-size:12px;letter-spacing:.01em}
.page-hero-document{background:linear-gradient(105deg,#f7f5ef 0%,#f7f5ef 56%,#e5eee8 56%)}
.document-art{width:100%;max-width:500px;margin:0 auto;position:relative;min-height:465px;padding:5px 0 28px}
.document-art:before{content:'';position:absolute;background:#c7d8ce;transform:rotate(-5deg);inset:24px 35px 60px 40px;border:1px solid #9cafaa;box-shadow:0 15px 40px #263e343b}
.art-file{position:relative;width:86%;margin:0 auto;background:#fffefa;border:1px solid #d7ded7;padding:30px 31px 23px;transform:rotate(2deg);box-shadow:0 22px 45px #21403e28;min-height:402px}
.art-file-top{display:flex;justify-content:space-between;gap:15px;border-bottom:2px solid var(--ink);padding-bottom:13px;font-size:9px;letter-spacing:1.5px;font-weight:800;color:#385c55}
.art-file-heading{font:400 31px/1.1 var(--serif);margin:24px 0 5px}
.art-file-sub{font-size:9px;letter-spacing:.07em;color:#57726c;margin-bottom:22px}
.art-file-row{display:flex;gap:18px;align-items:center;border-top:1px solid #e1e7e2;padding:13px 0;font-size:12px;color:#263f3f}
.art-file-row span{display:grid;place-items:center;width:31px;min-width:31px;height:26px;border:1px solid #91ada5;color:#246153;font-weight:800;font-size:9px}
.tag-note{z-index:2;position:relative;margin:-12px auto 0;width:max-content;max-width:100%;padding:13px 14px;background:var(--ink);color:#fdfdf7;box-shadow:0 9px 20px #1f4d493b;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:750}
.tag-note span{color:#edc691;font-size:10px}.tag-note i{width:10px;height:1px;background:#79918c}
.document-art figcaption,.transcript-art figcaption,.audit-art figcaption{font-size:11px;color:#385951;line-height:1.5;margin-top:15px;position:relative;text-align:center}
.editorial-section{padding:98px 0}
.editorial-section h2{font:400 clamp(35px,3.7vw,54px)/1.14 var(--serif);letter-spacing:-1.35px;margin:0 0 24px}
.editorial-section h3{font:400 27px/1.18 var(--serif);margin:0 0 13px}
.editorial-section p{color:#4e6268;font-size:16px;line-height:1.8}
.split-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:80px;margin-bottom:48px}
.split-intro p:last-child{margin:0 0 6px}
.problem-ledger{border-top:2px solid #243f45}
.ledger-heading{display:grid;grid-template-columns:1fr 1fr;padding:16px 26px;background:var(--ink);color:#e9ede9;gap:40px;font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}
.ledger-row{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:31px 26px;border-bottom:1px solid #cbd4cf}
.ledger-row>div:first-child{padding-left:33px;position:relative}
.ledger-row>div:nth-child(2){padding-left:24px;border-left:2px solid #91ada4}
.ledger-row h3{font-size:24px}.ledger-row p{margin:0;max-width:520px;font-size:14px}
.ledger-index{position:absolute;top:2px;left:0;color:#855d35;font-size:12px;font-weight:800}
.soft-section{background:#e9eee8}
.two-rail{display:grid;grid-template-columns:.9fr 1.1fr;gap:13%;align-items:start}
.two-rail>div:first-child p:last-child{max-width:420px}
.number-steps{border-top:2px solid var(--ink)}
.number-steps>div{position:relative;padding:23px 0 26px 64px;border-bottom:1px solid #c5d2ca}
.number-steps span{position:absolute;top:28px;left:0;font-size:12px;letter-spacing:1.5px;color:#855d2f;font-weight:800}
.number-steps h3{font:400 26px/1.2 var(--serif)}
.number-steps p{font-size:15px;margin:0;max-width:560px}
.section-headline{max-width:930px;margin-bottom:38px}
.deliverable-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.deliverable-grid article{border-top:3px solid var(--sea);background:#fffefa;border-bottom:1px solid #d7dacf;padding:31px;min-height:230px}
.deliverable-number{display:inline-block;font-weight:800;font-size:12px;letter-spacing:1px;color:#92663c;margin-bottom:25px}
.deliverable-grid p{font-size:14px;margin:0}
.faq-section{background:#f3f0e9}
.faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%}
.faq-list{border-top:2px solid #23474c}
.faq-list details{border-bottom:1px solid #c3cac4;padding:22px 0}
.faq-list summary{font:400 23px/1.25 var(--serif);cursor:pointer;list-style:none;padding-right:35px;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:3px;top:0;color:var(--sea);font:400 25px var(--sans)}
.faq-list details[open] summary:after{content:'−'}
.faq-list p{font-size:15px;margin:15px 0 0}
.page-cta{background:#173a42;color:#fff;padding:82px 0}
.page-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.page-cta h2{font:400 clamp(32px,3.6vw,52px)/1.16 var(--serif);letter-spacing:-1px;margin:0 0 13px;max-width:690px}
.page-cta p{color:#c4d7d8;font-size:15px;max-width:610px;margin:0;line-height:1.7}
.page-cta .kicker{color:#e8ba83;margin-bottom:18px}
.page-cta .button{white-space:nowrap}
.feature-more{margin-top:28px}
.about-cta{margin-top:28px}
.footer-brand{text-decoration:none}
.footer-brand:hover b{text-decoration:underline;text-underline-offset:4px}
.footer-links{display:flex;gap:16px}
/* Captioning: a dark studio treatment, with textual timing rather than fake sound-wave output. */
.page-hero-captions{background:#17343c}
.page-hero-captions .page-copy h1{color:white}
.page-hero-captions .page-copy h1 em{color:#d5b181}
.page-hero-captions .eyebrow{color:#b1d3c9}
.page-hero-captions .page-lede{color:#c9d9d9}
.page-hero-captions .quiet-link{color:#fff}
.transcript-art{margin:0;max-width:500px;width:100%;background:#fdfcf7;padding:28px 30px 21px;box-shadow:15px 18px 0 #31595b,0 30px 50px #0b1e257d;transform:rotate(-1deg)}
.transcript-top{display:flex;align-items:center;gap:7px;color:#41645e;font-size:10px;font-weight:800;letter-spacing:1.3px;border-bottom:1px solid #cbd4cc;padding-bottom:14px}
.transcript-top span:last-child{margin-left:auto;color:#906744}.transcript-dot{width:8px;height:8px;background:#2b665b;border-radius:50%}
.transcript-title{font:400 30px var(--serif);margin:24px 0 25px;color:#203e44}.transcript-title span{font:700 10px var(--sans);text-transform:uppercase;color:#5e6f69;letter-spacing:1px}
.transcript-line{display:grid;grid-template-columns:75px 1fr;gap:14px;border-top:1px solid #dce1dc;padding:17px 0}
.transcript-line time{color:#85613b;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.transcript-line strong{color:#215a51;font-size:10px;letter-spacing:1.4px}.transcript-line p{color:#2c484a;margin:3px 0 0;font-size:14px;line-height:1.45}
.transcript-progress{height:4px;background:#dce6df;margin:20px 0 10px}.transcript-progress span{display:block;background:#31786a;width:35%;height:4px}
.transcript-art figcaption{color:#53655f}
.caption-priorities{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.caption-priorities>div{border-top:2px solid #23474c;padding:23px 20px 0 0}.caption-priorities b{font-size:11px;color:#92663c;letter-spacing:1px;display:block;margin:0 0 27px}.caption-priorities p{font-size:15px}
.caption-deliverables{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border-left:1px solid #cdd5cf}
.caption-deliverables>div{padding:36px 28px;border-right:1px solid #cdd5cf}.format-label{font-size:11px;color:#936738;font-weight:800;letter-spacing:1.6px;display:block;margin-bottom:23px}.caption-deliverables p{font-size:15px}
/* Audit: paper-like prioritized findings. */
.page-hero-audits{background:linear-gradient(110deg,#f7f5ef 0 58%,#e5e7dc 58%)}
.audit-art{margin:0;max-width:505px;background:#fffcf5;box-shadow:0 20px 45px #33463b2b;transform:rotate(1.5deg);border:1px solid #d1d8d1;padding:28px}
.audit-art-header{display:flex;justify-content:space-between;border-bottom:2px solid #253e42;padding:0 0 12px;color:#395b53;font-size:10px;letter-spacing:1px;font-weight:800}
.audit-art-title{font:400 34px var(--serif);margin:22px 0 0}.audit-art-sub{font-size:10px;color:#63746e;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}
.audit-finding{display:grid;grid-template-columns:55px 1fr 24px;align-items:start;gap:15px;padding:17px 0;border-top:1px solid #dce2d9}
.audit-finding strong{display:block;color:#234449;font-size:13px}.audit-finding small{font-size:11px;color:#5b706c;line-height:1.5;display:block;margin-top:4px}.audit-finding>b{font-size:12px;color:#526960}
.severity{font-size:10px;font-weight:800;letter-spacing:.05em;padding:5px 7px;text-align:center}.severity.high{color:#7c3728;background:#f0dcd4}.severity.med{color:#775322;background:#f3e5c7}
.audit-art-footer{border-top:2px solid #253e42;font-size:10px;letter-spacing:1.1px;padding-top:15px;color:#35594f;font-weight:800}
.audit-two-column{display:grid;grid-template-columns:1fr 1fr;gap:22px}.audit-card{background:#fffdfa;border:1px solid #cad4cd;padding:38px 35px;min-height:325px}.audit-card h3{font-size:31px}.audit-card .list-tick{font-size:15px;line-height:1.8}
.regulation-panel{border-top:2px solid #24434a;display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-top:30px}.reg-date{font:400 31px var(--serif)}.regulation-panel>div{border-left:3px solid var(--sea);padding:0 0 0 25px}.regulation-panel p{font-size:14px}.reg-source{grid-column:1/-1;font-size:13px!important;color:#566970!important;margin:0}.reg-source a{text-underline-offset:3px}
/* About: a dedicated, oversized service-history artifact. */
.page-hero-about{background:#eeeae0}.experience-art{position:relative;min-height:420px;padding:30px 38px;background:#203f45;color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:18px 18px 0 #c4d0c5;max-width:440px;margin:auto;width:100%}
.experience-art:after{content:'';position:absolute;right:30px;top:50px;width:90px;height:90px;border:1px solid #8da9a3;border-radius:50%;box-shadow:0 0 0 14px #ffffff0b}
.experience-top{font-size:10px;letter-spacing:2px;color:#c5d9d1;font-weight:800}.experience-n{font:400 clamp(130px,16vw,214px)/.83 var(--serif);letter-spacing:-9px;color:#eac996;margin:10px 0 0}.experience-label{font:400 28px/1.25 var(--serif);max-width:230px}.experience-bottom{padding-top:22px;border-top:1px solid #77908d;font-size:11px;letter-spacing:1.1px;color:#c1d6d2;text-transform:uppercase}
.about-story{display:grid;grid-template-columns:1fr 1.1fr;gap:11%}.about-story h2{max-width:530px}.story-copy p{font-size:17px;margin:0 0 23px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.values-grid>div{border-top:2px solid var(--sea);padding-top:24px}.values-grid span{font-weight:800;letter-spacing:1px;font-size:11px;color:#896036;display:block;margin-bottom:25px}.values-grid h3{font-size:28px}.values-grid p{font-size:15px}.platform-story{background:#e6ece7}
/* Contact: simple direct path, no fake submission backend. */
.page-hero-contact{background:#f7f5ef}.contact-letter{background:#fffefa;padding:40px;border-top:5px solid #1c665b;box-shadow:0 18px 40px #263d3822;display:flex;flex-direction:column;align-items:flex-start;max-width:480px;width:100%;margin:auto}
.contact-letter-kicker{font-size:11px;letter-spacing:2px;color:#94683e;font-weight:800}.contact-letter h2{font:400 clamp(22px,2.5vw,30px)/1.2 var(--serif);overflow-wrap:anywhere;margin:24px 0 12px}.contact-letter p{font-size:15px;line-height:1.75;color:#52646b;margin:0 0 26px}.contact-copy-dark{color:var(--ink);border-color:#73948b;margin-top:15px}.contact-copy-dark:hover{background:#e8f3eb}.copy-status.dark{color:#274a47}
.contact-boundary{display:grid;grid-template-columns:1fr .8fr;gap:13%}.contact-boundary aside{border-left:3px solid #ad7a46;padding:23px 25px;background:#fafaf4}.contact-boundary aside h3{font-size:28px}
@media(max-width:1100px){.desktop-nav{gap:16px}.desktop-nav a{font-size:13px}.nav-cta{padding:12px 14px}.page-hero .page-grid{gap:5%}.page-copy h1{font-size:clamp(45px,5vw,64px)}.page-lede{font-size:16px}.document-art{transform:scale(.95)}}
@media(max-width:1010px){.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{list-style:none;cursor:pointer;font-weight:800;border:1px solid #bbc8c4;padding:9px 13px;font-size:13px;min-height:44px;display:flex;align-items:center}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary:after{content:' ☰';margin-left:6px}.mobile-nav[open] .mobile-items{position:absolute;right:0;top:47px;display:grid;min-width:220px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d3d4cc;box-shadow:0 16px 24px #10221e2e;padding:9px;z-index:30}.mobile-items a{min-height:44px;display:flex;align-items:center;padding:11px;text-decoration:none;font-size:14px}}
@media(max-width:860px){.page-hero .page-grid{grid-template-columns:1fr;gap:38px;min-height:0;padding-top:54px;padding-bottom:68px}.page-hero-document,.page-hero-audits{background:linear-gradient(180deg,#f7f5ef 0 52%,#e5eee8 52%)}.page-copy h1{font-size:clamp(43px,8vw,68px)}.page-lede{font-size:16px}.document-art{transform:none}.transcript-art{margin:0 auto;transform:none}.audit-art{margin:0 auto;transform:none}.split-intro,.two-rail,.faq-layout,.about-story,.contact-boundary{grid-template-columns:1fr;gap:24px}.editorial-section{padding:66px 0}.split-intro{margin-bottom:30px}.deliverable-grid,.caption-priorities,.caption-deliverables,.values-grid{grid-template-columns:1fr;gap:15px}.deliverable-grid article{min-height:0}.caption-deliverables{border-left:0;border-top:1px solid #cdd5cf}.caption-deliverables>div{border-right:0;border-bottom:1px solid #cdd5cf;padding:25px 0}.page-cta-inner{display:block}.page-cta .button{margin-top:28px}.experience-art{margin:10px auto}.audit-two-column{grid-template-columns:1fr}.contact-letter{margin:0 auto}}
@media(max-width:540px){.breadcrumbs{padding-top:16px}.page-hero .page-grid{padding-top:46px;padding-bottom:53px}.page-copy h1{font-size:clamp(40px,11vw,54px);letter-spacing:-1.9px}.page-lede{font-size:15px}.editorial-section h2{font-size:36px}.document-art{min-height:400px}.art-file{width:92%;padding:20px;min-height:350px}.art-file-heading{font-size:27px}.tag-note{font-size:9px;flex-wrap:wrap;justify-content:center}.art-file-row{padding:10px 0}.ledger-heading,.ledger-row{grid-template-columns:1fr}.ledger-heading span:last-child{display:none}.ledger-row{gap:20px;padding:25px 16px}.ledger-row>div:nth-child(2){margin-left:32px}.transcript-art,.audit-art{padding:22px 17px;box-shadow:8px 12px 0 #31595b}.audit-art{box-shadow:0 13px 25px #33463b2b}.transcript-line{grid-template-columns:65px 1fr;gap:8px}.transcript-line p{font-size:12px}.audit-finding{grid-template-columns:49px 1fr 18px;gap:7px}.audit-finding small{font-size:10px}.regulation-panel{grid-template-columns:1fr}.reg-source{grid-column:auto}.contact-letter{padding:28px 22px}.contact-letter h2{font-size:23px}.page-cta{padding:66px 0}.page-cta h2{font-size:36px}.page-cta .button{white-space:normal}.experience-art{min-height:380px;padding:26px}.experience-n{font-size:150px}}


/* v4: keyboard focus and generous interaction targets, without changing the hero art geometry. */
a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 3px solid #a46027;
  outline-offset: 4px;
  box-shadow: 0 0 0 2px #fff;
}
/* All clickable navigation, prompts, service links and disclosure headings get a >=44px hit area. */
.brand,
.footer-brand,
.desktop-nav a,
.mobile-items a,
.actions .quiet-link,
.textlink,
.breadcrumbs a,
.footer-links a,
.footer-status a,
.contact-email a,
.deadline-note a,
.reg-source a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.footer-brand { flex-direction: column; align-items: flex-start; justify-content: center; }
.faq-list summary { min-height: 44px; display: flex; align-items: center; }
.footer-links a, .breadcrumbs a, .desktop-nav a { min-width: 44px; }
/* Allow long explanatory links to wrap rather than forcing horizontal scrolling. */
.deadline-note a,
.reg-source a,
.footer-status a { max-width: 100%; overflow-wrap: anywhere; }
/* Reduce motion by neutralizing animations AND static decorative transforms. */
@media (prefers-reduced-motion: reduce) {
  html, body { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    scroll-behavior: auto !important;
  }
}
/* Dedicated 404 layout — no alteration of .visual or .chip geometry. */
.not-found-content { min-height: 520px; display: flex; flex-direction: column; justify-content: center; padding-top: 70px; padding-bottom: 90px; }
.not-found-content h1 { max-width: 730px; font: 400 clamp(48px, 5.5vw, 76px)/1.1 var(--serif); letter-spacing: -2px; margin: 18px 0 24px; }
.not-found-content h1 em { color: var(--sea); }
.not-found-content .page-lede { max-width: 590px; }
@media (max-width: 540px) {
  .not-found-content { min-height: 500px; padding-top: 56px; padding-bottom: 65px; }
}

/* Inquiry form (contact page) — appended; does not alter any existing rule. */
.inquiry-grid{
  display:grid;
  grid-template-columns:37% 1fr;
  gap:60px;
  align-items:start
}
.inquiry-form{
  display:grid;
  gap:18px
}
.inquiry-form .field{
  display:grid;
  gap:7px
}
.inquiry-form label{
  font:700 13.5px var(--sans);
  color:var(--ink)
}
.inquiry-form .req{
  color:#9d2c1e
}
.inquiry-form input[type="text"],
.inquiry-form input[type="email"],
.inquiry-form input[type="url"],
.inquiry-form select,
.inquiry-form textarea{
  font:400 15.5px var(--sans);
  color:var(--ink);
  background:#fffefa;
  border:1px solid #aebbb2;
  border-radius:3px;
  padding:11px 13px;
  min-height:44px;
  width:100%
}
.inquiry-form textarea{
  min-height:120px;
  resize:vertical
}
.inquiry-form [aria-invalid="true"]{
  border-color:#9d2c1e;
  border-width:2px
}
.field-hint{
  font-size:13px;
  color:#4b5d61;
  margin:0
}
.field-error{
  font-size:13.5px;
  font-weight:700;
  color:#9d2c1e;
  margin:0
}
.form-status{
  font:600 14.5px var(--sans);
  padding:13px 16px;
  border-left:4px solid var(--sea);
  background:#e6efe8;
  color:#17493f
}
.form-status.error{
  border-left-color:#9d2c1e;
  background:#f7e9e4;
  color:#7c2115
}
.inquiry-form .hp{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden
}
.inquiry-form .cf-turnstile{
  min-height:65px
}
@media(max-width:860px){
  .inquiry-grid{
    grid-template-columns:1fr;
    gap:28px
  }
}
