/* v3: Pine & Paper color scheme on top of the v2 layout (layout untouched) */
:root{
  --color-bg:#F6F3EC;--color-surface:#FBF9F4;--color-surface-2:#FFFDF8;
  --color-surface-offset:#ECE8DF;--color-surface-offset-2:#E4E0D6;
  --color-divider:#DDD9CF;--color-border:#C9C5BC;
  --color-text:#1A1A17;--color-text-muted:#44473F;--color-text-faint:#44473F;--color-text-inverse:#F6F3EC;
  --color-primary:#1F3A34;--color-primary-hover:#172D28;--color-primary-active:#10211D;--color-primary-soft:#DCE3DF;
  --color-clay:#1F3A34;
  --color-espresso:#1F3A34;--color-espresso-2:#25443D;--color-espresso-text:#F6F3EC;
  --color-espresso-muted:#C5CFC9;--color-espresso-border:#3B5850;--color-espresso-accent:#AFC0B7;
  --shadow-sm:0 1px 2px rgba(26,26,23,.06);--shadow-md:0 6px 18px rgba(26,26,23,.08);--shadow-lg:0 18px 44px rgba(26,26,23,.12);
}
::selection{background:#DCE3DF}
.btn--primary,.mobile-menu a.btn--primary{color:#F6F3EC}
/* gently varied section backgrounds: paper / deeper paper / pine */
#services{background:var(--color-bg)}
#packages{background:var(--color-surface-offset)}
#packages .pkg{background:var(--color-surface)}
#packages .pkg--featured{background:var(--color-surface-2);border-color:var(--color-primary)}
#packages .pkg-note{background:var(--color-surface-offset-2)}
#how{background:var(--color-bg)}
#gallery{background:var(--color-bg)}
#faq{background:var(--color-surface-offset)}
.quote{background:var(--color-surface-offset-2)}
.area{background:var(--color-bg)}
.footer{background:#18302B}
.footer__rule,.footer--v2 .footer__base{border-color:#335048}
.quote__aside a,.faq details a{color:var(--color-primary)}
.pkg__tag{color:var(--color-primary)}
.trust__inner span{background:transparent}
/* menu */
.menu-section--base{background:#EFEBE2}
.menu-hero{background:transparent}
.dcard{background:var(--color-surface)}
.dcard__media{background:var(--color-surface-offset)}
.menu-note{background:var(--color-surface-offset)}
.menu-cta{background:var(--color-surface-offset-2)}
.menu-item__tag{background:var(--color-surface-offset);color:var(--color-primary)}
.menu-item__tag--addon{background:var(--color-surface-offset);color:var(--color-text-muted);border-color:var(--color-border)}
.menu-item__tag--hot{border-color:#e3c2b8;background:#f6e7e1;color:#84321F}
.menu-item__tag--iced{border-color:#c3d3de;background:#e7eef2;color:#254A66}
.footer__logo img{filter:none!important;opacity:1!important}
/* ---- Compact phone menu ---- */
.dcard__quick{display:none}
@media (max-width:39.99rem){
  .menu-hero{padding-block:var(--space-8) var(--space-5)}
  .menu-hero h1{font-size:2rem}
  .menu-hero p{font-size:var(--text-sm)}
  .menu-section{padding-block:var(--space-8)}
  .menu-section__head{margin-bottom:var(--space-5)}
  .menu-section__head h2{font-size:1.5rem}
  .menu-hero-image{margin-bottom:var(--space-5)}
  .dgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
  .dcard{border-radius:var(--radius-lg)}
  .dcard__body{padding:var(--space-3) var(--space-3) 0;gap:var(--space-1)}
  .dcard .menu-item__name{font-size:1rem;line-height:1.15}
  .dcard__quick{display:flex;gap:.25rem}
  .dcard__quick .menu-item__tag{font-size:.625rem;padding:.1rem .4rem;letter-spacing:.06em}
  .dcard__line{font-size:.78rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .dcard__details summary{min-height:2.25rem;font-size:.625rem}
  .dcard__details .dcard__k:last-of-type,.dcard__details .dcard__k:last-of-type+.menu-item__tags{display:none}
  .dcard__ing{font-size:.78rem}
  .dcard__media{aspect-ratio:1/1}
  .menu-note{margin-top:var(--space-5);padding:var(--space-3) var(--space-4);font-size:.78rem}
  .menu-two{gap:var(--space-8)}
  .menu-options div{padding-block:var(--space-3);gap:2px}
  .menu-options dt{font-size:1rem}
  .menu-options dd{font-size:.8rem}
  .menu-two .menu-note{margin-top:var(--space-3)}
  .menu-cta{padding-block:var(--space-8)}
  hr.rule.shell{display:none}
}
.dcard .menu-item__name,.dcard__quick,.dcard__line{flex:none}.dcard .menu-item__name{text-wrap:wrap}
/* ---- Phone: quote form fits one screen ---- */
@media (max-width:39.99rem){
  #quote{padding-block:var(--space-3) var(--space-6)}
  #quote .shell{padding-inline:var(--space-3)}
  #quote .quote__aside{display:block;margin-bottom:var(--space-3)}
  #quote .quote__aside .eyebrow,#quote .quote__facts,#quote .contact-line,#quote .quote__lead-more{display:none}
  #quote .quote__aside .section-title{margin-block:0 var(--space-2)!important;font-size:1.5rem;line-height:1.2}
  #quote .quote__lead{margin:0;font-size:.9375rem;line-height:1.45}
  #quote .quote__grid{gap:0}
}
/* small labels on pine: light paper tone (>=7:1) */
.exp--v2 .eyebrow,.footer .eyebrow,.footer h2,.footer h3,.footer h4,.footer__h,.footer__heading{color:rgba(246,243,236,.8)!important;opacity:1}
