.site-header{position:sticky;top:0;z-index:100;height:var(--nav-height);background-color:var(--color-white);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.nav-container{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gutter);gap:var(--space-8)}.nav-logo{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-carbon);letter-spacing:-.03em;line-height:1;flex-shrink:0;display:flex;align-items:center;gap:var(--space-2)}.nav-logo__dot{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--color-crimson);margin-bottom:2px}.nav-links{display:flex;align-items:center;gap:var(--space-1);flex:1;margin-left:var(--space-8)}.nav-link{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-graphite);border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast);white-space:nowrap}.nav-link:hover{color:var(--color-carbon);background-color:var(--color-bg-alt)}.nav-link.is-active{color:var(--color-crimson)}.nav-link--btn{background:none;border:none;cursor:pointer;font-family:var(--font-body)}.nav-chevron{display:inline-block;font-size:10px;transition:transform var(--transition-fast);opacity:.6}.nav-item--services.is-open .nav-chevron{transform:rotate(180deg)}.nav-item--services{position:static}.megamenu{position:fixed;top:var(--nav-height);left:0;right:0;background-color:var(--color-white);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity var(--transition-base),transform var(--transition-base)}.nav-item--services.is-open .megamenu{opacity:1;pointer-events:all;transform:translateY(0)}.megamenu__inner{max-width:var(--max-width);margin-inline:auto;padding:var(--space-8) var(--gutter);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.megamenu__col{display:flex;flex-direction:column;gap:var(--space-1)}.megamenu__col-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-light);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1)}.megamenu-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.megamenu-item:hover{background-color:var(--color-bg-alt)}.megamenu-item__icon{font-size:var(--text-xl);line-height:1;flex-shrink:0;margin-top:2px}.megamenu-item__text{display:flex;flex-direction:column;gap:2px}.megamenu-item__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-carbon)}.megamenu-item__desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.4}.megamenu__footer{border-top:1px solid var(--color-border);max-width:var(--max-width);margin-inline:auto;padding:var(--space-4) var(--gutter);display:flex;justify-content:flex-end}.megamenu__footer-link{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-crimson);transition:color var(--transition-fast)}.megamenu__footer-link:hover{color:var(--color-pumpkin)}.nav-cta{flex-shrink:0;margin-left:var(--space-4)}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.hamburger:hover{background-color:var(--color-bg-alt)}.hamburger__bar{display:block;width:22px;height:2px;background-color:var(--color-carbon);border-radius:2px;transition:transform var(--transition-base),opacity var(--transition-base);transform-origin:center}.hamburger.is-open .hamburger__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.is-open .hamburger__bar:nth-child(2){opacity:0}.hamburger.is-open .hamburger__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;top:var(--nav-height);left:0;right:0;bottom:0;background-color:var(--color-white);overflow-y:auto;padding:var(--space-6) var(--gutter) var(--space-12);z-index:99;opacity:0;pointer-events:none;transform:translate(100%);transition:opacity var(--transition-base),transform var(--transition-base)}.mobile-menu.is-open{opacity:1;pointer-events:all;transform:translate(0)}.mobile-menu__section{border-bottom:1px solid var(--color-border);padding-block:var(--space-4)}.mobile-menu__section-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-light);padding-block:var(--space-2);display:flex;align-items:center;justify-content:space-between}.mobile-menu__toggle{font-size:var(--text-xl);color:var(--color-text-light);transition:transform var(--transition-fast)}.mobile-menu__subnav{display:none;flex-direction:column;gap:var(--space-1);padding-top:var(--space-2)}.mobile-menu__subnav.is-open{display:flex}.mobile-menu__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.mobile-menu__item:hover{background-color:var(--color-bg-alt)}.mobile-menu__item-icon{font-size:var(--text-lg)}.mobile-menu__item-title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-carbon)}.mobile-menu__link{display:block;padding:var(--space-3) var(--space-3);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-carbon);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.mobile-menu__link:hover{background-color:var(--color-bg-alt)}.mobile-menu__cta{padding-top:var(--space-6)}@media (max-width: 1024px){.nav-links,.nav-cta{display:none}.hamburger{display:flex}.mobile-menu{display:block}}.site-footer{background-color:var(--color-carbon);color:var(--color-white)}.footer-main{max-width:var(--max-width);margin-inline:auto;padding:var(--space-20) var(--gutter) var(--space-16);display:grid;grid-template-columns:320px 1fr;gap:var(--space-16)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-4)}.footer-logo{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-white);letter-spacing:-.03em;display:flex;align-items:center;gap:var(--space-2)}.footer-logo__dot{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--color-crimson);margin-bottom:2px}.footer-tagline{font-size:var(--text-sm);color:#ffffff8c;line-height:1.6;max-width:280px}.footer-contact-block{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.footer-contact-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:#ffffffa6}.footer-contact-item__icon{font-size:var(--text-base);opacity:.6}.footer-contact-item a{color:#ffffffa6;transition:color var(--transition-fast)}.footer-contact-item a:hover{color:var(--color-white)}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8)}.footer-nav-col h4{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:#fff6;margin-bottom:var(--space-4)}.footer-nav-col ul{display:flex;flex-direction:column;gap:var(--space-2)}.footer-nav-col ul li a{font-size:var(--text-sm);color:#ffffffa6;transition:color var(--transition-fast)}.footer-nav-col ul li a:hover{color:var(--color-white)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1)}.footer-bottom-inner{max-width:var(--max-width);margin-inline:auto;padding:var(--space-6) var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.footer-copyright{font-size:var(--text-xs);color:#ffffff59}.footer-legal{display:flex;gap:var(--space-6)}.footer-legal a{font-size:var(--text-xs);color:#ffffff59;transition:color var(--transition-fast)}.footer-legal a:hover{color:#ffffffa6}@media (max-width: 1024px){.footer-main{grid-template-columns:1fr;gap:var(--space-12)}.footer-nav{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.footer-nav{grid-template-columns:repeat(2,1fr);gap:var(--space-8)}.footer-bottom-inner{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}@media (max-width: 480px){.footer-nav{grid-template-columns:1fr}}:root{--color-carbon: #1B1B1B;--color-graphite: #2F2F2F;--color-charcoal: #464545;--color-crimson: #F54703;--color-pumpkin: #FF7518;--color-bg: #F9F8F6;--color-bg-alt: #EFEFED;--color-bg-dark: #1B1B1B;--color-white: #FFFFFF;--color-text: #1B1B1B;--color-text-muted:#464545;--color-text-light:#767676;--color-border: #DDDBD8;--font-heading: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold:600;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--max-width: 1200px;--gutter: 1.5rem;--nav-height: 72px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:1.7;color:var(--color-text);background-color:var(--color-bg)}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none;font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--weight-bold);line-height:1.15;letter-spacing:-.02em;color:var(--color-carbon)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{max-width:68ch}strong{font-weight:var(--weight-semibold)}em{font-style:italic}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--space-24)}.section--alt{background-color:var(--color-bg-alt)}.section--dark{background-color:var(--color-bg-dark);color:var(--color-white)}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--color-white)}.section-label{display:inline-block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-crimson);margin-bottom:var(--space-4)}.section-header{max-width:640px;margin-bottom:var(--space-12)}.section-header--centered{max-width:640px;margin-inline:auto;text-align:center;margin-bottom:var(--space-12)}.section-header p,.section-header--centered p{margin-top:var(--space-4);font-size:var(--text-lg);color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:.75rem 1.5rem;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);border-radius:var(--radius-md);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn--primary{background-color:var(--color-crimson);color:var(--color-white);border:2px solid var(--color-crimson)}.btn--primary:hover{background-color:var(--color-pumpkin);border-color:var(--color-pumpkin);box-shadow:var(--shadow-md)}.btn--secondary{background-color:transparent;color:var(--color-carbon);border:2px solid var(--color-carbon)}.btn--secondary:hover{background-color:var(--color-carbon);color:var(--color-white)}.btn--outline{background-color:transparent;color:var(--color-white);border:2px solid rgba(255,255,255,.4)}.btn--outline:hover{background-color:var(--color-white);color:var(--color-carbon);border-color:var(--color-white)}.btn--outline-dark{background-color:transparent;color:var(--color-carbon);border:2px solid var(--color-border)}.btn--outline-dark:hover{border-color:var(--color-carbon)}.btn--lg{padding:1rem 2rem;font-size:var(--text-lg)}.btn--sm{padding:.5rem 1rem;font-size:var(--text-sm)}.tag{display:inline-block;padding:.25rem .75rem;background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:100px;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);letter-spacing:.04em}.divider{border:none;border-top:1px solid var(--color-border);margin-block:var(--space-8)}.contact-email-btn{font-family:var(--font-body);font-size:inherit;font-weight:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;transition:color var(--transition-fast)}.contact-email-btn:hover{color:var(--color-crimson)}.icon-placeholder{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-xl);color:var(--color-crimson);flex-shrink:0}.img-placeholder{width:100%;aspect-ratio:16 / 9;background-color:var(--color-bg-alt);border:2px dashed var(--color-border);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);color:var(--color-text-light);font-family:var(--font-body)}.img-placeholder--square{aspect-ratio:1 / 1}.img-placeholder--portrait{aspect-ratio:3 / 4}@media (max-width: 1024px){h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}}@media (max-width: 768px){:root{--gutter: 1.25rem}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}.section{padding-block:var(--space-16)}}@media (max-width: 480px){h1{font-size:var(--text-2xl)}}
