*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0B1F2A;--surface:#112736;--surface2:#0D1F2D;--teal:#139CAB;--teal-a10:rgba(19,156,171,.10);--teal-a20:rgba(19,156,171,.20);--teal-a35:rgba(19,156,171,.35);--gold:#D4A84B;--gold-dark:#B8912E;--text:#F0EDE8;--muted:#8AACB8;--muted2:#4E6878;--ease:cubic-bezier(.25,.46,.45,.94)}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:'Outfit',sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;line-height:1.15;letter-spacing:-.01em}p{color:var(--muted);line-height:1.8}a{text-decoration:none;color:inherit}
#nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.4rem 2.5rem;display:flex;align-items:center;justify-content:space-between;transition:all .4s var(--ease)}#nav.scrolled{background:rgba(11,31,42,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:1rem 2.5rem;border-bottom:1px solid var(--teal-a20)}
.nav-logo{height:44px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:2.75rem}
.nav-link{font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);transition:color .3s;position:relative}.nav-link::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--teal);transition:width .35s}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link:hover::after,.nav-link.active::after{width:100%}
.nav-cta{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:var(--gold);color:#0B1F2A;padding:.65rem 1.6rem;transition:all .3s}.nav-cta:hover{background:var(--gold-dark)}
#menu-btn{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}#menu-btn span{display:block;width:22px;height:1.5px;background:var(--muted);transition:all .35s}
#mobile-menu{display:none;flex-direction:column;background:var(--surface);border-top:1px solid var(--teal-a20);padding:1.5rem 1.5rem 2rem}#mobile-menu.open{display:flex}
.mobile-link{font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.9rem 0;border-bottom:1px solid var(--teal-a10);transition:color .3s}.mobile-link:hover,.mobile-link.active{color:var(--text)}
.mobile-cta{background:var(--gold);color:#0B1F2A;font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:.9rem;margin-top:1rem;display:block}
.btn-gold{display:inline-block;background:var(--gold);color:#0B1F2A;font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.9rem 2.4rem;transition:all .3s;border:none;cursor:pointer}.btn-gold:hover{background:var(--gold-dark);transform:translateY(-2px);box-shadow:0 14px 36px rgba(212,168,75,.22)}
.btn-teal{display:inline-block;border:1.5px solid var(--teal);color:var(--teal);font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.88rem 2.4rem;transition:all .3s}.btn-teal:hover{background:var(--teal);color:var(--bg);transform:translateY(-2px)}
.btn-teal-outline{display:inline-block;border:1px solid var(--teal-a35);color:var(--muted);font-family:'Outfit',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.75rem 2rem;transition:all .3s}.btn-teal-outline:hover{border-color:var(--teal);color:var(--teal)}
.grid-bg{background-image:linear-gradient(var(--teal-a10) 1px,transparent 1px),linear-gradient(90deg,var(--teal-a10) 1px,transparent 1px);background-size:72px 72px}
.hero{min-height:100vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;padding-bottom:5rem}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(105deg,rgba(11,31,42,.92) 40%,rgba(11,31,42,.5) 100%),url('https://www.amsun.ca/_next/image?url=%2Fimage%2Fhero.jpg&w=3840&q=75');background-size:cover;background-position:center right}
.hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 2.5rem;width:100%;padding-top:10rem}
.eyebrow{font-family:'Outfit',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:.85rem;margin-bottom:1.75rem}.eyebrow::before{content:'';display:block;width:36px;height:1px;background:var(--teal)}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3.5rem,8.5vw,8.5rem);font-weight:300;letter-spacing:-.03em;line-height:.95;color:var(--text);margin-bottom:2.25rem}
.hero h1 em{font-style:italic;color:var(--teal)}
.hero-sub{font-size:1.05rem;font-weight:300;color:var(--muted);margin-bottom:2.75rem;max-width:420px;line-height:1.75}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.hero-rule{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--teal-a35),transparent)}
.scroll-hint{position:absolute;bottom:2.5rem;right:3rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:.55}
.scroll-hint span{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl}
.scroll-line{width:1px;height:52px;background:linear-gradient(to bottom,transparent,var(--teal));animation:scrollAnim 2s ease-in-out infinite}
@keyframes scrollAnim{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
section{padding:6.5rem 2.5rem}.section-inner{max-width:1200px;margin:0 auto}
.section-label{font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:.85rem;margin-bottom:1.25rem}.section-label::before{content:'';display:block;width:28px;height:1px;background:var(--teal)}
.section-title{font-size:clamp(2rem,4vw,3.25rem);font-weight:400;color:var(--text);margin-bottom:1.25rem}
.teal-divider{width:52px;height:2px;background:var(--teal);margin:1.5rem 0}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem}
.service-card{background:var(--surface);border:1px solid var(--teal-a10);padding:2.5rem 2rem;position:relative;transition:all .4s var(--ease);overflow:hidden}.service-card::before{content:'';position:absolute;left:0;top:0;width:2.5px;height:0;background:var(--teal);transition:height .45s var(--ease)}.service-card:hover{border-color:var(--teal-a35);transform:translateY(-6px);box-shadow:0 24px 56px rgba(0,0,0,.32)}.service-card:hover::before{height:100%}
.service-icon{width:40px;height:40px;color:var(--teal);margin-bottom:1.5rem}
.service-card h3{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:600;color:var(--text);margin-bottom:.75rem;line-height:1.25}
.service-card p{font-size:.9rem;color:var(--muted);line-height:1.75}
.img-split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.img-split.flip{direction:rtl}.img-split.flip>*{direction:ltr}
.img-wrap{position:relative;overflow:hidden;aspect-ratio:4/3}.img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}.img-wrap:hover img{transform:scale(1.04)}.img-frame{position:absolute;inset:0;border:1px solid var(--teal-a20);z-index:1;pointer-events:none}
.cta-band{background:var(--surface);border-top:1px solid var(--teal-a20);border-bottom:1px solid var(--teal-a20);padding:6rem 2.5rem;text-align:center;position:relative;overflow:hidden}.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 90% at 50% 50%,rgba(19,156,171,.07) 0%,transparent 70%)}
.cta-band h2{font-size:clamp(2.2rem,5vw,4rem);font-weight:300;color:var(--text);margin-bottom:1.25rem;position:relative;z-index:1}
.cta-band p{color:var(--muted);max-width:560px;margin:0 auto 2.5rem;position:relative;z-index:1;font-size:1rem}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.page-hero{padding:9.5rem 2.5rem 5rem;position:relative;overflow:hidden}.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--surface) 0%,var(--bg) 55%);z-index:0}.page-hero-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto}.page-hero-teal{position:absolute;top:0;right:0;width:35%;height:100%;background:radial-gradient(ellipse at right,rgba(19,156,171,.08) 0%,transparent 60%);}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}
.info-block{padding-top:.5rem}
.info-item{display:grid;grid-template-columns:28px 1fr;gap:1rem;align-items:start;padding:1.5rem 0;border-bottom:1px solid var(--teal-a10)}
.info-icon{width:20px;height:20px;color:var(--teal);margin-top:2px}
.info-label{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);font-weight:500;margin-bottom:.3rem}
.info-value{color:var(--text);font-size:.95rem;line-height:1.6}.info-value a{color:var(--text);transition:color .3s}.info-value a:hover{color:var(--teal)}
.hours-grid{display:grid;gap:.3rem;margin-top:.25rem}
.hours-row{display:flex;justify-content:space-between;font-size:.88rem;gap:1rem}.hours-row .days{color:var(--muted)}.hours-row .time{color:var(--text);font-family:'Outfit',sans-serif}
.form-wrap{background:var(--surface);padding:2.75rem;border:1px solid var(--teal-a10)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form-group{margin-bottom:1.5rem}
.form-label{display:block;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);margin-bottom:.6rem;font-weight:500}
.form-control{width:100%;background:var(--bg);border:1px solid var(--teal-a20);color:var(--text);font-family:'Outfit',sans-serif;font-size:.92rem;padding:.85rem 1.1rem;outline:none;transition:border-color .3s;-webkit-appearance:none}.form-control:focus{border-color:var(--teal)}.form-control::placeholder{color:var(--muted2)}textarea.form-control{resize:vertical;min-height:130px}select.form-control option{background:var(--surface)}
.map-wrap{margin-top:4rem;overflow:hidden;border:1px solid var(--teal-a20);filter:grayscale(20%) contrast(1.05)}
footer{background:var(--surface2);border-top:1px solid var(--teal-a20);padding:3.5rem 2.5rem}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem}
.footer-brand{display:flex;align-items:center}
.footer-logo{height:36px;width:auto;opacity:.9}
.footer-links{display:flex;gap:2.25rem;flex-wrap:wrap}
.footer-link{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);transition:color .3s;font-weight:500}.footer-link:hover{color:var(--teal)}
.footer-copy{font-size:.72rem;color:var(--muted2);letter-spacing:.04em}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.in{opacity:1;transform:translateY(0)}.d1{transition-delay:.08s}.d2{transition-delay:.18s}.d3{transition-delay:.28s}.d4{transition-delay:.38s}.d5{transition-delay:.48s}.d6{transition-delay:.58s}
.hero-anim{opacity:0;transform:translateY(36px);animation:heroIn .9s var(--ease) both}@keyframes heroIn{to{opacity:1;transform:translateY(0)}}.ha1{animation-delay:.15s}.ha2{animation-delay:.32s}.ha3{animation-delay:.5s}.ha4{animation-delay:.65s}
@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,1fr)}.img-split{grid-template-columns:1fr;gap:2.5rem}.img-split.flip{direction:ltr}.contact-grid{grid-template-columns:1fr;gap:3rem}}
@media(max-width:640px){.services-grid{grid-template-columns:1fr}section{padding:4.5rem 1.25rem}.page-hero{padding:7.5rem 1.25rem 3.5rem}#nav{padding:1rem 1.25rem}#nav.scrolled{padding:.85rem 1.25rem}.nav-links{display:none}#menu-btn{display:flex}.hero-content{padding:0 1.25rem;padding-top:9rem}.hero{padding-bottom:4rem}.scroll-hint{display:none}.form-row{grid-template-columns:1fr}.form-wrap{padding:2rem 1.5rem}footer{padding:2.5rem 1.25rem}.footer-inner{flex-direction:column;align-items:flex-start}.footer-links{gap:1.5rem}.cta-band{padding:4rem 1.25rem}}