
:root {
  --font-size-2xl: clamp(1.45rem, 1.3rem + 0.7vw, 1.75rem);
  --font-size-3xl: clamp(1.75rem, 1.55rem + 0.9vw, 2.2rem);
  --font-size-4xl: clamp(2.15rem, 1.9rem + 1.3vw, 3rem);
  --font-size-base: 0.95rem;
  --font-family-body: Inter, Arial, system-ui, sans-serif;
  --font-family-heading: Fraunces, Georgia, 'Times New Roman', serif;
}
html {scroll-behavior:smooth;scroll-padding-top:6rem;}
body {margin:0;min-width:0;overflow-x:clip;}
img {max-width:100%;height:auto;}
img[loading="lazy"] {content-visibility:auto;}
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;}
.aure-page-main {min-width:0;width:100%;}
.hero-title {font-size:var(--font-size-4xl);}
.section-title {font-size:var(--font-size-3xl);}
.site-header {position:sticky;top:0;left:0;width:100%;z-index:1000;background:rgba(247,245,240,.97);backdrop-filter:blur(18px);border-bottom:1px solid #dddcd5;box-shadow:0 8px 28px rgba(38,43,40,.07);color:#262b28;}
.site-nav {display:flex;align-items:center;gap:clamp(.6rem,1.4vw,1.65rem);justify-content:space-between;width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 clamp(1rem,3.3vw,3.6rem);min-height:78px;box-sizing:border-box;}
.site-brand {flex-shrink:0;display:inline-flex;align-items:center;gap:.65rem;color:#26382e;text-decoration:none;font-weight:700;font-family:var(--font-family-heading);font-size:clamp(1.25rem,1.6vw,1.6rem);white-space:nowrap;letter-spacing:-.02em;}
.brand-mark {width:32px;height:32px;display:inline-flex;color:#536d5a;}
.brand-mark svg {width:100%;height:100%;}
.site-desktop-menu {display:flex;align-items:center;justify-content:center;gap:clamp(.75rem,1.35vw,1.7rem);min-width:0;}
.site-desktop-menu a {color:#334138;font-size:clamp(.78rem,.8vw,.92rem);font-weight:600;white-space:nowrap;text-decoration:none;transition:color .18s;position:relative;}
.site-desktop-menu a:hover,.site-desktop-menu a[aria-current="page"]{color:#536d5a;}
.site-desktop-menu a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:#b28c63;}
.site-contact-btn {flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;white-space:nowrap;background:#536d5a;color:#fff;padding:.78rem 1rem;border-radius:10px;text-decoration:none;font-weight:650;font-size:.88rem;transition:background .2s,transform .2s;}
.site-contact-btn:hover {background:#3d5844;transform:translateY(-1px);}
.site-menu-button {display:none;align-items:center;justify-content:center;gap:.55rem;padding:.65rem .85rem;border-radius:9px;border:1px solid #bbc8bc;background:#fff;color:#26382e;min-width:44px;min-height:44px;cursor:pointer;}
.site-menu-lines {width:19px;display:flex;flex-direction:column;gap:4px;}
.site-menu-lines i {display:block;width:100%;height:2px;border-radius:3px;background:currentColor;transition:transform .2s,opacity .2s;}
.site-menu-button[aria-expanded="true"] .site-menu-lines i:nth-child(1){transform:translateY(6px) rotate(45deg);}
.site-menu-button[aria-expanded="true"] .site-menu-lines i:nth-child(2){opacity:0;}
.site-menu-button[aria-expanded="true"] .site-menu-lines i:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.site-mobile-menu[hidden] {display:none!important;}
.site-mobile-menu {position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain;z-index:1001;background:#f7f5f0;border-bottom:1px solid #dddcd5;box-shadow:0 16px 32px rgba(28,39,31,.16);padding:1.15rem clamp(1rem,4vw,2rem) 1.75rem;box-sizing:border-box;}
.site-mobile-links {display:flex;flex-direction:column;gap:.2rem;}
.site-mobile-links a {display:block;color:#26382e;text-decoration:none;font-family:var(--font-family-heading);font-size:clamp(1.28rem,4vw,1.65rem);padding:.62rem .3rem;border-bottom:1px solid #e8e7df;overflow-wrap:anywhere;}
.site-mobile-links a[aria-current="page"] {color:#536d5a;}
.site-mobile-tagline {color:#66706a;margin:1.3rem .3rem 0;font-size:.92rem;}
.site-footer .aure-footer-inner {grid-template-columns:1.15fr .9fr 1.18fr;gap:clamp(1.2rem,4vw,4rem);}
.site-footer .aure-footer-nav-zone {align-items:flex-start;text-align:left;gap:.85rem;}
.site-footer .aure-footer-nav-stack {align-items:flex-start;gap:.65rem;}
.site-footer .aure-footer-nav-stack a,.site-footer-legal a {color:var(--color-on-primary);text-decoration:none;font-size:.88rem;opacity:.9;}
.site-footer a:visited {color:var(--color-on-primary);}
.site-footer a:hover {color:#f2dab8;opacity:1;}
.site-footer .aure-footer-copyright {margin-top:1rem;}
.site-footer-logo {font:700 1.75rem/1.15 var(--font-family-heading);color:var(--color-on-primary);text-decoration:none;}
.site-footer-legal {font-size:.82rem;line-height:1.65;overflow-wrap:anywhere;}
.site-footer-legal p {margin:.25rem 0;}
.site-legal-links {display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:1.15rem;}
.footer-col-heading {color:var(--color-on-primary);font-family:var(--font-family-body);font-size:.94rem;font-weight:700;margin:0 0 .8rem;}
.legal-main {background:var(--color-surface);min-height:55vh;padding:clamp(2.6rem,6vw,6rem) clamp(1rem,4vw,3rem);}
.legal-content {width:100%;max-width:58rem;margin:0 auto;color:var(--color-on-surface);font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:1.8;overflow-wrap:anywhere;}
.legal-content h1 {font-family:var(--font-family-heading);font-size:var(--font-size-4xl);line-height:1.2;margin:.8rem 0 .65rem;}
.legal-content h2 {font-family:var(--font-family-heading);font-size:var(--font-size-3xl);margin:2.3rem 0 .8rem;line-height:1.3;color:var(--color-on-surface);}
.legal-content p {margin:.65rem 0 1rem;}
.legal-kicker {color:var(--color-primary);font-weight:650;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;}
.legal-back {display:inline-flex;margin:1.8rem 0;color:var(--color-primary);text-decoration:none;font-weight:650;}
.legal-company {padding:1.4rem clamp(1rem,3vw,2rem);background:#edeae3;border:1px solid #dddcd5;border-radius:14px;margin:2rem 0;}
.legal-company strong {display:block;color:#344b38;font-size:1.1rem;}
.legal-company p {margin:.3rem 0;}
.legal-content a {color:#405c47;text-decoration:none;border-bottom:1px solid currentColor;}
.legal-content a:visited {color:#405c47;}
.legal-content a:hover,.legal-content a:active {color:#815e37;}
.site-error-content {padding:clamp(5rem,9vw,9rem) 1rem;text-align:center;max-width:40rem;margin:0 auto;}
.site-error-content h1 {font:700 6rem/1 var(--font-family-heading);}
.site-error-content p {margin:1rem 0 2rem;}
.home-seo-editorial {padding:var(--spacing-3xl) var(--spacing-2xl);background:#edeae3;}
.home-seo-editorial-inner {max-width:var(--content-max-width);margin:auto;}
.home-seo-editorial .home-seo-lead{max-width:67rem;line-height:1.7;margin:1rem 0 2rem;color:#59645b;}
.home-seo-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;}
.home-seo-list article {min-width:0;padding:1.55rem;background:#f7f5f0;border:1px solid #dddcd5;border-radius:16px;}
.home-seo-list h3{margin:0 0 .65rem;font:650 clamp(1.1rem,1.5vw,1.35rem)/1.3 var(--font-family-heading);color:#354c3a;}
.home-seo-list p{line-height:1.65;}
.contact-form .form-input,.contact-form .form-select,.contact-form .form-textarea{max-width:100%;}
.site-form-info {font-size:.86rem;color:var(--color-on-surface-secondary);margin-top:.65rem;}
.site-form-status {font-size:.88rem;color:#405c47;margin-top:.5rem;}
/* preserve image crop intentionally used for visual panels */
.aure-hero-bg img,.lighting-hero-bg img,.interior-hero img,.projects-hero img,.contact-hero img,.aure-showcase img,.aure-projects img,.projects-grid img {object-fit:cover;}
@media(max-width:1190px){.site-desktop-menu,.site-contact-btn{display:none;}.site-menu-button{display:flex;margin-left:auto;}}
@media(max-width:767px){
 .site-nav{min-height:66px;gap:.65rem;padding:0 1rem;}
 .site-header{width:100%;}
 .site-brand {min-width:0;font-size:1.3rem;}
 .brand-mark {width:28px;height:28px;}
 .site-menu-button{flex-shrink:0;min-height:44px;}
 .site-mobile-menu{max-height:calc(100dvh - 66px);}
 .site-footer .aure-footer-inner {grid-template-columns:1fr;gap:2.1rem;text-align:left;padding-inline:1.25rem;}
 .site-footer .aure-footer-brand-zone {align-items:flex-start;text-align:left;order:1;}
 .site-footer .aure-footer-nav-zone {align-items:flex-start;text-align:left;order:2;}
 .site-footer-legal {text-align:left;order:3;}
 .site-footer .aure-footer-tagline {max-width:32ch;}
 .home-seo-editorial{padding:2.4rem 1rem;}
 .home-seo-list{grid-template-columns:1fr;}
 .home-seo-list article{padding:1.3rem;}
 .hero-section,.hero-title,.section-title {overflow-wrap:anywhere;word-break:break-word;white-space:normal;}
 .legal-main{padding:2.5rem 1rem;}
 .legal-company{padding:1rem;}
 .site-error-content h1{font-size:4.5rem;}
}
@media(min-width:768px) and (max-width:1050px){.home-seo-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;}}

.skip-to-main{position:absolute;top:-90px;left:1rem;z-index:3000;padding:.75rem 1rem;color:#fff;background:#405b48;border-radius:8px;font-weight:650;text-decoration:none;}
.skip-to-main:focus{top:.6rem;}
