@layer reset,base,layout,components,responsive;
@layer reset{*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}a{color:inherit}img{display:block;max-width:100%}}
@layer base{:root{--ink:#102d44;--muted:#56656e;--paper:#f6f5f0;--line:#d7deda;--orange:#b94d20}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3{letter-spacing:-.045em;line-height:1.12;text-wrap:balance}h1{font-size:clamp(2.5rem,4.1vw,4.2rem);font-weight:650}h2{font-size:clamp(1.55rem,2.3vw,2.3rem);font-weight:600}h3{font-size:1.35rem;font-weight:600}p{color:var(--muted);text-wrap:pretty}::selection{background:#ffd3b5}summary{cursor:pointer}}
@layer layout{.wrap{width:min(1240px,calc(100% - 5rem));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:115px}.header nav{display:flex;gap:2rem;align-items:center;font-size:.86rem;font-weight:600}.hero{display:grid;grid-template-columns:1.7fr 1fr;gap:5rem;padding-block:2rem 3.2rem;align-items:center}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.section-top{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;margin-bottom:1.4rem}.section-top h2{font-size:1.65rem}.section-top p{font-size:.85rem}.assessment{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;padding-block:2.5rem;border-bottom:1px solid var(--line);margin-top:2.5rem;border-top:1px solid var(--line)}.assessment ol{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.contact{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:2.5rem}footer{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-block:1.4rem;font-size:.72rem}}
@layer components{.preview{text-align:center;background:#e8ece9;font-size:.6rem;letter-spacing:.1em;padding:.35rem}.skip{position:absolute;top:-5rem;padding:1rem;background:white;z-index:5}.skip:focus{top:1rem}.logo{display:block;position:relative;overflow:hidden;width:170px;height:100px;flex:none;background:white;border-radius:5px}.logo img{position:absolute;width:190px;max-width:none;height:190px;left:-10px;top:-43px}.button{display:inline-flex;align-items:center;gap:1.5rem;background:var(--ink);color:#fff;padding:.8rem 1.2rem;border-radius:4px;font-size:.85rem;font-weight:650;transition:background .2s,transform .2s}.button:hover{background:#295069;transform:translateY(-2px)}.eyebrow{font-size:.61rem;letter-spacing:.12em;font-weight:750;margin-bottom:1rem;color:var(--ink)}.tagline{font-size:1.55rem;color:var(--ink);margin-top:1rem;letter-spacing:-.02em}.tagline em{color:var(--orange);font-family:Georgia,serif}.lead{max-width:600px;margin-block:1rem 1.5rem;font-size:1rem}.start{background:var(--ink);color:white;padding:2rem;border-radius:12px;box-shadow:0 15px 35px -25px #102d4480}.start .eyebrow{color:#efb48d}.start p{font-size:.9rem;color:#d8e2e8;margin-block:1rem}.start>a{font-size:.82rem;text-decoration:underline;text-underline-offset:5px}.location{border-top:1px solid #4b6475;margin-top:1.5rem;padding-top:1rem;font-size:.58rem;letter-spacing:.09em;color:#d8e2e8}.service-grid article{border:1px solid var(--line);border-top:3px solid #de7c4b;background:white;border-radius:6px;padding:1.4rem;min-width:0}.number{font-size:.57rem;letter-spacing:.07em;color:var(--muted);display:block;margin-bottom:1.2rem;font-weight:700}.service-grid h3{margin-bottom:1rem}.service-grid p{font-size:.86rem;line-height:1.7}.service-grid details{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:.8rem}.service-grid summary{font-size:.78rem;font-weight:650}.service-grid details[open] p{margin-top:.8rem;font-size:.8rem}.assessment>div>p:last-child{font-size:.9rem;max-width:360px;margin-top:1rem}.assessment li strong{display:block;color:var(--orange);font-size:.78rem}.assessment li strong span{color:var(--ink);margin-left:.9rem;font-size:.92rem}.assessment li p{font-size:.84rem;margin-left:2rem;margin-top:.15rem}.foundation{padding-block:1.1rem;border-bottom:1px solid var(--line)}.foundation summary{font-size:.86rem;font-weight:600}.foundation summary span{float:right;font-size:.73rem;font-weight:400}.references{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;padding-top:1.2rem;font-size:.8rem}.references a{text-decoration:underline;text-underline-offset:3px}.references p:last-child{grid-column:1/-1;font-size:.73rem}.contact .eyebrow{margin-bottom:.5rem}.contact h2{font-size:1.8rem}.contact p:last-child{font-size:.9rem;margin-top:.6rem}.contact-status{border:1px solid var(--line);padding:1rem 1.5rem;border-radius:5px;font-size:.85rem;flex-shrink:0}.contact-status span{display:block;font-size:.77rem;color:var(--muted)}}
@layer responsive{@media(width<1000px){.hero{gap:2rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-top{display:block}.section-top p{margin-top:.5rem}}@media(width<640px){.wrap{width:calc(100% - 2.5rem)}.header{flex-wrap:wrap;gap:.5rem;padding-bottom:1.2rem}.header nav{width:100%;justify-content:space-between;gap:.8rem;font-size:.73rem}.header nav .button{font-size:.73rem;padding:.65rem .8rem}.logo{width:145px;height:88px}.logo img{width:165px;height:165px;top:-38px}.hero{grid-template-columns:1fr;gap:1.5rem;padding-block:1rem 2rem}h1{font-size:clamp(2.1rem,8vw,3rem)}.tagline{font-size:1.25rem}.start{padding:1.5rem}.service-grid{grid-template-columns:1fr}.service-grid h3 br{display:none}.service-grid article{padding:1.2rem}.number{margin-bottom:.7rem}.assessment{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem;padding-block:2rem}.foundation summary span{display:block;float:none;margin-top:.5rem}.references{grid-template-columns:1fr}.contact{display:block;padding-block:2rem}.contact-status{margin-top:1.3rem}footer{flex-wrap:wrap;font-size:.68rem}.section-top h2{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}}
@layer components{.logo{height:110px}.logo img{width:170px;height:170px;left:0;top:-25px}}
@layer responsive{@media(width<640px){.logo{height:95px}.logo img{width:145px;height:145px;left:0;top:-20px}}}

/* Visual refinement: restrained surfaces, aligned deliverables, clearer hierarchy. */
@layer base {
  :root { --paper: #f8f9f8; --line: #dce2e5; --muted: #52626d; }
  h1 { letter-spacing: -.048em; line-height: 1.09; }
  h3 { letter-spacing: -.025em; }
}
@layer layout {
  .header { border-bottom: 1px solid var(--line); min-height: 112px; }
  .hero { padding-block: 2.6rem 2.8rem; gap: 4rem; }
  .section-top { margin-bottom: 1.25rem; }
  .service-grid { gap: 1.1rem; align-items: stretch; }
  .assessment { padding: 2rem; background: #edf1f2; border: 1px solid var(--line); border-radius: 10px; margin-top: 2rem; }
  .contact { padding-block: 2rem; }
}
@layer components {
  .preview { background: var(--ink); color: #d9e2e9; font-size: .57rem; letter-spacing: .16em; padding-block: .35rem; }
  .logo { background: transparent; border-radius: 0; }
  .logo img { mix-blend-mode: multiply; }
  .header nav > a:not(.button) { padding-block: .5rem; border-bottom: 1px solid transparent; transition: border-color .2s; }
  .header nav > a:not(.button):hover { border-color: var(--orange); }
  .button { border: 1px solid transparent; border-radius: 6px; box-shadow: 0 2px 4px #102d4410; }
  .eyebrow { letter-spacing: .13em; }
  .hero > div > .eyebrow::before { content: ''; display: inline-block; width: 6px; height: 6px; background: #d56b36; margin-right: .65rem; vertical-align: 1px; }
  .tagline { font-size: 1.4rem; margin-top: 1.2rem; }
  .lead { line-height: 1.75; max-width: 560px; }
  .start { position: relative; overflow: hidden; border: 1px solid #305067; border-radius: 10px; background: linear-gradient(140deg,#17394f,#102a3e); box-shadow: 0 12px 30px -20px #102d4460; padding: 1.9rem; }
  .start::before { content: ''; position: absolute; top: 0; left: 1.9rem; width: 42px; height: 3px; background: #e18a51; }
  .start h2 { font-size: 1.9rem; line-height: 1.18; }
  .start p { line-height: 1.75; }
  .start > a { display: inline-block; text-decoration-color: #8eabbc; }
  .service-grid article { display: flex; flex-direction: column; border-top: 1px solid var(--line); padding: 1.5rem; border-radius: 9px; box-shadow: 0 3px 10px #102d4404; transition: border-color .2s,box-shadow .2s; }
  .service-grid article:hover { border-color: #a8b8c3; box-shadow: 0 8px 20px #102d4408; }
  .number { color: #846044; font-size: .59rem; margin-bottom: 1.1rem; }
  .service-grid h3 { min-height: 3.1rem; font-size: 1.32rem; line-height: 1.2; margin-bottom: .85rem; }
  .service-grid article > p { margin-bottom: 1.25rem; }
  .service-grid details { margin-top: auto; padding-top: .8rem; }
  summary { list-style: none; }
  summary::-webkit-details-marker { display: none; }
  .service-grid summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 28px; }
  .service-grid summary::after { content: '+'; color: var(--orange); font-size: 1.15rem; font-weight: 400; }
  .service-grid details[open] summary::after { content: '−'; }
  .service-grid details[open] p { padding-bottom: .2rem; }
  .assessment .eyebrow { font-size: .57rem; }
  .assessment h2 { font-size: 2rem; }
  .assessment li + li { border-top: 1px solid #d8e0e4; padding-top: .8rem; }
  .foundation { margin-top: .75rem; padding-inline: .25rem; }
  .foundation summary { padding-block: .4rem; }
  .foundation summary::before { content: '+'; display: inline-block; margin-right: .7rem; color: var(--orange); }
  .foundation details[open] summary::before { content: '−'; }
  .contact-status { background: #fff; border-radius: 8px; }
}
@layer responsive {
  @media(width < 1000px) { .hero { gap: 2rem; } .start h2 { font-size: 1.6rem; } }
  @media(width < 640px) {
    .header { padding-block: .25rem 1rem; }
    .hero { padding-block: 1.8rem 2rem; gap: 1.5rem; }
    .tagline { font-size: 1.2rem; }
    .start { padding: 1.5rem; }
    .service-grid h3 { min-height: 0; }
    .service-grid article { padding: 1.25rem; }
    .assessment { padding: 1.4rem; }
    .assessment h2 { font-size: 1.75rem; }
    .foundation summary span { margin-left: 1.2rem; }
  }
  @media(prefers-reduced-motion: reduce) { *,*::before,*::after { transition: none !important; } }
}
@layer components {
.resource-strip{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:2rem;border-bottom:1px solid var(--line)}
.resource-strip h2{font-size:1.65rem}.resource-strip p:last-child{max-width:650px;font-size:.9rem;margin-top:.75rem}.resource-strip .button{flex-shrink:0}
.resources-page{padding-block:3rem}.resources-page h1{font-size:clamp(2.5rem,5vw,4rem)}.resource-intro{max-width:730px;margin-top:1.1rem;font-size:1.1rem}
.resource-jumps{display:flex;gap:1rem;flex-wrap:wrap;margin-block:1.8rem 2.8rem}.resource-jumps a{border:1px solid var(--line);border-radius:5px;padding:.5rem 1rem;font-size:.85rem;background:white}.resource-jumps a:hover{border-color:var(--orange)}
.resource-group{margin-block:2.5rem;scroll-margin-top:1.5rem}.resource-group>p{font-size:.9rem;margin-top:.7rem;max-width:800px}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.3rem}.resource-card{padding:1.5rem;background:white;border:1px solid var(--line);border-radius:8px}.resource-card h3{font-size:1.2rem;line-height:1.35;margin-block:.8rem}.resource-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}.resource-card p{font-size:.87rem}.resource-type{font-size:.65rem;color:#8b4827;font-weight:700;letter-spacing:.04em}.resource-note{background:#edf1f2;border:1px solid var(--line);padding:1.4rem;border-radius:8px;font-size:.8rem}.resource-note p{margin-top:.6rem}
}
@layer responsive{@media(width<900px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header nav{flex-wrap:wrap}}@media(width<640px){.resource-grid{grid-template-columns:1fr}.resource-strip{display:block}.resource-strip .button{margin-top:1.2rem}.resources-page{padding-block:2rem}.header nav{justify-content:flex-start;gap:1rem}}}
