/*
  MAHMOUD JOIAS — MK2 LUXO FINAL
  Camada de refinamento visual e correção do hero.
  Mantém a estrutura e funcionalidades existentes, eliminando controles que se sobrepunham à faixa após o hero.
*/
:root{
  --paper:#f7f2e9;
  --white:#fffdf8;
  --ink:#14382f;
  --dark:#0d2b24;
  --deep:#071d18;
  --muted:#687067;
  --gold:#b89556;
  --gold-light:#ead6ad;
  --gold-text:#8e6a31;
  --line:#d9d0c0;
}

html{scroll-padding-top:88px}
body{background:var(--paper);color:var(--ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.wrap{width:min(1280px,calc(100% - 112px))}

/* Header mais limpo, editorial e premium. */
.site-header,.site-header.on-light,.site-header.is-scrolled{
  background:rgba(247,242,233,.94);
  color:var(--ink);
  border-bottom:1px solid rgba(20,56,47,.10);
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
}
.site-header .nav-shell{height:88px}
.site-header.is-scrolled .nav-shell{height:74px}
.brand-main{font-size:34px;letter-spacing:.14em}
.brand-sub{color:#9c7b43;letter-spacing:.31em;margin-top:7px}
.desktop-nav{gap:29px}
.desktop-nav a{font-size:14px;letter-spacing:.025em}
.desktop-nav a:after{bottom:6px;background:var(--gold)}
.header-social{border-left:1px solid rgba(20,56,47,.14);padding-left:27px;gap:18px}
.header-social a{font-size:14px}
.header-social .whatsapp-link{color:#2d6e4b}

/* HERO — sem controles flutuantes/cortados. */
.hero{
  height:min(900px,100svh);
  min-height:760px;
  max-height:900px;
  background:var(--paper);
  color:var(--ink);
  overflow:hidden;
  border-bottom:1px solid rgba(20,56,47,.09);
}
.hero-inner{padding-top:108px;padding-bottom:54px;min-height:100%}
.editorial-art{width:50.5%;background:#ded3bf}
.editorial-ambience{inset:-10%;width:120%;height:120%;filter:blur(36px) saturate(.86);opacity:.55}
.editorial-photo-frame{inset:0;display:flex;align-items:center;justify-content:center}
.editorial-photo{
  width:auto;
  height:100%;
  max-width:none;
  object-fit:contain;
  animation:photoDrift 24s cubic-bezier(.45,.05,.55,.95) infinite alternate;
  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
}
.editorial-veil{
  background:
    linear-gradient(90deg,var(--paper) 0%,var(--paper) 42%,rgba(247,242,233,.96) 45%,rgba(247,242,233,.58) 49%,rgba(247,242,233,0) 55%),
    linear-gradient(0deg,rgba(247,242,233,.18),transparent 22%);
}
.hero-copy{max-width:51%;padding:46px 0 34px;margin-block:auto}
.hero .eyebrow{font-size:12px;letter-spacing:.24em;color:#8d6d37;margin-bottom:25px;text-transform:uppercase}
.hero h1{
  max-width:690px;
  font-size:clamp(70px,6.7vw,104px);
  line-height:.96;
  letter-spacing:-.048em;
  font-weight:400;
}
.hero h1 em{display:inline;color:#9f7736;font-weight:400}
.hero-description{max-width:470px;font-size:17px;line-height:1.78;color:#56635b;margin-top:28px}
.hero-actions{margin-top:31px;display:flex;align-items:flex-start}
.button-editorial{
  min-width:236px;
  min-height:56px;
  background:var(--ink);
  color:#fffaf0;
  border:1px solid var(--ink);
  padding:16px 23px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.12em;
  justify-content:space-between;
  transition:background .3s,border-color .3s,transform .3s;
}
.button-editorial:hover{background:#214c40;border-color:#214c40;transform:translateY(-1px)}
.button-editorial .icon{width:18px;height:18px}
.hero-signature{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 15px;
  margin-top:31px;
  color:#777a6c;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-signature i{width:3px;height:3px;border-radius:50%;background:var(--gold);display:block;flex:none}
.hero-bottom,.film-control,.scroll-cue{display:none!important}

/* Faixa editorial entre hero e coleção. */
.intro-strip{position:relative;z-index:3;background:#eee5d6;border-block:0;border-bottom:1px solid #d8cdb8}
.intro-strip .wrap{min-height:92px;gap:25px}
.intro-strip span{font-size:27px;line-height:1.12;color:#173b31}
.intro-strip>.wrap>.icon{color:#ad8644;width:17px;height:17px}
.intro-strip a{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:#294f42;gap:16px}

/* Ritmo, tipografia e cartões. */
.section{padding-block:112px}
.section-head{margin-bottom:48px}
.section-head .eyebrow{font-size:12px;letter-spacing:.20em;text-transform:uppercase;color:#8d6d37}
.section-head h2{font-size:clamp(48px,4.7vw,72px);line-height:1.02;letter-spacing:-.035em}
.section-head h2 em{color:#977135}
.section-head>.text-link{font-size:13px;letter-spacing:.07em;text-transform:uppercase}
.product-grid{gap:54px 34px}
.product-photo{background:#ebe5da;border:1px solid rgba(20,56,47,.08)}
.product-card h3,.catalog-products .product-card h3{font-size:33px;letter-spacing:-.02em}
.product-line,.catalog-products .product-line{font-size:11px;letter-spacing:.13em;color:#8a6a36}
.product-line span:last-child,.catalog-products .product-line span:last-child{font-size:12px}
.product-price{color:#355448}
.product-consult{font-size:13px;letter-spacing:.035em;border-bottom-color:#cfc5b4}
.product-consult:hover{color:#8c6a32;border-bottom-color:#8c6a32}
.save-piece{background:rgba(255,252,245,.9);color:var(--ink);border-color:rgba(20,56,47,.08);box-shadow:0 7px 22px rgba(28,24,17,.08)}
.category-row{border-top-color:#d5cbbb}
.category-row a{font-size:13px;letter-spacing:.03em}

/* Seções escuras com contraste mais sofisticado. */
.project-section,.visit-section,.final-call{background:#0c2922}
.project-section{padding-block:118px}
.project-grid{gap:96px}
.project-copy .eyebrow,.visit-copy .eyebrow{color:#d1ae70}
.project-copy h2{letter-spacing:-.045em}
.project-copy p{color:#c5cec1}
.project-figure{border:1px solid rgba(218,190,132,.28);background:#f5efe5;box-shadow:0 24px 70px rgba(2,15,11,.22)}
.project-figure figcaption{color:#375548}
.wedding-section{background:#fbf8f1}
.wedding-photo-frame{background:#efe8dc;border-color:#ddd1bc;padding:14px}
.wedding-details{border-color:#d7cbbb;color:#6d5c3f}
.gold-section{background:#eee6d8;border-color:#d7cbb6}
.gold-steps>div{border-color:#cfc1aa}
.instagram-section{background:#f7f2e9}
.instagram-photo{border:1px solid rgba(20,56,47,.08)}
.visit-section{padding-block:112px}
.map-card{background:#0a251e;border-color:rgba(210,177,112,.28);box-shadow:0 20px 60px rgba(1,16,11,.18)}
.final-call{padding:102px 0 110px;border-top:1px solid rgba(225,194,133,.15)}
.final-call h2{letter-spacing:-.035em}
.final-call .button-gold{box-shadow:0 10px 34px rgba(0,0,0,.12)}
.site-footer{background:#061914}
.footer-base{border-top-color:rgba(255,255,255,.09)}

/* Catálogo: mesma linguagem de luxo, mais editorial. */
.catalog-intro{background:linear-gradient(180deg,#f2ebdf 0,var(--paper) 100%)}
.catalog-heading h1{letter-spacing:-.045em}
.catalog-toolbar{background:rgba(247,242,233,.96);backdrop-filter:blur(16px)}
.search-field{border-bottom-color:#cfc4b1}
.catalog-filters button{letter-spacing:.045em}
.catalog-filters button[aria-pressed=true]{color:#8f6b31;border-color:#8f6b31}
.catalog-assistance{background:#eee5d7;border-color:#d6cab7}
.product-dialog{background:#fffdf8}
.detail-top{background:#0d2b24;color:#fff8ec}
.detail-copy{background:#fbf7ef}

/* O rail flutuante não faz parte da MK2 luxo. */
.social-rail{display:none!important}

/* Acessibilidade e pequenos refinamentos. */
.button,.text-link,.product-consult,.desktop-nav a{transition:color .25s,border-color .25s,background .25s,transform .25s}
:focus-visible{outline:2px solid #a47b3a;outline-offset:4px}

@media(max-width:1200px){
  .wrap{width:calc(100% - 80px)}
  .hero-copy{max-width:53%}
  .hero h1{font-size:clamp(68px,7.4vw,92px)}
  .editorial-art{width:49%}
}

@media(max-width:1120px){
  .site-header .nav-shell{height:82px}
  .site-header.is-scrolled .nav-shell{height:72px}
  .hero-inner{padding-top:98px}
  .hero-copy{max-width:54%}
  .hero h1{font-size:82px}
  .hero-description{font-size:16px;max-width:390px}
}

@media(max-width:850px) and (min-width:761px){
  .hero{min-height:700px}
  .hero-inner{padding-top:94px;padding-bottom:42px}
  .hero h1{font-size:70px}
  .hero-signature{max-width:360px}
  .intro-strip span{font-size:23px}
}

@media(max-width:760px){
  :root{--header:74px}
  .wrap{width:calc(100% - 40px)}
  .site-header .nav-shell,.site-header.is-scrolled .nav-shell{height:74px}
  .brand-main{font-size:25px;letter-spacing:.09em}
  .brand-sub{font-size:10px;letter-spacing:.22em}
  .hero{height:auto;min-height:790px;max-height:none}
  .editorial-art{inset:74px 0 auto;width:100%;height:53%;background:#ded3bf}
  .editorial-photo-frame{inset:0}
  .editorial-photo{width:100%;height:100%;object-fit:cover;object-position:50% 54%;mask-image:none;-webkit-mask-image:none}
  .editorial-ambience{display:none}
  .editorial-veil{
    background:linear-gradient(0deg,var(--paper) 0%,var(--paper) 34%,rgba(247,242,233,.98) 41%,rgba(247,242,233,.82) 49%,rgba(247,242,233,.16) 62%,transparent 70%);
  }
  .hero-inner{height:790px;min-height:790px;padding:74px 0 33px}
  .hero-copy{max-width:100%;margin:auto 0 0;padding:0 0 18px}
  .hero .eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:12px;color:#7c6237;text-shadow:0 1px 10px rgba(255,255,255,.35)}
  .hero h1{font-size:clamp(52px,13vw,70px);line-height:.97;max-width:520px;letter-spacing:-.042em}
  .hero h1 em{display:inline}
  .hero-description{font-size:15px;line-height:1.65;max-width:350px;margin-top:15px}
  .hero-actions{margin-top:20px}
  .button-editorial{min-width:218px;min-height:52px;font-size:11px;letter-spacing:.10em;padding:14px 18px}
  .hero-signature{margin-top:20px;gap:8px 11px;font-size:9px;letter-spacing:.09em;max-width:340px}
  .intro-strip .wrap{min-height:108px;display:grid;grid-template-columns:auto 18px 1fr;gap:9px 12px;padding-block:21px}
  .intro-strip span{font-size:22px;line-height:1.07}
  .intro-strip a{grid-column:1/-1;margin:6px 0 0;width:100%;min-height:34px;justify-content:space-between;font-size:11px}
  .section{padding-block:72px}
  .section-head{gap:18px;margin-bottom:31px}
  .section-head h2{font-size:48px}
  .project-section,.visit-section{padding-block:76px}
  .final-call{padding:72px 0 79px}
  .site-footer{padding-top:48px}
  .footer-base{padding-bottom:34px}
}

@media(max-width:540px){
  .hero{min-height:760px}
  .hero-inner{height:760px;min-height:760px}
  .editorial-art{height:50%}
  .editorial-photo{object-position:50% 58%}
  .hero h1{font-size:clamp(50px,14vw,64px);max-width:350px}
  .hero-description{max-width:310px}
  .hero-signature{max-width:310px}
  .product-grid,.catalog-products{gap:42px}
  .product-card h3,.catalog-products .product-card h3{font-size:35px}
}

@media(max-width:380px){
  .wrap{width:calc(100% - 34px)}
  .hero{min-height:740px}
  .hero-inner{height:740px;min-height:740px}
  .hero h1{font-size:51px}
  .hero-description{font-size:14px;max-width:285px}
  .hero-signature span:nth-of-type(3),.hero-signature i:last-of-type{display:none}
  .intro-strip span{font-size:20px}
}

@media(max-height:720px) and (min-width:761px){
  .hero{min-height:680px;height:680px}
  .hero-inner{padding-top:90px;padding-bottom:34px}
  .hero-copy{padding-block:28px}
  .hero h1{font-size:76px}
  .hero-description{margin-top:18px}
  .hero-actions{margin-top:22px}
  .hero-signature{margin-top:20px}
}

@media(prefers-reduced-motion:reduce){
  .editorial-photo{animation:none!important;transform:none!important}
}
