.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s,box-shadow .3s;background:#fffffff2;box-shadow:0 2px 20px #1f29330f}.site-header.scrolled{background:#fffffffa;box-shadow:0 2px 20px #1f293314;backdrop-filter:saturate(180%) blur(10px)}.nav-inner{max-width:1320px;margin:0 auto;padding:.9rem clamp(1.25rem,3vw,2rem);display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem)}.nav-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}.nav-logo-img{height:46px;width:auto;transition:opacity .3s}.nav-logo-white{display:none}.nav-logo-color{opacity:1;position:static}.nav-main{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.2rem);flex:1;justify-content:center}.nav-main a{font-family:var(--font-sans);font-size:.95rem;font-weight:500;color:var(--color-dark);text-decoration:none;letter-spacing:.01em;transition:color .2s;padding:.4rem 0;white-space:nowrap}.nav-main a:hover,.site-header.scrolled .nav-main a:hover{color:var(--color-primary)}.nav-caret{font-size:.7em;opacity:.6;margin-left:.15em}.nav-dropdown{position:relative}.nav-dropdown-menu{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%) translateY(-8px);min-width:240px;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.6rem 0;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:110}.nav-dropdown:after{content:"";position:absolute;top:100%;left:0;right:0;height:12px}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.nav-dropdown-menu a{display:block;padding:.6rem 1.4rem;color:var(--color-dark)!important;font-size:.92rem;font-weight:400;white-space:nowrap;transition:background .15s,color .15s}.nav-dropdown-menu a:hover{background:var(--color-primary-bg);color:var(--color-primary)!important}.header-cta{padding:.7rem 1.4rem;font-size:.88rem;flex-shrink:0}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;z-index:210;margin-left:auto}.hamburger span{display:block;width:26px;height:2px;background:#fff;transition:background .3s,transform .3s,opacity .3s}.site-header.scrolled .hamburger span,.hamburger.open span{background:var(--color-dark)}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;background:#fff;z-index:101;transform:translate(100%);transition:transform .35s ease;overflow-y:auto;padding-top:80px}.mobile-menu.open{transform:translate(0)}.mobile-menu-inner{padding:1.5rem clamp(1.25rem,5vw,2rem) 2rem}.mobile-menu ul{list-style:none}.mobile-menu li{margin-bottom:1.2rem}.mobile-link{display:block;font-family:var(--font-serif);font-size:1.6rem;font-weight:600;color:var(--color-dark);padding:.4rem 0;border-bottom:1px solid var(--color-line)}.mobile-group-title{font-family:var(--font-sans);font-size:.75rem;font-weight:700;letter-spacing:.2em;color:var(--color-primary);text-transform:uppercase;margin:1.2rem 0 .6rem}.mobile-sublink{display:block;padding:.5rem 0;color:var(--color-text);font-size:1rem;border-bottom:1px solid var(--color-line)}.mobile-contact{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--color-primary-bg);display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.mobile-contact a{color:var(--color-muted);font-size:.95rem}.mobile-cta{width:100%;justify-content:center;margin-top:.6rem}@media(max-width:1080px){.nav-main,.header-cta{display:none}.hamburger{display:flex}}@media(min-width:1081px){.mobile-menu{display:none}}.footer{background:linear-gradient(180deg,#1f2933,#131a22);color:#ffffffbf;padding:5rem clamp(1.25rem,4vw,2.5rem) 2rem;position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:-100px;right:-140px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(45,170,226,.18) 0%,transparent 70%);pointer-events:none}.footer:after{content:"";position:absolute;bottom:-140px;left:-160px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(127,203,237,.1) 0%,transparent 70%);pointer-events:none}.footer-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:3rem;position:relative;z-index:1}.footer-brand img{margin-bottom:1.2rem}.footer-tagline{font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:1.05rem;color:#ffffffd9;line-height:1.5;margin-bottom:1rem}.footer-doc{font-family:Inter,sans-serif;font-size:.85rem;color:#ffffff8c;letter-spacing:.05em;text-transform:uppercase}.footer-col h4{font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:1.1rem;letter-spacing:.01em}.footer-col address,.footer-col a,.footer-col li,.footer-col p{font-family:Inter,sans-serif;font-style:normal;font-size:.92rem;color:#ffffffb3;line-height:1.7;display:block;margin-bottom:.3rem;text-decoration:none;transition:color .2s}.footer-col a:hover{color:var(--color-primary-light)}.footer-col .hours{list-style:none}.footer-col .hours li{display:flex;justify-content:space-between;gap:.8rem;font-size:.87rem;padding:.15rem 0}.footer-col .hours li span:first-child{color:#ffffff8c}.footer-col .hours li span:last-child{color:#ffffffd9}.footer-col .hours-note{justify-content:flex-start!important;font-style:italic;color:#ffffff8c!important;margin-top:.4rem!important}.footer-col .footer-nav{list-style:none}.footer-divider{max-width:1240px;margin:3rem auto 1.5rem;border:none;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom{max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;position:relative;z-index:1}.footer-bottom p{font-family:Inter,sans-serif;font-size:.82rem;color:#ffffff80}.footer-bottom ul{display:flex;gap:1.5rem;list-style:none;flex-wrap:wrap}.footer-bottom ul a{font-family:Inter,sans-serif;font-size:.82rem;color:#ffffff80;text-decoration:none;transition:color .2s}.footer-bottom ul a:hover{color:var(--color-primary-light)}@media(max-width:900px){.footer-inner{grid-template-columns:1fr 1fr;gap:2.5rem}}@media(max-width:560px){.footer-inner{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;text-align:center}}.floating-cta{position:fixed;right:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:90;opacity:0;pointer-events:none;transition:opacity .3s ease}.floating-cta.visible{opacity:1;pointer-events:auto}.fcta-btn{width:52px;height:52px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px #2daae259,0 4px 12px #1f293326;transition:transform .25s,background .2s,box-shadow .25s;text-decoration:none}.fcta-btn:hover{background:var(--color-primary-dark);transform:scale(1.08);box-shadow:0 14px 32px #2daae273,0 6px 16px #1f293333;color:#fff}.fcta-btn svg{width:22px;height:22px}@media(max-width:768px){.floating-cta{right:16px;top:auto;bottom:calc(16px + env(safe-area-inset-bottom));transform:none}}:root{--color-primary: #2DAAE2;--color-primary-dark: #1F87B8;--color-primary-light: #7FCBED;--color-primary-bg: #EAF6FC;--color-dark: #1F2933;--color-text: #333B45;--color-muted: #6B7480;--color-line: #E4EDF2;--color-bg: #FFFFFF;--color-accent-warm: #F6BC4A;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-serif: "Playfair Display", Georgia, serif;--shadow-sm: 0 2px 8px rgba(31,41,51,.05);--shadow-md: 0 12px 32px rgba(31,135,184,.12);--shadow-lg: 0 24px 60px rgba(31,135,184,.16);--shadow-xl: 0 40px 100px rgba(31,135,184,.2);--radius-sm: 6px;--radius-md: 14px;--radius-lg: 24px;--radius-xl: 40px;--max-width: 1240px;--padding-x: clamp(1.25rem, 4vw, 2.5rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;color:#333b45;background:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5{font-family:Playfair Display,Georgia,serif;font-weight:600;line-height:1.15;letter-spacing:-.01em;color:var(--color-dark)}h1{font-size:clamp(2.4rem,5.5vw,4.4rem)}h2{font-size:clamp(1.9rem,4vw,3rem)}h3{font-size:clamp(1.3rem,2.4vw,1.7rem)}h4{font-size:clamp(1.05rem,2vw,1.25rem);font-weight:500;font-style:italic}p,li{font-size:clamp(.98rem,1.4vw,1.075rem);line-height:1.72;color:var(--color-text)}a{color:inherit;text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary)}img,video{display:block;max-width:100%;height:auto}strong{font-weight:600}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--padding-x)}.section{padding:clamp(4rem,8vw,7rem) 0}.section--tight{padding:clamp(3rem,6vw,5rem) 0}.section--bg{background:var(--color-primary-bg)}.section--dark{background:var(--color-dark);color:#ffffffd9}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 2rem;background:var(--color-primary);color:#fff;font-family:var(--font-sans);font-weight:500;font-size:.95rem;letter-spacing:.01em;border-radius:999px;border:none;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .2s;box-shadow:0 8px 24px #2daae240;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 14px 32px #2daae259;color:#fff}.btn--outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary);box-shadow:none}.btn--outline:hover{background:var(--color-primary);color:#fff}.btn--ghost{background:#ffffff1f;color:#fff;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);box-shadow:none}.btn--ghost:hover{background:#ffffff38;color:#fff}.btn--lg{padding:1.15rem 2.4rem;font-size:1rem}.btn--icon-only{padding:0;width:52px;height:52px;justify-content:center}.section-tag{display:inline-flex;align-items:center;gap:.8rem;font-family:var(--font-sans);font-size:.78rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--color-primary);margin-bottom:1.2rem}.section-tag:before{content:"";width:2rem;height:1.5px;background:var(--color-primary);display:inline-block}.section-tag--center{justify-content:center}.section-title{font-family:var(--font-serif);font-size:clamp(1.9rem,4vw,3rem);line-height:1.15;color:var(--color-dark);margin-bottom:1.2rem;max-width:720px}.section-title--center{margin-left:auto;margin-right:auto;text-align:center}.section-sub{font-family:var(--font-sans);font-size:1.1rem;color:var(--color-muted);max-width:640px;line-height:1.7;margin-bottom:3rem}.section-sub--center{margin-left:auto;margin-right:auto;text-align:center}.fade-up{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.fade-up.visible{opacity:1;transform:translateY(0)}.legal-page{padding:140px var(--padding-x) 80px;max-width:820px;margin:0 auto}.legal-page h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:2.5rem;color:var(--color-dark)}.legal-page h2{font-size:1.15rem;font-weight:600;letter-spacing:.02em;color:var(--color-primary);margin-top:2.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-line);font-family:var(--font-serif)}.legal-page h3{font-size:1rem;font-weight:600;color:var(--color-dark);margin-top:1.5rem;margin-bottom:.5rem;font-family:var(--font-sans)}.legal-page p{font-size:.98rem;color:var(--color-text);line-height:1.75;margin-bottom:.9rem;font-family:var(--font-sans)}.legal-page ul{list-style:disc;margin:.5rem 0 .9rem 1.5rem}.legal-page ul li{font-size:.98rem;color:var(--color-text);line-height:1.75;margin-bottom:.25rem;font-family:var(--font-sans)}.legal-page a{color:var(--color-primary)}.legal-page a:hover{text-decoration:underline}.legal-page hr{border:none;border-top:1px solid var(--color-line);margin:2.5rem 0}.legal-page table{width:100%;border-collapse:collapse;margin:1.5rem 0 2rem;font-family:var(--font-sans);font-size:.9rem;border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 2px 12px #0000000f}.legal-page th{background:var(--color-primary);color:#fff;font-family:var(--font-sans);font-weight:600;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:.85rem 1rem;text-align:left}.legal-page td{font-family:var(--font-sans);font-size:.9rem;padding:.85rem 1rem;border-bottom:1px solid var(--color-line);color:#444;vertical-align:top;line-height:1.6}.legal-page tr:last-child td{border-bottom:none}.legal-page tr:nth-child(2n) td{background:var(--color-primary-bg)}
