/* Homepage art direction: warm editorial photography, quiet surfaces, one type system. */
.home-page {
  --font-display:'Cormorant Garamond','Iowan Old Style',Georgia,serif;
  --font-body:Manrope,Arial,sans-serif;
  --olive:#343b30;
  --gold-dark:#846536;
  --font-size-h2:clamp(2.625rem,4.1vw,3.875rem);
  --font-size-eyebrow:.75rem;
  --section-padding-block:clamp(56px,5vw,76px);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.65;
}
.home-page :is(h1,h2,h3) { font-family:var(--font-display); font-weight:500; letter-spacing:-.035em; }
.home-page h2 { font-size:var(--font-size-h2); line-height:1.03; }
.home-page .eyebrow { color:var(--gold-dark); letter-spacing:.15em; }
.home-page :is(a,button,summary):focus-visible { outline:2px solid var(--gold-dark); outline-offset:5px; }
.home-page :is(section[id],#collection-grid) { scroll-margin-top:100px; }
/* Every main content section shares the same top and bottom spacing. */
.home-page .section { padding-block:var(--section-padding-block); }
.home-page :is(.button,.product-cta) {
  width:auto;
  min-width:0;
  min-height:54px;
  padding:16px 24px;
  gap:14px;
  font:700 .875rem/1.3 var(--font-body);
  letter-spacing:.015em;
  text-transform:none;
  border-radius:var(--radius-button);
}
.home-page .button-dark { background:var(--gold-dark); color:#fffdf9; }
.home-page .button-dark:hover { background:#70532b; }
.home-page :is(.text-link,.collection-link) { font:600 .875rem/1.5 var(--font-body); letter-spacing:.015em; text-transform:none; }
.home-page .site-header { font-family:Arial,Helvetica,sans-serif; font-size:18px; line-height:normal; }

.home-page .promise-item { font-size:clamp(1.375rem,1.8vw,1.75rem); }

/* Consistent editorial headings and calm, aligned product information. */
@media(prefers-reduced-motion:no-preference) {
  .home-page .is-reveal-pending { opacity:0; transform:translateY(12px); }
  .home-page .is-reveal-entering { animation:home-intro-reveal 1000ms cubic-bezier(.22,.61,.36,1) both; }
  .home-page .hero-content.reveal { animation-duration:1000ms; }
}
@keyframes home-intro-reveal {
  from { opacity:0; transform:translateY(12px); }
  to { opacity:1; transform:none; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .home-page .testimonial-photo { transition:transform 650ms cubic-bezier(.22,.61,.36,1); }
  .home-page .testimonial-slide:hover .testimonial-photo { transform:scale(1.035); }
  .home-page .process-visual .process-image { transition:opacity 360ms ease,transform 650ms cubic-bezier(.22,.61,.36,1); }
  .home-page .process-visual:hover .process-image.is-active { transform:scale(1.035); }
  .home-page .process .process-step-panel .process-image { transition:filter 400ms ease; }
  .home-page .process-step-panel .process-image:hover { filter:brightness(1.035); }
}
@media print {
  .home-page .is-reveal-pending,.home-page .is-reveal-entering { opacity:1; transform:none; animation:none; }
}
.home-page .about { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); }
.home-page .about-copy .lead { font-size:1rem; line-height:1.8; }
.home-page .about-copy .lead + .lead { margin-top:18px; }
.home-page .collection-intro { max-width:430px; font-size:1rem; }
.home-page .product-card { padding:clamp(14px,1.4vw,20px); }
.home-page .product-heading { flex-wrap:wrap; justify-content:flex-start; column-gap:14px; row-gap:10px; }
.home-page .product-heading h3 { flex:1 1 100%; font-size:clamp(1.75rem,2.35vw,2.25rem); line-height:1.08; }
.home-page .price { font:500 1.5rem/1 var(--font-display); color:#6f5632; }
.home-page .price sup { font-family:var(--font-body); font-size:.75rem; }
.home-page .product-meta p { margin-top:14px; font-size:1rem; }
.home-page .product-cta { width:100%; margin-top:24px; }
.home-page .product-tag { font:600 .75rem/1.4 var(--font-body); letter-spacing:.02em; text-transform:none; }
.home-page .collection-reassurance { margin-top:28px; padding-top:20px; font-size:.75rem; letter-spacing:.055em; }
.home-page .collection-professionals { max-width:none; margin:12px 0 0; line-height:1.3; text-wrap:normal; }
.home-page .process-layout { grid-template-columns:minmax(0,1fr) minmax(0,.95fr); column-gap:clamp(40px,6vw,90px); }
.home-page .process-intro h2 { font-size:var(--font-size-h2); line-height:1.03; }
.home-page .process-summary,.home-page .process-step-description { font-size:1rem; }
.home-page .process-step .step-number { font-size:.75rem; }
.home-page .process-step-title { font-size:1.875rem; }
.home-page .process-visual { align-self:center; min-height:0; aspect-ratio:3/4; }
.home-page .process-actions .button { min-width:0; min-height:54px; }
.home-page .process-step.is-active .process-step-title,.home-page .process-step:hover .process-step-title { transform:none; }
.home-page .process-step-heading { margin:0; }
.home-page .process-step-panel { padding-left:86px; }
.home-page .process-step-panel[hidden] { display:none; }
.home-page .process-step-description { margin:8px 0 0; }
.home-page .process-toggle { display:none; }
.home-page .process-step-button:disabled { cursor:default; color:inherit; opacity:1; }
/* The unenhanced document is a readable sequence with all four photos. */
.home-page .process:not(.is-enhanced) .process-layout { grid-template-columns:1fr; grid-template-areas:'intro' 'timeline' 'actions'; }
.home-page .process:not(.is-enhanced) .process-visual { display:none; }
.home-page .process-step-panel .process-image {
  position:relative;
  inset:auto;
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  margin-top:20px;
  border:1px solid rgba(169,133,73,.22);
  border-radius:var(--radius-image);
  background:#e8d9c9;
  opacity:1;
  transform:none;
  transition:none;
}
/* A tighter desktop rhythm keeps the four-step overview easy to scan. */
@media(min-width:821px) {
  .home-page .process-layout { row-gap:24px; }
  .home-page .process-intro .eyebrow { margin-bottom:16px; }
  .home-page .process-summary { margin-top:20px; }
  .home-page .process-timeline { margin-top:0; }
  .home-page .process-step:not(:last-child) { padding-bottom:16px; margin-bottom:16px; }
  .home-page .process-visual { aspect-ratio:4/5; }
}
@media(min-width:821px) and (max-width:1100px) {
  .home-page .process-step-panel { padding-left:76px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-page .process :is(.process-image,.process-step,.process-marker,.process-marker img,.process-step-title) { transition:none; }
}

/* Closing-day photography and readable quotes form one continuous card. */
.home-page .testimonials { --testimonial-inset:clamp(24px,7vw,110px); background:#f2eadf; color:var(--ink); border-bottom:1px solid var(--line); }
.home-page .testimonial-inner { max-width:none; }
.home-page .testimonial-header { max-width:780px; margin-bottom:36px; }
.home-page .testimonial-header .eyebrow { color:var(--gold-dark); }
.home-page .testimonial-carousel { --testimonial-gap:20px; min-width:0; margin-inline:calc(-1 * var(--testimonial-inset)); }
.home-page .testimonial-track {
  display:block;
  --testimonial-card-width:clamp(260px,22vw,300px);
  column-gap:var(--testimonial-gap);
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  scrollbar-color:#a99574 transparent;
  border-radius:0;
}
.home-page .testimonial-motion {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:var(--testimonial-card-width);
  gap:var(--testimonial-gap);
  align-items:stretch;
  width:max-content;
  will-change:transform;
}
.home-page .testimonial-track:not(:has(.testimonial-motion)) { display:grid; grid-auto-flow:column; grid-auto-columns:var(--testimonial-card-width); gap:var(--testimonial-gap); }
.home-page .testimonial-track:focus-visible { outline:none; }
.home-page .testimonial-track:focus-visible .testimonial-attribution { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.home-page .testimonial-carousel.is-enhanced .testimonial-track { scrollbar-width:none; }
.home-page .testimonial-carousel.is-enhanced .testimonial-track::-webkit-scrollbar { display:none; }
.home-page .testimonial-slide { display:flex; flex-direction:column; min-width:0; margin:0; overflow:hidden; border:0; border-radius:var(--radius-image); background:#fffdf9; scroll-snap-align:start; }
.home-page .testimonial-media { overflow:hidden; aspect-ratio:6/7; flex:none; background:#e5d9ca; }
.home-page .testimonial-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:center 40%; background:#e5d9ca; }
.home-page .testimonial-caption { display:flex; flex:1; flex-direction:column; padding:20px 20px 18px; }
.home-page .testimonial-quote { margin:0; color:#3e4036; font:400 1.125rem/1.45 var(--font-display); }
.home-page .testimonial-attribution { margin:auto 0 0; padding-top:18px; color:var(--gold-dark); font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
/* Continuous motion uses a duplicate set; only the original cards are announced. */
.home-page .testimonial-carousel.is-enhanced .testimonial-track { scroll-snap-type:none; }
.home-page .testimonial-carousel.is-reduced-motion .testimonial-track { scroll-snap-type:x mandatory; }
.home-page .testimonial-carousel.is-reduced-motion [data-testimonial-clone] { display:none; }
.home-page .testimonial-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(min-width:821px) {
  .home-page .testimonial-carousel { --testimonial-gap:48px; max-width:1320px; margin-inline:auto; }
  .home-page .testimonial-track { --testimonial-card-width:clamp(320px,29vw,400px); }
  .home-page .testimonial-caption { padding:28px 28px 26px; }
  .home-page .testimonial-carousel.is-enhanced:not(.is-reduced-motion) .testimonial-track {
    -webkit-mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent);
    mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent);
  }
}

/* Native disclosure elements remain usable with JS off and expose state to AT. */
.home-page .faq { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(40px,7vw,110px); background:var(--paper); }
.home-page .faq-heading { max-width:420px; }
.home-page .faq-heading>p:not(.eyebrow) { margin:24px 0; max-width:340px; font-size:1rem; color:#625d55; }
.home-page .faq-heading .text-link { display:inline-flex; gap:12px; padding-bottom:5px; border-bottom:1px solid #a99574; }
.home-page .faq-content { padding-top:0; max-width:none; }
.home-page .faq-list { margin:0; gap:0; border-top:1px solid #d7cbbc; }
.home-page .faq-detail { border-bottom:1px solid #d7cbbc; }
.home-page .faq-detail summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; list-style:none; font:600 1rem/1.6 var(--font-body); cursor:pointer; }
.home-page .faq-detail summary::-webkit-details-marker { display:none; }
.home-page .faq-symbol { position:relative; width:28px; height:28px; flex:none; color:var(--gold-dark); }
.home-page .faq-symbol::before,.home-page .faq-symbol::after { content:''; position:absolute; left:7px; top:13px; width:14px; height:1px; background:currentColor; }
.home-page .faq-symbol::after { transform:rotate(90deg); transition:transform .2s ease; }
.home-page .faq-detail[open] .faq-symbol::after { transform:rotate(0); }
.home-page .faq-detail-answer { padding:0 40px 25px 0; }
.home-page .faq-detail-answer p { margin:0; color:#625d55; font-size:1rem; line-height:1.8; }
.home-page .faq-detail-answer a { text-decoration:underline; text-underline-offset:4px; color:#69512e; }

/* Live copy sits over a soft photo fade; narrow screens stack copy and image. */
.home-page .final-cta { display:block; min-height:0; background:var(--paper); color:var(--ink); text-align:left; }
.home-page .cta-panel { position:relative; isolation:isolate; display:flex; align-items:center; width:100%; min-height:460px; overflow:hidden; border:1px solid rgba(169,133,73,.32); border-radius:var(--radius-image); background:var(--paper); box-shadow:0 12px 32px rgba(75,57,31,.08),0 2px 6px rgba(75,57,31,.03); }
.home-page .cta-panel::after { content:""; position:absolute; z-index:0; inset:0; pointer-events:none; background:linear-gradient(90deg,var(--paper) 0%,rgba(255,253,249,.82) 18%,rgba(255,253,249,.5) 35%,rgba(255,253,249,.18) 48%,rgba(255,253,249,0) 58%); }
.home-page .cta-content { position:relative; z-index:1; width:52%; max-width:none; padding:clamp(32px,4vw,60px); }
.home-page .cta-content h2 { font-size:clamp(2.625rem,3.5vw,3.75rem); }
.home-page .cta-content .eyebrow { color:var(--gold-dark); }
.home-page .cta-content p:not(.eyebrow) { max-width:390px; margin:24px 0 30px; color:var(--ink); font:400 1rem/1.75 var(--font-body); }
.home-page .cta-content .button-light { background:var(--gold-dark); color:var(--paper); }
.home-page .cta-content .button-light:hover { background:#70552d; }
.home-page .cta-content a:focus-visible { outline-color:var(--gold-dark); }
.home-page .cta-detail { display:block; margin-top:20px; color:var(--ink); font-size:.75rem; }
.home-page .cta-photo { position:absolute; z-index:-1; inset:0; min-width:0; }
.home-page .cta-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:right center; }
@media(max-width:1000px) {
  .home-page .cta-panel { display:flex; flex-direction:column; min-height:0; }
  .home-page .cta-panel::after { display:none; }
  .home-page .cta-content { width:100%; padding:40px 28px 16px; }
  .home-page .cta-content h2 { font-size:clamp(2rem,5.2vw,2.625rem); }
  .home-page .cta-photo { position:relative; z-index:0; inset:auto; width:100%; aspect-ratio:1.2; }
  .home-page .cta-photo::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(var(--paper),rgba(255,253,249,.55) 8%,rgba(255,253,249,0) 24%); }
}
.home-page footer { grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,.8fr); gap:40px; }
.home-page .footer-note p { font:500 clamp(1.375rem,2vw,1.875rem)/1.3 var(--font-display); }
.home-page .footer-note small { font-size:.75rem; line-height:1.6; letter-spacing:0; text-transform:none; }
.home-page .footer-links strong { font-size:.75rem; }
.home-page .footer-links a:hover { text-decoration:underline; text-underline-offset:4px; }

@media(min-width:821px) and (max-width:1150px) {
  .home-page .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .home-page .product-card:last-child { grid-column:auto; width:auto; margin:0; }
  .home-page .product-heading h3 { min-height:2.16em; }
}
@media(max-width:820px) {
  .home-page { --section-padding-block:72px; }
  .home-page .section { padding-inline:24px; }
  .home-page .about { grid-template-columns:1fr; gap:40px; }
  .home-page .about-image-wrap { width:100%; max-width:600px; }
  .home-page .about-image-wrap>img { aspect-ratio:4/5; object-position:center; }
  .home-page .collection-heading { display:block; margin-bottom:30px; }
  .home-page .collection-intro { max-width:540px; }
  .home-page .product-card { padding:14px; }
  .home-page .product-heading h3 { font-size:1.875rem; }
  .home-page .product-grid { gap:24px 16px; }
  .home-page .process-layout { grid-template-columns:1fr; grid-template-areas:'intro' 'timeline' 'actions'; gap:32px; }
  .home-page .process-visual { display:none; }
  .home-page .process-timeline { margin-top:0; border-top:1px solid rgba(169,133,73,.2); }
  .home-page .process-step { margin:0; padding:0; border-bottom:1px solid rgba(169,133,73,.2); }
  .home-page .process-step-button { grid-template-columns:minmax(0,1fr) 20px; gap:16px; min-height:80px; padding:22px 0; align-items:center; }
  .home-page .process-marker { display:none; }
  .home-page .process-step-copy { display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; align-items:baseline; }
  .home-page .process-step .step-number { margin:0; letter-spacing:.08em; }
  .home-page .process-step-title { margin:0; font-size:1.625rem; line-height:1.15; }
  .home-page .process-step-panel { padding:0 0 24px; }
  .home-page .process-step-description { margin:0; max-width:none; }
  .home-page .process-step-panel .process-image { margin-top:18px; }
  .home-page .process.is-enhanced .process-toggle { position:relative; display:block; width:20px; height:20px; color:var(--gold-dark); }
  .home-page .process-toggle::before,.home-page .process-toggle::after { content:''; position:absolute; background:currentColor; }
  .home-page .process-toggle::before { width:14px; height:1px; left:3px; top:9px; }
  .home-page .process-toggle::after { width:1px; height:14px; left:9px; top:3px; }
  .home-page .process-step-button[aria-expanded="true"] .process-toggle::after { display:none; }
  .home-page .process-actions { padding-left:0; margin:0 auto; }
  .home-page .process-actions .button { width:100%; }
  .home-page .testimonial-header { text-align:left; }
  .home-page .testimonials { --testimonial-inset:24px; }
  .home-page .testimonial-carousel { --testimonial-gap:16px; }
  .home-page .testimonial-track { --testimonial-card-width:min(280px,calc(100vw - 64px)); }
  .home-page .testimonial-caption { padding:20px 20px 18px; }
  .home-page .testimonial-quote { font-size:1.125rem; }
  .home-page .faq { grid-template-columns:1fr; gap:36px; }
  .home-page .faq-heading { max-width:540px; }
  .home-page .faq-heading>p:not(.eyebrow) { max-width:none; }
  .home-page .faq-detail summary { gap:16px; padding:22px 0; }
  .home-page .faq-detail-answer { padding-right:12px; }
  .home-page footer { grid-template-columns:1fr 1fr; gap:36px; }
  .home-page .footer-note { grid-column:1/-1; }
}
@media(max-width:590px) {
  .home-page .product-grid { grid-template-columns:1fr; }
  .home-page .product-card:last-child { width:auto; }
  .home-page .brand-name { max-width:180px; }
  .home-page .collection-reassurance { margin-top:24px; line-height:1.7; }
  .home-page footer { grid-template-columns:1fr; }
  .home-page .footer-note { grid-column:auto; }
}
.home-page .cta-photo picture { display:block; width:100%; height:100%; }
@media(min-width:1001px) {
  .home-page .cta-panel { max-width:1320px; margin-inline:auto; aspect-ratio:2.4; }
}

@media(max-width:1000px) {
  .home-page .cta-photo { aspect-ratio:1; }
  .home-page .cta-photo picture { position:absolute; inset:0; }
}

/* The wide photograph fills the desktop hero; copy sits over its clear left side. */
.home-page {
  --cream:#f5efe5;
  --ink:#3b2f25;
  --header-h:92px;
}
.home-page .site-header,
.home-page .site-header.is-scrolled {
  position:fixed;
  inset:0 0 auto;
  height:var(--header-h);
  color:var(--ink);
  border:0;
  text-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  transition:background .2s ease,box-shadow .2s ease;
}
.home-page .site-header { background:transparent; box-shadow:none; }
.home-page .site-header.is-scrolled {
  background:var(--cream);
  box-shadow:0 1px 0 rgba(59,47,37,.08),0 6px 20px rgba(59,47,37,.06);
}
.home-page .brand-tagline,
.home-page .site-header.is-scrolled .brand-tagline { color:#795c34; }
.home-page .brand-emblem,
.home-page .site-header.is-scrolled .brand-emblem {
  background:var(--cream);
  border-color:rgba(59,47,37,.16);
  box-shadow:none;
}
.home-page .menu-button { color:var(--ink); }
.home-page .mobile-nav,
.home-page .site-header.is-scrolled .mobile-nav {
  top:var(--header-h);
  background:var(--cream);
  color:var(--ink);
}
.home-page .hero {
  display:flex;
  align-items:center;
  min-height:100svh;
  height:100svh;
  overflow:hidden;
  background:var(--cream);
  color:var(--ink);
}
.home-page .hero::before {
  content:"";
  position:absolute;
  z-index:1;
  inset:0 0 auto;
  height:125px;
  background:linear-gradient(180deg,rgba(245,239,229,.88),rgba(245,239,229,.72) 54%,rgba(245,239,229,0));
  pointer-events:none;
}
.home-page .hero-image { position:absolute; inset:0; overflow:hidden; background:none; }
.home-page .hero-image picture { display:block; position:absolute; inset:0; }
.home-page .hero-image img {
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:45% 65%;
}
.home-page .hero-content {
  position:relative;
  z-index:2;
  width:min(500px,35vw);
  margin-left:clamp(24px,5vw,80px);
  padding:clamp(24px,3vw,42px);
  border-radius:12px;
  background:rgba(245,239,229,.88);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
  text-shadow:none;
}
.home-page .hero-panel { width:100%; max-width:560px; }
.home-page .hero .eyebrow {
  margin-bottom:22px;
  color:#795c34;
  font-size:.75rem;
  letter-spacing:.2em;
}
.home-page .hero h1 {
  max-width:560px;
  color:var(--ink);
  font-size:clamp(2.5rem,4.5vw,4.25rem);
  line-height:1.05;
}
.home-page .hero-copy {
  max-width:500px;
  margin-top:24px;
  color:#54483d;
  font-size:1.125rem;
  line-height:1.6;
}
.home-page .hero-actions {
  flex-wrap:wrap;
  gap:16px 24px;
  margin-top:30px;
}
.home-page .hero-actions .button { width:auto; }
.home-page .hero-actions .text-link { color:var(--ink); font-size:.875rem; }
@media(max-width:1100px) and (min-width:900px) {
  .home-page .site-header { padding-inline:24px; }
  .home-page .desktop-nav { gap:18px; }
  .home-page .nav-cta { min-width:130px; padding-inline:16px; }
  .home-page .hero-content { margin-left:4vw; }
}
@media(min-width:900px) and (max-aspect-ratio:6/5) {
  .home-page .hero-image img { object-position:50% 65%; }
  .home-page .hero-content { width:32vw; }
}
@media(max-width:899px) {
  .home-page { --header-h:76px; }
  .home-page .hero::before { display:none; }
  .home-page .hero { display:flex; flex-direction:column; align-items:stretch; height:auto; min-height:0; }
  .home-page .hero-image {
    position:relative;
    order:0;
    flex:none;
    width:100%;
    height:60svh;
    inset:auto;
  }
  .home-page .hero-image img { object-position:center 45%; }
  .home-page .hero-content {
    order:1;
    width:100%;
    margin:0;
    padding:32px 20px 48px;
    border-radius:0;
    background:var(--cream);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .home-page .hero .eyebrow { display:block; margin-bottom:14px; }
  .home-page .hero h1 { font-size:clamp(2.25rem,8vw,3rem); }
  .home-page .hero-copy { margin-top:16px; font-size:1rem; line-height:1.6; }
  .home-page .hero-actions { margin-top:24px; }
  .home-page .desktop-nav,.home-page .header-actions,.home-page .brand-copy { display:none; }
  .home-page .site-header { grid-template-columns:1fr auto; padding-inline:20px; }
  .home-page .menu-button { display:grid; place-items:center; grid-column:2; min-width:44px; min-height:44px; border-radius:50%; background:var(--cream); }
}
@media(min-width:480px) and (max-width:899px) {
  /* The wider crop keeps both faces and the full tray in the tablet photo. */
  .home-page .hero-image { min-height:61.34vw; }
  .home-page .hero-image img { object-position:90% 55%; }
}
@media(max-width:479px) {
  /* Show the full portrait even when browser controls shorten the viewport. */
  .home-page .hero-image { height:auto; aspect-ratio:754/982; }
  .home-page .hero-actions { display:grid; grid-template-columns:minmax(0,1fr); width:100%; gap:14px; }
  .home-page .hero-actions .button,
  .home-page .hero-actions .text-link { width:100%; justify-content:center; text-align:center; }
  .home-page .hero-actions .text-link { display:flex; align-items:center; min-height:44px; }
  .home-page .hero-actions .text-link::after { display:none; }
  .home-page .hero-actions .text-link { text-decoration:underline; text-underline-offset:5px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-page .site-header { transition:none; }
  .home-page .reveal { animation:none; }
}
