/* ============================================
   BLEU CONCIERGE — HOMEPAGE STYLES
   Scoped under .bc-page / .bc-* so it never
   collides with the legacy rules in styles.css.
   ============================================ */

.bc-page{--bc-navy:#0d1b2a;--bc-gold:#c9a84c;--bc-ice:#eaf1f7;--bc-muted:#435567;margin:0;background:#fff;color:var(--bc-navy);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}
.bc-page *{box-sizing:border-box}
.bc-page [hidden]{display:none!important}
.bc-page a{color:inherit}
.bc-page button,.bc-page input,.bc-page textarea{font:inherit}
.bc-page :focus-visible{outline:3px solid #987717;outline-offset:4px}
.bc-page section{scroll-margin-top:7rem}

.bc-container{max-width:1160px;margin:auto;padding:0 1.5rem}
.bc-page .bc-section{padding:5rem 0}
.bc-page h1,.bc-page h2,.bc-page h3{color:inherit;margin:0 0 1rem;line-height:1.2;letter-spacing:normal}
.bc-page h1,.bc-page h2{font-family:'Playfair Display',serif}
.bc-page h1{font-size:clamp(2.4rem,5vw,4.5rem);max-width:16ch}
.bc-page .bc-hero h1{max-width:18ch}
.bc-page h2{font-size:clamp(2rem,3.5vw,3rem);max-width:26ch}
.bc-page h3{font-size:1.25rem}
.bc-page p{margin:0 0 1.25rem}
.bc-page .bc-eyebrow{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:1rem}
.bc-page .bc-lead{font-size:1.2rem;max-width:65ch}
.bc-page .bc-note{font-size:.9rem;color:var(--bc-muted);max-width:80ch}
.bc-page .bc-muted{color:var(--bc-muted)}

/* ---- Nav ---- */
.bc-page .bc-nav{position:relative;inset:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem max(1.5rem,calc((100vw - 1112px)/2));background:#fff;z-index:20;width:100%;height:auto}
.bc-logo img{display:block;width:250px;max-width:60vw;height:auto}
.bc-nav-links{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.bc-nav-links a{text-decoration:none;font-size:.95rem}
.bc-languages{display:flex;gap:.7rem}
.bc-languages a[aria-current="true"]{text-decoration:underline;text-underline-offset:6px}
.bc-page .bc-menu-toggle{display:none;min-height:44px;border:1px solid #b8c6d0;background:#fff;padding:.5rem .8rem;color:var(--bc-navy)}

/* ---- Buttons ---- */
.bc-page .bc-button{display:inline-flex;align-items:center;justify-content:center;background:var(--bc-gold);color:var(--bc-navy);font-weight:700;text-decoration:none;padding:.85rem 1.25rem;border:1px solid var(--bc-gold);min-height:48px;cursor:pointer;text-align:center;line-height:1.4}
.bc-page .bc-button:hover{filter:brightness(.95)}
.bc-page .bc-button-secondary{background:transparent;color:inherit;border:1px solid currentColor}
.bc-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin:1.75rem 0}
.bc-page .bc-text-link{text-decoration:underline;text-underline-offset:4px}
.bc-skip{position:absolute;left:1rem;top:-10rem;z-index:99;background:#fff;padding:1rem}
.bc-skip:focus{top:1rem}

/* ---- Hero ---- */
.bc-page .bc-hero{background:var(--bc-navy);color:#fff}
.bc-hero .bc-eyebrow{color:#e3c96e}
.bc-hero .bc-note{color:#d1dce5}
.bc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;align-items:start}
.bc-hero .bc-grid{grid-template-columns:1.4fr 1fr;align-items:center}
.bc-price-panel{padding:2rem;border:1px solid #657080}
.bc-price{font-family:'Playfair Display',serif;font-size:4rem;line-height:1.15}
.bc-price-panel ul{padding-left:1.3rem}
.bc-page li{margin-bottom:.65rem}

/* ---- Sections / panels ---- */
.bc-page .bc-tint{background:var(--bc-ice)}
.bc-panel{border-top:3px solid var(--bc-gold);padding:1.75rem 0}
.bc-panel ul{padding-left:1.25rem}
.bc-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.bc-step{border-top:1px solid #a8b7c3;padding-top:1.5rem}
.bc-step-number{font-family:'Playfair Display',serif;font-size:2rem;color:#796020;display:block;margin-bottom:1rem}

/* ---- Table ---- */
.bc-table-wrap{overflow-x:auto;margin:2rem 0 1rem}
.bc-page table{width:100%;border-collapse:collapse;text-align:left;font-size:1rem}
.bc-page caption{text-align:left;margin-bottom:.75rem;font-weight:700}
.bc-page th,.bc-page td{padding:1rem;border-bottom:1px solid #bdcbd6;vertical-align:top}
.bc-page thead{background:#dce6ef}
.bc-page th{font-weight:700}

/* ---- FAQ ---- */
.bc-faq details{padding:1.25rem 0;border-bottom:1px solid #bdcbd6}
.bc-faq summary{font-weight:700;cursor:pointer;font-size:1.1rem}
.bc-faq details p{margin:1rem 0 0;max-width:80ch}

/* ---- Owner guides ---- */
.bc-guides{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}
.bc-guide{border-bottom:1px solid #c4ced7;padding-bottom:1.5rem}
.bc-guide img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;margin-bottom:1.5rem}
.bc-guide h3 a{text-decoration:none}
.bc-guide h3 a:hover{text-decoration:underline}

/* ---- Contact form ---- */
.bc-contact-layout{grid-template-columns:1fr 1fr}
.bc-form{display:grid;gap:.6rem}
.bc-form label{font-weight:700;font-size:.95rem}
.bc-form input,.bc-form textarea{width:100%;background:#fff;color:var(--bc-navy);border:1px solid #8799a8;padding:.8rem;margin:0 0 .5rem;border-radius:0;min-width:0}
.bc-form textarea{resize:vertical}
.bc-form .bc-button:disabled{opacity:.65;cursor:wait}
.bc-error{color:#9b2424;font-weight:600}
.bc-success{border-left:4px solid var(--bc-gold);padding:1rem;background:#fff}

/* ---- Footer ---- */
.bc-page .bc-footer{background:var(--bc-navy);color:#fff;padding:2rem 0;font-size:.9rem}
.bc-footer-links{display:flex;flex-wrap:wrap;gap:1.2rem}
.bc-link-button{border:0;background:transparent;color:inherit;padding:0;text-decoration:underline;cursor:pointer}

/* ---- Cookie banner / dialog ---- */
.bc-cookie{position:fixed;inset:auto 0 0;background:var(--bc-navy);color:#fff;padding:1.25rem;z-index:100;max-height:60vh;overflow:auto;border-top:1px solid #677787}
.bc-cookie .bc-container{display:flex;gap:2rem;align-items:center;justify-content:space-between}
.bc-cookie p{font-size:.9rem;margin:0;max-width:65ch}
.bc-cookie .bc-actions{flex-shrink:0;margin:0}
.bc-page dialog{max-width:550px;width:calc(100% - 2rem);max-height:90vh;overflow:auto;border:0;padding:2rem;color:var(--bc-navy);background:#fff}
.bc-page dialog::backdrop{background:rgba(13,27,42,.7)}
.bc-dialog-close{float:right;border:0;background:transparent;padding:.5rem;font:inherit;cursor:pointer}
.bc-report-note{margin-top:2rem}

@media(max-width:760px){
  .bc-page .bc-section{padding:3rem 0}
  .bc-grid,.bc-hero .bc-grid,.bc-contact-layout,.bc-three,.bc-guides{grid-template-columns:1fr;gap:1.5rem}
  .bc-page .bc-menu-toggle{display:block}
  .bc-nav-links{width:100%;align-items:flex-start;gap:1rem}
  .bc-page.bc-js .bc-nav-links:not(.is-open){display:none}
  .bc-nav-links>a{padding:.5rem 0}
  .bc-nav-links .bc-button{padding:.7rem}
  .bc-cookie .bc-container{display:block;padding:0}
  .bc-cookie .bc-actions{margin-top:1rem}
  .bc-page th,.bc-page td{padding:.75rem .5rem}
  .bc-container{padding:0 1.25rem}
  .bc-page .bc-nav{padding:1rem 1.25rem}
}
@media(prefers-reduced-motion:reduce){
  .bc-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ============================================
   INTRO SPLIT-SCREEN REVEAL
   (top = gold "€250 flat fee", bottom = navy
   "20% traditional" — the winning colours from
   the old cascade, kept as the single copy)
   ============================================ */

.intro-overlay{position:fixed;inset:0;z-index:5000;display:flex;flex-direction:column;pointer-events:all}
.intro-panel{width:100%;height:50%;display:flex;align-items:center;justify-content:center;transition:transform .9s cubic-bezier(.76,0,.24,1);overflow:hidden}
.intro-top{background:var(--bc-gold)}
.intro-bottom{background:var(--bc-navy)}
.intro-panel-content{display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transform:translateY(16px);animation:introFadeIn .6s ease forwards .3s}
.intro-label{font-family:'DM Sans',sans-serif;font-size:1.8rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem}
.intro-top .intro-label{color:rgba(255,255,255,.85)}
.intro-bottom .intro-label{color:rgba(255,255,255,.7)}
.intro-figure{font-family:'Playfair Display',serif;font-size:10rem;font-weight:900;line-height:1;color:#fff}
.intro-figure-white{color:#fff}
.intro-sub{font-family:'DM Sans',sans-serif;font-size:1.9rem;margin-top:.75rem}
.intro-top .intro-sub{color:rgba(255,255,255,.8)}
.intro-bottom .intro-sub{color:rgba(255,255,255,.6)}
@keyframes introFadeIn{to{opacity:1;transform:translateY(0)}}
.intro-overlay.split .intro-top{transform:translateY(-100%)}
.intro-overlay.split .intro-bottom{transform:translateY(100%)}
.intro-overlay.done{display:none}
.intro-skip{position:absolute;bottom:2rem;right:2rem;z-index:5001;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.5rem 1.2rem;font-family:'DM Sans',sans-serif;font-size:.8rem;cursor:pointer;transition:opacity .3s ease,background .2s ease;opacity:0;animation:introFadeIn .6s ease forwards .6s}
.intro-skip:hover{background:rgba(255,255,255,.15)}

.intro-figure-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}
.intro-figure-bounce{animation:introFigureBounce 1.4s ease-in-out .9s infinite;display:inline-block}
@keyframes introFigureBounce{0%,100%{transform:translateY(0) scale(1)}20%{transform:translateY(-14px) scale(1.04)}40%{transform:translateY(0) scale(.98)}55%{transform:translateY(-6px) scale(1.02)}70%{transform:translateY(0) scale(1)}}
.intro-star{position:absolute;color:#fff;font-size:1.4rem;line-height:1;opacity:0;pointer-events:none;animation:introStarTwinkle 2.2s ease-in-out infinite}
.star-1{top:-10%;left:-14%;font-size:1.1rem;animation-delay:.9s}
.star-2{top:10%;right:-16%;font-size:1.6rem;animation-delay:1.3s}
.star-3{bottom:-8%;left:6%;font-size:1rem;animation-delay:1.7s}
.star-4{top:-18%;right:14%;font-size:.9rem;animation-delay:2.1s}
.star-5{bottom:-14%;right:-8%;font-size:1.3rem;animation-delay:1.1s}
.star-6{top:40%;left:-20%;font-size:.85rem;animation-delay:2.5s}
@keyframes introStarTwinkle{0%{opacity:0;transform:scale(.4) rotate(0)}30%{opacity:1;transform:scale(1.1) rotate(15deg)}50%{opacity:.7;transform:scale(.9) rotate(-10deg)}70%{opacity:0;transform:scale(.5) rotate(5deg)}100%{opacity:0;transform:scale(.4) rotate(0)}}

@media (max-width:600px){ .intro-figure{font-size:3rem} }
@media (prefers-reduced-motion:reduce){ .intro-figure-bounce,.intro-star{animation:none} }
