:root{--navy:#12233f;--blue:#275fd6;--blue-dark:#1f4cac;--pale:#edf3ff;--paper:#fafafa;--white:#fff;--ink:#1b2433;--muted:#626c7a;--line:#dfe3e8;--display:"Space Grotesk",Arial,sans-serif;--body:"Inter",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body);overflow-x:hidden}a{color:inherit}.skip-link{position:fixed;top:-100px;left:1rem;z-index:99;background:#fff;padding:.75rem 1rem}.skip-link:focus{top:1rem}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}header{height:76px;padding:0 max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;gap:.7rem;align-items:center;text-decoration:none;font:600 1rem/1 var(--display);letter-spacing:-.02em}.brand b{width:36px;height:36px;display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:8px}.brand em{display:block;font:500 .58rem var(--body);letter-spacing:.15em;text-transform:uppercase;margin-top:.35rem;color:#748092}header nav{display:flex;align-items:center;gap:2rem}header nav a:not(.button){font-size:.84rem;text-decoration:none;color:#485364}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--blue);border-radius:8px;background:var(--blue);color:#fff;text-decoration:none;padding:.78rem 1.1rem;font:600 .83rem var(--body);cursor:pointer;transition:background .18s,transform .18s}.button:hover{background:var(--blue-dark);transform:translateY(-1px)}.menu{display:none;border:0;background:none}.menu i{display:block;width:24px;height:2px;background:var(--ink);margin:5px}.eyebrow{font:600 .72rem var(--body);text-transform:uppercase;letter-spacing:.14em;color:var(--blue);margin:0 0 1rem}h1,h2,h3{font-family:var(--display);line-height:1.08;margin-top:0;letter-spacing:-.035em;color:var(--navy)}h1{font-size:clamp(3rem,6.5vw,5.8rem);font-weight:600;margin:0;max-width:940px}h1 i{color:var(--blue);font-style:normal}h2{font-size:clamp(2.25rem,4vw,3.7rem);font-weight:600;margin-bottom:0}h3{font-size:1.45rem;font-weight:600}.lede{font-size:clamp(1.02rem,1.4vw,1.2rem);max-width:650px;color:var(--muted);margin:1.7rem 0 0}.text-link{display:inline-flex;gap:.35rem;color:var(--blue);font-weight:600;text-decoration:none;padding:.45rem 0}.text-link:hover{text-decoration:underline}.hero{max-width:1160px;margin:auto;min-height:650px;padding:clamp(5rem,9vw,8rem) 0;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:7rem;align-items:center}.actions{display:flex;gap:1.5rem;align-items:center;margin-top:2rem}.hero-note{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1.5rem;box-shadow:0 12px 35px rgba(18,35,63,.07)}.hero-note>p{font:600 .78rem var(--body);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 1rem}.hero-note ul{list-style:none;margin:0;padding:0}.hero-note li{padding:.75rem 0;border-top:1px solid var(--line);font-weight:600;color:var(--navy)}.section{padding:clamp(5rem,9vw,8rem) max(24px,calc((100vw - 1160px)/2))}.heading{display:grid;grid-template-columns:1fr minmax(260px,.45fr);gap:4rem;align-items:end;margin-bottom:3.5rem}.heading>p{color:var(--muted);margin:0}.project{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.65fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 16px 45px rgba(18,35,63,.08)}.preview{display:block;position:relative;aspect-ratio:16/10;background:#e8ebef;overflow:hidden;border-right:1px solid var(--line);padding-top:36px}.preview:before{content:"●  ●  ●";position:absolute;top:0;left:0;right:0;height:36px;background:#f4f5f7;color:#a7acb4;padding:7px 12px;font-size:.65rem}.preview iframe{width:1440px;height:900px;border:0;transform:scale(.61);transform-origin:top left;pointer-events:none}.preview span{position:absolute;right:1rem;bottom:1rem;background:#fff;border:1px solid var(--line);border-radius:7px;padding:.6rem .85rem;color:var(--blue);font-weight:600;font-size:.75rem}.project>div{padding:clamp(2rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center}.project>div>p{color:var(--muted)}.tag{color:var(--blue)!important;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}dl{border-block:1px solid var(--line);margin:1.7rem 0}dl div{display:flex;justify-content:space-between;padding:.6rem 0}dt{color:var(--muted)}dd{margin:0;font-weight:600}.services{background:#fff}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.service-list article{padding:2rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.service-list span{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--pale);color:var(--blue);font-size:.75rem;font-weight:600}.service-list h3{margin:2.8rem 0 .7rem}.service-list p{margin:0;color:var(--muted);font-size:.92rem}.process{background:var(--navy);color:#fff}.process h2,.process h3{color:#fff}.process .eyebrow{color:#8eb0ff}.process .heading>p{color:#adb8c8}.process ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.process li{padding-top:1.4rem;border-top:2px solid #385172}.process li span{color:#8eb0ff;font-size:.75rem;font-weight:600}.process h3{font-size:1.2rem;margin:2rem 0 .7rem}.process li p{color:#b8c2d0;margin:0;font-size:.88rem}.about{display:grid;grid-template-columns:270px 1fr;gap:clamp(4rem,9vw,9rem);align-items:center}.about-label{height:270px;border-radius:18px;background:var(--pale);display:flex;flex-direction:column;justify-content:space-between;padding:1.7rem;color:var(--blue)}.about-label span{font:600 4.5rem var(--display);letter-spacing:-.08em}.about-label small{font-weight:600}.about>div:last-child{max-width:720px}.about>div>p:not(.eyebrow){font-size:1.04rem;color:var(--muted)}.quote{display:grid;grid-template-columns:.7fr 1.15fr;gap:clamp(4rem,8vw,8rem);background:#fff}.quote-copy>p{color:var(--muted)}.quote-copy small{display:block;color:var(--muted);margin-top:1.2rem}.email{display:inline-block;color:var(--blue);font-weight:600;margin:1rem 0}.quote form{border:1px solid var(--line);border-radius:14px;padding:clamp(1.5rem,4vw,3rem);background:var(--paper)}.notice{padding:1rem 1.2rem;background:var(--pale);border-radius:8px;margin-bottom:2rem;color:var(--navy)}.notice strong,.notice span{display:block}.notice span{font-size:.82rem;margin-top:.2rem}.row{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}label{display:block;font-size:.8rem;font-weight:600;margin-bottom:1.2rem;color:var(--navy)}label b{float:right;font-size:.62rem;text-transform:uppercase;color:var(--muted)}input,select,textarea{display:block;width:100%;border:1px solid #cbd1d9;border-radius:7px;background:#fff;padding:.82rem .9rem;margin-top:.4rem;font:inherit;color:var(--ink)}textarea{resize:vertical}label>span{display:block;color:#9a3029;font-size:.75rem;min-height:1.1em}input:focus,select:focus,textarea:focus,a:focus-visible,button:focus-visible{outline:3px solid #9bb7f7;outline-offset:2px}[aria-invalid=true]{border-color:#9a3029}.submit:disabled{background:#9299a3;border-color:#9299a3;cursor:not-allowed;transform:none}.trap{position:absolute;left:-9999px}footer{padding:3.5rem max(24px,calc((100vw - 1160px)/2));background:#0d192d;color:#fff;display:grid;grid-template-columns:1fr 1fr auto;gap:3rem}footer .brand b{background:#fff;color:var(--navy)}footer nav{display:flex;gap:1.3rem}footer nav a,footer>div a{font-size:.8rem;color:#bdc6d4}.copyright{grid-column:1/-1;border-top:1px solid #31405a;padding-top:1.4rem;font-size:.72rem;color:#8f9bad}
@media(max-width:1210px){.hero{padding-left:24px;padding-right:24px}}@media(max-width:900px){header{height:70px;padding-inline:24px}.menu{display:block}header nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:1.25rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}header nav.open{display:flex}header nav a{text-align:center}.hero{grid-template-columns:1fr;gap:3rem;min-height:auto}.hero-note{max-width:480px}.heading,.project,.quote,.about{grid-template-columns:1fr}.preview{border-right:0;border-bottom:1px solid var(--line)}.preview iframe{transform:scale(.5)}.service-list{grid-template-columns:1fr}.process ol{grid-template-columns:1fr 1fr}.about-label{width:270px}footer{grid-template-columns:1fr 1fr}footer nav{grid-column:1/-1}.copyright{grid-column:1/-1}}@media(max-width:560px){h1{font-size:3.4rem}.actions{flex-direction:column;align-items:flex-start;gap:.8rem}.section{padding-block:4.5rem}.heading{gap:1.3rem;margin-bottom:2.5rem}.preview{aspect-ratio:4/3}.preview iframe{transform:scale(.36)}.process ol{grid-template-columns:1fr}.row{grid-template-columns:1fr}.quote form{padding:1.25rem}footer{grid-template-columns:1fr;gap:1.5rem}footer nav,.copyright{grid-column:1;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}

/* Simplified hero and fluid native select enhancements. */
.hero{display:flex;align-items:center;gap:0}.hero>div{width:100%}.select-shell{display:block;position:relative;margin-top:.4rem;border-radius:8px;transition:transform .2s ease,box-shadow .2s ease}.select-shell select{appearance:none;-webkit-appearance:none;margin:0;padding-right:3.2rem;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.select-arrow{position:absolute;right:1rem;top:50%;width:1.55rem;height:1.55rem;display:grid;place-items:center;transform:translateY(-52%);border-radius:50%;background:var(--pale);color:var(--blue);font-size:1.05rem;line-height:1;pointer-events:none;transition:transform .22s ease,background .22s ease,color .22s ease}.select-shell:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(18,35,63,.08)}.select-shell:hover select{border-color:#9bafe0}.select-shell:focus-within{transform:translateY(-1px);box-shadow:0 0 0 3px #d8e4ff}.select-shell:focus-within select{outline:0;border-color:var(--blue);background:#fbfdff}.select-shell:focus-within .select-arrow{transform:translateY(-52%) rotate(180deg);background:var(--blue);color:#fff}.select-shell.has-value select{color:var(--navy)}
@media(max-width:900px){.hero{display:flex}}

/* Interaction polish for the mobile navigation and select controls. */
.menu i{transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .18s ease,width .22s ease}.menu[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu[aria-expanded="true"] i:nth-child(2){opacity:0;width:0}.menu[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.select-shell:focus-within .select-arrow{transform:translateY(-52%);background:var(--pale);color:var(--blue)}.select-shell.is-open .select-arrow{transform:translateY(-52%) rotate(180deg);background:var(--blue);color:#fff}
@media(max-width:900px){header nav{display:flex;max-height:0;padding:0 1.25rem;gap:.25rem;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);border-bottom-color:transparent;transition:max-height .38s cubic-bezier(.22,1,.36,1),padding .3s ease,opacity .22s ease,transform .3s ease,visibility 0s linear .38s,border-color .25s ease}header nav.open{display:flex;max-height:280px;padding:1.1rem 1.25rem 1.3rem;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);border-bottom-color:var(--line);transition:max-height .38s cubic-bezier(.22,1,.36,1),padding .3s ease,opacity .22s ease,transform .3s ease,visibility 0s}header nav a{border-radius:7px;transition:background .18s ease,color .18s ease,transform .18s ease}header nav a:not(.button):hover{background:var(--pale);color:var(--blue);transform:translateX(2px)}}

/* Allow form controls, especially mobile date inputs, to shrink within the form. */
.quote,.quote form,.row,.row>label{min-width:0}input,select,textarea{min-width:0;max-width:100%}input[type="date"]{width:100%;min-inline-size:0}
