/* Aquadeno Hospitality v9 — deep petrol, warm ivory, sage and champagne. */
:root {
  color-scheme: light;
  --paper: #f7f5ef;
  --ivory: #eae7dd;
  --cashmere-light: #efeee5;
  --stone: #dce3d8;
  --ink: #173e3c;
  --muted: #52645e;
  --line: #c3cabc;
  --accent: #4e6855;
  --cashmere: #dbc79f;
  --champagne: #dbc79f;
  --bronze-deep: #10322f;
  --bronze-panel: #183e3b;
  --light-ink: #faf8f2;
  --light-muted: #dbe4da;
}
::selection { background: #173e3c; color: #faf8f2; }
.icon-arrow { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.35; flex: 0 0 auto; transition: transform .3s; }
.button:hover .icon-arrow { transform: translate(3px,-3px); }
.contact-number .icon-arrow { width: 28px; height: 28px; }
.eyebrow, .care-caption .eyebrow, .location > .eyebrow, .editorial-caption { color: var(--accent); }
.quiet-link:hover { color: var(--accent); }
.button-light, .button-dark { background: var(--ink); color: var(--light-ink); border-color: var(--ink); }
.button-light:hover, .button-dark:hover { background: #315b50; color: var(--light-ink); border-color: #315b50; }
.site-header, .site-header.is-scrolled, .site-header.menu-is-open {
  background: rgba(16,50,47,.98);
  color: var(--light-ink);
  border-color: rgba(219,199,159,.28);
}
.site-header .wordmark { color: var(--light-ink); }
.site-header .wordmark > span { color: var(--champagne); }
.site-header nav a:hover, .header-phone:hover { color: var(--champagne); }
.header-phone { color: var(--champagne); }
.hero {
  background: var(--bronze-deep);
  color: var(--light-ink);
  min-height: calc(100svh - 90px);
  padding-top: clamp(76px,9vh,122px);
  padding-bottom: 32px;
  gap: 64px;
}
.hero::after { content: ""; position: absolute; inset: 24px; border: 1px solid rgba(219,199,159,.27); pointer-events: none; z-index: 1; }
.hero-content, .hero-bottom { z-index: 2; }
.hero-content { max-width: 880px; }
.hero h1, .hero h2 { font-size: clamp(62px,5.8vw,96px); line-height: 1.08; letter-spacing: -.04em; }
.hero h1 em, .hero h2 em { color: var(--champagne); }
.hero-shade {
  background:
    linear-gradient(90deg, rgba(16,50,47,.99) 0%, rgba(16,50,47,.95) 25%, rgba(16,50,47,.88) 43%, rgba(16,50,47,.72) 58%, rgba(16,50,47,.13) 82%, rgba(16,50,47,.03) 100%),
    linear-gradient(0deg, rgba(16,50,47,.98) 0%, rgba(16,50,47,.70) 12%, transparent 38%, transparent 85%, rgba(16,50,47,.16) 100%);
}
.hero-image { object-position: center; }
.hero-eyebrow { color: var(--champagne); }
.hero-eyebrow::before { width: 36px; background: var(--champagne); }
.hero-description { color: var(--light-muted); max-width: 570px; }
.hero .button-light, .silk-copy .button-dark, .contact-form .button-light { background: var(--champagne); color: #10322f; border-color: var(--champagne); }
.hero .button-light:hover, .silk-copy .button-dark:hover, .contact-form .button-light:hover { background: #f0dfbd; color: #10322f; border-color: #f0dfbd; }
.quiet-link.light { color: var(--light-ink); border-color: #a1b3a6; }
.quiet-link.light:hover { color: var(--champagne); border-color: var(--champagne); }
.hero-bottom { border-top: 1px solid rgba(219,199,159,.32); padding-top: 24px; }
.slide-tab, .slide-tab small { color: #d6dfd3; }
.slide-tab.is-active, .slide-tab.is-active small, .slide-tab:hover { color: var(--champagne); }
.progress-line { background: #819b8b; }
.progress-line::after { background: var(--champagne); }
.hero-controls button { background: rgba(16,50,47,.85); color: var(--light-ink); border-color: #9db3a2; }
.hero-controls button:hover { background: var(--champagne); color: var(--bronze-deep); border-color: var(--champagne); }
.service-note { background: #e8e5db; color: var(--ink); border-color: var(--line); letter-spacing: .06em; }
.care-card { min-width: 0; display: flex; flex-direction: column; }
.care-gallery { gap: 32px; }
.care-card .photograph { border: 1px solid #c2c6b6; flex: 0 0 auto; }
.care-caption { padding: 28px 0 24px; flex: 1; }
.care-caption h3 { font-size: clamp(28px,2.65vw,38px); line-height: 1.15; margin-top: 14px; }
.care-caption p { max-width: none; }
.care-card details a { display: inline-flex; }
.photo-link { width: 48px; height: 48px; background: #10322f; color: var(--champagne); border: 1px solid var(--champagne); }
.photo-link .icon-arrow { width: 22px; height: 22px; }
.photograph:hover .photo-link { background: var(--champagne); color: var(--bronze-deep); }
.silk-feature { background: #183e3b; color: var(--light-ink); }
.silk-copy .eyebrow, .silk-copy .editorial-caption { color: var(--champagne); }
.silk-copy > p:not(.eyebrow) { color: var(--light-muted); }
.silk-copy h2 { font-size: clamp(48px,4.7vw,72px); }
.fine-rule { width: 56px; background: var(--champagne); }
.photo-label { background: rgba(16,50,47,.94); color: #faf8f2; border: 1px solid rgba(219,199,159,.5); }
.linen-tags { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 28px; max-width: 440px; }
.linen-tags span { border-bottom: 1px solid #809786; padding-bottom: 7px; color: #e8e9da; font-size: 14px; line-height: 1.6; }
.cooperation { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(60px,9vw,140px); align-items: start; }
.cooperation-intro { position: sticky; top: 124px; }
.cooperation-intro h2 { margin: 22px 0 30px; font-size: clamp(48px,5vw,72px); }
.cooperation-intro > p:not(.eyebrow) { color: var(--muted); max-width: 440px; font-size: 17px; }
.cooperation-intro .quiet-link { margin-top: 25px; }
.process-list { list-style: none; padding: 0; margin: 0; }
.process-list li { border-top: 1px solid var(--line); padding: 29px 0 33px; display: grid; grid-template-columns: 70px minmax(0,1fr); gap: 24px; }
.process-list li:last-child { border-bottom: 1px solid var(--line); }
.process-number { font: 400 46px/1 var(--serif); color: var(--accent); padding-top: 3px; }
.process-list h3 { font-size: 34px; margin-bottom: 14px; }
.process-list p { font-size: 17px; color: var(--muted); line-height: 1.8; }
.pickup-wrap { background: var(--ivory); }
.pickup-columns { gap: clamp(48px,8vw,125px); align-items: start; }
.pickup-photo { aspect-ratio: 1.05; }
.pickup-editorial p { margin-top: 24px; font-size: 17px; color: var(--muted); }
.pickup-editorial p em { font-family: var(--serif); font-size: 30px; line-height: 1.35; display: inline-block; margin-top: 10px; color: var(--ink); }
.business-pickup h3 { font-size: 38px; line-height: 1.2; }
.business-pickup .button { margin-top: 28px; }
.business-pickup table { font-size: 16px; }
.atelier-photo { height: 680px; max-height: 55vw; }
.atelier-photo::after { background: linear-gradient(transparent,rgba(16,50,47,.45)); }
.atelier-copy > p.lead { border-left: 1px solid var(--accent); padding-left: 22px; max-width: 450px; }
.atelier-copy h2 { font-size: clamp(48px,4.6vw,68px); }
.retail-wrap { background: #eeeee4; }
.retail-services { padding-top: 65px; padding-bottom: 65px; }
.retail-overview { margin-top: 20px; }
.retail-overview > summary { font: 400 clamp(38px,4vw,58px)/1.12 var(--serif); letter-spacing: -.035em; padding: 12px 0 24px; }
.retail-plus { font: 300 42px/1 var(--sans); width: 60px; height: 60px; flex-shrink: 0; border: 1px solid var(--line); display: grid; place-items: center; border-radius: 50%; }
.retail-overview[open] > summary .retail-plus { transform: rotate(45deg); }
.retail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px; border-top: 1px solid var(--line); padding-top: 38px; margin-top: 10px; }
.retail-grid h3 { font-size: 31px; line-height: 1.2; margin-bottom: 20px; }
.retail-grid p { font-size: 16px; color: var(--muted); }
.retail-grid details { border-top: 1px solid var(--line); }
.retail-grid summary { font-size: 16px; line-height: 1.6; min-height: 54px; padding: 14px 0; }
.retail-grid details p { padding: 8px 0 20px; }
.retail-grid details p + p { margin-top: 0; }
.retail-grid .pickup-conditions dd { font-size: 24px; }
.retail-grid .pickup-conditions dt { font-size: 15px; }
.collection-points { margin-top: 35px; }
.location > .eyebrow { color: var(--accent); }
.location dl div { border-color: var(--line); }
.contact { background: #10322f; color: var(--light-ink); border-top: 1px solid #5a7565; }
.contact-inner { grid-template-columns: minmax(0,1fr) minmax(0,1.04fr); gap: clamp(48px,7vw,110px); }
.contact-copy > .eyebrow { color: var(--champagne); }
.contact-copy h2 { font-size: clamp(48px,4.6vw,70px); }
.contact-copy > p:not(.eyebrow) { color: var(--light-muted); max-width: 440px; }
.contact-copy .contact-prep { margin-top: 32px; padding-left: 20px; border-left: 1px solid #9dad96; font-size: 15px; }
.contact-email { color: var(--champagne); border-color: #9dad96; }
.contact-number:hover, .contact-email:hover { color: #f0dfbd; }
.contact-form { min-width: 0; border: 1px solid #668171; padding: 32px; background: #183e3b; }
.contact-form .eyebrow { color: var(--champagne); margin-bottom: 14px; }
.contact-form h3 { font-size: 33px; line-height: 1.2; }
.contact-form > p, .contact-form .small-note { color: var(--light-muted); }
.contact-form label { color: var(--light-ink); }
.contact-form input, .contact-form textarea, .contact-form select { color: var(--light-ink); border-color: #9cb1a2; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #c4d2c5; }
.contact-form select { width: 100%; display: block; border: 0; border-bottom: 1px solid #9cb1a2; border-radius: 0; margin-top: 9px; padding: 7px 22px 12px 0; background: #183e3b; font: 400 17px/1.7 var(--sans); min-height: 49px; }
.contact-form option { background: #183e3b; color: #faf8f2; }
.form-row > label { min-width: 0; }
.optional { color: #c4d2c5; font-size: 14px; }
.site-footer { background: #0b2926; color: var(--light-ink); border-color: #476353; }
.site-footer .wordmark { color: var(--light-ink); font-size: 46px; }
.site-footer .wordmark > span, .site-footer .eyebrow { color: var(--champagne); }
.footer-top p:not(.eyebrow), .footer-bottom p { color: var(--light-muted); }
.footer-bottom { border-color: #476353; }
.footer-email { display: inline-block; color: var(--champagne); border-bottom: 1px solid #9dad96; margin-top: 14px; min-height: 44px; padding: 6px 0; font-size: 17px; }
.footer-top nav a:hover, .back-top:hover { color: var(--champagne); }
.hero :focus-visible, .site-header :focus-visible, .silk-feature :focus-visible, .contact :focus-visible, .site-footer :focus-visible { outline-color: #f0dfbd; }
.legal-hero { border-color: #5a7565; }
.legal-home:hover { color: var(--champagne); }

@media (min-width: 1700px) {
  .hero-content { left: auto; }
  .hero-bottom { left: auto; right: auto; width: 100%; }
}
@media (max-width: 1180px) {
  .hero h1, .hero h2 { font-size: clamp(58px,6vw,76px); }
  .care-gallery { gap: 24px; }
  .care-caption h3 { font-size: 30px; }
  .cooperation { gap: 60px; }
  .contact-form { padding: 26px; }
  .form-row { grid-template-columns: minmax(0,1fr); gap: 0; }
  .retail-grid { gap: 28px; }
}
@media (max-width: 1000px) {
  .site-header nav { background: #10322f; color: var(--light-ink); border-color: #668171; }
  .hero { min-height: calc(100svh - 85px); }
  .hero-content { max-width: 740px; }
  .hero-shade { background: linear-gradient(90deg,rgba(16,50,47,.98),rgba(16,50,47,.90) 55%,rgba(16,50,47,.55)),linear-gradient(0deg,rgba(16,50,47,.98),transparent 42%); }
  .cooperation { grid-template-columns: 1fr; gap: 48px; }
  .cooperation-intro { position: static; }
  .cooperation-intro h2 { max-width: 680px; }
  .cooperation-intro > p:not(.eyebrow) { max-width: 580px; }
  .retail-grid { grid-template-columns: 1fr; gap: 38px; }
  .retail-grid article { max-width: 640px; }
  .business-pickup h3 { font-size: 32px; }
}
@media (max-width: 760px) {
  .hero { padding: 58px var(--gutter) 26px; gap: 44px; }
  .hero::after { inset: 12px; }
  .hero h1, .hero h2 { font-size: clamp(42px,7.7vw,59px); line-height: 1.12; }
  .hero-eyebrow { font-size: 13px; gap: 12px; line-height: 1.7; }
  .hero-eyebrow::before { width: 24px; }
  .hero-shade { background: linear-gradient(90deg,rgba(16,50,47,.98),rgba(16,50,47,.91) 55%,rgba(16,50,47,.74)),linear-gradient(0deg,rgba(16,50,47,.98),transparent 48%); }
  .hero-image { object-position: 65% center; }
  .hero-bottom { padding-top: 20px; }
  .care-gallery { gap: 42px; }
  .care-card .photograph { aspect-ratio: 1; }
  .care-caption h3 { font-size: 35px; }
  .silk-copy h2, .cooperation-intro h2, .atelier-copy h2 { font-size: clamp(44px,8vw,59px); }
  .linen-tags { margin-top: 24px; }
  .cooperation-intro > p:not(.eyebrow), .process-list p { font-size: 16px; }
  .process-list li { grid-template-columns: 50px minmax(0,1fr); gap: 18px; padding: 25px 0; }
  .process-number { font-size: 39px; }
  .process-list h3 { font-size: 31px; }
  .pickup-editorial p { font-size: 16px; }
  .business-pickup h3 { font-size: 36px; }
  .business-pickup table { font-size: 15px; }
  .atelier-photo { height: auto; max-height: none; }
  .atelier-copy > p.lead { padding-left: 20px; }
  .retail-services { padding-top: 48px; padding-bottom: 48px; }
  .retail-overview > summary { font-size: 37px; }
  .retail-plus { width: 45px; height: 45px; font-size: 32px; }
  .contact-inner { grid-template-columns: minmax(0,1fr); gap: 45px; }
  .contact-copy h2 { font-size: clamp(44px,8vw,58px); }
  .contact-form { padding: 24px; }
  .contact-form h3 { font-size: 32px; }
  .site-footer .wordmark { font-size: 43px; }
}
@media (max-width: 420px) {
  .site-header { gap: 8px; }
  .header-phone { width: 36px; height: 44px; justify-content: center; flex-shrink: 0; gap: 0; margin-left: auto; }
  .header-phone .phone-digits { display: none; }
  .header-phone svg { display: block; width: 22px; height: 22px; }
  .hero { min-height: calc(100svh - 82px); }
  .hero h1, .hero h2 { font-size: clamp(37px,10vw,43px); }
  .hero-eyebrow { font-size: 12px; letter-spacing: .06em; }
  .service-note { gap: 14px; }
  .service-note a { font-size: 13px; }
  .contact-number { font-size: clamp(32px,9vw,40px); gap: 20px; }
  .contact-number .icon-arrow { width: 24px; height: 24px; }
  .contact-form { padding: 20px; }
  .retail-overview > summary { font-size: 32px; }
  .retail-plus { width: 40px; height: 40px; font-size: 28px; }
  .collection-points > summary { font-size: 26px; }
}
@media print {
  .legal-hero { background: white; color: black; }
  .legal-hero h1 em, .legal-hero .eyebrow, .legal-hero .legal-lead, .legal-meta { color: black; }
}
