:root{--navy: #0b2c42;--navy-800: #092436;--navy-900: #07202f;--blue: #14507a;--blue-700: #103e5e;--blue-50: #e9f1f8;--accent: #e15a25;--accent-600: #c44a1c;--ink: #16242e;--muted: #56636c;--paper: #ffffff;--cream: #f5f1ea;--cream-2: #efe8dd;--line: #e3e9ed;--line-cream: #e2dacd;--line-dark: rgba(255, 255, 255, .14);--line-dark-2: rgba(255, 255, 255, .08);--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--container: 1160px;--gutter: clamp(1.15rem, 4vw, 2.25rem);--section-y: clamp(3.5rem, 8vw, 6rem);--shadow-sm: 0 1px 2px rgba(11, 44, 66, .05), 0 1px 3px rgba(11, 44, 66, .04);--shadow-md: 0 10px 30px rgba(11, 44, 66, .09), 0 3px 8px rgba(11, 44, 66, .05);--shadow-lg: 0 24px 60px rgba(7, 32, 47, .18);--shadow-accent: 0 8px 22px rgba(225, 90, 37, .32);--ease: .2s cubic-bezier(.2, .6, .2, 1);--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Fraunces", Georgia, "Times New Roman", serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;font-family:var(--font-sans);color:var(--ink);background:var(--paper);line-height:1.65;font-size:clamp(1rem,.97rem + .15vw,1.0625rem);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,svg{display:block;max-width:100%;height:auto}img{background:var(--cream)}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;line-height:1.1;letter-spacing:-.02em;color:var(--navy-900)}h1{font-size:clamp(2.25rem,1.4rem + 3.4vw,3.6rem);font-weight:600}h2{font-size:clamp(1.7rem,1.3rem + 1.8vw,2.4rem)}h3{font-size:clamp(1.2rem,1.08rem + .5vw,1.4rem);font-weight:600}p{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}ul{margin:0;padding:0;list-style:none}figure{margin:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent);color:#fff}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-y)}.section--cream{background:var(--cream)}.section--navy{background:var(--navy);color:#cfe0ea}.section--navy h1,.section--navy h2,.section--navy h3{color:#fff}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-600);margin-bottom:.9rem}.eyebrow--light{color:#ffb98a}.section-head{max-width:62ch;margin-bottom:clamp(2rem,4vw,3rem)}.section-head p{color:var(--muted);margin-top:.7rem;font-size:1.08rem}.section--navy .section-head p{color:#b9cede}.section-head--center{margin-inline:auto;text-align:center}.lead{font-size:1.12rem;color:var(--muted)}.section--navy .lead{color:#b9cede}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--font-sans);font-weight:600;font-size:1rem;line-height:1;text-decoration:none;padding:.95rem 1.5rem;border-radius:var(--radius-sm);border:1.5px solid transparent;cursor:pointer;transition:transform var(--ease),background-color var(--ease),color var(--ease),border-color var(--ease),box-shadow var(--ease);will-change:transform}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn svg{flex:none}.btn--accent{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}.btn--accent:hover{background:var(--accent-600)}.btn--blue{background:var(--blue);color:#fff}.btn--blue:hover{background:var(--navy)}.btn--light{background:#fff;color:var(--navy-900)}.btn--light:hover{background:var(--blue-50)}.btn--ghost{background:transparent;color:#fff;border-color:var(--line-dark)}.btn--ghost:hover{border-color:#fff;background:#ffffff12}.btn--outline{background:transparent;color:var(--navy-900);border-color:var(--line)}.btn--outline:hover{border-color:var(--blue);background:var(--blue-50)}.btn--lg{padding:1.1rem 1.75rem;font-size:1.0625rem}.btn--block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:.8rem}.grid{display:grid;gap:clamp(1.1rem,2.5vw,1.6rem);justify-items:stretch}.grid--2,.grid--3{grid-template-columns:minmax(0,1fr)}.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:700px){.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:900px){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.icon-tile{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-sm);background:var(--blue-50);color:var(--blue);flex:none}.icon-tile--accent{background:#fbece2;color:var(--accent-600)}.icon-tile--dark{background:#ffffff14;color:#ffb98a}.topbar{background:var(--navy-900);color:#c3d4e0;font-size:.82rem;border-bottom:1px solid var(--line-dark-2)}.topbar__inner{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;align-items:center;justify-content:space-between;padding-block:.5rem}.topbar__item{display:inline-flex;align-items:center;gap:.45rem}.topbar__item svg{opacity:.85}.topbar__phone{color:#fff;font-weight:600}.site-header{position:sticky;top:0;z-index:50;background:#fffffff0;backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}.site-header__logo{display:inline-flex;align-items:center}.site-header__logo img{height:46px;width:auto;background:transparent}.site-nav{display:none;gap:.35rem}.site-nav a{color:var(--ink);font-weight:500;padding:.5rem .85rem;border-radius:var(--radius-sm);transition:background-color var(--ease),color var(--ease)}.site-nav a:hover{background:var(--cream);text-decoration:none;color:var(--navy-900)}@media(min-width:880px){.site-nav{display:flex}}.header-cta{display:flex;align-items:center;gap:.6rem}.header-phone{display:none;flex-direction:column;line-height:1.15;text-align:right}.header-phone strong{color:var(--navy-900);font-size:1.05rem}.header-phone span{font-size:.72rem;color:var(--muted);letter-spacing:.04em}@media(min-width:560px){.header-phone{display:flex}}@media(min-width:880px){.header-call{display:inline-flex}}.header-call-mobile{display:inline-flex}@media(min-width:880px){.header-call-mobile{display:none}}.hero{background:var(--navy);color:#cfe0ea;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 85% 15%,rgba(20,80,122,.55),transparent 60%);pointer-events:none}.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,3rem);align-items:center;padding-block:clamp(2.75rem,6vw,5rem)}@media(min-width:900px){.hero__grid{grid-template-columns:1.12fr .88fr}}.hero h1{color:#fff;margin-bottom:1.1rem}.hero__body{font-size:1.15rem;color:#bcd0dd;max-width:50ch;margin-bottom:1.75rem}.hero__points{display:grid;gap:.7rem;margin-bottom:1.9rem;max-width:40rem}.hero__point{display:flex;align-items:center;gap:.7rem;font-weight:500;color:#e6eef4}.hero__point svg{color:#ffb98a;flex:none}.hero__actions{margin-bottom:0}.hero__media{position:relative}.hero__frame{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-dark);box-shadow:var(--shadow-lg);background:var(--navy-800);aspect-ratio:16 / 11}.hero__frame img{width:100%;height:100%;object-fit:cover}.hero__badge{position:absolute;left:-10px;bottom:22px;background:#fff;color:var(--navy-900);border-radius:var(--radius);padding:.8rem 1rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.7rem;max-width:calc(100% - 1rem)}.hero__badge .b-stars{color:#f59e0b;display:inline-flex;letter-spacing:1px}.hero__badge .b-num{font-family:var(--font-display);font-size:1.7rem;font-weight:700;line-height:1}.hero__badge .b-text{font-size:.78rem;color:var(--muted);line-height:1.3}@media(max-width:560px){.hero__badge{left:0}}.stats{background:var(--paper);border-bottom:1px solid var(--line)}.stats__inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}@media(min-width:720px){.stats__inner{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat{display:flex;gap:.85rem;align-items:flex-start;padding:clamp(1.25rem,3vw,1.9rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.stat:nth-child(2n){border-right:0}@media(min-width:720px){.stat{border-bottom:0}.stat:nth-child(2n){border-right:1px solid var(--line)}.stat:last-child{border-right:0}}.stat__num{font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--navy-900);line-height:1}.stat__label{font-size:.88rem;color:var(--muted);margin-top:.25rem;line-height:1.35}.quote{position:relative;width:100%;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,3vw,1.9rem) clamp(1.4rem,2.5vw,1.75rem) clamp(1.4rem,2.5vw,1.6rem);display:flex;flex-direction:column;gap:.95rem;height:100%;overflow:hidden;transition:box-shadow var(--ease),transform var(--ease),border-color var(--ease)}.quote:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent),#f3a76a)}.quote:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:#d2dde4}.quote__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.quote__stars{color:#f59e0b;display:inline-flex;letter-spacing:2px}.quote__src{font-size:.74rem;font-weight:600;color:var(--muted);letter-spacing:.04em}.quote__body{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.08rem,.98rem + .4vw,1.22rem);line-height:1.5;font-weight:500;letter-spacing:-.01em}.quote__meta{margin-top:auto;padding-top:.4rem;display:flex;align-items:center;gap:.75rem}.quote__avatar{width:40px;height:40px;border-radius:50%;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.95rem;flex:none}.quote__name{display:block;font-weight:600;color:var(--navy-900);font-size:.95rem;line-height:1.3}.quote__when{display:block;font-size:.8rem;color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:.55rem}.chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--paper);color:var(--navy-900);border:1px solid var(--line-cream);border-radius:999px;padding:.45rem .9rem;font-size:.85rem;font-weight:500;max-width:100%}.chip svg{color:var(--blue)}.service-card{background:var(--paper);border:1px solid var(--line-cream);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2rem);display:flex;flex-direction:column;gap:1rem;height:100%;transition:box-shadow var(--ease),transform var(--ease),border-color var(--ease)}.service-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:#d8cdbc}.service-card h3{margin:0}.service-card p{color:var(--muted)}.service-list{display:grid;gap:.5rem;margin-top:.25rem}.service-list li{display:flex;gap:.55rem;align-items:flex-start;font-size:.94rem;color:var(--ink)}.service-list svg{color:var(--accent);flex:none;margin-top:.2rem}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.7rem,1.6vw,1.1rem)}@media(min-width:760px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}.gallery figure{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--paper);transition:box-shadow var(--ease),transform var(--ease)}.gallery figure:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.gallery .g-media{aspect-ratio:4 / 3;overflow:hidden;background:var(--cream)}.gallery img{width:100%;height:100%;object-fit:cover}.gallery figcaption{padding:.7rem .9rem;font-size:.85rem;color:var(--muted)}.feature{display:flex;gap:1rem;align-items:flex-start;height:100%}.feature h3{margin-bottom:.3rem;font-size:1.1rem}.feature p{color:var(--muted);font-size:.97rem}.cta-band{background:var(--navy);border-radius:var(--radius-lg);padding:clamp(2rem,5vw,3.25rem);display:flex;flex-wrap:wrap;gap:1.5rem 2rem;align-items:center;justify-content:space-between;box-shadow:var(--shadow-lg)}.cta-band h2{color:#fff;margin:0;max-width:18ch}.cta-band p{color:#bcd0dd;margin-top:.5rem}.contact-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.75rem,4vw,2.75rem);align-items:stretch}@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1fr}}.contact-list{display:grid;gap:.95rem;margin-top:1.5rem}.contact-list li{display:flex;gap:.85rem;align-items:center;min-width:0}.contact-list li>span:last-child{min-width:0}.contact-list .icon-tile{width:42px;height:42px}.contact-list .c-lbl{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:#9fb6c5;font-weight:600}.contact-list .c-val{color:#fff;font-weight:600;font-size:1.02rem;overflow-wrap:anywhere}.contact-list .c-val a{color:#fff}.map-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-dark);background:var(--navy-800);min-height:320px;display:flex}.map-card iframe{width:100%;height:100%;min-height:320px;border:0;display:block}.site-footer{background:var(--navy-900);color:#9fb1bf;padding-block:clamp(3rem,6vw,4rem) 1.5rem}.site-footer a{color:#cfdae2}.site-footer a:hover{color:#fff}.site-footer h4{font-family:var(--font-sans);color:#fff;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:1rem}.footer-logo img{height:42px;width:auto;background:transparent}.footer-grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,2.75rem)}@media(min-width:680px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}.footer-links{display:grid;gap:.6rem;font-size:.92rem}.footer-bottom{margin-top:clamp(2rem,4vw,2.75rem);padding-top:1.5rem;border-top:1px solid var(--line-dark-2);font-size:.8rem;color:#7d92a1;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:.75rem;top:-3.5rem;background:var(--accent);color:#fff;padding:.7rem 1.1rem;border-radius:var(--radius-sm);z-index:100;transition:top var(--ease);font-weight:600}.skip-link:focus{top:.75rem;text-decoration:none}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.75rem}.mt-4{margin-top:2.5rem}.text-center{text-align:center}.mx-auto{margin-inline:auto}.muted{color:var(--muted)}.fineprint{font-size:.8rem;color:var(--muted)}.section--navy .fineprint{color:#8aa3b3}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
