@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600&display=swap");

:root{
  --bg:#f7f0eb;
  --surface:#fffaf7;
  --surface-2:#efe0da;
  --surface-3:#f4e9e4;
  --wine:#4b2133;
  --wine-deep:#2d1822;
  --rose:#a76f68;
  --rose-soft:#e6d1cb;
  --pearl:#fff0eb;
  --text:#2b171f;
  --muted:#6b5660;
  --line:rgba(75,33,51,.12);
  --shadow:0 14px 34px rgba(31,17,23,.12);
  --radius:28px;
  --side:minmax(22px,1fr);
  --shell:max(1120px, min(88vw, 1180px));
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Inter", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:400 14px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img,video,svg{display:block;max-width:100%}
button{font:inherit}
.skip{position:absolute;left:-9999px;top:auto}
.skip:focus{left:18px;top:18px;z-index:999;background:#fff;padding:12px 14px}
.shell{width:min(1240px, calc(100vw - 2 * 72px));margin-inline:auto}
.kicker{margin:0 0 10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#f7d6d3}
.kicker.dark{color:#7d5a68}
h1,h2{margin:0;font-family:var(--serif);font-weight:500;line-height:.95;letter-spacing:-.02em}
h1{font-size:clamp(52px, 7vw, 88px);max-width:680px}
h2{font-size:clamp(42px, 5vw, 66px)}
h1 em,h2 em{font-style:italic;color:#d4acb0}
p{margin:0 0 14px}
.section{padding:80px 0}
.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:500;transition:transform .24s ease,color .24s ease}
.text-link:hover{transform:translateX(4px)}
.text-link.light{color:#fff5f1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:600;transition:transform .24s ease,box-shadow .24s ease,background-color .24s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(31,17,23,.16)}
.btn-light{background:#fff;color:var(--wine)}
.btn-outline-light{color:#fff;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.05)}
.btn-outline-light:hover{background:rgba(255,255,255,.1)}

.announcement{position:sticky;top:0;z-index:120;height:34px;background:var(--wine-deep);color:#f5e8e7;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}
.announcement-track{display:flex;align-items:center;gap:42px;width:max-content;height:100%;padding-left:36px;white-space:nowrap;animation:announcement 30s linear infinite;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.announcement:hover .announcement-track{animation-play-state:paused}
@keyframes announcement{to{transform:translateX(-50%)}}

.site-header{position:sticky;top:34px;z-index:110;background:rgba(247,240,235,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:28px;min-height:76px}
.brand{display:grid;line-height:1}
.brand span{font:500 34px/1 var(--serif);letter-spacing:.02em}
.brand strong{font-size:10px;letter-spacing:.24em;font-weight:600;color:var(--muted)}
.desktop-nav{display:flex;justify-content:center;gap:26px;font-size:13px}
.desktop-nav a,.mobile-nav a{position:relative;padding:8px 0}
.desktop-nav a:after,.mobile-nav a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.desktop-nav a:hover:after,.mobile-nav a:hover:after{transform:scaleX(1)}
.header-cta{background:var(--wine);color:#fff;padding:12px 18px;border-radius:999px;font-size:12px;white-space:nowrap}
.menu-button{display:none;border:0;background:none;padding:10px;cursor:pointer}
.menu-button span{display:block;width:22px;height:1.5px;background:var(--text)}
.menu-button span+span{margin-top:6px}
.mobile-nav{display:none;gap:8px;padding:0 72px 18px;font-size:14px;background:rgba(247,240,235,.96)}
.mobile-nav:not([hidden]){display:grid}
.mobile-nav[hidden]{display:none !important}

.hero{position:relative;min-height:min(88vh, 830px);display:grid;align-items:center;overflow:hidden;background:#d5b8b2;color:#fff}
.hero-media,.hero-image,.hero-overlay{position:absolute;inset:0}
.hero-image{width:100%;height:100%;object-fit:cover;object-position:center right;transform:scale(1.02)}
.hero-overlay{background:linear-gradient(90deg, rgba(44,22,31,.78) 0%, rgba(44,22,31,.58) 36%, rgba(44,22,31,.18) 70%, rgba(44,22,31,.12) 100%),linear-gradient(180deg, rgba(44,22,31,.04), rgba(44,22,31,.28))}
.hero-content{position:relative;z-index:2;padding-top:70px;padding-bottom:120px}
.hero-copy{max-width:500px;color:#f2e6e5;font-size:15px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px}
.hero-bottom{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:2;display:flex;justify-content:space-between;color:#f1e7e5;font-size:10px;letter-spacing:.16em;text-transform:uppercase}

.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2)}
.marquee-track{display:flex;align-items:center;gap:36px;width:max-content;min-height:58px;white-space:nowrap;animation:marquee 34s linear infinite;font:500 22px/1 var(--serif);color:#684052}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}

.section-head{display:grid;grid-template-columns:1.35fr .65fr;gap:88px;align-items:end;margin-bottom:40px}
.section-head>p,.instagram-action p{max-width:400px;color:var(--muted)}
.section-head.compact{margin-bottom:30px}
.creation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}
.creation-grid figure{margin:0;overflow:hidden}
.creation-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s ease}
.creation-grid figure:hover img{transform:scale(1.03)}
.creation-grid figcaption{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding-top:12px}
.creation-grid figcaption span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.creation-grid figcaption b{font:500 21px/1.2 var(--serif)}

.story{background:var(--rose-soft);padding:80px 0}
.story-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:88px;align-items:center}
.story-image{position:relative}
.story-image img{width:100%;aspect-ratio:1.05/1;object-fit:cover;border-radius:10px}
.story-image span{position:absolute;right:16px;bottom:16px;background:var(--wine);color:#fff;padding:14px 18px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;border-radius:999px;box-shadow:var(--shadow)}
.story-copy>p:not(.kicker){color:#684f59}
.story-copy h2{margin-bottom:18px}
.signature{font:italic 32px/1 var(--serif);margin:24px 0;color:var(--wine)}

.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.video-card{position:relative;aspect-ratio:9/13;border:0;padding:0;overflow:hidden;background:var(--wine-deep);color:#fff;text-align:left;cursor:pointer;border-radius:14px}
.video-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.video-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 32%, rgba(38,17,28,.82));pointer-events:none}
.video-card:hover img{transform:scale(1.04)}
.video-card .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(73,32,51,.4);border:1px solid rgba(255,255,255,.68);backdrop-filter:blur(4px);font-size:14px;padding-left:3px}
.video-card small,.video-card b{position:absolute;left:16px;z-index:2}
.video-card small{bottom:44px;font-size:10px;letter-spacing:.16em}
.video-card b{bottom:16px;font:500 20px/1.18 var(--serif)}

.instagram-section{background:var(--wine);color:#fff;padding:78px 0 56px;overflow:hidden}
.instagram-action{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.instagram-action p{color:#dcc8cf}
.carousel{margin-top:38px;overflow:hidden}
.carousel-track{display:flex;gap:14px;width:max-content;padding-left:14px;animation:carousel 86s linear infinite}
.carousel:hover .carousel-track{animation-play-state:paused}
.carousel a{display:block;width:270px;height:340px;overflow:hidden;flex:0 0 auto;border-radius:12px}
.carousel img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.carousel a:hover img{transform:scale(1.05)}
@keyframes carousel{to{transform:translateX(calc(-50% - 7px))}}

.latest-grid{display:grid;grid-template-columns:.42fr .58fr;gap:58px;align-items:start}
.latest-intro{position:sticky;top:130px}
.latest-intro p:not(.kicker){max-width:340px;color:var(--muted)}
.latest-images{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.latest-images img{width:100%;height:360px;object-fit:cover;border-radius:12px}

.faq-section{background:var(--wine-deep);color:#fff;padding:78px 0}
.faq-grid{display:grid;grid-template-columns:.42fr .58fr;gap:72px}
.faq-grid>div>p:not(.kicker){max-width:360px;color:#d8c7cd}
.faq-list{border-top:1px solid rgba(255,255,255,.22)}
details{border-bottom:1px solid rgba(255,255,255,.22)}
summary{list-style:none;cursor:pointer;padding:19px 0;display:flex;justify-content:space-between;gap:18px;font:500 20px/1.3 var(--serif)}
summary::-webkit-details-marker{display:none}
summary span{font-family:Arial;font-size:22px;font-weight:300;transition:transform .2s ease}
details[open] summary span{transform:rotate(45deg)}
details p{margin:0 0 18px;color:#d8c7cd;max-width:640px}

.contact{background:var(--rose);color:#fff;padding:78px 0}
.contact-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:88px}
.contact h2{margin-bottom:24px}
.contact-info{border-top:1px solid rgba(255,255,255,.36)}
.contact-info>div:not(.social-row){padding:16px 0;border-bottom:1px solid rgba(255,255,255,.3);display:grid;gap:2px}
.contact-info span{font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.contact-info b,.contact-info a{font-size:15px;font-weight:400}
.social-row{display:flex;gap:24px;padding-top:15px;font-size:13px}

.footer{background:#1f1117;color:#f7e9e7;padding:52px 0 28px}
.footer-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.footer-top>p{font-size:10px;letter-spacing:.18em;text-align:center}
.footer-top>a{justify-self:end;font-size:12px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:28px;padding-top:14px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:#cbb8c0}
.footer-brand span{font-size:30px}

.social-float{position:fixed;right:18px;bottom:22px;z-index:130;display:flex;flex-direction:column;gap:10px}
.social-bubble{position:relative;width:58px;height:58px;border-radius:999px;display:grid;place-items:center;color:#fff;box-shadow:0 12px 30px rgba(31,17,23,.22);transition:transform .24s ease, box-shadow .24s ease}
.social-bubble svg{width:25px;height:25px}
.social-bubble span{position:absolute;right:66px;top:50%;transform:translateY(-50%);background:#fff;color:var(--wine);padding:8px 12px;border-radius:999px;white-space:nowrap;font-size:12px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .22s ease, transform .22s ease;box-shadow:0 8px 20px rgba(31,17,23,.12)}
.social-bubble:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 14px 34px rgba(31,17,23,.28)}
.social-bubble:hover span{opacity:1;transform:translateY(-50%) translateX(-4px)}
.social-bubble.instagram{background:linear-gradient(180deg,#8b3c62,#5a2940)}
.social-bubble.whatsapp{background:linear-gradient(180deg,#2bc76d,#129b4f)}

.video-modal{position:fixed;inset:0;z-index:500;background:rgba(19,8,13,.88);display:none;align-items:center;justify-content:center;padding:30px}
.video-modal.open{display:flex}
.video-modal-inner{width:min(500px,92vw)}
.video-modal h3{font:500 26px/1.18 var(--serif);color:#fff;margin:0 0 12px}
.video-modal video{width:100%;max-height:78vh;background:#000;border-radius:10px}
.video-close{position:absolute;right:26px;top:18px;background:none;border:0;color:#fff;font-size:38px;cursor:pointer;font-weight:200}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;will-change:opacity,transform}
.reveal.revealed{opacity:1;transform:translateY(0)}

@media (max-width: 1080px){
  .shell{width:min(1240px, calc(100vw - 2 * 48px))}
  .section-head,.story-grid,.latest-grid,.faq-grid,.contact-grid{gap:48px}
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .latest-intro{position:static}
}

@media (max-width: 920px){
  .desktop-nav{display:none}
  .menu-button{display:block}
  .header-inner{grid-template-columns:auto 1fr auto auto;gap:18px}
  .mobile-nav{padding-inline:48px}
}

@media (max-width: 760px){
  .shell{width:min(1240px, calc(100vw - 2 * 22px))}
  .announcement{height:30px}
  .announcement-track{gap:28px;padding-left:22px;font-size:9px}
  .site-header{top:30px}
  .header-inner{min-height:68px;gap:12px}
  .brand span{font-size:28px}
  .brand strong{font-size:8px}
  .header-cta{display:none}
  .mobile-nav{padding:0 22px 18px}
  .hero{min-height:680px}
  .hero-content{padding-top:92px;padding-bottom:116px}
  .hero-overlay{background:linear-gradient(180deg, rgba(44,22,31,.56) 0%, rgba(44,22,31,.72) 100%),linear-gradient(90deg, rgba(44,22,31,.24), rgba(44,22,31,.2))}
  h1{max-width:100%}
  .hero-copy{max-width:92%}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:14px}
  .hero-bottom{bottom:16px}
  .hero-bottom span:first-child{display:none}
  .marquee-track{min-height:50px;font-size:19px}
  .section{padding:60px 0}
  .section-head,.story-grid,.latest-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:28px}
  .section-head{margin-bottom:30px}
  .creation-grid{grid-template-columns:1fr 1fr;gap:22px 12px}
  .creation-grid figcaption{display:block}
  .creation-grid figcaption b{display:block;font-size:18px;margin-top:4px}
  .story{padding:58px 0}
  .video-grid{gap:10px}
  .instagram-section{padding:60px 0 44px}
  .carousel a{width:220px;height:286px}
  .latest-images img{height:285px}
  .faq-section,.contact{padding:60px 0}
  .footer-top{grid-template-columns:1fr auto}
  .footer-top>p{display:none}
  .footer-bottom{display:block}
  .footer-bottom span{display:block;margin-top:4px}
  .social-float{right:14px;bottom:16px;gap:8px}
  .social-bubble{width:52px;height:52px}
  .social-bubble span{display:none}
}

@media (max-width: 480px){
  h1{font-size:44px}
  h2{font-size:38px}
  .creation-grid{grid-template-columns:1fr}
  .video-grid{grid-template-columns:1fr 1fr}
  .video-card b{font-size:16px}
  .carousel a{width:196px;height:252px}
  .latest-images{grid-template-columns:1fr}
  .latest-images img{height:330px}
  .social-bubble{width:50px;height:50px}
  .social-bubble svg{width:23px;height:23px}
}
