:root{--navy:#102d43;--ink:#163047;--muted:#52677a;--line:#dbe3e8;--paper:#f6f8f8;--gold:#d7a456;--green:#176c5b;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);margin:0;font:16px/1.65 DM Sans,Arial,sans-serif}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;font-family:Manrope,Arial,sans-serif;line-height:1.16}h1{max-width:900px;margin-bottom:26px;font-size:clamp(2.8rem,6vw,5.4rem)}h2{margin-bottom:22px;font-size:clamp(2rem,3.6vw,3.25rem)}h3{font-size:1.22rem}p{margin-bottom:20px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--green);margin-bottom:18px;font-size:.78rem;font-weight:800}.section{padding:100px 0}.lead{color:var(--muted);max-width:690px;font-size:1.13rem;line-height:1.75}.btn{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:14px;min-height:52px;padding:15px 22px;font-weight:700;line-height:1.2;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--gold);color:var(--navy)}.btn-primary:hover{background:#ecc17a}.btn-light{color:#fff;border-color:#a9b9c4}.btn-light:hover{background:#ffffff15}.btn-outline{border-color:var(--navy);color:var(--navy)}.btn-outline:hover{background:var(--navy);color:#fff}:is(a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible){outline:3px solid var(--gold);outline-offset:3px}.topbar{color:#b9cbd4;letter-spacing:.04em;background:#0a2235;font-size:.78rem}.topbar .wrap{justify-content:space-between;gap:16px;padding:8px 0;display:flex}.topbar a{color:#fff;text-decoration:none}.nav{border-bottom:1px solid var(--line);z-index:20;background:#fff;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:25px;height:82px;display:flex}.brand{flex-shrink:0;align-items:center;gap:13px;text-decoration:none;display:inline-flex}.brand-mark{background:var(--navy);width:39px;height:39px;color:var(--gold);text-align:center;border-radius:5px;font:800 1.4rem/39px Manrope}.brand-name{letter-spacing:-.04em;color:var(--navy);font:800 1.3rem/1 Manrope;display:block}.brand-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:5px;font:600 .64rem/1.4 DM Sans;display:block}.nav-links{align-items:center;gap:32px;display:flex}.nav-links a{font-size:.89rem;font-weight:700;text-decoration:none}.nav-links a:hover{color:var(--green)}.nav-links .nav-cta{background:var(--navy);color:#fff;border-radius:4px;padding:11px 17px}.nav-links .nav-cta:hover{color:#fff;background:var(--green)}.menu-toggle{color:var(--navy);background:0 0;border:0;padding:8px;font-size:1.6rem;display:none}.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(110deg,#102d43fa 25%,#102d43c7),repeating-linear-gradient(0deg,#0000 0 65px,#ffffff15 66px 67px),repeating-linear-gradient(90deg,#0000 0 65px,#ffffff15 66px 67px);position:absolute;inset:0}.hero:after{content:"";border:1px solid #ffffff30;width:440px;height:440px;position:absolute;top:80px;right:-90px;transform:rotate(45deg);box-shadow:0 0 0 65px #ffffff05,0 0 0 130px #ffffff04}.hero .wrap{z-index:1;padding:110px 0 95px;position:relative}.hero .eyebrow,.hero h1 span{color:var(--gold)}.hero .lead{color:#d5e0e5;max-width:665px;font-size:1.2rem}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.hero-meta{text-transform:uppercase;letter-spacing:.12em;color:#d2e0e6;border-top:1px solid #ffffff3b;flex-wrap:wrap;gap:50px;margin-top:90px;padding-top:27px;font-size:.82rem;font-weight:700;display:flex}.hero-meta span:before{content:"—";color:var(--gold);margin-right:13px}.intro{grid-template-columns:1fr 1fr;align-items:start;gap:10%;display:grid}.intro-copy{color:var(--muted);padding-top:34px}.intro-copy p{font-size:1.08rem}.services,.about{background:var(--paper)}.section-heading{justify-content:space-between;align-items:end;gap:36px;margin-bottom:40px;display:flex}.section-heading .lead{margin:0}.service-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.service-card{border:1px solid var(--line);background:#fff;flex-direction:column;min-height:270px;padding:34px;transition:border-color .2s,transform .2s;display:flex}.service-card:hover{border-color:var(--gold);transform:translateY(-3px)}.service-num{color:var(--green);letter-spacing:.12em;margin-bottom:31px;font:800 .8rem Manrope}.service-card h3{margin-bottom:13px}.service-card p{color:var(--muted);margin:0;font-size:.95rem}.service-card a{color:var(--green);margin-top:auto;padding-top:22px;font-size:.85rem;font-weight:700;text-decoration:none}.service-card a:hover{text-decoration:underline}.band{background:var(--green);color:#fff;padding:34px 0}.band .wrap{justify-content:space-between;align-items:center;gap:25px;display:flex}.band strong{font:700 1.13rem Manrope}.band span{color:#d4eee7;margin-top:5px;font-size:.95rem;display:block}.band a{white-space:nowrap;border-bottom:1px solid #fff;font-weight:700;text-decoration:none}.process-grid{grid-template-columns:repeat(3,1fr);gap:40px;margin-top:54px;display:grid}.step{border-top:2px solid var(--navy);padding-top:23px}.step-num{color:var(--green);margin-bottom:24px;font:800 .88rem Manrope}.step p{color:var(--muted);font-size:.95rem}.note{border-left:3px solid var(--gold);background:var(--paper);color:var(--muted);margin-top:50px;padding:20px 24px;font-size:.92rem}.about-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:10%;display:grid}.about-panel{background:var(--navy);color:#fff;flex-direction:column;justify-content:space-between;min-height:415px;padding:53px;display:flex;position:relative;overflow:hidden}.about-panel:after{content:"";border:1px solid #ffffff35;width:330px;height:330px;position:absolute;bottom:-175px;right:-125px;transform:rotate(45deg)}.about-panel .panel-label{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:.8rem;font-weight:700}.about-panel strong{letter-spacing:-.04em;max-width:380px;font:700 clamp(1.8rem,3vw,2.65rem)/1.2 Manrope}.about-panel small{color:#bcd0da;font-size:.9rem}.about-copy p{color:var(--muted)}.about-copy ul{margin:28px 0 0;padding:0;list-style:none}.about-copy li{border-top:1px solid var(--line);padding:13px 0;font-weight:600}.about-copy li:before{content:"↗";color:var(--green);margin-right:13px}.contact{background:var(--navy);color:#fff}.contact-grid{grid-template-columns:1fr 1fr;gap:10%;display:grid}.contact .eyebrow{color:var(--gold)}.contact .lead{color:#c5d7df}.contact-points{border-top:1px solid #ffffff35;margin-top:45px}.contact-points div{border-bottom:1px solid #ffffff35;padding:16px 0}.contact-points strong{text-transform:uppercase;letter-spacing:.13em;color:#a9c2ce;margin-bottom:4px;font-size:.76rem;display:block}.contact-points a{text-decoration:none}.contact-points a:hover{text-decoration:underline}.form-card{color:var(--ink);background:#fff;padding:38px}.form-card h3{font-size:1.45rem}.form-card>p{color:var(--muted);font-size:.91rem}.field{margin:17px 0}.field label{margin-bottom:7px;font-size:.8rem;font-weight:700;display:block}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #bbcbd3;border-radius:3px;min-height:47px;padding:12px 13px}.field textarea{resize:vertical;min-height:118px}.form-card button{border:0;width:100%}.form-hint{color:var(--muted);margin:12px 0 0;font-size:.77rem}.footer{color:#c2d2db;background:#092033;padding:39px 0}.footer .wrap{justify-content:space-between;align-items:center;gap:25px;display:flex}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.footer small{font-size:.8rem}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px;display:grid}.project-card{border:1px solid var(--line);background:#fff;overflow:hidden}.project-card img{aspect-ratio:4/2.8;object-fit:cover;object-position:top;background:var(--paper);width:100%}.project-card-body{padding:23px}.project-card .eyebrow{margin-bottom:10px;font-size:.68rem}.project-card h3{margin-bottom:10px}.project-card p{color:var(--muted);margin-bottom:0;font-size:.91rem}.profile-actions,.portfolio-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.profile-actions .btn,.portfolio-actions .btn{font-size:.9rem}.portfolio-intro,.portfolio-intro .lead{max-width:750px}.portfolio-footnote{color:var(--muted);margin-top:24px;font-size:.85rem}@media (max-width:900px){.nav-links{gap:17px}.service-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.intro,.about-grid,.contact-grid{gap:50px}.hero:after{opacity:.45}}@media (max-width:700px){.wrap{width:min(var(--max),calc(100% - 36px))}.topbar .wrap{justify-content:center}.topbar span:last-child{display:none}.nav-inner{height:70px}.menu-toggle{display:block}.nav-links{background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:16px 18px 25px;display:none;position:absolute;top:70px;left:0;right:0;box-shadow:0 18px 24px #102d4320}.nav-links.open{display:flex}.nav-links a{padding:11px 4px}.nav-links .nav-cta{text-align:center;margin-top:10px}.hero .wrap{padding:79px 0 55px}.hero h1{font-size:clamp(2.55rem,11vw,4rem)}.hero-meta{gap:15px 30px;margin-top:60px}.hero-meta span{font-size:.69rem}.section{padding:72px 0}.intro,.about-grid,.contact-grid{grid-template-columns:1fr;gap:22px}.intro-copy{padding:0}.service-grid,.process-grid,.portfolio-grid{grid-template-columns:1fr}.service-card{min-height:230px}.process-grid{gap:25px;margin-top:35px}.band .wrap{display:block}.band span{margin:8px 0 15px}.about-panel{min-height:330px;padding:34px}.contact-grid{gap:35px}.form-card{padding:25px}.footer .wrap{display:block}.footer small{margin-top:12px;display:block}}@media (max-width:420px){.hero-actions .btn{width:100%}.brand-name{font-size:1.15rem}.hero-meta{grid-template-columns:1fr 1fr;display:grid}.service-card{padding:27px}}main [hidden]{display:none!important}main{min-height:calc(100vh - 260px)}.nav-links a[aria-current=page]:not(.nav-cta){color:var(--green);border-bottom:2px solid var(--green)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.admin-link{z-index:90;color:#fff;background:#102d43;border-radius:.35rem;padding:.65rem 1rem;font:600 14px DM Sans,sans-serif;position:fixed;bottom:1rem;right:1rem;box-shadow:0 4px 16px #0004}.visitor-notice{color:#c2d3df;max-width:1160px;margin:0 auto;padding:.5rem 1rem 1rem;font:12px/1.5 DM Sans,sans-serif}.admin-page{color:#102d43;background:#f3f6f7;min-height:100vh;padding:clamp(1.2rem,4vw,3.5rem);font:16px/1.5 DM Sans,sans-serif}.admin-shell{max-width:1040px;margin:auto}.admin-page h1{margin:.8rem 0;font:800 clamp(2rem,4vw,3rem) Manrope,sans-serif}.admin-page a{color:#102d43}.admin-card{background:#fff;border:1px solid #d6e0e6;border-radius:12px;margin:1.5rem 0;padding:1.5rem;overflow:auto}.admin-warning{background:#fff5e8;border-left:5px solid #c26a16}.admin-page table{border-collapse:collapse;text-align:left;width:100%}.admin-page th,.admin-page td{vertical-align:top;border-bottom:1px solid #e1e7eb;padding:.7rem}.admin-page th{white-space:nowrap}.admin-page small{color:#546b7b}
