*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#040200;color:#FBF3E8;font-family:'Inter','Inter Fallback',sans-serif;font-weight:300;overflow-x:hidden}
a{text-decoration:none}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:999;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:72px;transition:all .35s}
#nav.sc{background:rgba(4,2,0,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(232,160,32,.15);height:60px}
.nbrand{display:flex;align-items:center;cursor:pointer}
.nb{height:50px;width:50px;object-fit:contain;transition:height .3s,width .3s}
#nav.sc .nb{height:42px;width:42px}
.nlinks{display:flex;gap:2rem;align-items:center;list-style:none}
.nlinks a{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#E8D5B8;opacity:.65;transition:all .25s}
.nlinks a:hover{opacity:1;color:#E8A020}
.nord{background:#E8A020;color:#040200!important;opacity:1!important;padding:.5rem 1.5rem;font-weight:700;letter-spacing:.12em!important}
.nord:hover{background:#F5C840!important}

.btn-g{background:#E8A020;color:#040200;padding:1rem 2.5rem;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transition:all .3s;display:inline-block}
.btn-g:hover{background:#F5C840;transform:translateY(-2px);box-shadow:0 12px 32px rgba(232,160,32,.35)}
.btn-wa{background:#25D366;color:#040200;padding:1rem 2.5rem;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transition:all .3s;display:inline-flex;align-items:center;gap:.6rem}
.btn-wa:hover{background:#1ebe5d;transform:translateY(-2px);box-shadow:0 12px 32px rgba(37,211,102,.35)}
.btn-wa svg{width:16px;height:16px;fill:currentColor}
.btn-o{border:1px solid rgba(232,160,32,.5);color:#E8A020;padding:1rem 2.5rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;transition:all .3s;display:inline-block;cursor:pointer}
.btn-o:hover{border-color:#E8A020;background:rgba(232,160,32,.08)}
/* FLOATING WHATSAPP BUTTON */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:998;background:#25D366;color:#fff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,211,102,.4),0 0 0 0 rgba(37,211,102,.5);transition:all .3s;animation:wapulse 2.5s infinite}
.wa-float:hover{transform:scale(1.08);box-shadow:0 12px 32px rgba(37,211,102,.55)}
.wa-float svg{width:32px;height:32px;fill:currentColor}
.wa-float .wa-label{position:absolute;right:72px;background:#040200;color:#FBF3E8;font-size:.7rem;font-weight:500;padding:.55rem 1rem;border-radius:6px;white-space:nowrap;opacity:0;transform:translateX(8px);transition:all .3s;pointer-events:none;border:1px solid rgba(232,160,32,.2)}
.wa-float:hover .wa-label{opacity:1;transform:translateX(0)}
@keyframes wapulse{0%{box-shadow:0 8px 24px rgba(37,211,102,.4),0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 8px 24px rgba(37,211,102,.4),0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 8px 24px rgba(37,211,102,.4),0 0 0 0 rgba(37,211,102,0)}}

/* BURGER MENU */
#burger{display:none;background:none;border:none;cursor:pointer;padding:0;width:36px;height:36px;flex-direction:column;justify-content:center;align-items:center;gap:5px;z-index:1001}
#burger span{display:block;width:24px;height:2px;background:#E8A020;transition:all .3s ease}
body.menu-open #burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open #burger span:nth-child(2){opacity:0}
body.menu-open #burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body.menu-open{overflow:hidden}


/* NEW RIBBON FOOTER */
footer#contact{background:transparent;border-top:none;padding:5rem 1.5rem 0;position:relative}
.footer-badge-wrap{display:flex;justify-content:center;margin-bottom:-44px;position:relative;z-index:3}
.footer-badge{height:88px;width:88px;object-fit:contain;border-radius:50%;background:#040200;padding:6px;box-shadow:0 0 0 1px rgba(232,160,32,.3),0 12px 36px rgba(0,0,0,.6),0 0 40px rgba(232,160,32,.15)}
.footer-ribbon{background:linear-gradient(90deg,#0a0500,#1f0f02 50%,#0a0500);border-top:1px solid rgba(232,160,32,.18);border-bottom:1px solid rgba(232,160,32,.08);padding:3.5rem 2rem 1.4rem;position:relative}
.fr-inner{max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap}
.fr-item{display:flex;align-items:center;gap:.7rem;color:#E8D5B8;text-decoration:none;font-size:.82rem;opacity:.85;transition:opacity .25s}
.fr-item:hover{opacity:1;color:#E8A020}
.fr-icon{width:16px;height:16px;fill:#E8A020;flex-shrink:0}
.fr-divider{width:1px;height:28px;background:rgba(232,160,32,.2)}
.fr-phones{align-items:center}
.fr-phone-list{display:flex;flex-direction:column;gap:.15rem}
.fr-phone-list a{color:#E8D5B8;text-decoration:none;font-size:.82rem;opacity:.85;transition:color .25s}
.fr-phone-list a:hover{color:#E8A020;opacity:1}
.fr-socials{display:flex;align-items:center;gap:.6rem}
.fr-socials a{width:34px;height:34px;border:1px solid rgba(232,160,32,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .25s}
.fr-socials a:hover{border-color:#E8A020;background:rgba(232,160,32,.1);transform:translateY(-2px)}
.fr-socials svg{width:14px;height:14px;fill:#E8A020}
.fr-copy{margin-top:1.5rem;text-align:center;font-size:.62rem;letter-spacing:.15em;color:#E8D5B8;opacity:.3}
@media(max-width:720px){
  footer#contact{padding-top:4rem}
  .footer-badge{height:72px;width:72px}
  .footer-badge-wrap{margin-bottom:-36px}
  .footer-ribbon{padding:3rem 1.5rem 1.2rem}
  .fr-inner{gap:1.2rem;flex-direction:column}
  .fr-divider{width:60px;height:1px}
}


@media(max-width:860px){
  #nav{padding:0 1.2rem}

  /* Mobile menu overlay */
  #burger{display:flex}
  .nlinks{
    display:flex !important;flex-direction:column;
    position:fixed;top:0;right:0;bottom:0;
    width:80%;max-width:320px;
    background:#040200;
    padding:5rem 2rem 2rem;
    gap:0;
    transform:translateX(100%);
    transition:transform .35s ease;
    z-index:1000;
    border-left:1px solid rgba(232,160,32,.15);
    box-shadow:-20px 0 60px rgba(0,0,0,.5);
  }
  body.menu-open .nlinks{transform:translateX(0)}
  .nlinks li{width:100%;border-bottom:1px solid rgba(232,160,32,.08)}
  .nlinks li:last-child{border-bottom:none;margin-top:1rem}
  .nlinks a{display:block;padding:1rem 0;font-size:.85rem !important;opacity:.85}
  .nlinks a.nord{margin-top:.5rem;text-align:center;padding:1rem !important}
  /* Backdrop */
  body.menu-open::before{content:'';position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:998;backdrop-filter:blur(4px)}

}

/* ═══════ Fonts hosted on this site ═══════ */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:block;src:url('../fonts/playfair-display.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 700;font-display:block;src:url('../fonts/playfair-display-italic.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 500;font-display:swap;src:url('../fonts/inter.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:italic;font-weight:300 500;font-display:swap;src:url('../fonts/inter-italic.woff2') format('woff2')}
/* ═══════ Shared styles for inner pages ═══════ */
/* Stand in fonts sized to match the real ones, so nothing jumps when they load */
@font-face{font-family:'Inter Fallback';src:local('Arial'),local('Helvetica Neue'),local('Liberation Sans');size-adjust:107.47%;ascent-override:90.14%;descent-override:22.44%;line-gap-override:0.0%}
@font-face{font-family:'Playfair Fallback';font-style:normal;src:local('Times New Roman'),local('Times'),local('Liberation Serif');size-adjust:111.03%;ascent-override:97.45%;descent-override:22.61%;line-gap-override:0.0%}
@font-face{font-family:'Playfair Fallback';font-style:italic;src:local('Times New Roman Italic'),local('Times Italic'),local('Liberation Serif Italic');size-adjust:104.84%;ascent-override:103.21%;descent-override:23.94%;line-gap-override:0.0%}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.btn-wa{background:#E8A020!important;color:#040200!important}
.btn-wa:hover{background:#F5C840!important}
.btn-wa svg path{fill:#040200!important}
:focus-visible{outline:2px solid #E8A020;outline-offset:3px}
/* chrome (nav, footer, buttons) keeps the homepage's light weight; reading text is a touch heavier for legibility */
.prose,.faq details p,.ocell p,.card p,.cta p,.facts span,.steps li,.related a,.crumbs,.pmeta{font-weight:400}
.prose em{font-style:italic;color:#FBF3E8}
img{max-width:100%}

body{font-variant-numeric:lining-nums}
/* page hero */
.phero{position:relative;padding:9.5rem 0 4.5rem;overflow:hidden;border-bottom:1px solid rgba(232,160,32,.14)}
.phero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.26) saturate(1.2)}
.phero-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(4,2,0,.55),rgba(4,2,0,.2) 45%,#040200)}
.phero-in{position:relative;z-index:2;max-width:720px;margin:0 auto;padding:0 1.5rem}
.crumbs{font-size:.72rem;color:#E8D5B8;opacity:.7;margin-bottom:1.6rem}
.crumbs a{color:#E8A020}
.crumbs a:hover{text-decoration:underline}
.crumbs span{margin:0 .5rem;opacity:.5}
h1.ptitle{font-family:'Playfair Display','Playfair Fallback',serif;font-weight:400;font-size:clamp(2rem,5.4vw,3.9rem);line-height:1.12;margin-bottom:1.3rem}
h1.ptitle em{color:#E8A020}
.plead{font-family:'Playfair Display','Playfair Fallback',serif;font-style:italic;font-size:clamp(1.1rem,2.2vw,1.35rem);line-height:1.7;color:#E8D5B8;max-width:680px}
.pmeta{margin-top:1.6rem;font-size:.78rem;color:#E8D5B8;opacity:.6}

/* reading column */
.wrap{max-width:720px;margin:0 auto;padding:0 1.5rem}
.wide{max-width:1000px;margin:0 auto;padding:0 1.5rem}
.sect{padding:4.5rem 0 0}
.prose h2{font-family:'Playfair Display','Playfair Fallback',serif;font-weight:400;font-size:clamp(1.7rem,3.6vw,2.4rem);line-height:1.2;margin:3.2rem 0 1.1rem;color:#FBF3E8}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:'Playfair Display','Playfair Fallback',serif;font-weight:700;font-size:1.25rem;margin:2rem 0 .6rem;color:#E8A020}
.prose p{font-size:1.04rem;line-height:1.9;color:#E8D5B8;opacity:.92;margin-bottom:1.25rem}
.prose a{color:#E8A020;border-bottom:1px solid rgba(232,160,32,.4)}
.prose a:hover{border-color:#E8A020}
.prose strong{color:#FBF3E8;font-weight:500}
.prose ul{margin:0 0 1.4rem 1.2rem}
.prose li{font-size:1.02rem;line-height:1.8;color:#E8D5B8;opacity:.92;margin-bottom:.45rem}
.pull{margin:2.6rem 0;padding:.4rem 0 .4rem 1.6rem;border-left:2px solid #E8A020;font-family:'Playfair Display','Playfair Fallback',serif;font-style:italic;font-size:clamp(1.25rem,2.6vw,1.6rem);line-height:1.55;color:#FBF3E8}
.pull cite{display:block;margin-top:.7rem;font-style:normal;font-family:'Inter','Inter Fallback',sans-serif;font-size:.74rem;color:#E8A020;opacity:.8}
figure.fig{margin:2.6rem -1.5rem}
figure.fig img{width:100%;height:auto;display:block;border:1px solid rgba(232,160,32,.18)}
figure.fig figcaption{font-size:.74rem;color:#E8D5B8;opacity:.6;margin-top:.7rem;padding:0 1.5rem;text-align:center}
@media(min-width:900px){figure.fig{margin:2.6rem -6rem}}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:rgba(232,160,32,.14);margin:2.4rem 0;border:1px solid rgba(232,160,32,.14)}
.facts div{background:#0A0500;padding:1.3rem}
.facts b{display:block;font-family:'Playfair Display','Playfair Fallback',serif;font-size:1.5rem;font-weight:700;color:#E8A020;margin-bottom:.3rem}
.facts span{font-size:.82rem;line-height:1.6;color:#E8D5B8;opacity:.8}

/* timeline (a true sequence of years) */
.tl{list-style:none;margin:2.4rem 0 2rem;padding:0;border-left:1px solid rgba(232,160,32,.4)}
.tl li{position:relative;padding:0 0 2.1rem 1.8rem;margin:0}
.tl li::before{content:'';position:absolute;left:-5px;top:.6rem;width:9px;height:9px;border-radius:50%;background:#E8A020}
.tl .yr{font-family:'Playfair Display','Playfair Fallback',serif;font-size:1.55rem;color:#E8A020;display:block;line-height:1.2;margin-bottom:.3rem}
.tl p{margin-bottom:0!important;opacity:.9}

/* occasion grid and steps */
.ogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:rgba(232,160,32,.16);border:1px solid rgba(232,160,32,.16);margin:2.2rem 0}
.ocell{background:#0A0500;padding:1.8rem}
.ocell h3{margin:0 0 .6rem;font-family:'Playfair Display','Playfair Fallback',serif;font-weight:400;font-size:1.3rem;line-height:1.25;color:#FBF3E8}
.ocell p{font-size:.95rem;line-height:1.75;margin:0;opacity:.85}
.steps{list-style:none;counter-reset:s;margin:2rem 0}
.steps li{counter-increment:s;position:relative;padding:0 0 1.5rem 3.4rem;margin:0}
.steps li::before{content:counter(s);position:absolute;left:0;top:-.1rem;width:2.3rem;height:2.3rem;border:1px solid rgba(232,160,32,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display','Playfair Fallback',serif;color:#E8A020}
.steps b{display:block;color:#FBF3E8;font-weight:500;margin-bottom:.2rem}

/* cards for stories list */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:3rem 0}
.card{background:#130900;border:1px solid rgba(232,160,32,.14);display:flex;flex-direction:column;transition:border-color .3s}
.card:hover{border-color:rgba(232,160,32,.5)}
.card img{width:100%;height:210px;object-fit:cover;display:block}
.card-b{padding:1.6rem;display:flex;flex-direction:column;flex:1}
.card h2,.card h3{font-family:'Playfair Display','Playfair Fallback',serif;font-weight:400;font-size:1.45rem;line-height:1.3;color:#FBF3E8;margin:0 0 .7rem}
.card p{font-size:.92rem;line-height:1.75;color:#E8D5B8;opacity:.8;margin-bottom:1.1rem;flex:1}
.card .go{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#E8A020}
.card .when{font-size:.72rem;color:#E8D5B8;opacity:.55;margin-bottom:.6rem}

/* place headers inside the blog post */
.prose h2.place{display:block;font-family:'Playfair Display','Playfair Fallback',serif;font-style:italic;font-weight:400;font-size:clamp(2.6rem,8vw,4.4rem);line-height:1;color:#E8A020;margin:4.2rem 0 .9rem}

/* faq */
.faq{margin:2rem 0}
.faq details{border-bottom:1px solid rgba(232,160,32,.18)}
.faq summary{list-style:none;cursor:pointer;padding:1.15rem 2rem 1.15rem 0;font-family:'Playfair Display','Playfair Fallback',serif;font-size:1.15rem;color:#FBF3E8;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:.2rem;top:1rem;font-size:1.5rem;color:#E8A020;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 1.3rem;margin:0;font-size:1rem;line-height:1.85;color:#E8D5B8;opacity:.9}

/* call to action band */
.cta{margin:5rem 0 0;padding:4rem 1.5rem;text-align:center;background:linear-gradient(135deg,#120700,#040200);border-top:1px solid rgba(232,160,32,.14);border-bottom:1px solid rgba(232,160,32,.14)}
.cta h2{font-family:'Playfair Display','Playfair Fallback',serif;font-weight:400;font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:.9rem}
.cta p{max-width:560px;margin:0 auto 1.8rem;font-size:1rem;line-height:1.8;color:#E8D5B8;opacity:.85}
.cta .row{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.cta .small{margin-top:1.4rem;font-size:.85rem;opacity:.75}
.cta .small a{color:#E8A020;display:inline-block;padding:.4rem .3rem}
.related{max-width:720px;margin:3rem auto 0;padding:0 1.5rem}
.related h2{font-family:'Playfair Display','Playfair Fallback',serif;font-weight:400;font-size:1.5rem;margin-bottom:1rem}
.related a{display:block;padding:.85rem 0;border-bottom:1px solid rgba(232,160,32,.14);color:#E8D5B8}
.related a:hover{color:#E8A020}
.fr-links{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;justify-content:center;margin-top:1.1rem}
.fr-links a{font-size:.7rem;color:#E8D5B8;opacity:.55;padding:.35rem 0}
.fr-links a:hover{opacity:1;color:#E8A020}
.fr-phone-list{gap:0}
.fr-phone-list a{display:block;padding:.3rem 0}
.credit{font-size:.7rem;opacity:.5;text-align:center;margin-top:1rem}
@media(max-width:1100px){.nlinks{gap:1.1rem}.nlinks a{letter-spacing:.1em}}
@media(max-width:860px){.phero{padding-top:8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
