/* Old Grove dark heritage theme | authentic orange-crate artwork, modern restraint
   Loaded after styles.css. All type scales with browser font settings. */
:root {
  color-scheme: dark;
  --pine: #092638;
  --pine-deep: #061a28;
  --pine-muted: #bed1d1;
  --ink: #f6f0e4;
  --body: #d1ddde;
  --muted: #bbced1;
  --ivory: #081f30;
  --paper: #0c293b;
  --cream: #0a2435;
  --rule: rgba(216,231,231,.18);
  --rust: #e9a06d;
  --gold: #d6b47a;
  --white: #fff9ed;
  --night: #081f30;
  --night-deep: #061925;
  --night-soft: #0c293b;
  --night-raised: #102e42;
  --edge: rgba(227,230,213,.16);
  --edge-bright: rgba(227,230,213,.29);
  --warm-white: #f8f2e6;
  --citrus: #e9a06d;
}
html {scrollbar-color:#426276 #081f30}
body {background:var(--night); color:var(--warm-white)}
a {color:inherit}
::selection {background:#d6a56e;color:#091e2b}
.skip-link {background:#f8f2e6;color:#071d2c;border-color:var(--citrus)}
:focus-visible {outline-color:#f6be78;outline-width:.22rem}
.preview-note {
  background:#233a48;color:#f9e2bc;
  border-bottom:1px solid rgba(222,180,118,.28);
  font-size:1rem;letter-spacing:.005em;
}
.preview-note strong {color:#ffe0a4}
.header {background:rgba(7,26,39,.96);border-bottom:1px solid var(--edge);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.header-inner {min-height:5.75rem}
.brand-wordmark {color:var(--warm-white)}
.brand-wordmark strong {letter-spacing:.015em}
.brand-wordmark small {color:#e5bb80}
.brand img {filter:drop-shadow(0 .1rem .4rem rgba(0,0,0,.2))}
.nav a {color:#ecf0ec}
.nav a:not(.nav-contact):hover,.quiet-link:hover,.footer a:hover {color:#ffb87f}
.nav .nav-contact {background:#d7b77c;color:#112739;border:1px solid #d7b77c;
  font-weight:760;transition:background .25s ease,transform .25s ease}
.nav .nav-contact:hover {background:#f0cd92;color:#0d2435;transform:translateY(-1px)}
.eyebrow,.eyebrow-light {color:#debc87}
.eyebrow-dot {background:#e6a15e}
h1 em,h2 em {color:#f2ac74;font-style:italic}
h1,h2,h3 {color:var(--warm-white)}
.button-primary {background:#d8b67f;color:#102737;font-weight:750}
.button-primary:hover {background:#f1cb8f;color:#0a2535;transform:translateY(-2px);box-shadow:0 .6rem 1.5rem rgba(0,0,0,.19)}
.quiet-link {color:#e9d1a8;text-decoration:none;text-underline-offset:.35rem}
.hero {
  grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);
  gap:clamp(2.5rem,5vw,6rem);
  padding-block:clamp(3.6rem,7vw,7.3rem) clamp(4rem,7.4vw,7.5rem);
  align-items:center;
}
.hero-copy {max-width:38rem}
.hero h1 {font-size:clamp(3.35rem,5.45vw,5.9rem);line-height:1.07;
  letter-spacing:-.038em;max-width:11ch}
.hero-lede {color:#d8e0de;max-width:34rem;font-size:clamp(1.2rem,1.6vw,1.46rem)}
.hero-note {color:#c6d5d1;font-size:1.1rem}
.hero-buttons {margin-top:2.4rem}
.hero .quiet-link {border-bottom:1px solid rgba(233,209,168,.55);padding:.35rem 0}
.crate-figure {
  margin:0;min-width:0;position:relative;
  transform:translateZ(0);
}
.crate-figure::before {
  content:"";position:absolute;inset:-1.5rem -1.6rem 2rem 1.8rem;
  border:1px solid rgba(221,175,105,.29);pointer-events:none;
  border-radius:.2rem;
}
.crate-figure::after {content:"";position:absolute;z-index:-1;
  inset:6% -8% 10% 5%;background:radial-gradient(ellipse,rgba(204,112,46,.10),transparent 70%);
  filter:blur(2.4rem);pointer-events:none}
.crate-image-wrap {
  display:block;overflow:hidden;position:relative;border:1px solid #dfc498;
  background:#f9f6ea;
  padding:.55rem;
  border-radius:.15rem;
  box-shadow:0 1.3rem 3.75rem rgba(0,0,0,.25),0 0 0 .4rem rgba(8,31,48,.9);
  transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s ease;
}
.crate-image-wrap img {display:block;width:100%;height:auto;background:#faf7ed;aspect-ratio:4/3;object-fit:contain}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .crate-figure:hover .crate-image-wrap {transform:translateY(-.25rem);
    box-shadow:0 1.7rem 4rem rgba(0,0,0,.29),0 0 0 .4rem rgba(8,31,48,.9)}
}
.crate-caption {display:flex;justify-content:space-between;gap:1rem;
  margin-top:1.6rem;padding:0 .2rem;
  color:#d8c7a9;font-size:.96rem;font-weight:620;letter-spacing:.02em;line-height:1.5}
.crate-caption span:last-child {color:#edb679;text-align:right}
.service-promise {color:#d2ded8;border-color:var(--edge);font-size:1.02rem}
.service-promise span {position:relative}
.service-promise span+span::before {content:"";display:inline-block;vertical-align:middle;
  width:.3rem;height:.3rem;border-radius:50%;background:#cd915b;
  margin-inline:0 1.2rem}
.services-section {background:var(--night-soft)}
.section-intro>p:last-child,.section-description,
.service-item p,.value-item p,.about-copy p:not(.eyebrow),
.pricing-head>p,.price-row p,.faq-list details p,.section-bottom-note {
  color:#cfdddc
}
.section-intro>p:last-child {font-size:1.2rem}
.services-grid,.service-item {border-color:var(--edge)}
.service-index {color:#dba76f}
.service-item h3 {color:#fff2db}
.service-item {transition:background .28s ease,padding .25s ease}
@media(hover:hover){
  .service-item:hover {background:rgba(255,255,255,.026)}
}
.values-section {background:var(--night)}
.values-list,.value-item {border-color:var(--edge)}
.value-item>span {color:#dcad77}
.value-item h3 {color:#fff0dd}
.about-section {background:var(--night-soft)}
.about-mark {background:#082435;border:1px solid var(--edge-bright);min-height:26rem}
.about-mark::after {border-color:rgba(216,180,119,.25)}
.about-mark img {filter:drop-shadow(0 .3rem 1rem rgba(0,0,0,.2))}
.about-mark span {color:#e2c392;letter-spacing:.05em}
.about-copy .about-lede {color:#fff0dc!important}
.about-copy .about-signature {color:#e9b279}
.pricing-section {background:var(--night)}
.pricing-head>p {color:#d6e0dd}
.price-list,.price-row {border-color:var(--edge)}
.price-draft {color:#d1c19f;font-size:1rem;letter-spacing:.02em}
.price-amount strong {color:#ffeed5}
.price-amount small {color:#cdd9d7}
.pricing-disclaimer {color:#ccdad9}
.faq-section {background:var(--night-soft)}
.faq-list,.faq-list details {border-color:var(--edge)}
.faq-list summary {color:#f9f0e0;min-height:3.5rem}
.faq-list summary span {color:#f2b47e}
.contact-section {
  background:linear-gradient(135deg,#0c2c41 0%,#0a2132 100%);
  border-top:1px solid rgba(219,181,117,.26);
}
.contact-layout h2 {color:#fff0de}
.contact-layout h2 em {color:#e9b582}
.contact-layout>div>p:not(.eyebrow) {color:#d0dbd9}
.contact-panel {border-top:1px solid rgba(229,191,126,.5)}
.contact-label {color:#e7c58d;font-size:1rem}
.contact-placeholder {color:#fff0de}
.contact-location {color:#d4e1df}
.security-note {color:#c2d2d4!important;font-size:1rem!important}
.contact-email,.contact-phone {color:#f4cb91}
.footer {background:var(--night-deep)}
.footer-links a,.footer-brand {color:#f4edde}
.footer-inner p {color:#c1d2d0}
.policy-page section {border-color:var(--edge)}
.policy-lede {color:#f5e2bd}
.policy-page section p {color:#d1dedb}
.policy-draft {background:#233a48;color:#fce5c4}
.not-found>p:not(.eyebrow) {color:#cedcda}
/* Maintain readable line lengths on narrow screens and as text is enlarged. */
@media(max-width:67rem) {
  .hero {grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:2.5rem}
}
@media(max-width:56rem) {
  .nav {background:#0b2739;border-bottom:1px solid var(--edge-bright);box-shadow:0 1rem 2rem rgba(0,0,0,.25)}
  .nav a {color:#fff2e5}
  .nav .nav-contact {color:#0b2435}
  .menu-toggle {color:#f3eddf;background:transparent;border:1px solid #647681}
  .menu-lines i {background:#f3eddf}
  .hero {grid-template-columns:1fr;gap:3.1rem;padding-block:3.8rem}
  .hero h1 {max-width:14ch}
  .crate-figure {max-width:44rem;width:100%;margin-inline:auto}
  .about-mark {min-height:16rem}
}
@media(max-width:38rem){
  .hero {gap:2.75rem;padding-block:3rem}
  .hero h1 {font-size:clamp(2.7rem,11vw,4.15rem);max-width:13ch}
  .crate-figure::before {inset:-.7rem -.6rem 1rem .6rem}
  .crate-image-wrap {padding:.25rem}
  .crate-caption {flex-direction:column;gap:.2rem;margin-top:1.2rem;font-size:.95rem}
  .crate-caption span:last-child {text-align:left}
  .service-promise {display:grid;gap:.7rem}
  .service-promise span+span::before {content:none}
  .service-promise span::before {content:"";display:inline-block;width:.3rem;height:.3rem;
    background:#dfaf79;border-radius:50%;margin:0 .8rem .16rem 0}
  .about-mark {min-height:15rem}
}
@media(max-width:23rem){
  .hero h1 {font-size:clamp(2.4rem,11vw,3rem)}
  .crate-figure::before {display:none}
  .crate-caption {font-size:.9rem}
  .brand img {width:2.35rem;height:2.35rem}
}
@media(prefers-reduced-motion:reduce){
  .crate-image-wrap,.service-item,.button-primary,.nav .nav-contact {transition:none!important;transform:none!important}
}

/* Fine-grained polish and large-text accessibility safeguards. */
.nav a:not(.nav-contact) {position:relative}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .nav a:not(.nav-contact)::after {
    content:"";position:absolute;bottom:.45rem;left:0;right:0;height:1px;
    background:#dcaa73;transform:scaleX(0);transform-origin:left;
    transition:transform .3s cubic-bezier(.2,.7,.2,1)
  }
  .nav a:not(.nav-contact):hover::after,.nav a:not(.nav-contact):focus-visible::after {
    transform:scaleX(1)
  }
  .services-grid .service-item:nth-child(3n+2)[data-reveal] {transition-delay:.06s}
  .services-grid .service-item:nth-child(3n)[data-reveal] {transition-delay:.12s}
}
@media(max-width:29rem) {
  .brand img {display:block;width:2.25rem;height:2.25rem}
  .header-inner {gap:.75rem}
  .brand {gap:.5rem}
}
@media(max-width:23rem) {
  .brand img {width:2rem;height:2rem}
  .header-inner {justify-content:space-between}
  .crate-caption {overflow-wrap:anywhere}
}
@media(prefers-contrast:more) {
  :root {--body:#edf3f0;--muted:#edf0ee;--edge:rgba(255,255,255,.48)}
  .hero-lede,.hero-note,.service-item p,.about-copy p:not(.eyebrow),
  .price-row p,.value-item p,.faq-list details p {color:#f0f5f0}
  .button-primary,.nav .nav-contact {border:2px solid #fff0d2}
}
@media(forced-colors:active) {
  .crate-image-wrap {border:2px solid CanvasText}
  .button-primary,.nav .nav-contact {border:2px solid ButtonText}
}


/* Crate label transparency and mobile layout repair — Oct 2026.
   Keep the original 1930s-style citrus art, not the rectangular export background. */
.crate-figure::before,
.crate-figure::after { content:none; display:none; }
.crate-figure { isolation:isolate; max-width:100%; }
.crate-image-wrap {
  aspect-ratio:1.72;
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
}
.crate-image-wrap img {
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  background:transparent;
}
.crate-caption {
  display:block;
  margin-top:.85rem;
  padding:0;
  color:#dfd4be;
  font-size:1.025rem;
  line-height:1.55;
  letter-spacing:0;
  font-weight:550;
  text-align:left;
  text-wrap:pretty;
}
.hero .quiet-link {
  border-bottom:0;
  padding:0;
  text-decoration:underline;
  text-decoration-color:rgba(224,189,135,.55);
  text-underline-offset:.32rem;
  text-decoration-thickness:1px;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .crate-figure:hover .crate-image-wrap {
    transform:translateY(-.15rem);
    box-shadow:none;
  }
}
@media (max-width:38rem) {
  .crate-figure::before,.crate-figure::after {display:none}
  .crate-image-wrap {aspect-ratio:1.72;padding:0;box-shadow:none}
  .crate-caption {
    display:block;
    margin-top:.75rem;
    font-size:1rem;
    line-height:1.5;
  }
  .crate-caption span {font-size:inherit}
}
@media (prefers-reduced-motion:reduce) {
  .crate-image-wrap {transform:none!important;transition:none!important}
}
