:root{--color-bg:#faf8f5;--color-bg-dark:#1a2332;--color-bg-muted:#f0ece6;--color-surface:#fff;--color-text:#4a5568;--color-text-dark:#1a2332;--color-text-light:#e8edf5;--color-accent:#c9a962;--color-accent-dark:#a8883f;--color-border:#1a23321a;--color-border-light:#ffffff1f;--font-body:"DM Sans", system-ui, sans-serif;--font-display:"Playfair Display", Georgia, serif;--container:1180px;--header-height:80px;--radius:12px;--radius-lg:20px;--shadow:0 20px 50px #1a233214;--shadow-lg:0 30px 70px #1a233226;--transition:.25s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}#root{min-height:100vh}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-text-dark);margin:0;line-height:1.15}h1{letter-spacing:-.02em;font-size:clamp(2.5rem,5vw,4.25rem);font-weight:600}h2{letter-spacing:-.015em;font-size:clamp(1.85rem,3.5vw,2.75rem);font-weight:600}h3{font-size:1.35rem;font-weight:600}h4{text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;font-weight:600}p{margin:0}ul{margin:0;padding:0}button,input,select,textarea{font:inherit}.container{width:min(var(--container), calc(100% - 2.5rem));margin-inline:auto}.section{padding:6rem 0}.section--dark{background:var(--color-bg-dark);color:var(--color-text-light)}.section--dark h2,.section--dark h3{color:#fff}.section__header{max-width:640px;margin-bottom:3.5rem}.section__header p:last-child{margin-top:1rem;font-size:1.05rem}.section__header--center{text-align:center;margin-inline:auto}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-dark);margin-bottom:1rem;font-size:.78rem;font-weight:600;display:inline-block}.eyebrow--light{color:var(--color-accent)}.btn{cursor:pointer;transition:transform var(--transition), background var(--transition), border-color var(--transition), color var(--transition);border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.9rem 1.6rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--color-accent);color:var(--color-text-dark)}.btn--primary:hover{background:var(--color-accent-dark)}.btn--ghost{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border-color:#ffffff59}.btn--ghost:hover{background:#fff3}.btn--secondary{border-color:var(--color-accent);color:#fff;background:0 0}.btn--secondary:hover{background:#c9a96226}.btn--secondary-dark{background:var(--color-bg-dark);color:#fff}.btn--secondary-dark:hover{background:#243044}.btn--full{width:100%}@media (width<=768px){.section{padding:4rem 0}.container{width:min(var(--container), calc(100% - 1.5rem))}}.page-banner{padding:calc(var(--header-height) + 3rem) 0 3rem;background:var(--color-bg-dark);color:#fff}.page-banner__inner{max-width:760px}.page-banner h1{color:#fff;margin:.5rem 0 1rem}.page-banner p{color:#ffffffd1;font-size:1.05rem;line-height:1.7}.page-banner .eyebrow{color:var(--color-accent)}.page-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.section--compact{padding-top:0}.home-preview{background:var(--color-bg-muted)}.home-intro__grid{grid-template-columns:1fr 1fr;align-items:center;gap:3.5rem;display:grid}.home-intro__media img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg)}.home-intro__content h2{margin:.5rem 0 1rem}.home-intro__content p+p{margin-top:1rem}.home-intro__former{color:var(--color-text);font-size:.92rem}.home-intro__content .btn{margin-top:1.5rem}.home-highlights{background:var(--color-surface)}.home-section__action{justify-content:center;margin-top:2.5rem;display:flex}.services__grid--home{grid-template-columns:repeat(3,1fr)}.process__grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.process-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;padding:2rem 1.5rem}.process-card__step{font-family:var(--font-display);color:var(--color-accent);margin-bottom:1rem;font-size:2rem;font-weight:600;display:inline-block}.process-card h3{margin-bottom:.75rem}.process-card p{font-size:.92rem}.home-cta{background:var(--color-bg-dark);color:#fff;padding:4.5rem 0}.home-cta__inner{justify-content:space-between;align-items:center;gap:2rem;display:flex}.home-cta h2{color:#fff;margin:.5rem 0 1rem}.home-cta p{color:#ffffffd1;max-width:560px}.home-cta p a{color:var(--color-accent);font-weight:600}.home-cta p a:hover{color:#e0c989}.home-cta__actions .btn--primary{color:var(--color-text-dark)}.home-cta__actions .btn--ghost{color:var(--color-accent);background:0 0;border-color:#c9a9628c}.home-cta__actions{flex-wrap:wrap;flex-shrink:0;gap:1rem;display:flex}.home-reviews__inner{justify-content:space-between;align-items:center;gap:2rem;display:flex}.home-reviews h2{margin:.5rem 0 .75rem}.home-reviews__actions{flex-wrap:wrap;flex-shrink:0;gap:1rem;display:flex}.home-preview__actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2.5rem;display:flex}.projects__grid--compact{grid-template-columns:repeat(3,1fr)}.project-card--static{pointer-events:none}.service-card__more{color:var(--color-accent);margin-top:1rem;font-size:.82rem;font-weight:600;display:inline-block}.service-detail-page .service-detail{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow)}.service-detail-page .service-detail__header h2{margin-bottom:.5rem}.service-detail-page .service-detail__header p,.service-detail-page .service-detail__list--light{color:var(--color-text)}.service-detail__footer{margin:1rem 0 1.5rem;font-weight:500}.reservations__single,.quote__single{max-width:720px;margin-inline:auto}.header{z-index:100;height:var(--header-height);transition:background var(--transition), box-shadow var(--transition), backdrop-filter var(--transition);position:fixed;inset:0 0 auto}.header--hero{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111822eb;border-bottom:1px solid #ffffff14}.header--solid{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--color-border);background:#faf8f5f7}.header--hero .nav__list>li>a,.header--hero .nav__dropdown-trigger a{color:#ffffffeb}.header--hero .nav__list>li>a:hover,.header--hero .nav__dropdown-trigger a:hover,.header--hero .nav__dropdown-trigger a.active,.header--hero .nav__list>li>a.active{color:var(--color-accent)}.header--hero .nav__dropdown-trigger svg{color:#ffffffeb}.header--hero .menu-toggle span{background:#fff}.header--menu-open{box-shadow:0 1px 0 var(--color-border);background:#faf8f5fa}.header--menu-open .nav__list>li>a,.header--menu-open .nav__dropdown-trigger a{color:var(--color-text-dark)}.header--menu-open .menu-toggle span{background:var(--color-text-dark)}.header__inner{justify-content:space-between;align-items:center;height:100%;display:flex}.logo{flex-shrink:0;align-items:center;display:flex}.logo__image{width:auto;height:48px;display:block}.logo--footer .logo__image{filter:brightness(0)invert();height:56px}.nav{align-items:center;gap:2rem;display:flex}.nav__list{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1.1rem;list-style:none;display:flex}.nav__list>li>a,.nav__dropdown-trigger a{color:var(--color-text-dark);transition:color var(--transition);white-space:nowrap;font-size:.82rem;font-weight:600;text-decoration:none}.nav__list>li>a.active,.nav__dropdown-trigger a.active{color:var(--color-accent-dark)}.nav__item--dropdown{position:relative}.nav__dropdown-trigger{cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;display:flex}.nav__dropdown-trigger svg{width:10px;height:6px;color:var(--color-text-dark);transition:transform var(--transition)}.nav__item--open .nav__dropdown-trigger svg{transform:rotate(180deg)}.nav__dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:210px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity var(--transition), transform var(--transition), visibility var(--transition);margin:0;padding:.5rem;list-style:none;position:absolute;top:calc(100% + .75rem);left:0;transform:translateY(8px)}.nav__item--open .nav__dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav__dropdown a{color:var(--color-text-dark);border-radius:8px;padding:.65rem .85rem;font-size:.88rem;display:block}.nav__dropdown a.active{background:var(--color-bg-muted);color:var(--color-accent-dark)}.nav__list>li>a:hover,.nav__dropdown-trigger a:hover,.nav__dropdown a:hover{color:var(--color-accent-dark)}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;display:none}.menu-toggle span{background:var(--color-text-dark);width:22px;height:2px;transition:transform var(--transition), opacity var(--transition);margin-inline:auto;display:block}.menu-toggle--open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle--open span:nth-child(2){opacity:0}.menu-toggle--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{color:#fff;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero__media{position:absolute;inset:0}.hero__image{object-fit:cover;width:100%;height:100%}.hero__overlay{background:linear-gradient(115deg,#1a2332e0 0%,#1a23328c 55%,#1a233259 100%);position:absolute;inset:0}.hero__content{z-index:1;padding-top:calc(var(--header-height) + 3rem);max-width:760px;padding-bottom:5rem;position:relative}.hero__content h1{color:#fff;margin:.5rem 0 1.25rem}.hero__content h1 span{color:var(--color-accent)}.hero__lead{color:#ffffffe0;max-width:640px;margin-bottom:1rem;font-size:1.15rem;line-height:1.7}.hero__lead--secondary{margin-bottom:2rem;font-size:1rem}.hero__actions{flex-wrap:wrap;gap:1rem;display:flex}.hero__scroll{letter-spacing:.15em;text-transform:uppercase;color:#fff9;flex-direction:column;align-items:center;gap:.75rem;font-size:.72rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero__scroll-line{background:linear-gradient(to bottom, var(--color-accent), transparent);width:1px;height:48px}.about__grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;margin-bottom:4rem;display:grid}.about__media{position:relative}.about__media img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg)}.about__badge{background:var(--color-bg-dark);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.5rem;position:absolute;bottom:2rem;right:-1rem}.about__badge strong{font-family:var(--font-display);color:var(--color-accent);font-size:1.5rem;display:block}.about__badge span{opacity:.85;font-size:.85rem}.about__content h2{margin-bottom:1.25rem}.about__content p+p{margin-top:1rem}.highlights{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.highlight-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem}.highlight-card h3{margin-bottom:.75rem;font-size:1.2rem}.highlight-card p{font-size:.95rem}.services__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.service-card{border:1px solid var(--color-border-light);border-radius:var(--radius);transition:transform var(--transition), background var(--transition), border-color var(--transition);background:#ffffff0a;padding:2rem}.service-card:hover{background:#ffffff12;border-color:#c9a96259;transform:translateY(-4px)}.service-card__icon{width:48px;height:48px;color:var(--color-accent);background:#c9a96226;border-radius:12px;place-items:center;margin-bottom:1.25rem;display:grid}.service-card__icon svg{width:24px;height:24px}.service-card h3{margin-bottom:.75rem}.service-card p{color:#e8edf5bf;font-size:.95rem}.service-card--link{color:inherit;text-decoration:none}.service-details{gap:2rem;margin-top:3.5rem;display:grid}.service-detail{border-radius:var(--radius-lg);border:1px solid var(--color-border-light);scroll-margin-top:calc(var(--header-height) + 1rem);background:#ffffff0a;padding:2rem}.service-detail__header{align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.service-detail__header p{color:#e8edf5bf;margin-top:.5rem}.service-detail__list{color:#e8edf5d9;gap:.65rem;padding-left:1.2rem;display:grid}.service-detail__cta{color:var(--color-accent);margin-top:1.25rem;font-weight:600}.projects{background:var(--color-bg-muted)}.projects__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.project-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:transform var(--transition);overflow:hidden}.project-card:hover{transform:translateY(-6px)}.project-card__image-wrap{position:relative;overflow:hidden}.project-card__image-wrap img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform .5s}.project-card:hover .project-card__image-wrap img{transform:scale(1.05)}.project-card__type{color:var(--color-accent);letter-spacing:.06em;text-transform:uppercase;background:#1a2332d9;border-radius:999px;padding:.4rem .85rem;font-size:.75rem;font-weight:600;position:absolute;top:1rem;left:1rem}.project-card__body{padding:1.5rem}.project-card__body h3{margin-bottom:.35rem}.project-card__body span{color:var(--color-accent-dark);font-size:.82rem;font-weight:600}.reservations,.quote{background:var(--color-bg-muted)}.reservations__grid,.quote__grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:3rem;display:grid}.reservations__info h2,.quote__info h2{margin:.5rem 0 1rem}.reviews{background:var(--color-bg-dark);color:var(--color-text-light)}.reviews h2{color:#fff}.reviews__inner{text-align:center}.reviews__actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.contact__grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:3.5rem;display:grid}.contact__info h2{margin:.5rem 0 1rem}.contact__info>p{margin-bottom:1rem}.contact__alt{margin-top:1rem;font-weight:500}.contact__alt a{color:var(--color-text-dark);font-weight:600}.contact__alt a:hover{color:var(--color-accent-dark)}.contact__details{gap:1.25rem;list-style:none;display:grid}.contact__details li{align-items:flex-start;gap:1rem;display:flex}.contact__details svg{width:22px;height:22px;color:var(--color-accent-dark);flex-shrink:0;margin-top:.15rem}.contact__details span{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text);margin-bottom:.2rem;font-size:.78rem;font-weight:600;display:block}.contact__details a{color:var(--color-text-dark);font-weight:600}.contact__details a:hover{color:var(--color-accent-dark)}.contact__form-wrap{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2rem}.contact__form{gap:1rem;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact__form label{color:var(--color-text-dark);gap:.45rem;font-size:.88rem;font-weight:600;display:grid}.contact__form input,.contact__form select,.contact__form textarea{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text-dark);transition:border-color var(--transition), box-shadow var(--transition);border-radius:10px;padding:.85rem 1rem}.contact__form input:focus,.contact__form select:focus,.contact__form textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #c9a96233}.contact__form textarea{resize:vertical;min-height:120px}.checkbox-label{align-items:flex-start;gap:.75rem;font-weight:500!important;display:flex!important}.checkbox-label input{width:auto;margin-top:.2rem}.contact__success{text-align:center;padding:3rem 1rem}.contact__success h3{margin-bottom:.75rem}.footer{color:#ffffffb8;background:#111822;padding-top:4rem}.footer__grid{border-bottom:1px solid #ffffff14;grid-template-columns:1.5fr repeat(3,1fr);gap:2.5rem;padding-bottom:3rem;display:grid}.footer__column h4{color:#fff;margin-bottom:1.25rem}.footer__contact{gap:.5rem;margin-top:1.25rem;list-style:none;display:grid}.footer__contact a:hover{color:var(--color-accent)}.footer__links{gap:.55rem;list-style:none;display:grid}.footer__links a{color:#ffffffb8;transition:color var(--transition);font-size:.92rem;text-decoration:none}.footer__links a:hover{color:var(--color-accent)}.footer__brand p{max-width:320px;margin-top:1.25rem;font-size:.92rem}.footer h4{color:#fff;margin-bottom:1.25rem}.footer__bottom{flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:1.5rem 0 2rem;font-size:.82rem;display:flex}@media (width<=1024px){.services__grid,.services__grid--home,.projects__grid,.projects__grid--compact,.highlights,.process__grid{grid-template-columns:repeat(2,1fr)}.home-intro__grid,.home-cta__inner,.home-reviews__inner{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.footer__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.menu-toggle{display:flex}.nav{inset:var(--header-height) 0 0;background:var(--color-bg);transition:transform var(--transition);flex-direction:column;justify-content:flex-start;padding:2rem 1.5rem;position:fixed;overflow-y:auto;transform:translate(100%)}.nav--open{transform:translate(0)}.nav__list{flex-direction:column;align-items:flex-start;gap:.5rem;width:100%}.nav__list>li>a,.nav__dropdown-trigger a{font-size:1.05rem}.nav__item--dropdown{width:100%}.nav__dropdown{opacity:1;visibility:visible;box-shadow:none;background:0 0;border:none;padding:.25rem 0 .5rem 1rem;display:none;position:static;transform:none}.nav__item--open .nav__dropdown{display:block}.about__grid,.contact__grid,.footer__grid,.projects__grid,.reservations__grid,.quote__grid,.highlights,.home-intro__grid,.process__grid{grid-template-columns:1fr}.about__badge{right:1rem}.services__grid,.services__grid--home,.projects__grid{grid-template-columns:1fr}.home-cta__actions,.home-reviews__actions{width:100%}.footer__grid,.form-row{grid-template-columns:1fr}.hero__scroll{display:none}.footer__bottom{flex-direction:column}}
