:root{
  --black:#050505;
  --black-2:#090909;
  --charcoal:#111111;
  --line:#6c4619;
  --line-soft:rgba(217,154,53,.28);
  --gold:#d99a35;
  --amber:#f5b84b;
  --copper:#af6428;
  --white:#f6f4ef;
  --muted:#aaa7a0;
  --shadow:0 0 34px rgba(245,184,75,.13);
  --max:1210px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.45;overflow-x:hidden}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
.container{width:min(var(--max),calc(100% - 46px));margin-inline:auto}

.site-header{height:82px;position:absolute;left:0;right:0;top:0;z-index:30;border-bottom:1px solid transparent;background:linear-gradient(180deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.14) 68%,rgba(0,0,0,0) 100%);transition:height .38s cubic-bezier(.22,.61,.36,1),background .38s ease,border-color .38s ease,box-shadow .38s ease,backdrop-filter .38s ease,-webkit-backdrop-filter .38s ease}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 3%,rgba(217,154,53,.12) 18%,rgba(245,184,75,.58) 50%,rgba(217,154,53,.12) 82%,transparent 97%);opacity:0;transform:scaleX(.72);transition:opacity .35s ease,transform .45s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.site-header.scrolled{position:fixed;height:72px;background:rgba(5,5,5,.78);border-bottom-color:rgba(217,154,53,.08);-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);box-shadow:0 12px 34px rgba(0,0,0,.36)}
.site-header.scrolled::after{opacity:1;transform:scaleX(1)}
.nav-shell{width:min(1240px,calc(100% - 32px));height:100%;margin:auto;display:grid;grid-template-columns:130px 1fr 170px;align-items:center;gap:20px;transition:height .38s cubic-bezier(.22,.61,.36,1)}
.brand{height:80px;display:flex;align-items:center;transition:height .38s cubic-bezier(.22,.61,.36,1)}
.brand img{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.55));transform-origin:left center;transition:width .38s cubic-bezier(.22,.61,.36,1),height .38s cubic-bezier(.22,.61,.36,1),filter .38s ease}
.site-header.scrolled .brand{height:72px}
.site-header.scrolled .brand img{width:92px;height:92px;transform:translateY(3px);filter:drop-shadow(0 4px 9px rgba(0,0,0,.48)) drop-shadow(0 0 8px rgba(245,184,75,.16))}
.site-header.scrolled .main-nav a::after{bottom:12px}
.main-nav{display:flex;justify-content:center;align-items:center;gap:42px;height:100%}
.main-nav a{font-size:13px;font-weight:600;letter-spacing:.01em;color:#eceae6;position:relative;display:flex;align-items:center;height:100%}
.main-nav a::after{content:"";position:absolute;left:15%;right:15%;bottom:18px;height:2px;background:var(--amber);transform:scaleX(0);transition:.22s ease;box-shadow:0 0 10px var(--amber)}
.main-nav a:hover,.main-nav a.active{color:var(--amber)}
.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}
.nav-cta{justify-self:end;width:160px}
.menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:26px;height:2px;background:var(--white);margin:5px 0}

.btn{height:44px;border-radius:7px;padding:0 28px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:18px;cursor:pointer;font-weight:800;font-size:13px;transition:.2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-gold{color:#1b1104;background:linear-gradient(180deg,#ffd17c 0%,#e8a431 55%,#c57919 100%);border-color:#ffd275;box-shadow:0 0 25px rgba(245,184,75,.32),inset 0 1px 0 rgba(255,255,255,.55)}
.btn-gold:hover{box-shadow:0 0 32px rgba(245,184,75,.48)}
.btn-outline{background:rgba(0,0,0,.35);border-color:#9b681f;color:#f4f0e8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.btn-outline:hover{border-color:var(--amber);color:var(--amber)}
.btn.compact{height:39px;padding:0 22px;font-size:12px}

.hero{min-height:600px;height:72vh;max-height:780px;position:relative;background-image:url('assets/images/hero-desktop.webp');background-size:cover;background-position:center center;border-bottom:1px solid var(--line);overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.66) 28%,rgba(0,0,0,.13) 58%,rgba(0,0,0,.05) 100%);pointer-events:none}
.hero-shade{position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(0deg,#050505 0%,rgba(5,5,5,.8) 24%,transparent 100%);z-index:1}
.hero-inner{height:100%;position:relative;z-index:2;padding-top:152px;display:flex;flex-direction:column;justify-content:space-between}
.hero-copy{width:min(610px,52%)}
.eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--amber);margin-bottom:12px}.eyebrow span{margin-left:8px}
.hero h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:58px;line-height:.94;letter-spacing:-.03em;font-weight:700;text-shadow:0 3px 22px #000}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero-copy>p{max-width:590px;margin:22px 0 26px;color:#e8e5df;font-size:14px;line-height:1.65;text-shadow:0 2px 12px #000}
.hero-actions{display:flex;gap:20px}.hero-actions .btn{min-width:190px}
.hero-features{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 0 22px;border-top:1px solid rgba(217,154,53,.23);background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.2));}
.hero-features article{display:flex;gap:13px;align-items:center;min-width:0}.hero-features article+article{border-left:1px solid rgba(217,154,53,.18);padding-left:18px}
.line-icon{width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--amber);font-size:16px;box-shadow:0 0 15px rgba(245,184,75,.1);flex:0 0 auto}
.hero-features strong{display:block;color:var(--amber);font-size:11px;margin-bottom:3px}.hero-features small{color:#bbb6ae;font-size:9.5px;white-space:nowrap}

.section-rule{border-bottom:1px solid var(--line);background:linear-gradient(180deg,#060606,#040404)}
.services-section{padding:0 0 18px}
.section-title{height:44px;display:flex;align-items:center;justify-content:center;gap:15px;color:#f0e7dc;letter-spacing:.17em;font-family:Georgia,'Times New Roman',serif}.section-title h2{font-size:12px;margin:0;font-weight:500}.section-title span{font-size:10px;color:var(--amber)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.service-card{height:158px;border:1px solid rgba(217,154,53,.52);border-radius:9px;overflow:hidden;position:relative;background:#0d0d0d;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.service-card:hover img{transform:scale(1.06)}
.service-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.25) 43%,rgba(0,0,0,.92) 100%)}
.service-content{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:14px;padding:13px 15px;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(8,8,8,.64));min-height:70px;border-top:1px solid rgba(255,255,255,.05)}
.service-icon{width:39px;height:39px;border:1px solid var(--gold);border-radius:6px;display:grid;place-items:center;color:var(--amber);font-size:20px;flex:0 0 auto;box-shadow:0 0 15px rgba(245,184,75,.08)}
.service-card h3{font-size:13px;margin:0 0 3px}.service-card p{font-size:9.5px;margin:0;color:#bdb7af;line-height:1.35}
.choose-title{margin-top:7px}
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.benefits-grid article{min-height:86px;border:1px solid rgba(217,154,53,.4);border-radius:9px;padding:13px;display:flex;gap:13px;align-items:center;background:radial-gradient(circle at 12% 10%,rgba(217,154,53,.08),transparent 34%),#090909}
.benefit-icon{width:47px;height:47px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--amber);font-size:22px;flex:0 0 auto}
.benefits-grid h3{color:var(--amber);font-size:12px;margin:0 0 5px}.benefits-grid p{font-size:9.4px;line-height:1.4;color:#bcb7af;margin:0}

.featured-section{padding:6px 0 13px}
.featured-wrap{display:grid;grid-template-columns:210px 1fr;gap:18px;align-items:center}
.featured-heading{display:flex;flex-direction:column;gap:18px;align-items:flex-start}.mini-title{font-family:Georgia,'Times New Roman',serif;letter-spacing:.09em;font-size:12px}.mini-title span{color:var(--amber);margin-left:5px}
.featured-gallery{display:grid;grid-template-columns:1.05fr 1.15fr 1.15fr 1fr 1.05fr;gap:7px;height:124px}
.gallery-item{border:1px solid rgba(217,154,53,.4);border-radius:7px;overflow:hidden;padding:0;background:#111;cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.3s ease}.gallery-item:hover img{transform:scale(1.05);filter:brightness(1.08)}

.process-section{padding-bottom:11px}.process-line{display:grid;grid-template-columns:repeat(4,1fr);position:relative;padding:8px 0 2px}.process-line::before{content:"";position:absolute;left:5%;right:5%;top:42px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),var(--gold),transparent);opacity:.35}
.process-line article{display:grid;grid-template-columns:27px 58px 1fr;gap:8px;align-items:center;position:relative;padding-right:13px}.step-number{width:23px;height:23px;border-radius:50%;border:1px solid var(--gold);color:var(--amber);font-size:11px;display:grid;place-items:center;background:#070707;z-index:1}.step-icon{width:54px;height:54px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;color:var(--amber);font-size:20px;box-shadow:0 0 20px rgba(245,184,75,.13);background:#070707;z-index:1}.process-line h3{font-size:11.5px;color:var(--amber);margin:0 0 4px}.process-line p{font-size:8.9px;color:#b9b4ad;margin:0;line-height:1.35}

.occasions-section{padding-bottom:12px}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:1px 20px 4px}.occasion-grid article{border:1px solid rgba(217,154,53,.42);border-radius:10px;background:linear-gradient(125deg,rgba(217,154,53,.06),transparent 45%),#080808;min-height:116px;display:flex;align-items:flex-start;gap:16px;padding:16px}.occasion-badge{width:48px;height:48px;border-radius:50%;border:2px solid #d3cabf;background:#27221e;color:#fff;display:grid;place-items:center;font-weight:900;font-family:Georgia,serif}.occasion-grid h3{font-size:12px;color:var(--amber);margin:1px 0 2px}.stars{color:var(--amber);font-size:9px;letter-spacing:2px;margin-bottom:7px}.occasion-grid p{font-size:9.5px;color:#c0bbb4;line-height:1.45;margin:0}

.contact-band{position:relative;border-bottom:1px solid var(--line);min-height:150px;overflow:hidden}.contact-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.72),rgba(0,0,0,.88)),url('assets/images/hero-desktop.webp');background-size:cover;background-position:center 78%;filter:saturate(.8)}
.contact-inner{min-height:150px;position:relative;z-index:1;display:grid;grid-template-columns:1.25fr 1.9fr .7fr;gap:28px;align-items:center}.contact-intro h2{font-family:Georgia,'Times New Roman',serif;font-size:31px;line-height:1;margin:0 0 12px}.contact-intro p{font-size:12px;color:#ddd8d0;margin:0}.contact-intro strong{color:var(--amber)}
.contact-cards{height:78px;border:1px solid rgba(217,154,53,.38);border-radius:8px;background:rgba(5,5,5,.78);display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.contact-cards>a,.contact-cards>div{padding:9px 14px;display:flex;align-items:center;gap:10px;min-width:0}.contact-cards>a+*,.contact-cards>div+*{border-left:1px solid rgba(217,154,53,.25)}.contact-cards>*>span{font-size:24px;color:var(--amber)}.contact-cards small,.contact-cards strong,.contact-cards em{display:block;white-space:nowrap}.contact-cards small{font-size:10px}.contact-cards strong{font-size:10px;color:var(--amber);margin:2px 0}.contact-cards em{font-size:8.5px;color:#b8b2aa;font-style:normal}
.contact-action{text-align:center}.contact-action .btn{width:100%;padding:0 12px}.contact-action small{font-size:9px;color:#d9d5cf;display:block;margin-top:9px}

.footer{background:#050505;padding:12px 0 0}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr .65fr;gap:38px;align-items:start;padding-bottom:11px}.footer h3{font-size:8px;letter-spacing:.08em;color:#cfc8bf;margin:7px 0 10px}.footer-brand{display:flex;gap:16px;align-items:center}.footer-brand img{width:83px;height:83px;object-fit:contain}.footer-brand strong{font-size:10px}.footer-brand p{font-size:8.5px;color:#99948d;max-width:260px;line-height:1.45}.footer-links>div{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}.footer a,.footer-contact span{font-size:8.5px;color:#aaa59e}.footer a:hover{color:var(--amber)}.footer-contact{display:flex;flex-direction:column;gap:5px}.footer-social>div{display:flex;gap:9px}.footer-social a{width:31px;height:31px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--amber);font-size:15px;font-weight:800}.copyright{border-top:1px solid rgba(217,154,53,.24);padding:8px 0 11px;text-align:center;color:#77736e;font-size:8px}


.wa-icon{display:inline-grid;place-items:center;line-height:0;flex:0 0 auto}
.wa-icon svg{display:block;width:1em;height:1em;fill:currentColor}
.contact-cards .wa-icon{font-size:24px;color:#25D366}
.footer-social .wa-link{background:#25D366;border-color:#25D366;color:#fff}
.footer-social .wa-link:hover{color:#fff;filter:brightness(1.06)}
.whatsapp-float{font-size:0}
.whatsapp-float .wa-icon{font-size:28px;color:#fff}
.mobile-wa-content{display:flex;align-items:center;justify-content:center;gap:8px}
.mobile-bottom a .wa-icon{font-size:17px;color:#25D366}
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:52px;height:52px;border-radius:50%;background:#19a95a;color:white;display:grid;place-items:center;font-size:26px;z-index:25;box-shadow:0 9px 30px rgba(0,0,0,.45),0 0 0 5px rgba(25,169,90,.12);transition:.2s}.whatsapp-float:hover{transform:scale(1.06)}
.mobile-bottom{display:none}

.quote-modal{border:0;padding:0;background:transparent;color:var(--white);max-width:740px;width:calc(100% - 26px)}.quote-modal::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.modal-card{background:linear-gradient(145deg,#111,#070707);border:1px solid rgba(217,154,53,.55);border-radius:15px;padding:30px;box-shadow:0 20px 70px #000;position:relative}.modal-card h2{font-family:Georgia,serif;font-size:32px;margin:0 0 22px}.modal-close{position:absolute;right:16px;top:11px;background:none;border:0;font-size:28px;cursor:pointer;color:#b9b2a8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:10px;color:#c7c0b7;display:flex;flex-direction:column;gap:6px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border-radius:7px;border:1px solid rgba(217,154,53,.28);background:#0b0b0b;color:#f5f2ec;padding:11px 12px;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--amber);box-shadow:0 0 0 2px rgba(245,184,75,.09)}.modal-submit{width:100%;margin-top:20px}
.lightbox{border:0;padding:0;background:#050505;max-width:min(1000px,92vw);max-height:88vh;border-radius:10px;overflow:hidden;box-shadow:0 20px 80px #000}.lightbox::backdrop{background:rgba(0,0,0,.9)}.lightbox img{max-height:88vh;width:auto;max-width:92vw;object-fit:contain}.lightbox-close{position:absolute;right:12px;top:8px;z-index:2;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.25);font-size:24px;cursor:pointer}

@media (max-width:1100px){
  .main-nav{gap:23px}.nav-shell{grid-template-columns:100px 1fr 145px}.nav-cta{width:145px}.brand img{width:77px;height:77px}
  .hero h1{font-size:48px}.hero-features{grid-template-columns:repeat(2,1fr)}.hero-features article:nth-child(3){border-left:0;padding-left:0}.hero-features small{white-space:normal}
  .services-grid{grid-template-columns:repeat(2,1fr)}.benefits-grid{grid-template-columns:repeat(2,1fr)}
  .featured-wrap{grid-template-columns:1fr}.featured-heading{flex-direction:row;justify-content:space-between;align-items:center}.featured-gallery{height:150px}
  .process-line{grid-template-columns:repeat(2,1fr);gap:18px}.process-line::before{display:none}
  .contact-inner{grid-template-columns:1fr 1.6fr}.contact-action{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:16px;padding-bottom:15px}.contact-action .btn{width:auto}.contact-action small{margin:0}
}

@media (max-width:760px){
  .container{width:min(100% - 28px,var(--max))}
  .site-header{height:72px}.nav-shell{grid-template-columns:1fr auto;height:72px}.brand img{width:78px;height:78px}.site-header.scrolled{height:64px}.site-header.scrolled .nav-shell{height:64px}.site-header.scrolled .brand{height:64px}.site-header.scrolled .brand img{width:76px;height:76px;transform:translateY(2px)}.nav-cta{display:none}.menu-toggle{display:block;z-index:4}.main-nav{position:fixed;inset:0 0 auto 0;top:0;background:rgba(4,4,4,.98);padding:92px 24px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:0;transform:translateY(-110%);transition:.3s ease;height:auto;border-bottom:1px solid var(--line)}.main-nav.open{transform:translateY(0)}.main-nav a{height:48px;width:100%;border-bottom:1px solid rgba(255,255,255,.06)}.main-nav a::after{display:none}
  .hero{height:860px;min-height:790px;max-height:none;background-image:url('assets/images/hero-mobile.webp');background-position:center top;background-size:cover}.hero::after{background:linear-gradient(180deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.47) 25%,rgba(0,0,0,.1) 46%,rgba(0,0,0,.72) 70%,#050505 100%)}.hero-inner{padding-top:112px;justify-content:flex-start}.hero-copy{width:100%;text-align:left}.eyebrow{font-size:10px}.hero h1{font-size:45px;max-width:370px}.hero-copy>p{font-size:12px;max-width:355px;margin-top:18px}.hero-actions{gap:10px;flex-direction:column;align-items:flex-start}.hero-actions .btn{min-width:205px}.hero-features{margin-top:auto;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0 22px;background:transparent}.hero-features article{border:1px solid rgba(217,154,53,.22)!important;padding:9px!important;border-radius:8px;background:rgba(0,0,0,.6)}.line-icon{width:31px;height:31px}.hero-features strong{font-size:9px}.hero-features small{font-size:8px}
  .section-title{height:50px}.section-title h2{font-size:11px}.services-grid{grid-template-columns:1fr;gap:10px}.service-card{height:176px}.service-card h3{font-size:14px}.service-card p{font-size:10px}.benefits-grid{grid-template-columns:1fr}.benefits-grid article{min-height:92px}.benefits-grid p{font-size:10px}
  .featured-section{padding:12px 0 17px}.featured-heading{flex-direction:column;align-items:flex-start;gap:10px}.featured-gallery{height:auto;grid-template-columns:1fr 1fr;grid-auto-rows:122px}.featured-gallery .gallery-item:first-child{grid-row:span 2}.featured-gallery .gallery-item:last-child{grid-column:1/-1}
  .process-line{grid-template-columns:1fr;gap:13px;padding:4px 4px}.process-line article{grid-template-columns:26px 52px 1fr}.process-line h3{font-size:12px}.process-line p{font-size:9.5px}.step-icon{width:50px;height:50px}
  .occasion-grid{grid-template-columns:1fr;padding:0}.occasion-grid article{min-height:100px}.occasion-grid p{font-size:10px}
  .contact-band{min-height:420px}.contact-bg{background-image:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.91)),url('assets/images/hero-mobile.webp');background-position:center 68%}.contact-inner{display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:35px 0;gap:20px}.contact-intro h2{font-size:34px}.contact-cards{height:auto;grid-template-columns:1fr}.contact-cards>a,.contact-cards>div{min-height:72px}.contact-cards>a+*,.contact-cards>div+*{border-left:0;border-top:1px solid rgba(217,154,53,.25)}.contact-action{display:block;padding:0}.contact-action .btn{width:100%}.contact-action small{margin-top:8px}
  .footer{padding-bottom:70px}.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-brand{grid-column:1/-1}.footer-brand img{width:90px;height:90px}.footer-brand p{font-size:9.5px}.footer h3{font-size:9px}.footer a,.footer-contact span{font-size:9.5px}
  .whatsapp-float{display:none}
  .mobile-bottom{position:fixed;display:grid;grid-template-columns:1.12fr .88fr;gap:7px;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));height:66px;padding:6px;background:rgba(7,7,7,.88);border:1px solid rgba(217,154,53,.30);border-radius:17px;z-index:30;-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);box-shadow:0 -7px 30px rgba(0,0,0,.42),0 12px 34px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.035)}
  .mobile-bottom::before{content:"";position:absolute;left:20%;right:20%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(245,184,75,.7),transparent);opacity:.7;pointer-events:none}
  .mobile-bottom button,.mobile-bottom a{min-width:0;border:0;border-radius:12px;display:grid;place-items:center;text-align:center;font-size:10px;font-weight:900;letter-spacing:.075em;transition:transform .16s ease,filter .16s ease,background .16s ease,border-color .16s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .mobile-bottom button{position:relative;overflow:hidden;color:#12100d;background:linear-gradient(180deg,#f7c866 0%,#e3a13b 52%,#c98526 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 5px 16px rgba(217,154,53,.20)}
  .mobile-bottom button::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.22) 47%,transparent 68%);transform:translateX(-130%);transition:transform .5s ease;pointer-events:none}
  .mobile-bottom button:active::after{transform:translateX(130%)}
  .mobile-bottom a{color:#f6f4ef;background:linear-gradient(180deg,rgba(24,24,24,.98),rgba(9,9,9,.98));border:1px solid rgba(37,211,102,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
  .mobile-bottom button:active,.mobile-bottom a:active{transform:scale(.975)}
  .mobile-quote-content,.mobile-wa-content{display:flex;align-items:center;justify-content:center;gap:8px;line-height:1}
  .mobile-quote-icon{display:grid;place-items:center;width:19px;height:19px}
  .mobile-quote-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-bottom a .wa-icon{font-size:20px;color:#25D366;filter:drop-shadow(0 0 7px rgba(37,211,102,.2))}
  .footer{padding-bottom:calc(94px + env(safe-area-inset-bottom))}
  .modal-card{padding:24px 17px 20px}.modal-card h2{font-size:26px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}
}

@media (max-width:410px){.hero h1{font-size:40px}.hero{height:820px}.hero-features{grid-template-columns:1fr}.hero-features article:nth-child(3),.hero-features article:nth-child(4){display:none}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.featured-gallery{grid-template-columns:1fr;grid-auto-rows:150px}.featured-gallery .gallery-item:first-child{grid-row:auto}.featured-gallery .gallery-item:last-child{grid-column:auto}}


/* SEO SERVICE PAGES */
.seo-page{background:#080808}
.seo-hero{position:relative;min-height:620px;display:flex;align-items:end;overflow:hidden;border-bottom:1px solid var(--line)}
.seo-hero-media{position:absolute;inset:0}.seo-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04)}
.seo-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 42%,rgba(0,0,0,.26) 72%,rgba(0,0,0,.42) 100%),linear-gradient(0deg,#080808 0%,transparent 34%)}
.seo-hero .container{position:relative;z-index:2;padding:160px 0 86px}.seo-hero-copy{max-width:780px}.seo-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:66px;line-height:.98;margin:12px 0 20px;letter-spacing:-.03em}.seo-hero p{max-width:670px;font-size:16px;color:#d6d0c8;line-height:1.7;margin:0 0 28px}.seo-kicker{font-size:11px;letter-spacing:.2em;color:var(--amber);font-weight:800}.seo-breadcrumb{font-size:10px;color:#aaa;margin-bottom:20px}.seo-breadcrumb a{color:#d7d1c9}.seo-breadcrumb a:hover{color:var(--amber)}
.seo-content{padding:74px 0}.seo-two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:start}.seo-copy h2,.seo-section h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.05;margin:0 0 20px}.seo-copy p,.seo-section p{color:#b9b3ab;font-size:14px;line-height:1.85}.seo-copy strong{color:#fff}.seo-panel{border-top:1px solid var(--gold);padding-top:20px}.seo-panel h3{margin:0 0 16px;font-size:12px;letter-spacing:.12em;color:var(--amber)}.seo-service-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0}.seo-service-list li{padding:14px 8px 14px 22px;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px;color:#e3ded7;position:relative}.seo-service-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px rgba(245,184,75,.5);position:absolute;left:2px;top:20px}
.seo-dark-band{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:#0b0b0b;padding:68px 0}.seo-dark-band .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.seo-dark-band .tag{color:var(--amber);letter-spacing:.16em;font-size:10px;font-weight:800}.seo-dark-band h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.04;margin:10px 0 0}.seo-dark-band p{font-size:14px;line-height:1.85;color:#b9b3ab;margin:0}
.seo-faq{padding:72px 0}.seo-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.seo-faq details{border:1px solid rgba(217,154,53,.22);border-radius:8px;background:#0c0c0c;padding:17px 19px}.seo-faq summary{cursor:pointer;font-weight:700;font-size:13px;color:#f0ece5}.seo-faq details p{margin:12px 0 0;font-size:12px;line-height:1.7;color:#aaa49c}.seo-faq summary::marker{color:var(--amber)}
.seo-related{padding:62px 0;border-top:1px solid rgba(255,255,255,.07)}.seo-related h2{font-family:Georgia,'Times New Roman',serif;font-size:34px;margin:0 0 24px}.seo-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.seo-related a{min-height:110px;border:1px solid rgba(217,154,53,.27);border-radius:9px;padding:22px;display:flex;align-items:flex-end;background:linear-gradient(145deg,#111,#090909);font-weight:800;font-size:14px}.seo-related a:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}
.seo-cta{padding:75px 0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.78)),url('assets/images/hero-desktop.webp');background-size:cover;background-position:center;border-top:1px solid var(--line)}.seo-page .seo-cta{background-image:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.78)),url('../assets/images/hero-desktop.webp')}.seo-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.seo-cta h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1;margin:0 0 10px}.seo-cta p{margin:0;color:#c1bbb3;font-size:13px}.seo-page .site-header{position:absolute}.seo-page .site-header.scrolled{position:fixed}.seo-page .footer{border-top:1px solid var(--line-soft)}
.home-seo-links{padding:55px 0;border-top:1px solid var(--line-soft);background:#090909}.home-seo-links h2{font-family:Georgia,'Times New Roman',serif;font-size:34px;margin:0 0 9px}.home-seo-links>div>p{font-size:12px;color:#aaa59d;margin:0 0 24px}.home-seo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.home-seo-grid a{padding:17px 18px;border:1px solid rgba(217,154,53,.25);border-radius:8px;background:#0e0e0e;font-size:11px;font-weight:800;min-height:64px;display:flex;align-items:center}.home-seo-grid a:hover{border-color:var(--amber);color:var(--amber)}
@media(max-width:900px){.seo-hero{min-height:580px}.seo-hero h1{font-size:54px}.seo-two-col,.seo-dark-band .container{grid-template-columns:1fr;gap:36px}.seo-related-grid{grid-template-columns:1fr 1fr}.home-seo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.seo-hero{min-height:700px;align-items:end}.seo-hero-media::after{background:linear-gradient(180deg,rgba(0,0,0,.52),rgba(0,0,0,.45) 35%,#080808 88%)}.seo-hero .container{padding:125px 0 62px}.seo-hero h1{font-size:45px}.seo-hero p{font-size:13px}.seo-content,.seo-faq{padding:52px 0}.seo-copy h2,.seo-section h2,.seo-dark-band h2{font-size:34px}.seo-service-list{grid-template-columns:1fr}.seo-dark-band{padding:50px 0}.seo-faq-grid,.seo-related-grid{grid-template-columns:1fr}.seo-cta-inner{display:block}.seo-cta h2{font-size:34px}.seo-cta .btn{margin-top:22px}.home-seo-grid{grid-template-columns:1fr}.home-seo-links h2{font-size:30px}}


/* FACEBOOK REVIEWS */
.reviews-section{padding:0 0 30px;background:#070707}
.reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;padding:0 20px 20px}
.reviews-heading .section-title{padding-left:0;justify-content:flex-start;border:0;height:auto;gap:10px}
.reviews-heading .section-title::before,.reviews-heading .section-title::after{display:none}
.reviews-title h2{font-size:12px}
.reviews-summary{margin:10px 0 0;color:#b9b4ad;font-size:11px;display:flex;align-items:center;gap:7px}
.reviews-summary strong{color:#f6f4ef}
.facebook-mark,.facebook-mini{display:inline-grid;place-items:center;background:#1877f2;color:#fff;font-family:Arial,sans-serif;font-weight:900;border-radius:50%;font-style:normal;line-height:1}
.facebook-mark{width:22px;height:22px;font-size:15px}
.facebook-mini{width:15px;height:15px;font-size:10px;flex:0 0 auto}
.reviews-more{flex:0 0 auto;min-width:218px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 20px}
.review-card{position:relative;min-height:210px;padding:20px 20px 18px;border:1px solid rgba(217,154,53,.3);border-radius:10px;background:radial-gradient(circle at 12% 0%,rgba(217,154,53,.09),transparent 38%),#0b0b0b;overflow:hidden}
.review-card::after{content:'“';position:absolute;right:15px;top:0;font-family:Georgia,serif;font-size:72px;line-height:1;color:rgba(245,184,75,.10);pointer-events:none}
.review-card.featured-review{border-color:rgba(245,184,75,.62);box-shadow:0 0 35px rgba(217,154,53,.07)}
.review-card-top{display:flex;align-items:center;gap:12px;margin-bottom:16px;position:relative;z-index:1}
.review-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(245,184,75,.7);background:#17130e;color:var(--amber);font-size:11px;font-weight:900;letter-spacing:.04em;flex:0 0 auto}
.review-card h3{font-size:12px;margin:0 0 5px;color:#f6f4ef}
.review-card-top p{display:flex;align-items:center;gap:6px;margin:0;color:#a9a49d;font-size:9px}
.review-card blockquote{position:relative;z-index:1;margin:0;color:#d3cec7;font-size:10.5px;line-height:1.67;font-style:normal}
.reviews-mobile-action{display:none}

@media(max-width:900px){
  .reviews-grid{grid-template-columns:1fr 1fr}.review-card:last-child{grid-column:1/-1}.reviews-heading{align-items:center}
}
@media(max-width:760px){
  .reviews-section{padding-bottom:26px}.reviews-heading{padding:0 0 16px}.reviews-heading .reviews-more{display:none}.reviews-summary{font-size:10px;flex-wrap:wrap}.reviews-grid{grid-template-columns:1fr;padding:0;gap:10px}.review-card:last-child{grid-column:auto}.review-card{min-height:0;padding:18px}.review-card blockquote{font-size:10.5px}.reviews-mobile-action{display:block;padding-top:14px}.reviews-mobile-action .btn{width:100%}
}

/* LOGO — MAYOR PROTAGONISMO */
.site-header{
  height:94px;
}
.nav-shell{
  width:min(1280px,calc(100% - 32px));
  grid-template-columns:165px 1fr 170px;
}
.brand{
  height:94px;
  position:relative;
  z-index:5;
  overflow:visible;
}
.brand img{
  width:128px;
  height:128px;
  transform:translateY(12px);
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.72)) drop-shadow(0 0 12px rgba(245,184,75,.24));
  transition:width .38s cubic-bezier(.22,.61,.36,1),height .38s cubic-bezier(.22,.61,.36,1),transform .38s cubic-bezier(.22,.61,.36,1),filter .32s ease;
}
.brand:hover img{
  transform:translateY(12px) scale(1.035);
  filter:drop-shadow(0 9px 18px rgba(0,0,0,.78)) drop-shadow(0 0 18px rgba(245,184,75,.34));
}
.site-header.scrolled .brand:hover img{
  transform:translateY(3px) scale(1.015);
  filter:drop-shadow(0 5px 11px rgba(0,0,0,.6)) drop-shadow(0 0 10px rgba(245,184,75,.2));
}
.footer-brand img{
  width:104px;
  height:104px;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.65)) drop-shadow(0 0 8px rgba(245,184,75,.16));
}

@media (max-width:1100px){
  .nav-shell{grid-template-columns:135px 1fr 145px}
  .brand img{width:108px;height:108px;transform:translateY(8px)}
  .brand:hover img{transform:translateY(8px) scale(1.03)}
}

@media (max-width:760px){
  .site-header{height:82px}
  .nav-shell{height:82px;grid-template-columns:1fr auto}
  .brand{height:82px}
  .brand img{width:98px;height:98px;transform:translateY(8px)}
  .brand:hover img{transform:translateY(8px) scale(1.02)}
  .site-header.scrolled .brand:hover img{transform:translateY(2px) scale(1.01)}
  .main-nav{padding-top:108px}
  .hero-inner{padding-top:128px}
  .footer-brand img{width:108px;height:108px}
}

@media (max-width:410px){
  .brand img{width:92px;height:92px}
}

/* PREMIUM MOTION SYSTEM — subtle cinematic reveals */
@keyframes jashHeroIn{
  from{opacity:0;transform:translate3d(0,24px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes jashGlowIn{
  0%{box-shadow:0 0 0 rgba(245,184,75,0)}
  45%{box-shadow:0 0 32px rgba(245,184,75,.16)}
  100%{box-shadow:0 0 0 rgba(245,184,75,0)}
}

.motion-ready .hero .eyebrow,
.motion-ready .hero h1,
.motion-ready .hero-copy>p,
.motion-ready .hero-actions,
.motion-ready .hero-features article{
  opacity:0;
  transform:translate3d(0,20px,0);
}
.motion-ready.motion-start .hero .eyebrow{animation:jashHeroIn .72s cubic-bezier(.22,.61,.36,1) .08s forwards}
.motion-ready.motion-start .hero h1{animation:jashHeroIn .86s cubic-bezier(.22,.61,.36,1) .18s forwards}
.motion-ready.motion-start .hero-copy>p{animation:jashHeroIn .8s cubic-bezier(.22,.61,.36,1) .31s forwards}
.motion-ready.motion-start .hero-actions{animation:jashHeroIn .78s cubic-bezier(.22,.61,.36,1) .42s forwards}
.motion-ready.motion-start .hero-features article:nth-child(1){animation:jashHeroIn .68s cubic-bezier(.22,.61,.36,1) .54s forwards}
.motion-ready.motion-start .hero-features article:nth-child(2){animation:jashHeroIn .68s cubic-bezier(.22,.61,.36,1) .62s forwards}
.motion-ready.motion-start .hero-features article:nth-child(3){animation:jashHeroIn .68s cubic-bezier(.22,.61,.36,1) .70s forwards}
.motion-ready.motion-start .hero-features article:nth-child(4){animation:jashHeroIn .68s cubic-bezier(.22,.61,.36,1) .78s forwards}

.motion-ready.motion-active .reveal-up{
  opacity:0;
  transform:translate3d(0,26px,0);
  transition:opacity .72s ease,transform .82s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform;
}
.motion-ready.motion-active .reveal-up.is-visible{opacity:1;transform:translate3d(0,0,0)}

.motion-ready.motion-active .reveal-media{
  opacity:.22;
  clip-path:inset(0 100% 0 0);
  transform:translate3d(0,10px,0);
  transition:clip-path 1s cubic-bezier(.22,.61,.36,1),opacity .68s ease,transform .9s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:clip-path,opacity,transform;
}
.motion-ready.motion-active .reveal-media.is-visible{opacity:1;clip-path:inset(0 0 0 0);transform:translate3d(0,0,0)}
.motion-ready.motion-active .reveal-media.is-visible.glow-on-entry{animation:jashGlowIn 1.15s ease var(--reveal-delay,0ms) both}

/* Section dividers draw themselves as the heading enters the viewport. */
.section-title{position:relative}
.section-title::before,.section-title::after{
  content:"";
  height:1px;
  flex:1 1 70px;
  max-width:86px;
  background:linear-gradient(90deg,transparent,rgba(245,184,75,.72));
  transform:scaleX(0);
  transform-origin:right center;
  opacity:0;
  transition:transform .8s cubic-bezier(.22,.61,.36,1),opacity .45s ease;
}
.section-title::after{background:linear-gradient(90deg,rgba(245,184,75,.72),transparent);transform-origin:left center}
.section-title.is-visible::before,.section-title.is-visible::after{transform:scaleX(1);opacity:1}
.reviews-heading .section-title::before,.reviews-heading .section-title::after{display:none}

/* Micro-interactions remain restrained: a little depth, light, and image motion. */
.service-card,.gallery-item,.review-card,.occasion-grid article,.benefits-grid article,.home-seo-grid a,.seo-related a{
  transition:transform .35s cubic-bezier(.22,.61,.36,1),border-color .35s ease,box-shadow .35s ease;
}
@media (hover:hover){
  .service-card:hover,.gallery-item:hover,.review-card:hover,.occasion-grid article:hover,.benefits-grid article:hover,.home-seo-grid a:hover,.seo-related a:hover{
    transform:translateY(-4px);
    border-color:rgba(245,184,75,.68);
    box-shadow:0 14px 34px rgba(0,0,0,.34),0 0 24px rgba(245,184,75,.07);
  }
}

/* Parallax is driven by a tiny CSS variable update in JS. */
.hero{background-position:center calc(50% + var(--hero-parallax,0px))}
.contact-bg{transform:translate3d(0,var(--contact-parallax,0px),0) scale(1.04);will-change:transform}
.seo-hero-media img{transform:translate3d(0,var(--seo-parallax,0px),0) scale(1.045);will-change:transform}

/* SEO-page hero copy gets the same refined entrance without changing layout. */
.motion-ready .seo-hero-copy>*{opacity:0;transform:translate3d(0,22px,0)}
.motion-ready.motion-start .seo-hero-copy>*:nth-child(1){animation:jashHeroIn .7s cubic-bezier(.22,.61,.36,1) .08s forwards}
.motion-ready.motion-start .seo-hero-copy>*:nth-child(2){animation:jashHeroIn .82s cubic-bezier(.22,.61,.36,1) .18s forwards}
.motion-ready.motion-start .seo-hero-copy>*:nth-child(3){animation:jashHeroIn .82s cubic-bezier(.22,.61,.36,1) .31s forwards}
.motion-ready.motion-start .seo-hero-copy>*:nth-child(4){animation:jashHeroIn .76s cubic-bezier(.22,.61,.36,1) .42s forwards}

@media (max-width:760px){
  .section-title::before,.section-title::after{max-width:34px}
  .motion-ready.motion-active .reveal-up{transform:translate3d(0,18px,0)}
  .hero{background-position:center top}
  .contact-bg,.seo-hero-media img{transform:none!important}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .motion-ready .hero .eyebrow,.motion-ready .hero h1,.motion-ready .hero-copy>p,.motion-ready .hero-actions,.motion-ready .hero-features article,
  .motion-ready .seo-hero-copy>*,.motion-ready .reveal-up,.motion-ready.motion-active .reveal-media{
    opacity:1!important;transform:none!important;clip-path:none!important;animation:none!important;transition:none!important
  }
  .section-title::before,.section-title::after{transform:scaleX(1);opacity:.7;transition:none}
  .contact-bg,.seo-hero-media img{transform:none!important}
}


/* STEP 8 — Cinematic hover for service cards */
.service-card{
  isolation:isolate;
  transition:transform .42s cubic-bezier(.22,.61,.36,1),border-color .42s ease,box-shadow .42s ease;
}
.service-card img{
  will-change:transform,filter;
  transform:scale(1.001);
  filter:saturate(.92) contrast(1.02) brightness(.94);
  transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .55s ease;
}
.service-overlay{
  z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.19) 38%,rgba(0,0,0,.88) 100%),
    linear-gradient(90deg,rgba(0,0,0,.18),transparent 58%);
  transition:background .48s ease,opacity .48s ease;
}
.service-content{
  z-index:2;
  overflow:hidden;
  padding-right:48px;
  transition:transform .46s cubic-bezier(.22,.61,.36,1),background .46s ease,border-color .46s ease;
}
.service-content::before{
  content:"";
  position:absolute;
  left:15px;
  bottom:8px;
  width:0;
  height:1px;
  background:linear-gradient(90deg,var(--amber),rgba(245,184,75,.22));
  box-shadow:0 0 10px rgba(245,184,75,.32);
  transition:width .48s cubic-bezier(.22,.61,.36,1);
}
.service-content::after{
  content:"↗";
  position:absolute;
  right:16px;
  bottom:17px;
  color:var(--amber);
  font-size:17px;
  line-height:1;
  opacity:0;
  transform:translate(-7px,7px);
  transition:opacity .35s ease,transform .45s cubic-bezier(.22,.61,.36,1);
}
.service-icon{
  position:relative;
  transition:transform .45s cubic-bezier(.22,.61,.36,1),border-color .35s ease,box-shadow .45s ease,background .35s ease;
}
.service-card h3{
  transition:transform .45s cubic-bezier(.22,.61,.36,1),color .35s ease,text-shadow .35s ease;
}
.service-card p{
  transition:transform .45s cubic-bezier(.22,.61,.36,1),color .35s ease,opacity .35s ease;
}

@media (hover:hover) and (pointer:fine){
  .service-card:hover{
    transform:translateY(-5px);
    border-color:rgba(245,184,75,.82);
    box-shadow:0 18px 42px rgba(0,0,0,.46),0 0 0 1px rgba(245,184,75,.08),0 0 28px rgba(245,184,75,.09);
  }
  .service-card:hover img{
    transform:scale(1.048);
    filter:saturate(1.06) contrast(1.07) brightness(.79);
  }
  .service-card:hover .service-overlay{
    background:
      linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.34) 42%,rgba(0,0,0,.95) 100%),
      linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.05) 64%);
  }
  .service-card:hover .service-content{
    transform:translateY(-4px);
    background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(8,8,8,.70) 72%,rgba(8,8,8,.42));
    border-top-color:rgba(245,184,75,.16);
  }
  .service-card:hover .service-content::before{width:calc(100% - 64px)}
  .service-card:hover .service-content::after{opacity:1;transform:translate(0,0)}
  .service-card:hover .service-icon{
    transform:translateY(-2px) scale(1.04);
    border-color:rgba(245,184,75,.88);
    background:rgba(245,184,75,.055);
    box-shadow:0 0 19px rgba(245,184,75,.17);
  }
  .service-card:hover h3{
    transform:translateY(-2px);
    color:#fff7e9;
    text-shadow:0 0 18px rgba(245,184,75,.12);
  }
  .service-card:hover p{
    transform:translateY(-1px);
    color:#d8d2ca;
  }
}

@media (max-width:760px){
  .service-content{padding-right:15px}
  .service-content::before,.service-content::after{display:none}
}

@media (max-width:360px){
  .mobile-bottom{left:8px;right:8px;gap:5px;height:64px;padding:5px;border-radius:15px}
  .mobile-bottom button,.mobile-bottom a{font-size:9.4px;letter-spacing:.055em}
  .mobile-quote-content,.mobile-wa-content{gap:6px}
}

/* STEP 13 — PREMIUM QUOTE WIZARD */
.quote-modal{width:min(880px,calc(100% - 28px));max-width:880px;max-height:94vh;border:0;padding:0;background:transparent;color:var(--white);overflow:visible}
.quote-modal::backdrop{background:rgba(0,0,0,.84);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.quote-wizard{position:relative;max-height:92vh;overflow-y:auto;overscroll-behavior:contain;padding:30px 32px 28px;border:1px solid rgba(217,154,53,.42);border-radius:20px;background:radial-gradient(circle at 92% 0%,rgba(245,184,75,.09),transparent 26%),linear-gradient(145deg,#121212 0%,#080808 58%,#050505 100%);box-shadow:0 30px 100px rgba(0,0,0,.78),inset 0 1px 0 rgba(255,255,255,.035);scrollbar-width:thin;scrollbar-color:rgba(217,154,53,.48) #090909}
.quote-wizard::-webkit-scrollbar{width:8px}.quote-wizard::-webkit-scrollbar-track{background:#090909}.quote-wizard::-webkit-scrollbar-thumb{background:rgba(217,154,53,.42);border-radius:8px}
.quote-wizard::before{content:"";position:absolute;left:26px;right:26px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(245,184,75,.9),transparent);opacity:.72;pointer-events:none}
.quote-wizard .modal-close{position:absolute;right:18px;top:15px;width:38px;height:38px;border:1px solid rgba(255,255,255,.1);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.025);color:#bdb6ad;font-size:23px;line-height:1;cursor:pointer;z-index:4;transition:.2s ease}
.quote-wizard .modal-close:hover{color:#fff;border-color:rgba(217,154,53,.48);background:rgba(217,154,53,.08);transform:rotate(4deg)}
.quote-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding-right:48px}
.quote-head .eyebrow{margin-bottom:7px}.quote-head h2{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.03;margin:0;letter-spacing:-.025em}
.quote-step-count{flex:0 0 auto;margin-top:22px;padding:7px 10px;border:1px solid rgba(217,154,53,.2);border-radius:999px;background:rgba(255,255,255,.025);font-size:9px;letter-spacing:.08em;color:#918a81}.quote-step-count strong{color:var(--amber);font-size:11px}
.quote-progress{position:relative;margin:24px 0 28px;padding-top:9px}
.quote-progress-track{position:absolute;left:8px;right:8px;top:15px;height:1px;background:rgba(255,255,255,.1);overflow:hidden}.quote-progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold),var(--amber));box-shadow:0 0 10px rgba(245,184,75,.35);transition:width .35s cubic-bezier(.22,.61,.36,1)}
.quote-progress-items{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quote-progress-items>span{display:flex;align-items:center;gap:8px;color:#716c66;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;transition:color .25s ease}.quote-progress-items>span:nth-child(2){justify-content:center}.quote-progress-items>span:nth-child(3){justify-content:flex-end}.quote-progress-items b{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);background:#0a0a0a;color:#77716a;font-size:8px;transition:.25s ease;box-shadow:0 0 0 5px #0b0b0b}.quote-progress-items>span.is-active,.quote-progress-items>span.is-complete{color:#ddd7cf}.quote-progress-items>span.is-active b{border-color:var(--amber);color:#111;background:linear-gradient(180deg,#f7c866,#d9962f);box-shadow:0 0 0 5px #0b0b0b,0 0 18px rgba(245,184,75,.2)}.quote-progress-items>span.is-complete b{border-color:rgba(217,154,53,.66);color:var(--amber);background:#111}
.quote-step{animation:quoteStepIn .32s cubic-bezier(.22,.61,.36,1) both}.quote-step[hidden]{display:none!important}@keyframes quoteStepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.quote-step-intro{margin-bottom:20px}.quote-step-intro>span{display:block;color:var(--amber);font-size:9px;font-weight:900;letter-spacing:.16em;margin-bottom:5px}.quote-step-intro h3{font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1.06;margin:0 0 7px}.quote-step-intro p{margin:0;color:#8f8982;font-size:11px;line-height:1.55;max-width:620px}
.event-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.event-type-option{position:relative;min-height:88px;padding:14px 14px 12px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008));color:#f2eee8;text-align:left;cursor:pointer;overflow:hidden;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.event-type-option::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--amber));transition:right .3s ease}.event-type-option:hover{transform:translateY(-2px);border-color:rgba(217,154,53,.38);background:rgba(217,154,53,.045)}.event-type-option.is-selected{border-color:rgba(245,184,75,.74);background:radial-gradient(circle at 100% 0%,rgba(245,184,75,.13),transparent 52%),#0e0d0c;box-shadow:0 8px 26px rgba(0,0,0,.25),inset 0 0 0 1px rgba(245,184,75,.05)}.event-type-option.is-selected::after{right:0}.event-type-number{position:absolute;right:10px;top:9px;color:rgba(245,184,75,.38);font-size:8px;letter-spacing:.08em}.event-type-option strong,.event-type-option small{display:block}.event-type-option strong{font-size:12px;margin:13px 0 5px}.event-type-option small{font-size:8.8px;color:#827c74;line-height:1.35}.event-type-option.is-selected small{color:#bdb6ad}
.quote-event-fields{margin-top:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-grid label{font-size:9px;font-weight:800;letter-spacing:.055em;color:#aaa39a;display:flex;flex-direction:column;gap:6px;text-transform:uppercase}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid textarea{width:100%;border-radius:9px;border:1px solid rgba(255,255,255,.1);background:#090909;color:#f5f2ec;padding:12px 13px;outline:none;font:inherit;font-size:11px;text-transform:none;letter-spacing:0;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.form-grid textarea{resize:vertical;min-height:86px}.form-grid input:hover,.form-grid textarea:hover{border-color:rgba(217,154,53,.25)}.form-grid input:focus,.form-grid textarea:focus{border-color:rgba(245,184,75,.74);background:#0c0c0c;box-shadow:0 0 0 3px rgba(245,184,75,.07)}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#5e5a55}
.quote-field-error{min-height:14px;margin:7px 0 0;color:#e6a86e;font-size:9px;line-height:1.35}
.service-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.service-chip{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#0b0b0b;color:#aaa39a;font-size:9.5px;font-weight:800;letter-spacing:.025em;cursor:pointer;transition:.18s ease}.service-chip:hover{border-color:rgba(217,154,53,.45);color:#ece7df;transform:translateY(-1px)}.service-chip.is-selected{color:#17130d;border-color:var(--amber);background:linear-gradient(180deg,#f5c66a,#d99732);box-shadow:0 5px 16px rgba(217,154,53,.13)}.service-chip.is-selected::before{content:"✓";margin-right:6px;font-size:9px}.quote-selection-note{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:13px 1px 0;color:#8b857d}.quote-selection-note>span{color:#c4bdb4;font-size:9px;font-weight:800}.quote-selection-note small{font-size:8.5px}
.quote-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.065)}.quote-nav-end{justify-content:flex-end}.quote-next{min-width:196px}.quote-back{height:40px;padding:0 8px;border:0;background:none;color:#8e8880;font-size:9.5px;font-weight:800;letter-spacing:.06em;cursor:pointer;transition:.2s}.quote-back span{font-size:17px;vertical-align:-1px;margin-right:4px}.quote-back:hover{color:#fff;transform:translateX(-2px)}
.quote-contact-fields{margin-bottom:15px}.quote-summary{margin-top:6px;padding:17px 18px;border:1px solid rgba(217,154,53,.24);border-radius:12px;background:linear-gradient(145deg,rgba(217,154,53,.045),rgba(255,255,255,.012));position:relative;overflow:hidden}.quote-summary::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--amber),rgba(217,154,53,.15))}.quote-summary-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:13px}.quote-summary-head>span{font-size:8.5px;font-weight:900;letter-spacing:.14em;color:var(--amber)}.quote-summary-head button{border:0;background:none;padding:0;color:#989189;font-size:8.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.quote-summary-head button:hover{color:#fff}.quote-summary dl{margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.quote-summary dl>div{min-width:0;padding:0 11px;border-right:1px solid rgba(255,255,255,.07)}.quote-summary dl>div:first-child{padding-left:0}.quote-summary dl>div:nth-child(4){border-right:0}.quote-summary dl>.summary-services{grid-column:1/-1;border-right:0;border-top:1px solid rgba(255,255,255,.07);padding:12px 0 0;margin-top:12px}.quote-summary dt{font-size:8px;color:#69645f;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.quote-summary dd{margin:0;color:#e6e0d8;font-size:10px;line-height:1.45;word-break:break-word}.quote-summary .summary-services dd{color:#bfb8af}
.quote-final-nav{align-items:stretch}.btn-whatsapp{min-width:245px;height:42px;background:linear-gradient(180deg,#2bd66b,#20b858);color:#07150c;border:1px solid rgba(77,241,139,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 22px rgba(37,211,102,.13)}.btn-whatsapp:hover{filter:brightness(1.04);transform:translateY(-1px)}.btn-whatsapp .wa-icon{font-size:18px;color:#07150c}.btn-whatsapp>span{margin:0 9px 0 8px}.btn-whatsapp>b{font-size:17px;font-weight:400}.modal-submit{width:auto;margin:0}.quote-privacy{display:block;text-align:right;margin-top:8px;color:#6e6963;font-size:8px;line-height:1.45}

@media(max-width:760px){
  .quote-modal{width:calc(100% - 18px);max-height:96dvh;margin:auto}.quote-wizard{max-height:94dvh;border-radius:17px;padding:23px 15px 18px}.quote-wizard::before{left:18px;right:18px}.quote-wizard .modal-close{right:11px;top:10px;width:34px;height:34px;font-size:21px}.quote-head{padding-right:33px;gap:10px}.quote-head h2{font-size:25px;max-width:270px}.quote-step-count{display:none}.quote-progress{margin:19px 0 23px}.quote-progress-items>span{font-size:7.4px;letter-spacing:.045em;gap:5px}.quote-progress-items b{width:25px;height:25px;font-size:7px;box-shadow:0 0 0 4px #0b0b0b}.quote-progress-track{top:13px}.quote-step-intro{margin-bottom:15px}.quote-step-intro h3{font-size:22px}.quote-step-intro p{font-size:10px}.event-type-grid{grid-template-columns:1fr 1fr;gap:7px}.event-type-option{min-height:80px;padding:11px}.event-type-option strong{font-size:11px;margin-top:12px}.event-type-option small{font-size:8px}.form-grid{grid-template-columns:1fr;gap:9px}.form-grid .full{grid-column:auto}.form-grid input,.form-grid textarea{font-size:16px;padding:11px 12px}.quote-event-fields{grid-template-columns:1fr 1fr}.quote-event-fields .full{grid-column:1/-1}.service-chip-grid{gap:6px}.service-chip{min-height:36px;padding:0 11px;font-size:8.8px}.quote-selection-note{align-items:flex-start;flex-direction:column;gap:3px}.quote-nav{margin-top:18px;padding-top:14px}.quote-next{min-width:0}.quote-nav .btn{height:40px;padding:0 15px;font-size:9px}.quote-back{padding-left:0}.quote-summary{padding:14px 13px}.quote-summary dl{grid-template-columns:1fr 1fr;row-gap:12px}.quote-summary dl>div{padding:0 8px}.quote-summary dl>div:nth-child(2){border-right:0}.quote-summary dl>div:nth-child(3){padding-left:0}.quote-summary dl>.summary-services{grid-column:1/-1;padding-top:11px;margin-top:0}.quote-final-nav{gap:8px}.quote-final-nav .btn-whatsapp{min-width:0;flex:1;padding:0 10px}.btn-whatsapp>span{margin:0 5px}.quote-privacy{text-align:left;font-size:7.6px}
}
@media(max-width:390px){.quote-head h2{font-size:23px}.quote-progress-items>span{font-size:0}.quote-progress-items b{font-size:7px}.event-type-grid{grid-template-columns:1fr 1fr}.event-type-option{min-height:74px}.event-type-option small{display:none}.event-type-option strong{margin-top:16px}.quote-nav .btn{padding:0 11px}.btn-whatsapp .wa-icon{font-size:16px}}
.quote-wizard button:focus-visible,.quote-wizard input:focus-visible,.quote-wizard textarea:focus-visible{outline:2px solid rgba(245,184,75,.85);outline-offset:2px}

/* =========================================================
   STEP 14 · CINEMATIC SECTION TRANSITIONS
   Continuous visual flow without adding new sections.
   ========================================================= */

/* Remove the "stacked boxes" feeling and let adjacent blocks blend. */
.section-rule{
  border-bottom:0;
  background:#060606;
}

.hero{
  border-bottom:0;
}
.hero-shade{
  height:42%;
  background:linear-gradient(0deg,#060606 0%,rgba(6,6,6,.96) 13%,rgba(6,6,6,.72) 34%,rgba(6,6,6,.2) 70%,transparent 100%);
}

.services-section,
.featured-section,
.process-section,
.reviews-section,
.home-seo-links,
.contact-band{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.services-section>.container,
.featured-section>.container,
.process-section>.container,
.reviews-section>.container,
.home-seo-links>.container,
.contact-band>.container{
  position:relative;
  z-index:2;
}

/* Hero -> services: no hard line, just a soft night-to-black dissolve. */
.services-section{
  padding-top:16px;
  background:
    radial-gradient(ellipse 70% 150px at 72% 0%,rgba(245,184,75,.055),transparent 67%),
    linear-gradient(180deg,#060606 0%,#050505 76%,#070707 100%);
}
.services-section::before{
  content:"";
  position:absolute;
  z-index:0;
  left:0;right:0;top:0;
  height:90px;
  background:linear-gradient(180deg,rgba(6,6,6,.96),rgba(6,6,6,.45) 55%,transparent);
  pointer-events:none;
}
.services-section::after{
  content:"";
  position:absolute;
  z-index:0;
  left:8%;right:8%;bottom:-1px;
  height:78px;
  background:radial-gradient(ellipse at center,rgba(217,154,53,.055),transparent 68%);
  pointer-events:none;
}

/* Services -> gallery: a photographic atmosphere emerges from the black. */
.featured-section{
  margin-top:-1px;
  padding:38px 0 42px;
  background:#050505;
}
.featured-section::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-70px 0 -80px;
  background:
    linear-gradient(180deg,#050505 0%,rgba(5,5,5,.91) 24%,rgba(5,5,5,.73) 54%,#060606 100%),
    url('assets/images/hero-desktop.webp') center 69%/cover no-repeat;
  opacity:.72;
  filter:saturate(.72) contrast(1.04);
  pointer-events:none;
}
.featured-section::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,5,5,.72),transparent 28%,transparent 74%,rgba(5,5,5,.68)),
    linear-gradient(180deg,rgba(5,5,5,.7),transparent 32%,rgba(6,6,6,.82) 88%,#060606 100%);
  pointer-events:none;
}
.featured-section .featured-wrap{z-index:2}

/* Gallery -> process: increase negative space and dissolve the photo away. */
.process-section{
  margin-top:-1px;
  padding:38px 0 42px;
  background:
    radial-gradient(ellipse 55% 120px at 50% 0%,rgba(245,184,75,.055),transparent 72%),
    linear-gradient(180deg,#060606 0%,#080808 52%,#060606 100%);
}
.process-section::before{
  content:"";
  position:absolute;
  z-index:0;
  top:0;left:5%;right:5%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,154,53,.18),transparent);
  opacity:.65;
}
.process-section::after{
  content:"";
  position:absolute;
  z-index:0;
  left:0;right:0;bottom:-1px;height:90px;
  background:linear-gradient(180deg,transparent,#070707 86%);
  pointer-events:none;
}

/* Process -> reviews: transition through light, not another divider. */
.reviews-section{
  margin-top:-1px;
  padding:34px 0 52px;
  background:
    radial-gradient(circle at 18% 16%,rgba(217,154,53,.06),transparent 28%),
    radial-gradient(circle at 83% 82%,rgba(245,184,75,.035),transparent 25%),
    #070707;
}
.reviews-section::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0 0 auto;
  height:105px;
  background:linear-gradient(180deg,#060606 0%,rgba(6,6,6,.72) 32%,transparent 100%);
  pointer-events:none;
}
.reviews-section::after{
  content:"";
  position:absolute;
  z-index:0;
  left:0;right:0;bottom:-1px;height:90px;
  background:linear-gradient(180deg,transparent,#090909 92%);
  pointer-events:none;
}

/* SEO links remain the same content but feel like the quiet outro before contact. */
.home-seo-links{
  margin-top:-1px;
  padding:66px 0 82px;
  border-top:0;
  background:
    radial-gradient(ellipse 50% 160px at 78% 0%,rgba(217,154,53,.04),transparent 70%),
    linear-gradient(180deg,#090909 0%,#080808 64%,#070707 100%);
}
.home-seo-links::after{
  content:"";
  position:absolute;
  z-index:0;
  left:0;right:0;bottom:0;height:125px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.46));
  pointer-events:none;
}

/* Contact starts inside the darkness, then the image slowly appears. */
.contact-band{
  margin-top:-1px;
  min-height:205px;
  border-bottom:0;
  background:#050505;
}
.contact-bg{
  inset:-32px 0 0;
  background-image:
    linear-gradient(180deg,#070707 0%,rgba(7,7,7,.9) 15%,rgba(0,0,0,.57) 52%,rgba(0,0,0,.82) 100%),
    linear-gradient(90deg,rgba(0,0,0,.91),rgba(0,0,0,.48) 50%,rgba(0,0,0,.82)),
    url('assets/images/hero-desktop.webp');
  background-size:cover;
  background-position:center 76%;
  filter:saturate(.76) contrast(1.05);
}
.contact-band::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0 0 auto;
  height:74px;
  background:linear-gradient(180deg,#070707 0%,rgba(7,7,7,.72) 46%,transparent 100%);
  pointer-events:none;
}
.contact-inner{
  min-height:205px;
  padding-top:28px;
  padding-bottom:24px;
}

/* Let the eye travel through the page instead of hitting every section edge. */
.services-section .choose-title{margin-top:20px}
.featured-heading,.reviews-heading{position:relative}
.featured-heading::before,.reviews-heading::before{
  content:"";
  position:absolute;
  left:0;top:-16px;width:58px;height:1px;
  background:linear-gradient(90deg,var(--amber),transparent);
  opacity:.58;
}

/* Internal SEO pages get the same cinematic continuity. */
.seo-hero{border-bottom:0}
.seo-content,
.seo-dark-band,
.seo-faq,
.seo-related,
.seo-cta{position:relative;isolation:isolate;overflow:hidden}
.seo-content{background:linear-gradient(180deg,#080808,#090909 76%,#080808);padding-top:88px}
.seo-content::before{content:"";position:absolute;inset:0 0 auto;height:110px;background:linear-gradient(180deg,#080808,transparent);z-index:0;pointer-events:none}
.seo-content>.container,.seo-dark-band>.container,.seo-faq>.container,.seo-related>.container,.seo-cta>.container{position:relative;z-index:2}
.seo-dark-band{border-top:0;border-bottom:0;background:radial-gradient(ellipse 50% 150px at 75% 0%,rgba(217,154,53,.045),transparent 72%),linear-gradient(180deg,#080808,#0b0b0b,#080808)}
.seo-faq{background:linear-gradient(180deg,#080808,#070707);padding-top:82px}
.seo-related{border-top:0;background:linear-gradient(180deg,#070707,#080808);padding-top:76px}
.seo-cta{border-top:0;margin-top:-1px}
.seo-cta::before{content:"";position:absolute;z-index:1;left:0;right:0;top:0;height:88px;background:linear-gradient(180deg,#080808,transparent);pointer-events:none}

@media (max-width:760px){
  .hero-shade{height:38%}
  .services-section{padding-top:8px}
  .featured-section{padding:30px 0 34px}
  .featured-section::before{background:linear-gradient(180deg,#050505 0%,rgba(5,5,5,.9) 25%,rgba(5,5,5,.72) 58%,#060606 100%),url('assets/images/hero-mobile.webp') center 67%/cover no-repeat;opacity:.62}
  .process-section{padding:30px 0 34px}
  .reviews-section{padding:28px 0 42px}
  .home-seo-links{padding:54px 0 66px}
  .contact-band{min-height:450px}
  .contact-bg{inset:-25px 0 0;background-image:linear-gradient(180deg,#070707 0%,rgba(7,7,7,.84) 13%,rgba(0,0,0,.6) 48%,rgba(0,0,0,.91) 100%),url('assets/images/hero-mobile.webp');background-position:center 66%}
  .contact-inner{min-height:450px;padding-top:58px;padding-bottom:45px}
  .featured-heading::before,.reviews-heading::before{top:-12px;width:44px}
  .seo-content{padding-top:62px}
  .seo-faq,.seo-related{padding-top:58px}
}

@media (prefers-reduced-motion:reduce){
  .featured-section::before,.contact-bg{transform:none!important}
}


/* STEP 15 — Editorial bento gallery + cinematic lightbox */
.featured-wrap{
  grid-template-columns:190px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.featured-heading{
  position:sticky;
  top:104px;
  padding-top:14px;
}
.featured-gallery{
  height:430px;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:10px;
}
.gallery-item{
  position:relative;
  min-width:0;
  min-height:0;
  border:1px solid rgba(217,154,53,.24);
  border-radius:12px;
  overflow:hidden;
  isolation:isolate;
  padding:0;
  background:#090909;
  cursor:zoom-in;
  box-shadow:0 12px 28px rgba(0,0,0,.2);
}
.gallery-item--hero{grid-column:1 / span 6;grid-row:1 / span 2}
.gallery-item--wide{grid-column:7 / span 4;grid-row:1}
.gallery-item--small-a{grid-column:11 / span 2;grid-row:1}
.gallery-item--small-b{grid-column:7 / span 2;grid-row:2}
.gallery-item--medium{grid-column:9 / span 4;grid-row:2}
.gallery-item::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.03) 35%,rgba(0,0,0,.72) 100%);
  opacity:.8;
  transition:opacity .45s ease,background .45s ease;
  pointer-events:none;
}
.gallery-item::before{
  content:"";
  position:absolute;
  z-index:3;
  left:18px;
  right:18px;
  bottom:15px;
  height:1px;
  background:linear-gradient(90deg,var(--amber),rgba(245,184,75,.18),transparent);
  transform:scaleX(.22);
  transform-origin:left;
  opacity:.5;
  transition:transform .5s cubic-bezier(.22,.61,.36,1),opacity .35s ease;
}
.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.001);
  filter:saturate(.78) contrast(1.06) brightness(.9);
  transition:transform .7s cubic-bezier(.22,.61,.36,1),filter .55s ease;
}
.gallery-item--hero img{object-position:center 48%}
.gallery-item--wide img{object-position:center 48%}
.gallery-item--small-a img{object-position:center}
.gallery-item--small-b img{object-position:center}
.gallery-item--medium img{object-position:center 50%}
.gallery-overlay{
  position:absolute;
  z-index:4;
  inset:auto 16px 15px 18px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  pointer-events:none;
}
.gallery-label{
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.72);
  transform:translateY(2px);
  transition:transform .42s ease,color .35s ease;
}
.gallery-item--hero .gallery-label{font-size:13px;letter-spacing:.13em}
.gallery-expand{
  width:30px;
  height:30px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(5,5,5,.42);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  display:grid;
  place-items:center;
  color:#fff;
  font-size:14px;
  opacity:0;
  transform:translate(-5px,5px) scale(.9);
  transition:opacity .35s ease,transform .42s cubic-bezier(.22,.61,.36,1),border-color .35s ease,background .35s ease;
}
.gallery-item:hover{
  transform:translateY(-2px);
  border-color:rgba(245,184,75,.58);
  box-shadow:0 22px 48px rgba(0,0,0,.34),0 0 0 1px rgba(245,184,75,.05);
}
.gallery-item:hover img{transform:scale(1.045);filter:saturate(.92) contrast(1.07) brightness(.96)}
.gallery-item:hover::after{opacity:1;background:linear-gradient(180deg,rgba(0,0,0,.02) 30%,rgba(0,0,0,.82) 100%)}
.gallery-item:hover::before{transform:scaleX(1);opacity:.9}
.gallery-item:hover .gallery-label{transform:translateY(-3px);color:#ffd58b}
.gallery-item:hover .gallery-expand{opacity:1;transform:translate(0,0) scale(1);border-color:rgba(245,184,75,.7);background:rgba(15,12,8,.62)}
.gallery-item:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

.lightbox{
  border:0;
  padding:0;
  background:transparent;
  width:min(1180px,94vw);
  max-width:none;
  max-height:94vh;
  overflow:visible;
  border-radius:0;
  box-shadow:none;
}
.lightbox::backdrop{
  background:rgba(0,0,0,.93);
  -webkit-backdrop-filter:blur(13px);
  backdrop-filter:blur(13px);
}
.lightbox-shell{
  position:relative;
  width:100%;
  display:grid;
  gap:10px;
}
.lightbox-topbar{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 2px;
}
.lightbox-meta{display:flex;align-items:center;gap:13px;min-width:0}
.lightbox-caption{
  color:#f3eee7;
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.lightbox-count{color:#928b82;font-size:10px;letter-spacing:.1em}
.lightbox-stage{
  position:relative;
  min-height:min(74vh,760px);
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(217,154,53,.23);
  border-radius:14px;
  background:#050505;
  box-shadow:0 28px 90px rgba(0,0,0,.72);
}
.lightbox-stage::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 90px rgba(0,0,0,.24);
  pointer-events:none;
}
.lightbox img{
  display:block;
  width:100%;
  max-width:none;
  height:min(74vh,760px);
  max-height:none;
  object-fit:contain;
  background:#050505;
  opacity:1;
  transform:scale(1);
  transition:opacity .18s ease,transform .28s ease;
}
.lightbox.is-switching img{opacity:.12;transform:scale(.985)}
.lightbox-close{
  position:static;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  background:rgba(255,255,255,.04);
  font-size:24px;
  line-height:1;
  cursor:pointer;
  transition:border-color .25s ease,background .25s ease,transform .25s ease;
}
.lightbox-close:hover{border-color:rgba(245,184,75,.7);background:rgba(245,184,75,.08);transform:rotate(3deg)}
.lightbox-nav{
  position:absolute;
  z-index:3;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(5,5,5,.52);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  color:#fff;
  font-size:30px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.lightbox-prev{left:18px}.lightbox-next{right:18px}
.lightbox-prev:hover{transform:translateY(-50%) translateX(-2px);border-color:rgba(245,184,75,.72);background:rgba(15,12,8,.72)}
.lightbox-next:hover{transform:translateY(-50%) translateX(2px);border-color:rgba(245,184,75,.72);background:rgba(15,12,8,.72)}
.lightbox-hint{text-align:center;color:#706b65;font-size:9px;letter-spacing:.06em}

@media(max-width:980px){
  .featured-wrap{grid-template-columns:1fr;gap:20px}
  .featured-heading{position:static;padding-top:0;flex-direction:row;justify-content:space-between;align-items:center}
  .featured-gallery{height:500px;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
  .gallery-item--hero{grid-column:1 / span 5;grid-row:1 / span 2}
  .gallery-item--wide{grid-column:6 / span 3;grid-row:1}
  .gallery-item--small-a{grid-column:6 / span 3;grid-row:2}
  .gallery-item--small-b{grid-column:1 / span 3;grid-row:3}
  .gallery-item--medium{grid-column:4 / span 5;grid-row:3}
}

@media(max-width:760px){
  .featured-section{padding:30px 0 34px}
  .featured-heading{flex-direction:column;align-items:flex-start;gap:11px}
  .featured-gallery{height:610px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:2fr 1fr 1fr;gap:8px}
  .gallery-item--hero{grid-column:1 / -1;grid-row:1}
  .gallery-item--wide{grid-column:1;grid-row:2}
  .gallery-item--small-a{grid-column:2;grid-row:2}
  .gallery-item--small-b{grid-column:1;grid-row:3}
  .gallery-item--medium{grid-column:2;grid-row:3}
  .gallery-item::before{left:13px;right:13px;bottom:12px}
  .gallery-overlay{left:13px;right:12px;bottom:12px}
  .gallery-label{font-size:8px;letter-spacing:.08em}
  .gallery-item--hero .gallery-label{font-size:11px}
  .gallery-expand{opacity:1;width:27px;height:27px;font-size:12px;transform:none;background:rgba(5,5,5,.5)}
  .lightbox{width:calc(100vw - 20px);max-height:92vh}
  .lightbox-stage{min-height:66vh;border-radius:10px}
  .lightbox img{height:66vh}
  .lightbox-nav{width:42px;height:42px;font-size:26px}
  .lightbox-prev{left:9px}.lightbox-next{right:9px}
  .lightbox-caption{font-size:9px}.lightbox-count{font-size:9px}
  .lightbox-hint{display:none}
}

@media(max-width:410px){
  .featured-gallery{height:560px;grid-template-rows:2fr 1fr 1fr;grid-template-columns:1fr 1fr}
  .featured-gallery .gallery-item:first-child{grid-row:1;grid-column:1/-1}
  .featured-gallery .gallery-item:last-child{grid-column:2;grid-row:3}
  .gallery-item--wide{grid-column:1;grid-row:2}
  .gallery-item--small-a{grid-column:2;grid-row:2}
  .gallery-item--small-b{grid-column:1;grid-row:3}
}


/* =========================================================
   STEP 16 · EDITORIAL FACEBOOK REVIEWS
   Quotes become typography-led proof instead of generic cards.
   ========================================================= */
.reviews-section{
  padding:58px 0 78px;
  background:
    radial-gradient(ellipse 60% 300px at 14% 22%,rgba(217,154,53,.055),transparent 68%),
    linear-gradient(180deg,#060606 0%,#080808 64%,#090909 100%);
}
.reviews-section::before{
  height:130px;
  background:linear-gradient(180deg,#060606 0%,rgba(6,6,6,.78) 38%,transparent 100%);
}
.reviews-section::after{
  height:150px;
  background:linear-gradient(180deg,transparent,#090909 94%);
}
.reviews-editorial-heading{
  padding:0 20px 46px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:44px;
}
.reviews-editorial-heading::before{
  top:-18px;
  width:72px;
}
.reviews-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  color:#c9c3ba;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
}
.reviews-kicker .facebook-mark{
  width:20px;
  height:20px;
  font-size:13px;
  box-shadow:0 0 0 1px rgba(255,255,255,.08),0 7px 20px rgba(24,119,242,.16);
}
.reviews-editorial-heading h2{
  margin:0;
  max-width:760px;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(44px,5.35vw,74px);
  line-height:.91;
  letter-spacing:-.045em;
  color:#f4f0e9;
}
.reviews-editorial-heading h2 em{
  color:var(--amber);
  font-weight:400;
}
.reviews-summary{
  margin:20px 0 0;
  display:block;
  color:#928d86;
  font-size:10px;
  letter-spacing:.025em;
}
.reviews-summary strong{
  color:#f3eee7;
  font-size:12px;
}
.reviews-summary-separator{padding:0 5px;color:rgba(245,184,75,.6)}
.reviews-more{
  min-width:205px;
  margin-bottom:5px;
}
.reviews-editorial-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(340px,.72fr);
  gap:0;
  margin:0 20px;
  border-top:1px solid rgba(217,154,53,.25);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.reviews-editorial-grid::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:190px;
  height:1px;
  background:linear-gradient(90deg,var(--amber),transparent);
  box-shadow:0 0 18px rgba(245,184,75,.15);
  z-index:2;
}
.review-card.review-quote{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  transform:none;
  transition:background .38s ease,transform .38s cubic-bezier(.22,.61,.36,1);
}
.review-card.review-quote::after{display:none}
.review-quote{
  position:relative;
}
.review-quote-main{
  min-height:430px;
  padding:64px 66px 48px 4px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid rgba(255,255,255,.08)!important;
}
.review-quote-secondary{
  min-height:215px;
  padding:36px 0 30px 42px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.review-quote-secondary+ .review-quote-secondary{
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.review-quote-mark{
  position:absolute;
  z-index:0;
  top:28px;
  left:-7px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:118px;
  line-height:.7;
  color:rgba(245,184,75,.12);
  user-select:none;
  pointer-events:none;
}
.review-quote-main blockquote{
  position:relative;
  z-index:1;
  width:min(850px,94%);
  margin:0;
  color:#ece7df;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(25px,2.4vw,37px);
  font-weight:400;
  line-height:1.27;
  letter-spacing:-.018em;
}
.review-quote-secondary blockquote{
  position:relative;
  z-index:1;
  margin:0 0 30px;
  color:#d1cbc3;
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  line-height:1.64;
  letter-spacing:-.006em;
}
.review-author{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:36px;
}
.review-quote-secondary .review-author{margin-top:0}
.review-author .review-avatar{
  width:36px;
  height:36px;
  border:1px solid rgba(245,184,75,.42);
  background:#100e0b;
  color:#d9a44d;
  font-size:9px;
  letter-spacing:.06em;
}
.review-author-copy h3{
  margin:0 0 5px;
  color:#f4f0e9;
  font-size:10px;
  font-weight:800;
  letter-spacing:.035em;
}
.review-author-copy p{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
  color:#817c75;
  font-size:8px;
  letter-spacing:.02em;
}
.review-author-copy .facebook-mini{
  width:14px;
  height:14px;
  font-size:9px;
}
.facebook-button-icon{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  margin-right:6px;
  border-radius:50%;
  background:#1877f2;
  color:white;
  font-family:Arial,sans-serif;
  font-weight:900;
  font-size:12px;
  line-height:1;
}
@media (hover:hover){
  .review-card.review-quote:hover{
    transform:none;
    border-color:transparent;
    box-shadow:none;
    background:linear-gradient(100deg,rgba(245,184,75,.028),transparent 64%);
  }
  .review-quote-secondary:hover{
    background:linear-gradient(90deg,rgba(245,184,75,.035),transparent 86%);
  }
  .review-quote:hover .review-avatar{
    border-color:rgba(245,184,75,.72);
    color:#f5b84b;
  }
}

@media(max-width:980px){
  .reviews-editorial-grid{grid-template-columns:1fr}
  .review-quote-main{
    min-height:360px;
    padding:54px 10px 42px 4px;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .reviews-secondary{display:grid;grid-template-columns:1fr 1fr}
  .review-quote-secondary{padding:34px 30px 30px 0;min-height:260px}
  .review-quote-secondary+ .review-quote-secondary{
    padding-left:30px;
    padding-right:0;
    border-top:0!important;
    border-left:1px solid rgba(255,255,255,.08)!important;
  }
  .review-quote-secondary blockquote{font-size:14px}
}

@media(max-width:760px){
  .reviews-section{padding:42px 0 55px}
  .reviews-editorial-heading{
    display:block;
    padding:0 0 32px;
  }
  .reviews-editorial-heading .reviews-more{display:none}
  .reviews-kicker{margin-bottom:13px;font-size:8px}
  .reviews-editorial-heading h2{font-size:42px;line-height:.94}
  .reviews-summary{margin-top:16px;font-size:9px}
  .reviews-editorial-grid{margin:0}
  .review-quote-main{
    min-height:0;
    padding:46px 0 38px;
  }
  .review-quote-main blockquote{
    width:100%;
    font-size:25px;
    line-height:1.34;
  }
  .review-quote-mark{left:-5px;top:25px;font-size:94px}
  .review-author{margin-top:30px}
  .reviews-secondary{display:block}
  .review-quote-secondary{
    min-height:0;
    padding:31px 0 30px;
  }
  .review-quote-secondary+ .review-quote-secondary{
    padding-left:0;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
  }
  .review-quote-secondary blockquote{
    margin-bottom:25px;
    font-size:14px;
    line-height:1.62;
  }
  .reviews-mobile-action{display:block;padding-top:24px}
  .reviews-mobile-action .btn{height:49px}
}

@media(max-width:410px){
  .reviews-editorial-heading h2{font-size:37px}
  .review-quote-main blockquote{font-size:22px}
  .review-quote-secondary blockquote{font-size:13.5px}
}

/* =========================================================
   STEP 17 · AMBIENT LIGHTING DETAILS
   Restrained amber reflections, soft halos and partial edges.
   ========================================================= */

:root{
  --jash-light:rgba(245,184,75,.15);
  --jash-light-soft:rgba(217,154,53,.075);
  --jash-light-faint:rgba(245,184,75,.035);
}

/* Hero: let the event lighting become part of the UI without covering the photo. */
.hero::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 73% 39%,rgba(245,184,75,.105) 0%,rgba(217,154,53,.045) 18%,transparent 39%),
    radial-gradient(ellipse 35% 48% at 22% 44%,rgba(245,184,75,.035),transparent 72%);
  mix-blend-mode:screen;
}
.hero-copy{position:relative;isolation:isolate}
.hero-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-80px;
  top:-72px;
  width:430px;
  height:300px;
  pointer-events:none;
  background:radial-gradient(ellipse at 42% 48%,rgba(245,184,75,.07),rgba(217,154,53,.025) 38%,transparent 72%);
  filter:blur(8px);
}
.hero h1 em{text-shadow:0 0 34px rgba(245,184,75,.08)}

/* Headings get a local pool of light rather than a global glow. */
.section-title,
.featured-heading,
.reviews-editorial-heading,
.home-seo-links .container>h2,
.seo-copy h2,
.seo-section h2{
  position:relative;
}
.section-title h2,
.featured-heading .mini-title,
.reviews-editorial-heading h2{
  text-shadow:0 0 28px rgba(245,184,75,.055);
}
.section-title h2::before,
.featured-heading::after,
.reviews-editorial-heading::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:-1;
  width:180px;
  height:74px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse,rgba(245,184,75,.07),transparent 70%);
  filter:blur(7px);
}
.featured-heading::after,
.reviews-editorial-heading::after{
  left:-34px;
  top:38%;
  width:240px;
  height:130px;
  transform:none;
  opacity:.75;
}
.reviews-editorial-heading::after{left:-54px;top:8px;width:360px;height:220px;opacity:.55}

/* Service cards: reduce the generic full-gold frame and illuminate selected edges. */
.service-card{
  border-color:rgba(217,154,53,.25);
  box-shadow:0 8px 24px rgba(0,0,0,.28),inset 0 0 28px rgba(245,184,75,.012);
}
.service-card::before{
  content:"";
  position:absolute;
  z-index:4;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(245,184,75,.62),rgba(245,184,75,.08) 34%,transparent 62%) top left/58% 1px no-repeat,
    linear-gradient(180deg,rgba(245,184,75,.45),rgba(245,184,75,.06) 38%,transparent 72%) top left/1px 48% no-repeat,
    linear-gradient(270deg,rgba(245,184,75,.22),transparent 72%) bottom right/34% 1px no-repeat;
  opacity:.62;
  transition:opacity .4s ease,filter .4s ease;
}
.service-card:nth-child(2n)::before{
  background:
    linear-gradient(270deg,rgba(245,184,75,.56),rgba(245,184,75,.08) 36%,transparent 65%) top right/54% 1px no-repeat,
    linear-gradient(180deg,rgba(245,184,75,.34),rgba(245,184,75,.05) 42%,transparent 74%) top right/1px 46% no-repeat,
    linear-gradient(90deg,rgba(245,184,75,.18),transparent 72%) bottom left/31% 1px no-repeat;
}
.service-icon{box-shadow:0 0 22px rgba(245,184,75,.055),inset 0 0 11px rgba(245,184,75,.025)}
@media (hover:hover) and (pointer:fine){
  .service-card:hover::before{opacity:1;filter:drop-shadow(0 0 7px rgba(245,184,75,.12))}
  .service-card:hover{box-shadow:0 18px 42px rgba(0,0,0,.48),0 0 34px rgba(245,184,75,.065),inset 0 0 30px rgba(245,184,75,.018)}
}

/* Benefits: tiny stage-light reflections at alternating corners. */
.benefits-grid article{position:relative;isolation:isolate;overflow:hidden;border-color:rgba(217,154,53,.22)}
.benefits-grid article::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:150px;
  height:115px;
  right:-45px;
  top:-48px;
  background:radial-gradient(circle,rgba(245,184,75,.07),transparent 68%);
  pointer-events:none;
}
.benefits-grid article:nth-child(even)::before{right:auto;left:-48px;top:auto;bottom:-56px;opacity:.72}
.benefit-icon{text-shadow:0 0 18px rgba(245,184,75,.18)}

/* Gallery: a restrained rim of warm light around the composition. */
.featured-gallery{
  position:relative;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.28));
}
.featured-gallery::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-36px -22px;
  pointer-events:none;
  background:
    radial-gradient(ellipse 34% 48% at 14% 38%,rgba(245,184,75,.075),transparent 72%),
    radial-gradient(ellipse 28% 44% at 88% 72%,rgba(217,154,53,.045),transparent 72%);
  filter:blur(10px);
}
.gallery-item{border-color:rgba(217,154,53,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)}

/* Process: icons feel lit from within, while the connector remains understated. */
.process-line article{isolation:isolate}
.step-icon{
  position:relative;
  border-color:rgba(217,154,53,.42);
  box-shadow:0 0 24px rgba(245,184,75,.075),inset 0 0 18px rgba(245,184,75,.035);
}
.step-number{box-shadow:0 0 15px rgba(245,184,75,.055)}
.process-line::before{opacity:.24;box-shadow:0 0 12px rgba(245,184,75,.08)}

/* Editorial reviews: the main quote sits inside a faint amber falloff. */
.review-quote-main{
  background:radial-gradient(ellipse 54% 72% at 0% 42%,rgba(245,184,75,.032),transparent 75%);
}
.review-quote-mark{text-shadow:0 0 42px rgba(245,184,75,.08)}
.review-avatar{box-shadow:0 0 20px rgba(245,184,75,.045)}

/* Contact: focus the light close to the conversion controls. */
.contact-inner{isolation:isolate}
.contact-inner::before{
  content:"";
  position:absolute;
  z-index:-1;
  right:-7%;
  top:16%;
  width:39%;
  height:72%;
  pointer-events:none;
  background:radial-gradient(ellipse,rgba(245,184,75,.075),rgba(217,154,53,.025) 44%,transparent 72%);
  filter:blur(11px);
}
.contact-cards{border-color:rgba(217,154,53,.22);box-shadow:0 14px 36px rgba(0,0,0,.24),inset 0 0 30px rgba(245,184,75,.015)}
.contact-action .btn{box-shadow:0 10px 30px rgba(217,154,53,.11),0 0 30px rgba(245,184,75,.035)}

/* Internal landing pages receive the same visual language. */
.seo-hero-copy{position:relative;isolation:isolate}
.seo-hero-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-100px;
  top:-90px;
  width:470px;
  height:340px;
  pointer-events:none;
  background:radial-gradient(ellipse,rgba(245,184,75,.065),transparent 70%);
  filter:blur(9px);
}
.seo-panel,.seo-faq details,.seo-related a,.home-seo-grid a{
  border-color:rgba(217,154,53,.19);
  box-shadow:inset 0 1px rgba(245,184,75,.035);
}
.seo-panel{position:relative}
.seo-panel::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:34%;
  height:1px;
  background:linear-gradient(90deg,rgba(245,184,75,.72),transparent);
  box-shadow:0 0 10px rgba(245,184,75,.11);
}

@media(max-width:760px){
  .hero::before{
    background:radial-gradient(circle at 67% 34%,rgba(245,184,75,.075),transparent 35%);
    mix-blend-mode:normal;
  }
  .hero-copy::before{left:-65px;top:-52px;width:300px;height:230px;opacity:.7;filter:blur(7px)}
  .section-title h2::before{width:130px;height:58px;opacity:.72}
  .featured-heading::after,.reviews-editorial-heading::after{opacity:.38;filter:blur(9px)}
  .benefits-grid article::before{opacity:.55}
  .featured-gallery::before{inset:-20px -10px;opacity:.65;filter:blur(8px)}
  .contact-inner::before{right:-18%;top:48%;width:70%;height:42%;opacity:.55}
  .seo-hero-copy::before{left:-70px;top:-55px;width:320px;height:260px;opacity:.6}
}

@media(prefers-reduced-motion:reduce){
  .service-card::before{transition:none}
}

/* VISIBILITY / STACKING FIX — content must always stay above ambient effects. */
.section-title,.featured-heading,.reviews-editorial-heading,.featured-gallery,.home-seo-links .container>h2,.seo-copy h2,.seo-section h2{isolation:isolate;z-index:2}
.services-section>.container,.featured-section>.container,.process-section>.container,.reviews-section>.container,.home-seo-links>.container,.contact-band>.container{z-index:3}
.hero-inner{z-index:3}
.hero::before,.hero::after,.hero-shade{pointer-events:none}
/* If motion has not been fully activated, all reveal targets remain visible by default. */
html:not(.motion-active) .reveal-up,html:not(.motion-active) .reveal-media{opacity:1!important;transform:none!important;clip-path:none!important}


/* FULL GALLERY PAGE — REAL JASH PRODUCTIONS */
.gallery-page{background:#070707}
.gallery-page .site-header{position:absolute}.gallery-page .site-header.scrolled{position:fixed}
.gallery-page-hero{position:relative;min-height:690px;display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid rgba(217,154,53,.14)}
.gallery-page-hero-media{position:absolute;inset:0}
.gallery-page-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 42%,rgba(0,0,0,.18) 75%,rgba(0,0,0,.32) 100%),linear-gradient(0deg,#070707 0%,transparent 38%)}
.gallery-page-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 54%;filter:saturate(.86) contrast(1.04)}
.gallery-page-hero-copy{position:relative;z-index:2;padding-bottom:86px;padding-top:170px}
.gallery-page-hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:72px;line-height:.96;letter-spacing:-.035em;margin:12px 0 20px;max-width:860px}
.gallery-page-hero-copy h1 em{font-weight:400;color:var(--amber)}
.gallery-page-hero-copy p{max-width:700px;font-size:15px;line-height:1.75;color:#d0cac2;margin:0 0 28px}
.full-gallery-section{position:relative;padding:86px 0 96px;background:radial-gradient(circle at 92% 3%,rgba(217,154,53,.08),transparent 27%),#070707}
.full-gallery-section::before{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(180deg,#070707,transparent);pointer-events:none}
.full-gallery-head{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end;margin-bottom:34px;position:relative;z-index:1}
.full-gallery-head h2{font-family:Georgia,'Times New Roman',serif;font-size:48px;line-height:1.02;margin:8px 0 0}
.full-gallery-head p{margin:0;color:#aaa39a;font-size:12px;line-height:1.75;max-width:390px;justify-self:end}
.full-gallery-grid{columns:4 260px;column-gap:12px;position:relative;z-index:1}
.full-gallery-item{display:block;width:100%;margin:0 0 12px;padding:0;border:0;background:#0d0d0d;break-inside:avoid;position:relative;overflow:hidden;border-radius:9px;cursor:zoom-in;box-shadow:0 0 0 1px rgba(217,154,53,.15);isolation:isolate}
.full-gallery-item::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.82) 100%);opacity:.18;transition:opacity .35s ease}
.full-gallery-item::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--amber),transparent);z-index:4;transform:scaleX(.2);opacity:0;transition:.35s ease}
.full-gallery-item img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .55s cubic-bezier(.22,.61,.36,1),filter .4s ease}
.full-gallery-overlay{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:34px 16px 15px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;color:#fff;opacity:0;transform:translateY(6px);transition:.32s ease}
.full-gallery-overlay span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-align:left;font-weight:800;text-shadow:0 2px 12px #000}
.full-gallery-overlay b{width:30px;height:30px;border-radius:50%;border:1px solid rgba(245,184,75,.62);display:grid;place-items:center;color:var(--amber);font-size:14px;flex:0 0 auto;background:rgba(0,0,0,.5)}
.full-gallery-item:hover img{transform:scale(1.025);filter:saturate(.94) contrast(1.03) brightness(.94)}
.full-gallery-item:hover::before{opacity:1}.full-gallery-item:hover::after{transform:scaleX(1);opacity:.85}.full-gallery-item:hover .full-gallery-overlay{opacity:1;transform:none}
.full-gallery-item:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.gallery-page-cta{border-top:1px solid rgba(217,154,53,.12)}
.gallery-page .lightbox{z-index:120}
@media(max-width:1000px){.gallery-page-hero{min-height:620px}.gallery-page-hero-copy h1{font-size:58px}.full-gallery-head{grid-template-columns:1fr;gap:16px}.full-gallery-head p{justify-self:start}.full-gallery-grid{columns:3 220px}}
@media(max-width:760px){.gallery-page-hero{min-height:670px}.gallery-page-hero-media img{object-position:center}.gallery-page-hero-media::after{background:linear-gradient(180deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.2) 38%,rgba(0,0,0,.86) 77%,#070707 100%)}.gallery-page-hero-copy{padding-top:130px;padding-bottom:58px}.gallery-page-hero-copy h1{font-size:46px;max-width:430px}.gallery-page-hero-copy p{font-size:12px;max-width:440px}.full-gallery-section{padding:58px 0 80px}.full-gallery-head{margin-bottom:22px}.full-gallery-head h2{font-size:36px}.full-gallery-grid{columns:2 150px;column-gap:8px}.full-gallery-item{margin-bottom:8px;border-radius:7px}.full-gallery-overlay{opacity:1;transform:none;padding:28px 11px 10px}.full-gallery-overlay span{font-size:8px}.full-gallery-overlay b{width:26px;height:26px;font-size:12px}}
@media(max-width:440px){.gallery-page-hero-copy h1{font-size:41px}.full-gallery-grid{columns:1}.full-gallery-item{margin-bottom:10px}.full-gallery-overlay span{font-size:9px}}
