:root{--ink:#0f3d38;--ink2:#0a2c28;--cream:#f7f2e8;--paper:#fffdf8;--sun:#f5b82e;--text:#24312f;--mute:#5d6a67}
html{scroll-behavior:smooth}
body{font-family:'Instrument Sans',system-ui,sans-serif;color:var(--text);background:var(--paper);font-size:1.05rem;line-height:1.65}
h1,h2,h3,.brand-name{font-family:'Bricolage Grotesque',sans-serif;letter-spacing:-.02em}
a{color:inherit}
.topbar{background:var(--ink2);color:#cfe0dc;font-size:.85rem;padding:.4rem 0}
.topbar a{color:var(--sun);font-weight:600;text-decoration:none}
.mainnav{background:var(--ink);padding:.6rem 0}
.navbar-brand{display:flex;align-items:center;gap:.7rem;color:#fff!important}
.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--sun);color:var(--sun);font-family:'Bricolage Grotesque';font-weight:800;border-radius:50%;font-size:1rem}
.brand-name{display:flex;flex-direction:column;line-height:1.1;font-weight:700;font-size:1.15rem}
.brand-name em{font-style:normal;font-weight:500;opacity:.8}
.brand-name small{font-family:'Instrument Sans';font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sun);font-weight:500;margin-top:2px}
.mainnav .nav-link{color:#e5efec;font-weight:500;padding:.5rem .9rem}
.mainnav .nav-link:hover{color:var(--sun)}
.navbar-toggler{border-color:rgba(255,255,255,.4)}
.navbar-toggler-icon{filter:invert(1)}
.btn{border-radius:999px;font-weight:600;padding:.75rem 1.5rem}
.btn-quote,.btn-sun{background:var(--sun);color:var(--ink2);border:2px solid var(--sun)}
.btn-quote:hover,.btn-sun:hover{background:#ffd062;color:var(--ink2);border-color:#ffd062}
.btn-ghost{border:2px solid rgba(255,255,255,.45);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.hero{background:var(--ink);color:#fff;padding:5rem 0 5.5rem;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:40px;background:var(--paper);clip-path:ellipse(60% 100% at 50% 100%)}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sun);font-weight:600;margin-bottom:1rem}
.eyebrow.dark{color:#a46f00}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);font-weight:800;line-height:1.02;margin-bottom:1.3rem}
.hl{color:var(--sun)}
.lead-copy{font-size:1.2rem;max-width:34rem;color:#d6e4e0;margin-bottom:2rem}
.chips{list-style:none;padding:0;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem}
.chips li{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.25rem .9rem;font-size:.9rem;color:#d6e4e0}
.clock-wrap{max-width:360px;margin:0 auto;text-align:center}
.clock{width:100%;height:auto}
.c-ring{fill:var(--ink2);stroke:var(--sun);stroke-width:3}
.c-ticks line{stroke:rgba(255,255,255,.4);stroke-width:1.5}
.c-ticks line.maj{stroke:var(--sun);stroke-width:3}
.c-hand{stroke:var(--sun);stroke-width:5;stroke-linecap:round;fill:none;transform-origin:120px 120px;animation:sweep 48s linear infinite}
.c-hand+.c-hand{display:none}
.c-pin{fill:var(--sun)}
.c-num{font-family:'Bricolage Grotesque';font-weight:800;font-size:64px;fill:#fff}
.c-lbl{font-size:14px;letter-spacing:.3em;fill:var(--sun);font-weight:600}
.clock-cap{margin-top:1rem;font-family:'Bricolage Grotesque';font-weight:700;font-size:1.3rem;line-height:1.2}
@keyframes sweep{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.c-hand{animation:none}}
.band{background:var(--sun);color:var(--ink2);padding:2.2rem 0}
.band strong{display:block;font-family:'Bricolage Grotesque';font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;line-height:1.1}
.band span{font-size:.9rem}
.section{padding:5.5rem 0}
.section h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.1;color:var(--ink);margin-bottom:1rem;max-width:18em}
.svc{background:#fff;border:2px solid var(--ink);height:100%;display:flex;flex-direction:column;box-shadow:8px 8px 0 var(--sun)}
.svc img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-bottom:2px solid var(--ink)}
.svc-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.svc h3{font-size:1.5rem;font-weight:800;color:var(--ink)}
.more{margin-top:auto;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--sun);align-self:flex-start}
.why{background:var(--cream)}
.why-img{width:100%;height:auto;border-radius:200px 200px 12px 12px;border:3px solid var(--ink);aspect-ratio:4/5;object-fit:cover;object-position:60% 50%}
.ticks{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.2rem}
.ticks li{padding-left:1.7rem;position:relative;font-weight:600;color:var(--ink)}
.ticks li:before{content:"";position:absolute;left:0;top:.45em;width:.9rem;height:.5rem;border-left:3px solid #a46f00;border-bottom:3px solid #a46f00;transform:rotate(-45deg)}
.quote{background:var(--ink);color:#fff}
.quote h2{color:#fff}
.quote p{color:#d6e4e0}
.quote-img{width:100%;height:auto;border-radius:12px;border:3px solid var(--sun)}
.info{margin:0}
.info dt{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#a46f00;font-weight:600;margin-top:1.2rem}
.info dt:first-child{margin-top:0}
.info dd{margin:0;font-size:1.1rem}
.info a{font-weight:600;color:var(--ink)}
.map{width:100%;height:420px;border:2px solid var(--ink);border-radius:8px}
.foot{background:var(--ink2);color:#cfe0dc;padding:3rem 0 1.5rem;font-size:.95rem}
.foot a{color:var(--sun);text-decoration:none}
.foot-logo{max-width:220px;height:auto}
.powered{border-top:1px solid rgba(255,255,255,.15);margin:2rem 0 0;padding-top:1rem;font-size:.85rem;text-align:center}
section[id]{scroll-margin-top:80px}
@media(max-width:767px){.section{padding:3.5rem 0}.hero{padding:3rem 0 4rem}.ticks{grid-template-columns:1fr}.map{height:320px}.brand-name{font-size:1rem}}
