:root{font-family:Barlow,sans-serif;color:#f6efe3;background:radial-gradient(circle at top left,rgba(245,183,48,.2),transparent 28%),radial-gradient(circle at top right,rgba(67,145,255,.14),transparent 30%),#081f37;line-height:1.45;font-weight:400;color-scheme:dark;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height, 88px) + 1rem)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{scroll-snap-type:none}body{min-width:320px;background:linear-gradient(180deg,#081f37f5,#061425),#081f37}main{display:grid}.hero,.section,.footer{padding-inline:4.5rem}.hero,.compact-section,.footer-section{min-height:calc(100svh - var(--header-height, 88px));display:grid;align-content:start;scroll-margin-top:calc(var(--header-height, 88px) + 1rem)}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:.9rem 4.5rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#041221b8;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;flex-direction:column;gap:.15rem;color:inherit;text-decoration:none}.brand-mark,.eyebrow,.nav a,.team-role,.gallery-placeholder span{text-transform:uppercase;letter-spacing:.12em}.brand-mark{font-family:Oswald,sans-serif;font-size:2rem;line-height:.92;color:#f7b328}.brand-sub{color:#d8e4f3;font-size:.72rem}.nav{display:flex;flex-wrap:wrap;gap:1.15rem;font-size:.84rem}.nav a{color:#eff5ff;text-decoration:none;transition:color .18s ease,transform .18s ease}.nav a:hover{color:#f7b328;transform:translateY(-1px)}.hero{min-height:calc(100svh - var(--header-height, 88px));grid-template-columns:minmax(0,1.08fr) minmax(320px,1fr);gap:1.8rem;padding-top:1.25rem;padding-bottom:1rem}.hero-copy{max-width:46rem}.slim-copy{max-width:38rem}.section-heading{max-width:48rem}.eyebrow{margin:0 0 .85rem;font-size:.7rem;color:#f7b328}h1,h2,h3{margin:0;font-family:Oswald,sans-serif;font-weight:600;letter-spacing:-.01em}h1{font-size:clamp(2.9rem,5vw,5.25rem);line-height:.93}h2{font-size:clamp(2rem,3vw,3.2rem);line-height:.98}h3{font-size:clamp(1.08rem,1.35vw,1.38rem);line-height:1.08}.hero-title{max-width:11.5ch;text-wrap:balance;display:grid;gap:.15em}.section-title{max-width:18ch;text-wrap:balance}.section-title-wide{max-width:20ch}.story-title{max-width:16ch;text-wrap:balance}.location-title,.footer-title{max-width:18ch;font-size:clamp(1.8rem,2.5vw,2.65rem);line-height:1.02;text-wrap:balance}.card-title{max-width:16ch;font-size:clamp(1.14rem,1.45vw,1.48rem);line-height:1.05;text-wrap:balance}.gallery-title{max-width:13.5ch;font-size:clamp(1.18rem,1.6vw,1.58rem);line-height:1.02;text-wrap:balance}.lead,.story-copy p,.location-copy p,.footer-grid p,.footer-grid a,.category p,.team-card p,.proof-item p,.gallery-card p,.footer-note{color:#ebf4ffd6;font-size:.98rem}.lead{max-width:28rem;margin:.75rem 0 0;font-size:.95rem;line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 1.1rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.55rem;padding:0 .95rem;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .18s ease,background .18s ease,color .18s ease}.button:hover{transform:translateY(-2px)}.button-primary{color:#071625;background:#f7b328}.button-secondary{color:#f7f6f1;background:transparent;border:1px solid rgba(255,255,255,.2)}.compact-list,.contact-stack,.footer-grid,.proof-mini,.team-photo-copy{display:grid;gap:.5rem}.hero-points{padding:0;margin:0;list-style:none;gap:.8rem}.hero-points li{position:relative;padding-left:1.1rem;color:#ebf4ffdb;font-size:.98rem;line-height:1.45}.hero-points li:before{content:"";position:absolute;top:.48rem;left:0;width:.34rem;height:.34rem;border-radius:50%;background:#f7b328;box-shadow:0 0 18px #f7b328b3}.hero-visual{min-height:20rem;display:grid;align-content:stretch}.hero-panel,.hero-card,.category,.team-card,.gallery-card,.map-frame,.footer-section,.hero-photo-frame,.team-photo-card{border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 65px #0107115c}.hero-photo-frame{position:relative;min-height:100%;border-radius:1.8rem;overflow:hidden}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-photo-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0614250f,#06142599)}.hero-photo-badge{position:absolute;left:1rem;bottom:1rem;z-index:1;display:grid;gap:.2rem;padding:.8rem .9rem;border-radius:1rem;background:#041221b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-photo-badge span{color:#f7b328;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.hero-photo-badge strong{font-family:Oswald,sans-serif;font-size:1.05rem;color:#f7f8fb}.compact-section{gap:1.1rem;padding-top:1.2rem;padding-bottom:.9rem}.compact-heading{display:grid;gap:.4rem}.compact-grid{display:grid;gap:1rem}.categories{grid-template-columns:repeat(4,minmax(0,1fr))}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.category,.team-card,.gallery-card{padding:1.2rem;border-radius:1.25rem;background:#eff6ff0a;transition:transform .22s ease,border-color .22s ease,background .22s ease}.category:hover,.team-card:hover,.gallery-card:hover{transform:translateY(-4px);border-color:#f7b32859;background:#eff6ff12}.story-header,.location-section{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:1rem 1.6rem;align-items:start}.team-photo-card{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:1rem;align-items:center;padding:.8rem;border-radius:1.4rem;background:#eff6ff0a}.team-photo-frame{position:relative;width:100%;aspect-ratio:1 / 1;overflow:hidden;border-radius:1.1rem}.team-photo{width:100%;height:100%;object-fit:cover;object-position:center 32%;display:block}.team-photo-copy{min-width:0}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-placeholder{aspect-ratio:1.1 / 1;display:flex;align-items:flex-end;padding:.9rem;border-radius:1rem;margin-bottom:.9rem;overflow:hidden;position:relative;background:#ffffff0a}.gallery-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.gallery-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#081f3714,#081f37b8)}.gallery-placeholder span{position:relative;z-index:1;color:#f7f8fb}.proof-item{display:flex;gap:.55rem;align-items:flex-start}.proof-dot{flex:0 0 auto;width:.62rem;height:.62rem;border-radius:50%;background:#f7b328;margin-top:.4rem}.contact-stack a,.footer-grid a{width:fit-content;color:#f7f6f1;font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .18s ease,color .18s ease}.contact-stack a:hover,.footer-grid a:hover{color:#f7b328;border-color:currentColor}.compact-map{min-height:19rem;border-radius:1.6rem;background:#ffffff0a}.map-frame iframe{display:block;width:100%;height:100%;min-height:19rem;border:0;filter:grayscale(.2) contrast(1.05)}.footer-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.4rem;margin:0 4.5rem 1.2rem;padding:1.3rem;border-radius:1.8rem;background:linear-gradient(145deg,#051526fa,#09213ce0)}@media(max-width:1200px){.section-contact{grid-template-columns:1fr 1fr;padding-right:9.5rem}.contact-mascot{right:.9rem;width:8rem}.hero{height:auto;grid-template-columns:1fr;gap:1.4rem}.story-header,.location-section,.footer-section,.team-photo-card{grid-template-columns:1fr}.categories,.three-columns,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero,.compact-section,.footer-section{min-height:auto}.hero-copy,.section-heading,.slim-copy,.hero-title,.section-title,.section-title-wide,.story-title,.location-title,.footer-title{max-width:100%}.hero-visual{min-height:24rem}}@media(max-width:720px){.section-contact{grid-template-columns:1fr;gap:1.25rem;padding-right:1.5rem;padding-bottom:.5rem}.section-contact .footer-note{max-width:100%}.section-contact .footer-grid{gap:.95rem}.contact-mascot{position:static;width:auto;display:flex;justify-content:center;margin-top:.25rem}.contact-mascot-image{width:min(100%,14.5rem);max-height:none;object-fit:contain}.topbar,.hero,.section,.footer{padding-inline:1.25rem}.topbar{align-items:flex-start;flex-direction:column}.brand-mark{font-size:1.7rem}.nav{gap:.9rem 1rem}h1{font-size:clamp(2.45rem,13vw,3.8rem)}h2{font-size:clamp(1.8rem,9vw,2.6rem)}.hero-title,.section-title,.section-title-wide,.story-title,.location-title,.footer-title,.card-title,.gallery-title{max-width:100%}.hero-visual{min-height:auto}.categories,.three-columns,.gallery-grid{grid-template-columns:1fr}.compact-section,.footer-section{padding-top:3rem;padding-bottom:3rem}.footer-section{margin-inline:1.25rem;padding-inline:1.5rem}}.gallery-card h3{margin-bottom:.55rem}.gallery-card p{max-width:29ch;line-height:1.55}.contact-link-content{display:inline-flex;align-items:center;gap:.5rem}.contact-link-icon{flex:0 0 auto;width:1rem;height:1rem}.hero-title span{display:block;font-size:.56em;line-height:.95;color:#f7f8fbe6}.hero-title strong{display:block;color:#f7f8fb;font-weight:600}.section-specialties .section-heading{max-width:40rem}.specialties-grid .category{background:linear-gradient(180deg,#f7b32814,#eff6ff08);border-color:#f7b32824}.specialties-grid .category h3{margin-bottom:.7rem}.specialties-grid .category p{max-width:28ch;line-height:1.6}.section-service .story-header{align-items:stretch}.section-service .story-copy{display:grid;align-content:center;padding:1.1rem 0}.service-grid .team-card{background:linear-gradient(180deg,#ffffff0d,#4391ff0f);border-color:#7bb0ff24}.service-grid .team-role{color:#9bc3ff}.service-grid .team-card h3{margin-bottom:.65rem}.service-grid .team-card p:last-child{max-width:30ch;line-height:1.6}.section-location .location-copy{display:grid;align-content:center;gap:.85rem}.section-location .location-title{max-width:14ch}.contact-panel{padding:1rem 1.05rem;border:1px solid rgba(255,255,255,.08);border-radius:1.15rem;background:linear-gradient(180deg,#ffffff0a,#4391ff0d)}.contact-panel a{font-size:.98rem}.section-location .map-frame{overflow:hidden;background:linear-gradient(180deg,#ffffff08,#0614253d)}.section-contact{position:relative;border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 65px #0107115c}.section-contact .footer-title{max-width:14ch}.section-contact .footer-note{max-width:30ch;font-size:.98rem;line-height:1.55}.section-contact .footer-grid{align-content:center;gap:.75rem}.section-contact .footer-grid a,.section-contact .footer-grid p{font-size:1rem}.section-contact{grid-template-columns:minmax(0,.82fr) minmax(0,1fr);align-items:start;overflow:hidden;padding-right:12.5rem}.contact-mascot{position:absolute;right:1.25rem;bottom:0;width:10.5rem;pointer-events:none}.contact-mascot-image{width:100%;height:auto;display:block;object-fit:contain;filter:drop-shadow(0 14px 30px rgba(1,7,17,.3))}.section-maintenance .maintenance-card{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr);gap:1.3rem;align-items:center;padding:1.25rem;border:1px solid rgba(255,255,255,.08);border-radius:1.6rem;background:linear-gradient(135deg,#ffffff0a,#f7b3280f);box-shadow:0 22px 65px #0107115c}.maintenance-photo-frame{position:relative;width:100%;aspect-ratio:1.05 / 1;overflow:hidden;border-radius:1.25rem}.maintenance-photo{width:100%;height:100%;object-fit:cover;object-position:70% center;display:block}.maintenance-copy{display:grid;gap:.75rem;max-width:34rem}.maintenance-title{max-width:15ch;font-size:clamp(1.95rem,2.8vw,3rem);line-height:1;text-wrap:balance}.section-maintenance .maintenance-copy p:last-child{max-width:34ch;color:#ebf4ffd6;line-height:1.6}@media(max-width:1200px){.section-maintenance .maintenance-card{grid-template-columns:1fr}.maintenance-title,.section-maintenance .maintenance-copy,.section-maintenance .maintenance-copy p:last-child{max-width:100%}}.hero{min-height:clamp(36rem,78svh,48rem);gap:1.5rem}.compact-section,.footer-section{min-height:auto}.section-specialties,.section-service,.section-maintenance,.section-location{padding-top:1rem;padding-bottom:1.2rem}.section-maintenance .maintenance-card{grid-template-columns:minmax(240px,.82fr) minmax(0,1.18fr);gap:1.1rem;padding:1.1rem}@media(max-width:720px){.section-maintenance .maintenance-card{grid-template-columns:1fr}.maintenance-photo-frame{width:100%;max-width:100%}}.maintenance-title{max-width:14ch;font-size:clamp(1.75rem,2.35vw,2.55rem)}.section-contact{min-height:auto}.section-contact .footer-note{max-width:34ch}html{overflow-x:hidden}body{-webkit-tap-highlight-color:rgba(247,179,40,.22);overflow-x:hidden}button,a{touch-action:manipulation}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:40;transform:translateY(-150%);padding:.7rem .9rem;border-radius:.5rem;color:#071625;background:#ff8a00;font-weight:800;text-decoration:none;transition:transform .18s ease}.skip-link:focus-visible{transform:translateY(0)}:focus-visible{outline:3px solid #ff8a00;outline-offset:4px}main:focus-visible{outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(max-width:720px){.section-contact{grid-template-columns:1fr;gap:1.25rem;padding-right:1.5rem;padding-bottom:.5rem}.section-contact>:first-child,.section-contact>.footer-grid,.section-contact>.contact-mascot{min-width:0}.section-contact .footer-title,.section-contact .footer-note{max-width:100%}.section-contact .footer-grid{gap:.95rem}.contact-mascot{position:static;width:auto;display:flex;justify-content:center;margin-top:.25rem}.contact-mascot-image{width:min(100%,14.5rem);max-height:none;object-fit:contain}}
