/* Final quality layer: contrast, accessibility and responsive behavior. */
:root{--fq-ink:#24180f;--fq-muted:#5b4634;--fq-paper:#fffaf0;--fq-gold:#b67e24;--fq-line:rgba(67,42,20,.18)}
html{color-scheme:light}
body:not(.imperial-homepage){background:#f4e6d2;color:var(--fq-ink)}
body:not(.imperial-homepage) main{color:var(--fq-ink)}
body:not(.imperial-homepage) main :where(h1,h2,h3,h4,strong,summary,label,legend){color:var(--fq-ink)}
body:not(.imperial-homepage) main :where(p,li,dd,small){color:var(--fq-muted)}
body:not(.imperial-homepage) main a:not(.btn):not(.floating-whatsapp){color:#704719;text-decoration-thickness:1px;text-underline-offset:3px}
body:not(.imperial-homepage) .page-hero{padding-top:118px;background:radial-gradient(circle at 12% 12%,rgba(190,133,44,.22),transparent 30%),linear-gradient(145deg,#fffaf0,#ead4b3)}
body:not(.imperial-homepage) .page-hero h1{font-size:clamp(2.25rem,5vw,4.6rem);text-wrap:balance}
body:not(.imperial-homepage) .page-hero p{color:#493522;max-width:52rem}
body:not(.imperial-homepage) .section:not(.alt){background:linear-gradient(180deg,#f8eddd,#f4e5d0)}
body:not(.imperial-homepage) .section.alt{background:linear-gradient(180deg,#ead8bd,#f2e3ce)}
body:not(.imperial-homepage) :where(.card,.soft-box,.form-panel,.faq details){background:rgba(255,251,242,.94);border-color:var(--fq-line)}
body:not(.imperial-homepage) :where(.card,.soft-box,.form-panel,.faq details) :where(p,li,small){color:#57412f}
body:not(.imperial-homepage) .cta-band :where(h2,h3,p,li,strong){color:#fff5df}
body:not(.imperial-homepage) .cta-band a{color:#25170a}
.field label{display:block}
.hp,.newsletter-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
input,select,textarea{color:#24180f;background:#fffdf8;border-color:rgba(63,40,20,.28)}
input::placeholder,textarea::placeholder{color:#7a6858;opacity:1}
input:disabled,select:disabled,textarea:disabled{opacity:.7}
.notice[role="alert"],.notice.err{color:#711d0d;background:#ffe9df}
.notice[role="status"],.notice.ok{color:#174f27;background:#e6f6e9}
.privacy-note{padding:12px 14px;border-right:4px solid var(--fq-gold);background:#fff6e6;border-radius:12px}
.floating-whatsapp{isolation:isolate}

/* Four visibly different guide compositions while preserving reading order. */
.verified-layout-1 .verified-hero-grid{grid-template-columns:minmax(0,1fr) 260px}
.verified-layout-2 .verified-hero-grid{grid-template-columns:230px minmax(0,1fr)}
.verified-layout-2 .verified-hero-copy{grid-column:2;grid-row:1}
.verified-layout-2 .verified-symbol{grid-column:1;grid-row:1;border-radius:50%}
.verified-layout-2 .verified-answer .container{border-right:6px solid var(--vg-accent);padding-right:28px}
.verified-layout-3 .verified-hero{text-align:center}
.verified-layout-3 .verified-hero-grid{display:flex;flex-direction:column-reverse;gap:22px}
.verified-layout-3 .verified-hero p{margin-inline:auto}
.verified-layout-3 .verified-actions{justify-content:center}
.verified-layout-3 .verified-symbol{width:150px;height:150px;border-radius:28px;font-size:5rem}
.verified-layout-3 .verified-steps{max-width:980px;margin-inline:auto}
.verified-layout-4 .verified-hero-grid{grid-template-columns:minmax(0,1.2fr) 190px}
.verified-layout-4 .verified-symbol{width:180px;height:240px;border-radius:90px;font-size:5.5rem}
.verified-layout-4 .verified-answer{background:var(--vg-deep)}
.verified-layout-4 .verified-answer :where(span,h2,p){color:#fff3dc}
.verified-guide-page main :where(h1,h2,h3,strong,summary){color:inherit}
.verified-guide-page .verified-section-head h2,.verified-guide-page .verified-steps h3,.verified-guide-page .verified-checklist h2,.verified-guide-page .verified-faq summary{color:#24180f}
.verified-guide-page .verified-section-head p,.verified-guide-page .verified-steps p,.verified-guide-page .verified-checklist li,.verified-guide-page .verified-faq p{color:#554333}
.verified-guide-page .verified-warning :where(h2,p),.verified-guide-page .verified-related-section :where(h2,strong){color:#fff4df}
.sponsor-action :where(h2,h3,p,li,strong){color:#fff5df!important}
.sponsor-action a{color:#f0c86e!important}

.imperial-newsletter{background:linear-gradient(145deg,#071524,#172438);color:#fff3d8}
.imperial-newsletter :where(h2,h3,legend,label,strong){color:#fff3d8}
.imperial-newsletter p,.imperial-newsletter small{color:#dbcba9}
.imperial-newsletter-form{background:rgba(255,255,255,.06);border-color:rgba(221,176,78,.25)}
.imperial-newsletter input{background:#fffaf0;color:#21170e}
.imperial-newsletter .newsletter-consent span{color:#eadfc7}
.imperial-footer-logo{display:inline-flex;min-height:44px;align-items:center}
.celebration-status{background:#21170f;color:#fff2d5;border-block:1px solid rgba(198,145,54,.35)}
.celebration-status .container{min-height:64px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.celebration-status strong,.celebration-status span{color:#fff2d5}
.celebration-status a{margin-right:auto;color:#f0c86e!important;font-weight:900;text-decoration:underline}
.celebration-page .celebration-hero{position:relative;isolation:isolate;overflow:hidden}
.celebration-page .celebration-hero:after{content:"";position:absolute;inset:0;background:var(--hero-img) left center/42% auto no-repeat;opacity:.22;z-index:-1}
.celebration-layout-2 .celebration-hero .container{max-width:760px;margin-right:7%;margin-left:auto}
.celebration-layout-2 .two-col{grid-template-columns:.85fr 1.15fr}
.celebration-layout-3 .celebration-hero{text-align:center}
.celebration-layout-3 .celebration-hero p{margin-inline:auto}
.celebration-layout-3 .celebration-hero .hero-actions{justify-content:center}
.celebration-layout-3 .two-col{grid-template-columns:1fr}
.celebration-layout-3 .rounded-photo{max-height:430px;width:100%;object-fit:cover}

/* Consolidated cultural calendar: meaningful cards, stable anchors and no thin child pages. */
.celebration-grid .celebration-card{scroll-margin-top:150px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.celebration-grid .celebration-card p{margin:0;color:#34291f!important;line-height:1.9}
.celebration-grid .celebration-card p strong{color:#182638!important}
.celebration-status-link{margin-top:auto;display:inline-flex;align-items:center;min-height:44px;color:#744b00!important;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.celebration-status-link:focus-visible{outline:3px solid #a77412;outline-offset:4px;border-radius:4px}

@media(max-width:900px){
  body:not(.imperial-homepage) .page-hero{padding-top:102px}
  .verified-layout-1 .verified-hero-grid,.verified-layout-2 .verified-hero-grid,.verified-layout-4 .verified-hero-grid{grid-template-columns:1fr}
  .verified-layout-2 .verified-hero-copy,.verified-layout-2 .verified-symbol{grid-column:auto;grid-row:auto}
  .verified-layout-2 .verified-symbol{grid-row:1}
  .verified-layout-4 .verified-symbol{width:110px;height:110px;border-radius:34px;font-size:3.8rem}
}
@media(max-width:640px){
  body:not(.imperial-homepage) .page-hero{padding-top:92px}
  .floating-whatsapp{right:14px!important;left:auto!important;bottom:max(14px,env(safe-area-inset-bottom))!important;width:58px!important;height:58px!important;min-width:58px!important;padding:8px!important;border-radius:50%!important;display:grid!important;place-items:center!important}
  .floating-whatsapp>span{grid-row:auto!important;width:42px!important;height:42px!important}
  .floating-whatsapp strong,.floating-whatsapp small{display:none!important}
  .back-to-top{left:14px;right:auto}
  .imperial-newsletter-shell{grid-template-columns:1fr}
  .newsletter-fields{grid-template-columns:1fr}
  .celebration-status .container{padding-block:12px}
  .celebration-status a{margin-right:0}
  .celebration-page .celebration-hero:after{background-size:80% auto;opacity:.12}
  .celebration-layout-2 .celebration-hero .container{margin-inline:auto}
}
