:root{color-scheme:light;--navy:#1f3a5f;--ink:#192c45;--gold:#c9a227;--paper:#f8f7f2;--rule:#d8dce2;--muted:#44556a}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 'Segoe UI',system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column}main{flex:1}.shell{width:min(71rem,calc(100% - 3rem));margin-inline:auto}.masthead,.footer{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:1.2rem}.brand{font-weight:750;font-size:1.3rem;text-decoration:none}.brand span{font-weight:500;font-size:.86rem;display:inline-block;margin-left:.35rem;color:var(--muted)}nav{display:flex;gap:1.4rem}a{color:var(--navy);text-underline-offset:.22em}a:focus-visible{outline:3px solid currentColor;outline-offset:4px}.skip{position:absolute;left:1rem;top:-4rem;z-index:1;padding:.5rem;background:white}.skip:focus{top:1rem}
.hero{background:var(--navy);color:#fff;border-top:3px solid var(--gold)}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,.55fr);align-items:center;gap:clamp(1rem,5vw,5rem);padding-block:clamp(3rem,8vw,7rem)}.hero img{width:100%;height:auto;max-width:20rem;justify-self:center}.hero p{max-width:40rem;color:#eff3fb;font-size:clamp(1.06rem,2vw,1.26rem);margin:1rem 0 1.8rem}.button{display:inline-block;background:#f2d673;color:#17273c;font-weight:650;text-decoration:none;padding:.72rem 1rem;border-radius:.25rem}.button:focus-visible{outline-color:#fff}
h1,h2,h3{line-height:1.12;margin:0;font-weight:750}h1{font-size:clamp(2.5rem,6vw,5.4rem);letter-spacing:-.045em}h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.025em}h3{font-size:1.3rem}.services,.team{padding-block:clamp(2.5rem,6vw,5rem)}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem;margin-top:1.8rem}.team .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-grid article{border-top:2px solid var(--gold);padding-top:1.1rem}.offer-grid p{color:var(--muted);max-width:40ch}.footer{border-top:1px solid var(--rule);margin-top:auto}
@media(max-width:42rem){.shell{width:calc(100% - 2rem)}.masthead{gap:.7rem}.brand span{display:block;margin:0}.hero-grid{grid-template-columns:1fr;gap:1rem}.hero img{max-width:9rem;justify-self:start}.offer-grid,.team .offer-grid{grid-template-columns:1fr}nav{gap:.75rem}}
