:root{--color-primary:#c9a96e;--color-primary-dk:#a8833e;--color-bg:#fdfaf6;--color-bg-alt:#f4eee4;--color-dark:#1c1c1c;--color-text:#3d3530;--color-text-light:#7a6e65;--color-white:#fff;--color-border:#e8ddd0;--color-overlay:#1c1c1c8c;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Inter", system-ui, sans-serif;--section-py:6rem;--container-w:1200px;--gap:2rem;--ease:.3s ease;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 6px 24px #0000001a;--shadow-lg:0 16px 48px #00000024;--radius-sm:6px;--radius-md:12px;--radius-lg:20px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.7;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;transition:color var(--ease);text-decoration:none}ul{list-style:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{width:min(var(--container-w), 100% - 2.5rem);margin-inline:auto}.section{padding-block:var(--section-py)}.section__header{text-align:center;margin-inline:auto;max-width:600px;margin-bottom:3.5rem}.section__label{letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.6rem;font-size:.78rem;font-weight:600}.section__title{font-family:var(--font-heading);color:var(--color-dark);font-size:clamp(1.9rem,3.5vw,2.6rem);line-height:1.2}.section__title em{color:var(--color-primary);font-style:italic}.section__subtitle{color:var(--color-text-light);margin-top:1rem;font-size:1.05rem}.btn{border-radius:var(--radius-sm);letter-spacing:.04em;transition:all var(--ease);white-space:nowrap;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn--primary{background:var(--color-primary);color:var(--color-white);box-shadow:0 4px 16px #c9a96e59}.btn--primary:hover{background:var(--color-primary-dk);transform:translateY(-2px);box-shadow:0 8px 24px #c9a96e73}.btn--outline{color:var(--color-white);background:0 0;border:2px solid #ffffffbf}.btn--outline:hover{border-color:var(--color-white);background:#ffffff1f}.btn--full{justify-content:center;width:100%}.site-header{top:0;left:0;right:0;z-index:1200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;box-shadow:var(--shadow-sm);transition:background var(--ease), box-shadow var(--ease);background:#1c1c1cf0;position:fixed;inset-inline:0}.site-header.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);background:#1c1c1cf7}.nav{justify-content:space-between;align-items:center;padding-block:1.2rem;display:flex}.nav__logo{font-family:var(--font-heading);color:var(--color-white);transition:color var(--ease);letter-spacing:.01em;font-size:1.4rem;font-weight:700}.site-header.scrolled .nav__logo{color:var(--color-white)}.nav__logo span{color:var(--color-primary)}.nav__menu{align-items:center;gap:.25rem;display:flex}.nav__link{color:#ffffffe6;border-radius:var(--radius-sm);transition:all var(--ease);padding:.5rem .85rem;font-size:.9rem;font-weight:500}.nav__link:hover{color:var(--color-primary);background:#c9a96e14}.site-header.scrolled .nav__link{color:#ffffffe6}.site-header.scrolled .nav__link:hover{color:var(--color-primary)}.nav__link--cta{background:var(--color-primary);padding:.5rem 1.2rem;color:var(--color-white)!important}.nav__link--cta:hover{background:var(--color-primary-dk)!important}.nav__toggle{flex-direction:column;gap:5px;width:28px;padding:4px;display:none}.nav__toggle span{background:var(--color-white);height:2px;transition:all var(--ease);border-radius:2px;display:block}.site-header.scrolled .nav__toggle span{background:var(--color-white)}.nav__toggle.active span:first-child{transform:translateY(7px)rotate(45deg)}.nav__toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}.nav__toggle.active span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero__bg{background-image:url(https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?w=1920&auto=format&fit=crop);background-position:50%;background-size:cover;animation:14s forwards heroZoom;position:absolute;inset:0;transform:scale(1.05)}@keyframes heroZoom{0%{transform:scale(1.05)}to{transform:scale(1)}}.hero__overlay{background:linear-gradient(135deg,#1c1c1cb8 0%,#1c1c1c61 100%);position:absolute;inset:0}.hero__content{z-index:2;max-width:680px;padding-block:8rem 4rem;position:relative}.hero__tagline{letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);opacity:0;margin-bottom:1rem;font-size:.78rem;font-weight:600;animation:.8s .3s forwards fadeUp}.hero__title{font-family:var(--font-heading);color:var(--color-white);opacity:0;margin-bottom:1.5rem;font-size:clamp(2.6rem,6vw,5rem);font-weight:700;line-height:1.1;animation:.8s .5s forwards fadeUp}.hero__title em{color:var(--color-primary);font-style:italic}.hero__subtitle{color:#ffffffd9;opacity:0;max-width:520px;margin-bottom:2.2rem;font-size:1.15rem;animation:.8s .7s forwards fadeUp}.hero__actions{opacity:0;flex-wrap:wrap;gap:1rem;animation:.8s .9s forwards fadeUp;display:flex}.hero__scroll{z-index:2;color:#ffffffb3;font-size:1.1rem;animation:2s infinite bounce;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}@keyframes bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(8px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.about__grid{grid-template-columns:1fr 1fr;align-items:center;gap:5rem;display:grid}.about__image-wrap{position:relative}.about__image{border-radius:var(--radius-lg);aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--shadow-lg)}.about__badge{background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-md);padding:1.2rem 1.5rem;position:absolute;bottom:-1.5rem;right:-1.5rem}.about__badge-number{font-family:var(--font-heading);font-size:2.2rem;font-weight:700;line-height:1;display:block}.about__badge-text{letter-spacing:.05em;opacity:.92;font-size:.78rem;font-weight:500;line-height:1.4}.about__content .section__label,.about__content .section__title{text-align:left}.about__bio{color:var(--color-text-light);margin-bottom:1rem}.about__highlights{grid-template-columns:1fr 1fr;gap:.6rem;margin-block:1.5rem;display:grid}.about__highlights li{color:var(--color-text);align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.about__highlights i{color:var(--color-primary);font-size:.7rem}.stats{background:var(--color-dark);padding-block:4rem}.stats__grid{text-align:center;grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.stat__number{font-family:var(--font-heading);color:var(--color-primary);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700}.stat__plus{font-family:var(--font-heading);color:var(--color-primary);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700}.stat__label{color:#fff9;letter-spacing:.04em;margin-top:.3rem;font-size:.88rem;font-weight:500}.services{background:var(--color-bg-alt)}.services__grid{grid-template-columns:repeat(3,1fr);gap:1.8rem;display:grid}.service-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--ease), box-shadow var(--ease);border:1px solid var(--color-border);padding:2.2rem}.service-card:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.service-card__icon{border-radius:var(--radius-sm);width:52px;height:52px;color:var(--color-primary);background:#c9a96e1f;justify-content:center;align-items:center;margin-bottom:1.2rem;font-size:1.3rem;display:flex}.service-card__title{font-family:var(--font-heading);color:var(--color-dark);margin-bottom:.7rem;font-size:1.15rem;font-weight:600}.service-card__text{color:var(--color-text-light);font-size:.9rem;line-height:1.75}.portfolio__filters{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2.5rem;display:flex}.filter-btn{color:var(--color-text-light);border:1px solid var(--color-border);background:var(--color-white);transition:all var(--ease);border-radius:50px;padding:.5rem 1.4rem;font-size:.88rem;font-weight:500}.filter-btn:hover,.filter-btn--active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.portfolio__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.portfolio-item{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--ease), box-shadow var(--ease), opacity .4s ease;background:var(--color-white);overflow:hidden}.portfolio-item.hidden{display:none}.portfolio-item:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.portfolio-item__image-wrap{aspect-ratio:4/3;position:relative;overflow:hidden}.portfolio-item__image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.portfolio-item:hover .portfolio-item__image-wrap img{transform:scale(1.07)}.portfolio-item__overlay{background:var(--color-overlay);opacity:0;transition:opacity var(--ease);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.portfolio-item:hover .portfolio-item__overlay{opacity:1}.portfolio-item__zoom{border:2px solid var(--color-white);width:50px;height:50px;color:var(--color-white);transition:background var(--ease), transform var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.portfolio-item__zoom:hover{background:var(--color-primary);border-color:var(--color-primary);transform:scale(1.1)}.portfolio-item__info{padding:1.1rem 1.3rem}.portfolio-item__info h3{font-family:var(--font-heading);color:var(--color-dark);margin-bottom:.2rem;font-size:1.05rem;font-weight:600}.portfolio-item__info p{color:var(--color-text-light);font-size:.82rem}.portfolio__cta{text-align:center;margin-top:3rem}.process{background:var(--color-bg-alt)}.process__steps{align-items:flex-start;gap:0;display:flex}.process-step{text-align:center;flex:1;padding:2rem 1.5rem}.process__connector{background:var(--color-primary);opacity:.3;flex:0 0 2px;align-self:flex-start;height:2px;margin-top:2.3rem}.process-step__number{font-family:var(--font-heading);color:var(--color-primary);opacity:.25;margin-bottom:.8rem;font-size:3rem;font-weight:700;line-height:1}.process-step__title{font-family:var(--font-heading);color:var(--color-dark);margin-bottom:.7rem;font-size:1.15rem;font-weight:600}.process-step__text{color:var(--color-text-light);font-size:.9rem;line-height:1.75}.testimonials{background:var(--color-dark)}.testimonials .section__label{color:var(--color-primary)}.testimonials .section__title{color:var(--color-white)}.google-rating{border-radius:var(--radius-md);text-align:center;background:#ffffff0a;border:1px solid #c9a96e59;max-width:680px;margin:0 auto 2rem;padding:1rem 1.25rem}.google-rating__label{letter-spacing:.14em;text-transform:uppercase;color:#ffffffb3;margin-bottom:.35rem;font-size:.78rem}.google-rating__value{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:.45rem;font-size:clamp(1.2rem,2.5vw,1.7rem)}.google-rating__link{color:#ffffffd9;text-underline-offset:3px;font-size:.88rem;text-decoration:underline}.google-rating__link:hover{color:var(--color-primary)}.testimonials__carousel{position:relative;overflow:hidden}.testimonials__track{transition:transform .5s cubic-bezier(.25,.46,.45,.94);display:flex}.testimonial-card{text-align:center;min-width:100%;padding:0 4rem}.testimonial-card__stars{color:var(--color-primary);justify-content:center;gap:.25rem;margin-bottom:1.5rem;font-size:1.1rem;display:flex}.testimonial-card__quote{font-family:var(--font-heading);color:#ffffffe0;margin-inline:auto;max-width:720px;margin-bottom:2rem;font-size:clamp(1.05rem,2vw,1.3rem);font-style:italic;line-height:1.8}.testimonial-card__author{justify-content:center;align-items:center;gap:1rem;display:flex}.testimonial-card__avatar{background:var(--color-primary);width:48px;height:48px;color:var(--color-white);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.testimonial-card__author strong{color:var(--color-white);font-size:.95rem;display:block}.testimonial-card__author p{color:#ffffff80;font-size:.82rem}.testimonials__controls{justify-content:center;align-items:center;gap:1.2rem;margin-top:2.5rem;display:flex}.testimonials__btn{color:#fffc;width:42px;height:42px;transition:all var(--ease);border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:flex}.testimonials__btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.testimonials__dots{gap:.5rem;display:flex}.testimonials__dot{width:8px;height:8px;transition:all var(--ease);background:#ffffff40;border-radius:50%}.testimonials__dot--active{background:var(--color-primary);border-radius:4px;width:24px}.contact__grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:5rem;display:grid}.contact__info .section__label,.contact__info .section__title{text-align:left}.contact__intro{color:var(--color-text-light);margin-bottom:2rem}.contact__details{flex-direction:column;gap:1.2rem;margin-bottom:2rem;display:flex}.contact__details li{align-items:flex-start;gap:1rem;display:flex}.contact__detail-icon{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-primary);background:#c9a96e1a;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:flex}.contact__details strong{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-light);margin-bottom:.2rem;font-size:.78rem;display:block}.contact__details a,.contact__details span{color:var(--color-text);font-size:.95rem}.contact__details a:hover{color:var(--color-primary)}.contact__social{gap:.75rem;display:flex}.social-link{border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-text-light);transition:all var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:flex}.social-link:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);transform:translateY(-2px)}.contact-form{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);padding:2.5rem}.form-row{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1.2rem;display:flex}.form-group label{color:var(--color-text);letter-spacing:.02em;font-size:.85rem;font-weight:600}.form-group label span{color:var(--color-primary)}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);transition:border-color var(--ease), box-shadow var(--ease);outline:none;width:100%;padding:.75rem 1rem;font-size:.92rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a96e26}.form-group input.error,.form-group textarea.error{border-color:#e04f4f}.form-error{color:#e04f4f;min-height:1em;font-size:.78rem}.form-group textarea{resize:vertical;min-height:130px}.form-success{border-radius:var(--radius-sm);color:#2d7a4a;background:#3c965a14;border:1px solid #3c965a40;align-items:center;gap:.75rem;margin-top:1.2rem;padding:1rem 1.2rem;font-size:.9rem;font-weight:500;display:none}.form-success.visible{display:flex}.form-success i{flex-shrink:0;font-size:1.2rem}.btn__spinner{border:2px solid #fff6;border-top-color:var(--color-white);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:none}@keyframes spin{to{transform:rotate(360deg)}}.btn--loading .btn__text{display:none}.btn--loading .btn__spinner{display:block}.footer{background:var(--color-dark);color:#ffffffa6;padding-top:4.5rem}.footer__grid{grid-template-columns:2fr 1fr 1fr 1.5fr;gap:3rem;padding-bottom:3rem;display:grid}.footer__brand .nav__logo{color:var(--color-white);margin-bottom:1rem;font-size:1.3rem;display:inline-block}.footer__brand p{margin-bottom:1.5rem;font-size:.9rem;line-height:1.7}.footer__links h4,.footer__contact h4{color:var(--color-white);letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.2rem;font-size:.9rem;font-weight:600}.footer__links ul{flex-direction:column;gap:.6rem;display:flex}.footer__links a{color:#ffffff8c;transition:color var(--ease);font-size:.9rem}.footer__links a:hover{color:var(--color-primary)}.footer__contact p{margin-bottom:.5rem;font-size:.9rem}.footer__contact a{color:#ffffff8c;transition:color var(--ease)}.footer__contact a:hover{color:var(--color-primary)}.footer .social-link{color:#ffffff8c;border-color:#ffffff26}.footer__bottom{text-align:center;border-top:1px solid #ffffff14;padding-block:1.4rem}.footer__bottom p{color:#ffffff59;font-size:.84rem}.lightbox{z-index:1000;opacity:0;pointer-events:none;background:#000000eb;justify-content:center;align-items:center;padding:2rem;transition:opacity .3s;display:flex;position:fixed;inset:0}.lightbox.open{opacity:1;pointer-events:all}.lightbox__close{width:44px;height:44px;color:var(--color-white);transition:all var(--ease);z-index:1;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox__close:hover{background:var(--color-primary);border-color:var(--color-primary)}.lightbox__content{text-align:center;width:100%;max-width:900px}.lightbox__content img{object-fit:cover;border-radius:var(--radius-md);width:100%;max-height:65vh;box-shadow:var(--shadow-lg)}.lightbox__info{margin-top:1.2rem}.lightbox__info h3{font-family:var(--font-heading);color:var(--color-white);margin-bottom:.4rem;font-size:1.4rem}.lightbox__info p{color:#fff9;font-size:.95rem}.back-to-top{background:var(--color-primary);width:44px;height:44px;color:var(--color-white);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:all var(--ease);z-index:800;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(12px)}.back-to-top.visible{opacity:1;pointer-events:all;transform:translateY(0)}.back-to-top:hover{background:var(--color-primary-dk);transform:translateY(-2px)}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal--delay-1{transition-delay:.1s}.reveal--delay-2{transition-delay:.2s}.reveal--delay-3{transition-delay:.3s}.reveal--delay-4{transition-delay:.4s}.reveal--delay-5{transition-delay:.5s}@media (width<=1024px){.about__grid{grid-template-columns:1fr;gap:3rem}.about__image-wrap{max-width:480px;margin-inline:auto}.about__badge{bottom:-1rem;right:0}.about__content .section__title,.about__content .section__label{text-align:center}.about__highlights{max-width:400px;margin-inline:auto}.about__content{text-align:center}.about__content .btn{margin-inline:auto}.stats__grid{grid-template-columns:repeat(3,1fr)}.services__grid,.portfolio__grid{grid-template-columns:repeat(2,1fr)}.contact__grid{grid-template-columns:1fr;gap:3rem}.contact__info .section__title,.contact__info .section__label,.contact__info{text-align:center}.contact__details{max-width:400px;margin-inline:auto}.contact__social{justify-content:center}.footer__grid{grid-template-columns:1fr 1fr}.process__steps{flex-direction:column}.process__connector{flex:none;width:2px;height:2rem;margin:0 auto}}@media (width<=768px){:root{--section-py:4rem}.nav__toggle{display:flex}.nav__menu{background:var(--color-bg);width:min(320px,85vw);height:100dvh;box-shadow:var(--shadow-lg);z-index:850;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem;transition:right .35s cubic-bezier(.25,.46,.45,.94);position:fixed;top:0;right:-100%}.nav__menu.open{right:0}.nav__link{padding:.75rem 1.5rem;font-size:1.1rem;color:var(--color-text)!important}.nav__link:hover{color:var(--color-primary)!important}.nav__link--cta{background:var(--color-primary);text-align:center;width:100%;color:var(--color-white)!important}.nav__overlay{z-index:840;opacity:0;pointer-events:none;transition:opacity var(--ease);background:#00000080;position:fixed;inset:0}.nav__overlay.open{opacity:1;pointer-events:all}.services__grid,.portfolio__grid,.form-row{grid-template-columns:1fr}.testimonial-card{padding:0 1rem}.footer__grid{grid-template-columns:1fr}.about__highlights{grid-template-columns:1fr;max-width:260px}}@media (width<=480px){.hero__actions{flex-direction:column}.hero__actions .btn{justify-content:center;width:100%}.stats__grid{grid-template-columns:1fr}.contact-form{padding:1.5rem}}
