:root{--bg:#0b0a09;--panel:#151310;--gold:#e8bd6b;--gold-light:#ffdf9b;--white:#f8f5ee;--muted:#aaa49a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--gold-light);outline-offset:5px}.site-header{height:82px;padding:0 clamp(24px,5vw,90px);display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:10;background:linear-gradient(#090807dd,transparent)}.brand{font-family:'Playfair Display',serif;font-size:26px;font-weight:600;letter-spacing:-.04em;white-space:nowrap}.brand span{color:var(--gold)}.site-header nav{display:flex;align-items:center;gap:35px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-header nav>a:not(.nav-cta):hover,.text-link:hover,.inline-link:hover{color:var(--gold-light)}.nav-cta{border:1px solid #b98e50;padding:13px 17px;color:var(--gold-light);transition:background .2s}.nav-cta:hover{background:#c7984d24}.nav-cta span,.button span,.inline-link span{margin-left:12px}.hero{min-height:800px;height:min(900px,100svh);position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#070706}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080807 0%,#080807e8 25%,#0808076b 52%,#08080725 100%),linear-gradient(0deg,#080807 0%,transparent 38%)}.hero-content{position:relative;z-index:2;width:min(670px,100%);margin:0 0 clamp(110px,14vh,170px) clamp(24px,7vw,120px)}.eyebrow,.section-label,.card-label{font-size:12px;letter-spacing:.24em;color:var(--gold);font-weight:700}.eyebrow{margin:0 0 24px;text-transform:uppercase}.hero h1,h2{font-family:'Playfair Display',serif;font-weight:500;letter-spacing:-.045em;line-height:1.1}.hero h1{font-size:clamp(50px,5.6vw,91px);margin:0}.hero h1 em,h2 em{font-weight:500;color:var(--gold-light)}.hero-intro{font-size:17px;line-height:1.75;color:#d0cbc1;max-width:520px;margin:30px 0 34px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 22px;font-size:13px;font-weight:700;letter-spacing:.06em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-gold{background:linear-gradient(110deg,#f9dc99,#d6a85b);color:#15100a}.text-link,.inline-link{font-size:13px;font-weight:700;letter-spacing:.04em}.scroll-hint{position:absolute;z-index:2;bottom:34px;right:clamp(24px,5vw,90px);font-size:11px;letter-spacing:.3em;color:#d5c9af}.scroll-hint span{font-size:19px;margin-left:12px;color:var(--gold)}.section-shell{width:min(1320px,calc(100% - 80px));margin:auto}.intro{padding:125px 0 140px}.section-label{display:flex;align-items:center;gap:18px}.line{height:1px;width:42px;background:var(--gold)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end;margin-top:36px}.intro h2,.contact-section h2,.instagram-section h2{font-size:clamp(42px,4.1vw,68px);margin:0}.intro-copy{max-width:470px;padding-bottom:5px}.intro-copy p,.contact-heading p,.instagram-copy p{font-size:17px;line-height:1.8;color:var(--muted);margin:0 0 25px}.inline-link{display:inline-block;color:var(--gold-light);padding-bottom:8px;border-bottom:1px solid #ad8652}.contact-section{background:radial-gradient(ellipse at 72% 30%,#35291a 0%,#17130e 30%,#100e0b 70%);padding:110px 0 130px;border-block:1px solid #80633b38}.contact-heading{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;margin-top:37px}.contact-heading p{max-width:420px;margin-top:26px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-card{min-height:160px;border:1px solid #cba56440;padding:20px 22px;display:flex;flex-direction:column;align-items:flex-start;transition:background .2s,border-color .2s,transform .2s;background:#ffffff05}.contact-card:hover{background:#e8bd6b12;border-color:#e8bd6b;transform:translateY(-3px)}.card-icon{align-self:flex-end;color:var(--gold);font-size:22px;line-height:1}.card-label{margin:auto 0 10px}.contact-card strong{font-size:clamp(15px,1.4vw,20px);font-weight:500;white-space:nowrap}.instagram-section{padding-top:140px;padding-bottom:140px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.instagram-copy h2{margin:35px 0 24px}.instagram-copy p{max-width:410px}.button-outline{border:1px solid var(--gold);color:var(--gold-light);margin-top:8px}.button-outline:hover{background:#e8bd6b16}.instagram-art{display:block;overflow:hidden;border:1px solid #a77c444a;box-shadow:0 30px 70px #0009;aspect-ratio:1.42}.instagram-art img{height:100%;width:100%;object-fit:cover;object-position:center;transition:transform .5s}.instagram-art:hover img{transform:scale(1.035)}.site-footer{border-top:1px solid #ffffff1c;padding:42px max(40px,calc((100vw - 1320px)/2));display:flex;align-items:center;gap:34px;color:var(--muted);font-size:13px}.site-footer .brand{color:var(--white);margin-right:auto}.site-footer p{letter-spacing:.13em;text-transform:uppercase}.site-footer>a:not(.brand):hover{color:var(--gold-light)}.site-footer small{font-size:12px}@media(max-width:900px){.hero{height:780px;min-height:0}.hero-art{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#080807 0%,#080807b8 55%,#08080755),linear-gradient(0deg,#080807 0%,transparent 45%)}.intro-grid,.contact-heading,.instagram-section{grid-template-columns:1fr;gap:36px}.intro,.instagram-section{padding-block:90px}.contact-section{padding-block:90px}.instagram-art{max-width:640px}.site-footer{flex-wrap:wrap}.site-footer .brand{width:100%}}@media(max-width:600px){.site-header{height:72px;padding-inline:22px}.brand{font-size:23px}.site-header nav{gap:15px}.site-header nav>a:not(.nav-cta){display:none}.nav-cta{font-size:11px;padding:11px 12px}.hero{height:720px;min-height:680px}.hero-art{object-position:54% center;opacity:.7}.hero-shade{background:linear-gradient(0deg,#080807 3%,#080807ce 40%,#0808074d 80%),linear-gradient(90deg,#08080780,transparent)}.hero-content{margin:0 24px 105px}.hero h1{font-size:clamp(48px,12vw,68px)}.hero-intro{font-size:15px;margin:23px 0 28px}.hero-actions{gap:22px}.scroll-hint{bottom:28px;right:24px}.section-shell{width:calc(100% - 48px)}.intro,.instagram-section{padding-block:75px}.contact-section{padding-block:75px}.intro-grid{margin-top:28px}.intro h2,.contact-section h2,.instagram-section h2{font-size:43px}.intro-copy p,.contact-heading p,.instagram-copy p{font-size:15px}.contact-grid{grid-template-columns:1fr}.contact-card{min-height:125px}.contact-card strong{font-size:19px}.instagram-art{aspect-ratio:1.1}.site-footer{padding:38px 24px;gap:13px 25px}.site-footer p{width:100%;margin:0}.site-footer small{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Refined layout and accessible navigation. */
:root { --cream: #eee8dc; }
::selection { background: var(--gold); color: var(--bg); }
html { scroll-padding-top: 108px; }
.skip-link { position: fixed; top: 12px; left: 24px; z-index: 30; padding: 14px 20px; background: var(--gold-light); color: var(--bg); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: fixed; height: 82px; background: #0b0a09eb; border-bottom: 1px solid #e8bd6b24; backdrop-filter: blur(16px); }
.hero { min-height: 720px; height: min(880px, 100svh); align-items: center; }
.hero-content { margin-block: 140px 80px; width: min(760px, calc(100% - 80px)); }
.hero h1 { font-size: clamp(54px, 5.6vw, 86px); }
.hero-intro { max-width: 440px; }
.hero-shade { background: linear-gradient(90deg, #070605bb, #07060540 60%, transparent), linear-gradient(0deg, #0b0a09, transparent 26%); }
.hero-actions { gap: 24px; }
.button { min-height: 52px; }
.text-link { padding-block: 14px; }
.intro-surface { background: var(--cream); color: #26221c; }
.intro { padding-block: 100px 110px; }
.intro .section-label { color: #785321; }
.intro .line { background: #94703c; }
.intro h2 em { color: #8a602b; }
.intro-copy p { color: #625b50; }
.intro .inline-link { color: #68471e; }
.intro .inline-link:hover { color: #26221c; }
.intro a:focus-visible { outline-color: #68471e; }
.intro-grid { gap: 64px; }
.contact-section { padding-block: 105px; }
.contact-heading { grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: center; }
.contact-grid { gap: 0; border-top: 1px solid #cba56440; border-left: 1px solid #cba56440; }
.contact-card { min-width: 0; min-height: 164px; border: 0; border-right: 1px solid #cba56440; border-bottom: 1px solid #cba56440; padding: 24px; }
.contact-card strong { white-space: normal; overflow-wrap: anywhere; font-size: clamp(15px, 1.3vw, 19px); }
.contact-card:hover { transform: none; }
.card-label { font-size: 10px; }
.instagram-section { padding-block: 105px; }
.instagram-art { box-shadow: none; }
.mobile-contact { display: none; }
.site-footer { gap: 24px; }
@media (max-width: 1000px) {
  .contact-heading { grid-template-columns: 1fr; gap: 32px; }
  .contact-heading p { max-width: 560px; }
}
@media (max-width: 900px) {
  .intro-grid { gap: 30px; }
  .hero { min-height: 700px; }
  .intro, .instagram-section { padding-block: 80px; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 112px; }
  .site-header { height: 96px; padding: 12px 24px; flex-wrap: wrap; gap: 4px; }
  .site-header .brand { font-size: 24px; }
  .site-header nav { width: 100%; justify-content: space-between; gap: 16px; font-size: 10px; }
  .site-header nav > a:not(.nav-cta) { display: inline-flex; align-items: center; min-height: 36px; }
  .nav-cta { border: 0; padding: 10px 0; font-size: 10px; }
  .hero { min-height: 690px; height: auto; }
  .hero-art { object-position: 63% center; opacity: .8; }
  .hero-shade { background: linear-gradient(0deg, #0b0a09 1%, #080807c9 48%, #08080738); }
  .hero-content { margin: 210px 24px 95px; width: calc(100% - 48px); }
  .hero h1 { font-size: clamp(40px, 10.6vw, 62px); }
  .eyebrow { font-size: 10px; margin-bottom: 20px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 10px; }
  .hero-actions .button { width: 100%; }
  .scroll-hint { font-size: 9px; }
  .intro, .instagram-section { padding-block: 64px; }
  .intro h2, .contact-section h2, .instagram-section h2 { font-size: clamp(34px, 9.2vw, 48px); }
  .section-label { font-size: 10px; letter-spacing: .18em; gap: 12px; }
  .contact-section { padding-block: 64px; }
  .contact-card { min-height: 130px; }
  .contact-card strong { font-size: 18px; }
  .mobile-contact { display: flex; position: fixed; z-index: 15; bottom: 0; inset-inline: 0; justify-content: space-between; background: var(--gold-light); color: #21180c; padding: 17px 24px calc(17px + env(safe-area-inset-bottom)); font-size: 13px; font-weight: 700; border-top: 1px solid #ac7f39; }
  body { padding-bottom: calc(54px + env(safe-area-inset-bottom)); }
}

/* Compact contact cards with a shared type scale and subtle depth. */
.contact-grid { gap: 16px; border: 0; perspective: 1000px; }
.contact-card {
  position: relative;
  overflow: hidden;
  min-height: 126px;
  padding: 18px;
  border: 1px solid #cba56445;
  border-radius: 10px;
  background: linear-gradient(135deg, #2b241a, #15120e);
  box-shadow: 0 8px 22px #0004;
  animation: card-float 6s ease-in-out infinite;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.contact-card:nth-child(2) { animation-delay: -.9s; }
.contact-card:nth-child(3) { animation-delay: -1.8s; }
.contact-card:nth-child(4) { animation-delay: -2.7s; }
.contact-card::before {
  content: '';
  position: absolute;
  inset: -60% -100%;
  background: linear-gradient(110deg, transparent 43%, #ffe3a529 49%, #fff4d941 50%, transparent 57%);
  transform: translateX(-55%);
  animation: card-shine 7s ease-in-out infinite;
  pointer-events: none;
}
.contact-card:nth-child(2)::before { animation-delay: 1s; }
.contact-card:nth-child(3)::before { animation-delay: 2s; }
.contact-card:nth-child(4)::before { animation-delay: 3s; }
.contact-card > * { position: relative; }
.contact-card strong {
  width: 100%;
  white-space: nowrap;
  overflow-wrap: normal;
  font-size: var(--contact-font-size, 13px);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -.02em;
}
.contact-card .card-label { font-size: 10px; margin-top: 14px; margin-bottom: 8px; }
.contact-card:focus-visible { transform: translateZ(18px); border-color: var(--gold); }
@media (hover: hover) {
  .contact-card:hover {
    transform: rotateX(4deg) rotateY(-3deg) translateZ(18px);
    border-color: #e8bd6bba;
    box-shadow: 0 18px 35px #0008, 0 0 20px #e8bd6b15;
  }
}
@keyframes card-float {
  0%, 100% { translate: 0 0 0; }
  50% { translate: 0 -5px 8px; }
}
@keyframes card-shine {
  0%, 25% { transform: translateX(-55%); }
  65%, 100% { transform: translateX(55%); }
}
@media (prefers-reduced-motion: reduce) {
  .contact-card, .contact-card::before { animation: none; }
  .contact-card:hover, .contact-card:focus-visible { transform: none; }
  .contact-card::before { display: none; }
}

/* Original logo displayed as a quiet signature against the dark background. */
.hero-identity { display: flex; align-items: center; gap: 24px; margin-bottom: 24px; }
.identity-logo { flex-shrink: 0; width: 160px; height: 160px; object-fit: cover; mix-blend-mode: screen; }
.hero-identity .eyebrow { margin: 0; padding-left: 24px; border-left: 1px solid #e8bd6b55; font-size: 10px; line-height: 1.9; letter-spacing: .22em; }
.hero-content { margin-block: 110px 65px; }
.hero { min-height: 800px; }
.footer-brand { display: inline-flex; align-items: center; }
.footer-brand .identity-logo { width: 112px; height: 112px; }
@media (max-width: 600px) {
  .hero { min-height: 760px; }
  .hero-content { margin-block: 130px 90px; }
  .hero-identity { gap: 18px; margin-bottom: 26px; }
  .hero-identity .identity-logo { width: 132px; height: 132px; }
  .hero-identity .eyebrow { padding-left: 18px; font-size: 9px; }
  .footer-brand .identity-logo { width: 100px; height: 100px; }
}

.hero-content { mix-blend-mode: screen; }

/* Soft imprint using the supplied original artwork, without cropping the mark. */
.culture-tagline {
  margin: -4px 0 22px;
  color: #c8bda8;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .045em;
}
.intro .culture-line {
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, #477759 0% 34%, #c29b44 34% 68%, #a65c50 68%);
}
.culture-origins { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; color: #625b50; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.culture-origins > span:not(.origin-divider) { display: inline-flex; align-items: center; gap: 8px; }
.culture-origins > span:not(.origin-divider)::before { content: ''; width: 20px; height: 3px; border-radius: 2px; }
.origin-brazil::before { background: linear-gradient(90deg, #477759 50%, #c29b44 50%); }
.origin-portugal::before { background: linear-gradient(90deg, #477759 45%, #a65c50 45%); }
.origin-divider { color: #9a8c77; font-family: Georgia, serif; font-style: italic; }
.contact-card::before {
  background: linear-gradient(110deg, transparent 39%, #5ba97d18 44%, #ffe3a529 49%, #fff4d941 50%, #bf65571a 55%, transparent 61%);
}
@media (max-width: 600px) { .culture-tagline { font-size: 12px; max-width: 290px; margin-bottom: 20px; } }
/* Soft entrances, dark image overlays and recurring light on interactive links. */
.reveal { opacity: 0; translate: 0 22px; transition: opacity .9s ease, translate .9s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity: 1; translate: 0 0; }
.button, .nav-cta, .text-link, .inline-link,
.site-header nav > a, .mobile-contact {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.button::after, .site-header .nav-cta::after, .mobile-contact::after {
  content: '';
  position: absolute;
  inset: -40% -80%;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 39%, #5ba97d1a 44%, #fff0c72b 49%, #fff4d95c 50%, #bf65571c 55%, transparent 61%);
  transform: translateX(-65%);
  animation: button-shine 5.5s linear infinite;
}
.hero-actions .button::after { animation-delay: -2s; }
.button-outline::after, .site-header nav > a:nth-child(2)::after { animation-delay: -3.5s; }
@keyframes button-shine {
  0% { transform: translateX(-65%); }
  80%, 100% { transform: translateX(65%); }
}
.instagram-art { position: relative; border-radius: 12px; }
.instagram-art::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, #100c071a, #100c0766);
  transition: opacity .5s ease;
}
.instagram-art:hover::after { opacity: .6; }
.site-footer .footer-brand {
  width: auto;
  flex: 0 0 auto;
  display: inline-block;
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 500;
  font-style: italic;
  font-size: 28px;
  letter-spacing: -.035em;
  color: #d7d0c3;
}
.site-footer .footer-brand span { color: #c9a76b; }
.site-footer > a, .site-footer p, .site-footer small {
  background: transparent;
  box-shadow: none;
  isolation: auto;
  overflow: visible;
}
.site-footer > a { transition: color .25s ease; }
.site-footer .footer-brand .identity-logo {
  width: 58px;
  height: 58px;
  object-fit: contain;
  opacity: .3;
  filter: saturate(.45);
}
.site-footer > a::before, .site-footer > a::after { content: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; translate: none; transition: none; }
  .button::after, .site-header nav > a::after, .text-link::after,
  .inline-link::after, .site-footer > a::after, .mobile-contact::after { animation: none; display: none; }
}
.site-footer > a:not(.brand) { overflow-wrap: anywhere; min-width: 0; }
.not-found { max-width: 720px; margin: 15vh auto; padding: 32px; }
.not-found h1 { font-family: 'Playfair Display', serif; font-size: clamp(32px, 6vw, 56px); }
.not-found p { line-height: 1.7; }
.not-found .button { margin-top: 20px; }
.hero-identity { gap: 20px; margin-bottom: 18px; }
.hero-identity .identity-logo {
  width: 220px;
  height: 240px;
  object-fit: contain;
  opacity: .48;
  filter: saturate(.55);
}
@media (max-width: 600px) {
  .hero-identity { gap: 14px; }
  .hero-identity .identity-logo { width: 160px; height: 180px; }
}
