*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--fortis-paper);color:var(--fortis-ink);font-family:var(--fortis-body);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #639d7c;outline-offset:5px}[hidden]{display:none!important}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:450;letter-spacing:-.055em}h2{font-size:clamp(38px,4.5vw,64px);line-height:1.08}p{line-height:1.6}.shell{max-width:var(--fortis-shell);margin:0 auto;padding-inline:var(--fortis-gutter)}.section{padding-block:116px}.eyebrow{font-size:13px;font-weight:550;letter-spacing:.035em;line-height:1.5}.skip-link{position:fixed;top:-100px;left:20px;padding:15px;background:white;z-index:100}.skip-link:focus{top:15px}.site-header{position:absolute;top:0;left:0;width:100%;z-index:20;color:#fff;border-bottom:1px solid #ffffff26}.header-inner{height:96px;padding:0 clamp(24px,4.5vw,72px);display:flex;align-items:center;gap:40px;max-width:1600px;margin:auto}.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:38px;font-weight:600;letter-spacing:-.065em;line-height:1}.wordmark svg{width:23px;height:28px}.desktop-nav{display:flex;align-items:center;gap:36px;margin:auto;font-size:14px}.desktop-nav a{transition:opacity .2s}.desktop-nav a:hover{opacity:.65}.nav-cta{border:1px solid #ffffff80;padding:11px 20px;border-radius:var(--fortis-button-radius);font-size:14px;display:flex;gap:22px;transition:background .2s}.nav-cta:hover{background:#ffffff20}.menu-toggle{display:none}.hero{position:relative;min-height:780px;height:min(920px,100svh);color:white;display:flex;align-items:center;justify-content:center;background:#253e38;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 57%;filter:saturate(.38)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,32,29,.52) 0%,rgba(13,32,29,.38) 35%,rgba(13,32,29,.6) 100%)}.hero-content{position:relative;z-index:1;text-align:center;padding:110px 24px 100px;width:100%}.hero-eyebrow{margin-bottom:30px;color:#e1e8df}.hero h1{font-size:clamp(64px,7.25vw,104px);line-height:1.02;font-weight:400;letter-spacing:-.06em}.hero-content>p:not(.eyebrow){font-size:18px;line-height:1.55;color:#edf1e9;margin:28px auto 32px;max-width:510px}.hero-actions{display:flex;gap:12px;justify-content:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border-radius:var(--fortis-button-radius);padding:15px 24px;font-size:14px;line-height:1.4;font-weight:550;transition:background .2s,transform .2s;min-height:49px}.button:hover{transform:translateY(-2px)}.button-mint{background:var(--fortis-signal);color:#183b2e}.button-mint:hover{background:#daf1cd}.button-outline{border:1px solid #ffffff80;background:#ffffff08;color:white}.button-outline:hover{background:#ffffff18}.hero-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:26px clamp(24px,4.5vw,72px);font-size:12px;letter-spacing:.015em;border-top:1px solid #ffffff26;color:#e5e9e2}.hero-bottom a{display:flex;gap:14px}.intro>.eyebrow{margin-bottom:34px}.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:start}.intro h2{font-size:clamp(36px,3.7vw,52px)}.muted-heading{color:#85958a}.intro-grid>p{font-size:18px;max-width:480px;color:var(--fortis-muted);padding-top:3px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px}.service{padding:0 34px;border-left:1px solid var(--fortis-line)}.service:first-child{padding-left:0;border-left:0}.service:last-child{padding-right:0}.service-icon{width:36px;height:36px;stroke:var(--fortis-ink);stroke-width:1.5;fill:none;margin-bottom:25px}.service h3{font-size:23px;letter-spacing:-.035em;font-weight:500;margin-bottom:14px}.service p{font-size:15px;line-height:1.65;color:var(--fortis-muted);max-width:300px}.service a{display:inline-flex;gap:22px;font-size:13px;margin-top:26px;border-bottom:1px solid #c9d4c9;padding-bottom:5px}.service a:hover{border-color:var(--fortis-ink)}.workspace-section{background:#f1f4ee;padding:100px 0 104px}.workspace-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;margin-bottom:56px;align-items:end}.workspace-intro .eyebrow{margin-bottom:24px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#537a51;margin-right:7px;vertical-align:middle}.workspace-intro>div>p:not(.eyebrow){font-size:17px;color:var(--fortis-muted);max-width:450px}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #9dac9c;padding:0 0 6px;font-size:14px;font-weight:500;margin-top:24px}.product-stage{background:white;border-radius:16px;overflow:hidden;border:1px solid #e0e7dc}.workflow-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--fortis-line);background:#f9faf7;padding:0 32px}.workflow-tabs button{padding:25px 0;margin-right:30px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-bottom:2px solid transparent;background:none;text-align:left;color:#7b887e;font-size:15px}.workflow-tabs button:last-child{margin-right:0}.workflow-tabs button[aria-selected=true]{border-color:var(--fortis-ink);color:var(--fortis-ink)}.workflow-tabs button span{opacity:0}.workflow-tabs button[aria-selected=true] span{opacity:1}.workflow-body{display:grid;grid-template-columns:.8fr 1.3fr;min-height:500px}.workflow-copy{padding:60px 36px 45px}.workflow-copy .eyebrow{font-size:12px;color:#71806f;margin-bottom:20px}.workflow-copy h3{font-size:36px;line-height:1.14;letter-spacing:-.045em;margin-bottom:22px}.workflow-copy p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--fortis-muted);max-width:300px}.check-list{list-style:none;padding:0;margin:28px 0 0;font-size:12px;color:#53634f}.check-list li{margin:13px 0;display:flex;gap:10px;align-items:center}.check-list li:before{content:'✓';font-size:12px;color:#54734a}.product-visual{background:#e5ecdf;padding:44px 0 20px 28px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.mock-app{background:#fff;width:655px;min-height:365px;border:1px solid #d1d9cd;border-radius:10px 0 0 10px;box-shadow:0 18px 55px #223b2412;overflow:hidden;font-family:var(--fortis-body);font-size:10px}.mock-top{display:flex;align-items:center;gap:25px;border-bottom:1px solid #e9ede7;height:48px;padding:0 20px;color:#667263}.mock-wordmark{font-size:23px;letter-spacing:-.06em;font-weight:600;color:var(--fortis-ink)}.mock-top b{font-weight:400;margin-left:30px}.mock-avatar{margin-left:auto;display:grid;place-items:center;background:#e9eede;width:24px;height:24px;border-radius:50%;color:#42603c;font-size:9px}.mock-layout{display:flex}.mock-sidebar{width:143px;flex-shrink:0;border-right:1px solid #e9ede7;padding:20px 10px;background:#fafbf8}.mock-nav{display:block;padding:9px 7px;color:#6f7b6c;border-radius:4px;font-size:9px;margin-bottom:3px}.mock-nav.active{color:#365b32;background:#e9f0e2}.mock-project{margin:90px 0 0 8px;font-size:9px;color:#62755e}.mock-project .status-dot{width:4px;height:4px;margin-right:3px}.mock-project small{display:block;font-size:8px;margin-top:6px;color:#8a9684}.mock-main{padding:20px 24px 15px;flex:1}.mock-breadcrumb{font-size:8px;color:#8a9584;margin-bottom:17px}.mock-title-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.mock-title-row h4{font-size:19px;letter-spacing:-.035em;font-weight:550}.mock-chip{font-size:8px;white-space:nowrap;background:#edf4e7;border:1px solid #e2ebda;color:#5b7a4d;padding:4px 7px;border-radius:4px}.mock-subtitle{font-size:9px;color:#899380;margin:6px 0 18px}.mock-document{border:1px solid #e2e7dd;border-radius:5px;padding:12px 14px}.document-heading{display:flex;align-items:center;gap:8px}.file-icon{border:1px solid #d2dbcc;border-radius:3px;width:24px;height:29px;display:grid;place-items:center;font-size:17px;color:#829279}.document-heading strong{display:block;font-weight:500;font-size:9px}.document-heading small{display:block;margin-top:3px;color:#9aa38f;font-size:7px}.document-dots{margin-left:auto;color:#899581}.document-lines{display:grid;gap:5px;margin:14px 0 10px}.document-lines i{height:3px;border-radius:2px;background:#e9ede5;width:96%}.document-lines i:nth-child(2){width:85%}.document-lines i:nth-child(3){width:91%}.document-highlight{font-size:9px;line-height:1.6;background:#eef4db;border-left:2px solid #adc582;padding:7px 9px;color:#5c6c47}.document-lines.short{margin:9px 0 3px}.document-lines.short i:last-child{width:70%}.mock-result{display:flex;align-items:center;gap:10px;padding:13px 12px;margin:13px 0 15px;border-radius:5px;background:#f6f8f3;border:1px solid #e2e8dd}.result-icon{font-size:18px;color:#6a8757}.mock-result small{display:block;font-size:7px;color:#7f8c74;margin-bottom:4px}.mock-result strong{display:block;font-size:10px;font-weight:500}.mock-result p{font-size:8px;color:#8d9883;margin-top:4px}.result-end{margin-left:auto;color:#698a4d}.mock-foot{display:flex;align-items:center;font-size:8px;color:#859377}.mock-foot .status-dot{width:4px;height:4px}.demo-caption{font-size:9px;color:#7a8970;margin:18px 0 0 9px}.mock-app[data-state=gaps] .document-highlight{background:#fcf2df;border-color:#d8b577;color:#84652f}.mock-app[data-state=gaps] .mock-chip{background:#fcf2df;border-color:#ecdbbb;color:#936e32}.mock-app[data-state=gaps] .mock-result{background:#fffbf4}.expertise-section{background:var(--fortis-ink);color:#f3f5ed;padding:116px 0}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.expertise-heading .eyebrow{color:#a5bbae;margin-bottom:30px}.expertise-heading h2{font-size:clamp(42px,4.4vw,61px);line-height:1.08}.expertise-heading>p:not(.eyebrow):not(.availability){color:#b3c6b8;font-size:16px;margin-top:27px;max-width:365px}.expertise-heading .button{margin-top:30px}.expertise-heading .availability{font-size:11px;color:#8fa99a;line-height:1.65;margin-top:23px}.service-details{padding-top:60px}details{border-top:1px solid #ffffff28;scroll-margin-top:40px}details:last-child{border-bottom:1px solid #ffffff28}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0;cursor:pointer;font-size:22px;font-weight:450;letter-spacing:-.03em}summary::-webkit-details-marker{display:none}.details-sign{position:relative;width:22px;height:22px;flex-shrink:0}.details-sign:before,.details-sign:after{content:'';position:absolute;background:#b3c7b6;left:5px;right:5px;top:10px;height:1px}.details-sign:after{transform:rotate(90deg);transition:transform .2s}details[open] .details-sign:after{transform:rotate(0)}.details-body{padding:0 30px 32px 0}.details-body p{font-size:15px;color:#b5c9ba;line-height:1.75}.detail-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.detail-tags span{font-size:10px;background:#ffffff0b;border:1px solid #ffffff18;padding:6px 10px;border-radius:4px;color:#b5c9ba}.principle-section>.eyebrow{margin-bottom:35px}.principle-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.principle-grid h2{font-size:clamp(50px,5.2vw,74px)}.principle-copy p{color:var(--fortis-muted);font-size:17px;margin-bottom:22px;max-width:440px}.evidence-chain{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:440px;margin-top:38px;padding-top:25px;border-top:1px solid var(--fortis-line);font-size:13px}.evidence-chain span:nth-child(even){color:#93a58b}.contact-section{position:relative;overflow:hidden;background:#263d32;color:#fff}.contact-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,44,35,.96),rgba(17,44,35,.65) 55%,rgba(17,44,35,.24)),url('assets/fortis-hero-poster.jpg') center 73%/cover;filter:saturate(.45)}.contact-inner{position:relative;padding-block:90px 100px}.contact-inner .eyebrow{color:#bdcebf;margin-bottom:24px}.contact-inner h2{font-size:clamp(52px,5.7vw,80px)}.contact-inner>p:not(.eyebrow){font-size:16px;color:#c8d6c8;margin:24px 0 30px}.site-footer{background:#fafbf8;padding:55px 0 24px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:40px;padding-bottom:48px}.footer-top .wordmark{font-size:43px}.footer-top>p{font-size:16px;line-height:1.5;color:#7a897d}.footer-links{justify-self:end;display:grid;gap:12px;font-size:13px}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--fortis-line);padding-top:25px;font-size:10px;color:#7e8d7f}.footer-bottom a:hover{text-decoration:underline}@media(min-width:1550px){.hero h1{font-size:112px}.hero{min-height:850px}.mock-app{width:700px}.workflow-body{min-height:540px}}@media(max-width:1000px){.desktop-nav{gap:22px}.header-inner{gap:24px}.intro-grid,.workspace-intro{gap:40px}.service{padding-inline:22px}.service h3{font-size:20px}.expertise-grid{gap:55px}.workflow-body{grid-template-columns:.8fr 1fr}.workflow-copy{padding:45px 24px}.workflow-copy h3{font-size:31px}.mock-app{width:580px}.mock-sidebar{width:116px}.product-visual{padding-left:20px}.workflow-tabs button{font-size:13px}.principle-grid{gap:50px}.expertise-heading h2{font-size:49px}}@media(max-width:760px){html{scroll-padding-top:20px}.header-inner{height:78px;gap:20px}.wordmark{font-size:33px}.wordmark svg{width:20px}.desktop-nav,.nav-cta{display:none}.menu-toggle{display:flex;margin-left:auto;width:40px;height:40px;padding:10px 4px;border:0;flex-direction:column;justify-content:center;gap:7px;background:none;color:inherit}.menu-toggle span{height:1px;width:24px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header.menu-open{background:var(--fortis-ink)}.mobile-nav{padding:8px 24px 30px;background:var(--fortis-ink);display:grid}.mobile-nav a{padding:15px 0;border-top:1px solid #ffffff25;font-size:18px}.hero{min-height:720px;height:93svh;max-height:900px}.hero-image{object-position:42% 55%}.hero-content{padding-top:105px;padding-bottom:100px}.hero h1{font-size:clamp(48px,9vw,68px);letter-spacing:-.06em}.hero-eyebrow{font-size:11px;margin-bottom:28px}.hero-content>p:not(.eyebrow){font-size:16px;line-height:1.6;margin:24px auto 28px}.hero-actions{gap:10px}.button{font-size:12px;padding:14px 19px;gap:17px;min-height:47px}.hero-bottom{padding:23px 24px;font-size:10px}.hero-bottom>span:last-child{display:none}.section{padding-block:76px}.intro>.eyebrow{margin-bottom:25px}.intro-grid{display:block}.intro h2{font-size:38px}.intro-grid>p{font-size:16px;margin-top:25px}.service-grid{grid-template-columns:1fr;margin-top:42px}.service,.service:first-child,.service:last-child{padding:27px 0;border:0;border-top:1px solid var(--fortis-line);display:grid;grid-template-columns:34px 1fr;gap:0 18px}.service-icon{width:28px;height:30px;margin:0;grid-row:1/4}.service h3{font-size:21px;margin-bottom:10px}.service p{font-size:14px;max-width:none}.service a{font-size:12px;justify-self:start;margin-top:17px;gap:25px}.workspace-section{padding-block:72px}.workspace-intro{display:block;margin-bottom:36px}.workspace-intro h2{font-size:44px}.workspace-intro>div>p:not(.eyebrow){font-size:15px;margin-top:25px}.workspace-intro .eyebrow{font-size:11px;margin-bottom:22px}.text-link{font-size:13px}.workflow-tabs{padding:0 16px;gap:10px}.workflow-tabs button{font-size:11px;margin:0;padding:18px 0;line-height:1.45;display:block;max-width:100px}.workflow-tabs button span{display:none}.workflow-body{display:flex;flex-direction:column}.workflow-copy{padding:30px 24px 34px}.workflow-copy h3{font-size:32px}.workflow-copy h3 br{display:none}.workflow-copy h3 br:after{content:" "}.workflow-copy .eyebrow{margin-bottom:14px}.workflow-copy p:not(.eyebrow){font-size:14px;max-width:none}.check-list{margin-top:20px}.check-list li{font-size:11px;margin:10px 0}.product-visual{padding:25px 0 18px 17px;min-height:350px}.mock-app{width:540px;transform-origin:top left}.mock-sidebar{width:115px}.mock-main{padding:18px}.mock-title-row{justify-content:start}.mock-chip{display:none}.mock-result{max-width:325px}.mock-document{max-width:325px}.demo-caption{font-size:8px;margin:16px 0 0}.expertise-section{padding-block:76px}.expertise-grid{display:block}.expertise-heading h2{font-size:46px}.expertise-heading>p:not(.eyebrow):not(.availability){font-size:15px}.expertise-heading .eyebrow{font-size:12px;margin-bottom:25px}.service-details{padding-top:42px}summary{font-size:20px;padding:24px 0}.details-body{padding-right:8px}.details-body p{font-size:14px}.principle-grid{display:block}.principle-section>.eyebrow{font-size:11px;margin-bottom:25px}.principle-grid h2{font-size:52px}.principle-copy{margin-top:32px}.principle-copy p{font-size:15px}.evidence-chain{margin-top:26px;font-size:12px}.contact-inner{padding-block:70px 78px}.contact-inner h2{font-size:52px}.contact-inner>p:not(.eyebrow){font-size:15px}.contact-image{background-position:60% 72%}.footer-top{grid-template-columns:1fr 1fr;gap:24px}.footer-top>p{font-size:13px;align-self:center}.footer-links{grid-column:1/-1;justify-self:start;display:flex;gap:24px;font-size:12px;margin-top:10px}.footer-bottom{display:grid;gap:13px;font-size:10px}.site-footer{padding-top:40px}.footer-top{padding-bottom:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media(max-width:760px){.product-visual{padding:24px 16px 18px}.mock-app{width:100%;min-height:0;border-radius:8px}.mock-sidebar{display:none}.mock-top{gap:14px;padding-inline:14px}.mock-top b{margin-left:8px}.mock-main{padding:18px 14px;min-width:0}.mock-title-row h4{font-size:18px}.mock-document,.mock-result{max-width:none}.document-highlight{font-size:10px}.document-heading strong{font-size:9px}.mock-result strong{font-size:11px}.mock-subtitle{font-size:10px}.demo-caption{margin-left:0;font-size:8px;line-height:1.6}.mock-result p{font-size:8px}}

/* The film stays behind fixed, readable content; posters handle every fallback. */
.hero-poster,.hero-video{position:absolute;inset:0;width:100%;height:100%}
.hero-poster .hero-image{object-position:center;filter:none}
.hero-video{object-fit:cover;object-position:center;opacity:0;transition:opacity .6s ease;pointer-events:none}
.hero.film-ready .hero-video{opacity:1}
.hero-shade{background:linear-gradient(180deg,rgba(8,25,21,.68),rgba(8,25,21,.62) 24%,rgba(8,25,21,.62) 65%,rgba(8,25,21,.68));pointer-events:none}
.hero-content{text-shadow:0 1px 14px #061c1330}
.hero-bottom{z-index:2;min-height:78px;padding-block:16px}
.hero-bottom-end{display:flex;align-items:center;gap:24px}
.motion-toggle{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #ffffff70;border-radius:50%;color:#fff;background:#102d2866;transition:background .2s}
.motion-toggle:hover{background:#193d32cc}
.motion-toggle svg{width:20px;height:20px}
.motion-pause{fill:none;stroke:currentColor;stroke-width:2.5;display:none}
.motion-play{fill:currentColor;stroke:none;display:block}
.motion-toggle.is-playing .motion-pause{display:block}
.motion-toggle.is-playing .motion-play{display:none}
@media(max-width:760px){.hero-tagline{display:none}.hero-bottom{gap:12px;padding-block:12px}.hero-bottom-end{gap:0}.hero-bottom>a{margin-left:auto;margin-right:7px}.hero-shade{background:linear-gradient(180deg,rgba(8,25,21,.67),rgba(8,25,21,.62) 25%,rgba(8,25,21,.62) 65%,rgba(8,25,21,.72))}}
@media(max-width:760px){.hero{align-items:flex-start}.hero-content{padding-top:125px;padding-bottom:150px}}

.hero-eyebrow,.hero-content>p:not(.eyebrow){color:#f5f7f2}.hero .button-outline{background:#0e292940}.hero .button-outline:hover{background:#183d35aa}
