:root{--forest:#153c2d;--deep:#0c291e;--lime:#d9ed81;--cream:#f6f3e8;--white:#fff;--ink:#17251f;--muted:#66736d;--line:rgba(21,60,45,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:88px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(246,243,232,.94);backdrop-filter:blur(16px);position:fixed;z-index:20;top:0;left:0;right:0;border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{height:72px;border-color:var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--forest);color:var(--lime);border-radius:50% 50% 48% 52%/58% 46% 54% 42%;font:800 20px Manrope}.brand span:last-child{display:flex;flex-direction:column;line-height:1.05}.brand strong{font:800 17px Manrope}.brand small{font-size:11px;text-transform:uppercase;letter-spacing:.13em;margin-top:5px;color:var(--muted)}nav{display:flex;align-items:center;gap:34px;font-weight:600;font-size:14px}nav a:hover{color:#2b704f}.nav-cta{background:var(--forest);color:#fff;padding:12px 18px;border-radius:999px}.nav-cta:hover{color:var(--lime)}.menu-button{display:none;border:0;background:none;padding:10px}.menu-button span:not(.sr-only){display:block;width:25px;height:2px;background:var(--forest);margin:5px}.hero{height:max(690px,100vh);min-height:690px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url('fort-portal-landscape.png');background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,21,.9) 0%,rgba(7,30,21,.58) 50%,rgba(7,30,21,.12) 100%),linear-gradient(0deg,rgba(7,30,21,.45),transparent 50%)}.hero-content{position:relative;z-index:2;margin-left:clamp(22px,8vw,120px);max-width:760px;padding-top:80px}.eyebrow,.section-label{font-size:12px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.eyebrow{color:var(--lime);margin-bottom:24px}.hero h1,.intro h2,.section-head h2,.promise h2,.process h2,.contact h2{font:700 clamp(44px,6.5vw,88px)/.98 Manrope;margin:0;letter-spacing:-.055em}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--lime)}.hero-copy{font-size:clamp(18px,2vw,22px);max-width:590px;line-height:1.5;margin:28px 0 34px;color:rgba(255,255,255,.88)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;font-weight:700;transition:.25s}.button-primary{background:var(--lime);color:var(--deep)}.button-primary:hover{background:#efffa8;transform:translateY(-2px)}.button-ghost{border:1px solid rgba(255,255,255,.45);color:#fff}.button-ghost:hover{background:#fff;color:var(--deep)}.hero-note{position:absolute;z-index:2;bottom:0;right:0;background:var(--cream);color:var(--ink);padding:26px clamp(24px,4vw,58px);display:flex;gap:18px;max-width:430px}.hero-note span{color:#728076;font-size:12px}.hero-note p{margin:0}.hero-note strong{display:block;font:700 17px Manrope}.intro,.contact{padding:clamp(80px,10vw,150px) clamp(22px,8vw,120px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,130px)}.section-label{color:#528461;margin:0 0 20px}.intro h2,.contact h2{font-size:clamp(38px,5vw,66px);max-width:620px}.intro-copy{font-size:19px;color:#46564e}.intro-copy p{margin:0 0 24px}.services{background:var(--forest);color:#fff;padding:clamp(80px,10vw,140px) clamp(22px,8vw,120px)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:64px}.section-head h2{font-size:clamp(38px,4.5vw,64px);max-width:720px}.section-head>p{max-width:440px;color:rgba(255,255,255,.68);margin:0}.section-label.light{color:var(--lime)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}.service-grid article{padding:28px 28px 20px 0;border-right:1px solid rgba(255,255,255,.18);min-height:340px;position:relative}.service-grid article+article{padding-left:28px}.service-grid article:last-child{border-right:0}.service-grid article>span{font-size:12px;color:rgba(255,255,255,.48)}.service-icon{font-size:38px;color:var(--lime);margin:42px 0 28px}.service-grid h3,.steps h3{font:700 22px/1.2 Manrope;margin:0 0 14px}.service-grid p{color:rgba(255,255,255,.68);margin:0}.promise{padding:clamp(80px,9vw,130px) clamp(22px,8vw,120px);display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.promise-card,.quote-card{border-radius:28px;padding:clamp(30px,5vw,70px)}.promise-card{background:#e8eccd}.promise h2{font-size:clamp(36px,4.5vw,62px);max-width:720px}.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:50px}.pill-row span{border:1px solid rgba(21,60,45,.3);border-radius:999px;padding:10px 16px;font-weight:600}.quote-card{background:var(--lime);display:flex;flex-direction:column;justify-content:space-between}.quote-card blockquote{font:500 clamp(25px,3vw,38px)/1.25 Georgia;margin:0}.quote-card p{font-weight:700;margin:50px 0 0}.quote-card span{font-weight:400;color:#49604f}.process{padding:clamp(80px,10vw,140px) clamp(22px,8vw,120px)}.section-head.dark>p{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps article{border-top:1px solid var(--line);padding:28px 20px 25px 0}.steps b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--forest);color:var(--lime);margin-bottom:58px}.steps p{color:var(--muted);max-width:330px}.contact{background:#dfe7d7}.contact>div:first-child>p:last-child{font-size:19px;color:#506159;max-width:580px}.contact-card{background:#fff;border-radius:28px;padding:clamp(28px,4vw,50px);box-shadow:0 28px 60px rgba(20,50,35,.09)}.contact-title{font:700 24px Manrope;margin:0 0 12px}.contact-card>p:nth-child(2){color:var(--muted)}.location{display:flex;align-items:center;gap:14px;margin:34px 0}.location>span{display:grid;place-items:center;background:#eef3e9;width:48px;height:48px;border-radius:50%;font-size:24px}.location div{display:flex;flex-direction:column}.location small{color:var(--muted)}.button-dark{background:var(--forest);color:#fff}.button-dark:hover{background:var(--deep)}footer{padding:44px clamp(22px,8vw,120px);background:var(--deep);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}footer p{font-size:14px;color:rgba(255,255,255,.58)}.footer-brand small{color:rgba(255,255,255,.58)}@media(max-width:900px){nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:22px;flex-direction:column;align-items:stretch;box-shadow:0 16px 30px rgba(0,0,0,.1)}nav.open{display:flex}.menu-button{display:block}.site-header{height:72px}.hero{min-height:730px}.hero-content{margin:0;padding:100px 22px 120px}.hero-note{left:22px;right:22px;max-width:none;padding:20px}.intro,.contact{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(2){border-right:0}.promise{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps b{margin-bottom:25px}.section-head{align-items:start;flex-direction:column}footer{align-items:flex-start;flex-direction:column}}@media(max-width:580px){.brand strong{font-size:15px}.hero h1{font-size:47px}.hero-actions{flex-direction:column;align-items:stretch}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{padding:28px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18);min-height:auto}.service-icon{margin:25px 0 18px}.promise-card,.quote-card{border-radius:20px}.contact-card{border-radius:20px}footer p{margin:0}}
.work{padding:clamp(80px,10vw,140px) clamp(22px,8vw,120px);background:#f6f3e8}.work .section-head{margin-bottom:42px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.work figure{margin:0;min-width:0;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(21,60,45,.08)}.work img{display:block;width:100%;height:280px;object-fit:cover}.work figcaption{padding:17px 20px 20px;font:700 17px/1.3 Manrope}.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.button-outline{border:1px solid var(--forest);color:var(--forest)}.button-outline:hover{background:#e8f0e5}@media(max-width:900px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.work-grid{grid-template-columns:1fr;gap:18px}.work img{height:260px}.contact-actions{flex-direction:column}.contact-actions .button{width:100%}}
.service-photo{display:block;width:100%;height:175px;object-fit:cover;border-radius:12px;margin:22px 0 26px}.service-grid article{min-height:440px}@media(max-width:580px){.service-grid article{min-height:auto}.service-photo{height:210px;margin:20px 0}}
.steps article{min-width:0}.steps b{margin-bottom:20px}.step-photo{display:block;width:100%;height:210px;object-fit:cover;border-radius:14px;margin-bottom:25px}@media(max-width:900px){.steps{gap:28px}.step-photo{height:clamp(210px,42vw,350px)}}@media(max-width:580px){.step-photo{height:220px}}
.promise-copy{font-size:19px;line-height:1.55;max-width:650px;color:#3c5143;margin:25px 0 0}.promise-copy+.pill-row{margin-top:34px}
.quote-card .founder-photo{display:block;width:100%;height:300px;object-fit:cover;object-position:center top;border-radius:17px;margin-top:30px}.quote-card .founder-photo+p{margin-top:20px}@media(max-width:900px){.quote-card .founder-photo{height:clamp(280px,42vw,420px)}}@media(max-width:580px){.quote-card .founder-photo{height:300px}}
