/* Sierra Echo — the one stylesheet. Linked from every public/*.dc.html page (via <helmet>) and copied to site/ by
   scripts/prerender.js. Pages use these classes, not inline style="" (the pre-render rejects inline styles). */

/* base */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:#f7f9fb;color:#11161d;-webkit-font-smoothing:antialiased;}
::selection{background:#2c6cb0;color:#fff;}
a{color:inherit;}
[hidden]{display:none !important;}
input,textarea,select{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;}
input::placeholder,textarea::placeholder{color:#9aa7b4;}
input:focus,textarea:focus,select:focus{outline:none;border-color:#11161d !important;}
.se-nav-toggle{display:none;}

/* page shell, header & nav */
.se-page{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background:#f7f9fb;min-height:100vh;}
.se-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(150%) blur(10px);background:rgba(247,249,251,.82);border-bottom:1px solid #d4dce4;}
.se-bar{max-width:1280px;margin:0 auto;padding:0 28px;height:68px;display:flex;align-items:center;justify-content:space-between;}
.se-logo{display:flex;align-items:center;gap:13px;text-decoration:none;color:#11161d;}
.se-logo-mark{width:17px;height:17px;background:#11161d;display:inline-block;position:relative;flex:none;}
.se-logo-dot{position:absolute;right:-4px;bottom:-4px;width:8px;height:8px;background:#2c6cb0;}
.se-logo-name{font-weight:600;font-size:17px;letter-spacing:-.01em;}
.se-logo-tag{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:11px;color:#5c6b7a;letter-spacing:.08em;padding-left:11px;border-left:1px solid #d4dce4;}
.se-desktop-nav{display:flex;align-items:center;gap:2px;font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.06em;}
.se-nav-link{text-decoration:none;color:#5c6b7a;padding:9px 13px;border-bottom:2px solid transparent;}
.se-nav-link-active{text-decoration:none;color:#11161d;padding:9px 13px;border-bottom:2px solid #2c6cb0;}
.se-nav-cta{text-decoration:none;color:#fff;background:#11161d;padding:11px 16px;margin-left:14px;letter-spacing:.06em;}
.se-burger{display:none;width:26px;height:20px;cursor:pointer;position:relative;flex:none;align-items:center;justify-content:center;}
.se-b1{position:absolute;left:0;top:3px;width:26px;height:2px;background:#11161d;transition:transform .25s,opacity .25s;}
.se-b2{position:absolute;left:0;top:10px;width:26px;height:2px;background:#11161d;transition:transform .25s,opacity .25s;}
.se-b3{position:absolute;left:0;top:17px;width:26px;height:2px;background:#11161d;transition:transform .25s,opacity .25s;}
.se-mobile-menu{display:none;background:rgba(247,249,251,.98);border-top:1px solid #d4dce4;padding:8px 0;font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:13px;letter-spacing:.06em;}
.se-mobile-link{display:block;padding:15px 28px;text-decoration:none;color:#11161d;border-bottom:1px solid #e7edf2;}
.se-mobile-cta{display:block;margin:12px 28px 8px;text-align:center;padding:15px;text-decoration:none;color:#fff;background:#11161d;}

/* shared layout & section patterns */
.se-frame{max-width:1280px;margin:0 auto;border-left:1px solid #d4dce4;border-right:1px solid #d4dce4;}
.se-strip{padding:30px 40px;border-bottom:1px solid #d4dce4;}
.se-crumb{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;color:#7d8b99;}
.se-section{border-bottom:1px solid #d4dce4;}
.se-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;color:#11161d;}
.se-grid-2{display:grid;grid-template-columns:1fr 1fr;}
.se-index{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#2c6cb0;}
.se-cta{padding:74px 40px;text-align:center;}
.se-cta-title{font-size:clamp(28px,4vw,50px);line-height:1.05;letter-spacing:-.025em;font-weight:600;margin:0 auto;max-width:20ch;}
.se-cta-btn{text-decoration:none;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.06em;color:#fff;background:#11161d;padding:17px 28px;display:inline-flex;align-items:center;gap:10px;margin-top:30px;}
.se-page-title{font-size:clamp(38px,5.4vw,72px);line-height:1;letter-spacing:-.03em;font-weight:600;margin:0;max-width:16ch;}
.se-col-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;color:#7d8b99;margin-bottom:18px;}
.se-strip-split{padding:30px 40px;border-bottom:1px solid #d4dce4;display:flex;justify-content:space-between;align-items:baseline;}
.se-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;}
.se-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.se-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;color:#7d8b99;}
.se-page-hero{padding:64px 40px 54px;border-bottom:1px solid #d4dce4;}
.se-tags{display:flex;flex-wrap:wrap;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.04em;}
.se-tag{border:1px solid #c2ccd6;color:#5c6b7a;padding:5px 9px;}
.se-cta-kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;color:#2c6cb0;margin-bottom:20px;}
.se-grid-4{display:grid;grid-template-columns:repeat(4,1fr);}

/* home */
.se-home-hero{padding:72px 40px 56px;border-bottom:1px solid #d4dce4;position:relative;}
.se-home-plus{position:absolute;top:-6px;left:-6px;color:#c2ccd6;font-size:13px;font-family:'IBM Plex Mono',monospace;}
.se-home-kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;color:#2c6cb0;margin-bottom:30px;}
.se-home-title{font-size:clamp(40px,6vw,86px);line-height:.98;letter-spacing:-.03em;font-weight:600;margin:0;max-width:16ch;}
.se-home-lede{font-size:19px;line-height:1.55;color:#3c4753;max-width:54ch;margin:34px 0 0;}
.se-home-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px;align-items:center;}
.se-btn{text-decoration:none;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.06em;color:#fff;background:#11161d;padding:16px 24px;display:inline-flex;align-items:center;gap:10px;}
.se-btn-outline{text-decoration:none;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.06em;color:#11161d;background:transparent;border:1px solid #b9c4d0;padding:16px 24px;display:inline-flex;align-items:center;gap:10px;}
.se-home-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#7d8b99;letter-spacing:.08em;margin-left:6px;}
.se-service-row{text-decoration:none;color:inherit;display:grid;grid-template-columns:120px 1fr 360px;gap:24px;padding:38px 40px;border-bottom:1px solid #d4dce4;align-items:start;}
.se-service-num{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#2c6cb0;letter-spacing:.06em;padding-top:6px;}
.se-service-kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#7d8b99;letter-spacing:.08em;margin-bottom:10px;}
.se-service-title{font-size:34px;line-height:1.05;letter-spacing:-.02em;font-weight:600;margin:0;}
.se-service-text{font-size:15px;line-height:1.6;color:#3c4753;margin:6px 0 0;}
.se-service-row-last{text-decoration:none;color:inherit;display:grid;grid-template-columns:120px 1fr 360px;gap:24px;padding:38px 40px;align-items:start;}
.se-more-link{text-decoration:none;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;color:#2c6cb0;}
.se-work-card{text-decoration:none;color:inherit;border-right:1px solid #d4dce4;padding:22px;}
.se-work-thumb{aspect-ratio:4/3;background:repeating-linear-gradient(135deg,#dde5ed 0 1px,transparent 1px 12px),#eef3f7;border:1px solid #d4dce4;position:relative;display:flex;align-items:flex-end;padding:12px;}
.se-work-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;}
.se-work-title{font-size:18px;font-weight:600;margin:0;letter-spacing:-.01em;}
.se-work-year{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#7d8b99;}
.se-work-tags{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#7d8b99;margin:7px 0 0;letter-spacing:.04em;}
.se-work-card-last{text-decoration:none;color:inherit;padding:22px;}
.se-home-cta{padding:80px 40px;text-align:center;}
.se-home-cta-kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;color:#2c6cb0;margin-bottom:22px;}
.se-home-cta-title{font-size:clamp(30px,4.4vw,56px);line-height:1.04;letter-spacing:-.025em;font-weight:600;margin:0 auto;max-width:20ch;}
.se-home-cta-btn{text-decoration:none;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.06em;color:#fff;background:#11161d;padding:17px 28px;display:inline-flex;align-items:center;gap:10px;margin-top:34px;}

/* about */
.se-about-hero{padding:72px 40px 60px;border-bottom:1px solid #d4dce4;}
.se-about-title{font-size:clamp(38px,5.4vw,72px);line-height:1;letter-spacing:-.03em;font-weight:600;margin:0;max-width:18ch;}
.se-about-lede{font-size:19px;line-height:1.55;color:#3c4753;max-width:60ch;margin:32px 0 0;}
.se-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #d4dce4;}
.se-stat{padding:36px 30px;border-right:1px solid #d4dce4;}
.se-stat-num{font-size:44px;font-weight:600;letter-spacing:-.03em;}
.se-stat-label{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#7d8b99;letter-spacing:.08em;margin-top:8px;}
.se-stat-last{padding:36px 30px;}
.se-principle-rb{border-right:1px solid #d4dce4;border-bottom:1px solid #d4dce4;padding:38px 36px;}
.se-principle-title{font-size:24px;font-weight:600;letter-spacing:-.015em;margin:14px 0 10px;}
.se-principle-text{font-size:15px;line-height:1.62;color:#3c4753;margin:0;}
.se-principle-b{border-bottom:1px solid #d4dce4;padding:38px 36px;}
.se-principle-r{border-right:1px solid #d4dce4;padding:38px 36px;}
.se-principle{padding:38px 36px;}
.se-step{display:grid;grid-template-columns:60px 1fr;border-bottom:1px solid #d4dce4;}
.se-step-num{border-right:1px solid #d4dce4;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:13px;color:#2c6cb0;}
.se-step-body{padding:30px 36px;}
.se-step-title{font-size:20px;font-weight:600;margin:0 0 6px;letter-spacing:-.01em;}
.se-step-text{font-size:15px;line-height:1.6;color:#3c4753;margin:0;max-width:62ch;}
.se-step-last{display:grid;grid-template-columns:60px 1fr;}

/* services */
.se-services-title{font-size:clamp(38px,5.4vw,72px);line-height:1;letter-spacing:-.03em;font-weight:600;margin:0;max-width:15ch;}
.se-services-lede{font-size:18px;line-height:1.55;color:#3c4753;max-width:58ch;margin:30px 0 0;}
.se-svc{display:grid;grid-template-columns:340px 1fr;}
.se-svc-aside{border-right:1px solid #d4dce4;padding:42px 36px;}
.se-svc-num{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#2c6cb0;letter-spacing:.06em;}
.se-svc-kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#7d8b99;letter-spacing:.08em;margin:18px 0 10px;}
.se-svc-title{font-size:34px;font-weight:600;letter-spacing:-.02em;line-height:1.04;margin:0 0 22px;}
.se-specs{display:flex;flex-direction:column;gap:0;border:1px solid #d4dce4;font-family:'IBM Plex Mono',monospace;font-size:12px;}
.se-spec{display:flex;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #d4dce4;}
.se-spec-key{color:#7d8b99;}
.se-spec-val{color:#11161d;}
.se-spec-last{display:flex;justify-content:space-between;padding:12px 14px;}
.se-svc-body{padding:42px 40px;}
.se-svc-text{font-size:16px;line-height:1.65;color:#3c4753;margin:0 0 30px;max-width:60ch;}
.se-features{display:grid;grid-template-columns:1fr 1fr;gap:14px 32px;}
.se-feature{display:flex;gap:11px;font-size:14.5px;color:#11161d;}
.se-feature-mark{color:#2c6cb0;font-family:'IBM Plex Mono',monospace;}
.se-extra{border-right:1px solid #d4dce4;padding:32px 28px;}
.se-extra-title{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:14px 0 8px;}
.se-extra-text{font-size:14px;line-height:1.6;color:#3c4753;margin:0;}
.se-extra-last{padding:32px 28px;}
.se-quality{border-right:1px solid #d4dce4;padding:34px 28px;}
.se-quality-title{font-size:30px;font-weight:600;letter-spacing:-.02em;}
.se-quality-text{font-size:13.5px;line-height:1.55;color:#5c6b7a;margin:12px 0 0;}
.se-quality-last{padding:34px 28px;}

/* work (portfolio) */
.se-work-lede{font-size:18px;line-height:1.55;color:#3c4753;max-width:56ch;margin:30px 0 0;}
.se-project-rb{text-decoration:none;color:inherit;border-right:1px solid #d4dce4;border-bottom:1px solid #d4dce4;padding:30px;}
.se-project-thumb{aspect-ratio:16/10;background:repeating-linear-gradient(135deg,#dde5ed 0 1px,transparent 1px 12px),#eef3f7;border:1px solid #d4dce4;position:relative;display:flex;align-items:flex-end;padding:14px;}
.se-project-code{position:absolute;top:10px;right:12px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:#2c6cb0;}
.se-project-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:20px;}
.se-project-title{font-size:24px;font-weight:600;letter-spacing:-.015em;margin:0;}
.se-project-year{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#7d8b99;}
.se-project-text{font-size:15px;line-height:1.6;color:#3c4753;margin:12px 0 16px;max-width:46ch;}
.se-project-b{text-decoration:none;color:inherit;border-bottom:1px solid #d4dce4;padding:30px;}
.se-thumb-label{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#5c6b7a;background:#f7f9fb;border:1px solid #d4dce4;padding:5px 8px;letter-spacing:.04em;}

/* contact */
.se-contact-hero{padding:64px 40px 52px;border-bottom:1px solid #d4dce4;}
.se-contact-lede{font-size:18px;line-height:1.55;color:#3c4753;max-width:54ch;margin:30px 0 0;}
.se-contact-grid{display:grid;grid-template-columns:1.4fr 1fr;}
.se-contact-form{border-right:1px solid #d4dce4;padding:44px 40px;}
.se-sent{border:1px solid #11161d;background:#11161d;color:#fff;padding:40px 34px;}
.se-sent-kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;color:#4fd07a;margin-bottom:16px;}
.se-sent-title{font-size:26px;font-weight:600;letter-spacing:-.015em;margin:0 0 12px;}
.se-sent-text{font-size:15px;line-height:1.6;color:#cdd8e2;margin:0 0 24px;max-width:42ch;}
.se-sent-btn{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;color:#11161d;background:#fff;border:none;padding:13px 20px;cursor:pointer;}
.se-fields{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #d4dce4;}
.se-field-rb{display:flex;flex-direction:column;border-right:1px solid #d4dce4;border-bottom:1px solid #d4dce4;padding:16px 18px;}
.se-field-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;color:#7d8b99;margin-bottom:8px;}
.se-input{border:none;background:transparent;font-size:16px;color:#11161d;padding:2px 0;}
.se-field-b{display:flex;flex-direction:column;border-bottom:1px solid #d4dce4;padding:16px 18px;}
.se-select{border:none;background:transparent;font-size:16px;color:#11161d;padding:2px 0;cursor:pointer;}
.se-field-wide{grid-column:1 / 3;display:flex;flex-direction:column;padding:16px 18px;}
.se-textarea{border:none;background:transparent;font-size:16px;color:#11161d;padding:2px 0;resize:vertical;line-height:1.5;}
.se-form-error{border:1px solid #c0492f;background:#fbecea;color:#8f2f1c;padding:14px 16px;margin-top:18px;font-size:13.5px;line-height:1.55;}
.se-form-error-link{color:#8f2f1c;}
.se-submit{margin-top:22px;width:100%;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.06em;color:#fff;background:#11161d;border:none;padding:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;}
.se-form-note{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#9aa7b4;letter-spacing:.04em;margin:14px 0 0;}
.se-details{padding:44px 36px;display:flex;flex-direction:column;gap:0;}
.se-detail-first{padding-bottom:28px;border-bottom:1px solid #d4dce4;}
.se-detail-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;color:#7d8b99;margin-bottom:12px;}
.se-detail-email{text-decoration:none;font-size:18px;color:#11161d;}
.se-detail{padding:28px 0;border-bottom:1px solid #d4dce4;}
.se-detail-text{font-size:16px;line-height:1.55;color:#11161d;}
.se-detail-last{padding-top:28px;}
.se-status{display:flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:13px;color:#11161d;}
.se-status-dot{width:8px;height:8px;background:#4fd07a;border-radius:50%;display:inline-block;}

/* 404 */
.se-404-lede{font-size:18px;line-height:1.55;color:#3c4753;max-width:54ch;margin:30px 0 0;}
.se-404-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px;align-items:center;}

/* footer (Footer.dc.html) */
.se-footer{background:#f7f9fb;border-top:1px solid #d4dce4;}
.se-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;}
.se-footer-brand{padding:46px 40px;border-right:1px solid #d4dce4;}
.se-footer-logo{display:flex;align-items:center;gap:12px;}
.se-footer-mark{width:16px;height:16px;background:#11161d;display:inline-block;position:relative;flex:none;}
.se-footer-dot{position:absolute;right:-4px;bottom:-4px;width:7px;height:7px;background:#2c6cb0;}
.se-footer-name{font-weight:600;font-size:18px;letter-spacing:-.01em;}
.se-footer-blurb{font-size:14px;line-height:1.6;color:#5c6b7a;max-width:30ch;margin:20px 0 0;}
.se-footer-col{padding:46px 30px;border-right:1px solid #d4dce4;}
.se-footer-links{display:flex;flex-direction:column;gap:11px;font-size:14px;}
.se-footer-link{text-decoration:none;color:#11161d;}
.se-footer-list{display:flex;flex-direction:column;gap:11px;font-size:14px;color:#11161d;}
.se-footer-col-last{padding:46px 30px;}
.se-footer-legal{border-top:1px solid #d4dce4;padding:18px 40px;display:flex;justify-content:space-between;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:11px;color:#7d8b99;letter-spacing:.06em;}
.se-submit:disabled,.se-submit:disabled:hover{background:#5c6b7a;cursor:wait;}
/* contact-form honeypot: off-screen rather than display:none, so naive bots still fill it in */
.se-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}

/* hover states — add alongside a component class, e.g. class="se-nav-link hv-ink" */
.hv-ink:hover{color:#11161d;}
.hv-blue:hover{color:#2c6cb0;}
.hv-fill:hover{background:#2c6cb0;}
.hv-tint:hover{background:#eef3f7;}
.hv-menu:hover{background:#fff;color:#2c6cb0;}
.hv-edge:hover{border-color:#11161d;}
.hv-invert:hover{background:#2c6cb0;color:#fff;}

/* responsive nav (checkbox toggle, no JS) */
@media(max-width:860px){
  .se-desktop-nav{display:none !important;}
  .se-burger{display:flex !important;}
  .se-logo-tag{display:none !important;}
}
.se-nav-toggle:checked ~ .se-mobile-menu{display:block !important;}
.se-nav-toggle:checked ~ .se-bar .se-burger .se-b1{transform:translateY(7px) rotate(45deg);}
.se-nav-toggle:checked ~ .se-bar .se-burger .se-b2{opacity:0;}
.se-nav-toggle:checked ~ .se-bar .se-burger .se-b3{transform:translateY(-7px) rotate(-45deg);}

/* responsive content: stack grids, wrap split rows, drop column rules */
@media(max-width:760px){
  .se-stats,.se-grid-2,.se-step,.se-step-last,.se-contact-grid,.se-fields,.se-footer-grid,.se-service-row,.se-service-row-last,.se-grid-3,.se-svc,.se-features,.se-grid-4{grid-template-columns:1fr;}
  .se-field-wide{grid-column:auto;}
  .se-bar,.se-footer-legal,.se-strip-split,.se-work-meta,.se-project-meta,.se-spec,.se-spec-last{flex-wrap:wrap;}
  .se-frame,.se-footer-brand,.se-footer-col,.se-stat,.se-principle-rb,.se-principle-r,.se-step-num,.se-contact-form,.se-field-rb,.se-work-card,.se-project-rb,.se-svc-aside,.se-extra,.se-quality{border-right:none;}
}
