/* The selected homepage composition. Shared page styles remain unchanged. */
.home-page a:focus-visible,.home-nav-toggle:focus-visible { outline:2px solid #111; outline-offset:5px; }
.home-page [hidden] { display:none!important; }
.practice-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:center; gap:28px; padding-block:40px 34px; }
.practice-hero-copy { min-width:0; }
.practice-hero h1 { font-size:clamp(44px,5.6vw,84px); line-height:1.04; letter-spacing:var(--tracking-display); font-weight:400; margin:0 0 30px; }
.practice-hero h1 span { display:block; }
.practice-hero-invitation,.practice-hero-definition { font-size:clamp(18px,1.76vw,28px); line-height:1.3; letter-spacing:-.025em; color:#45454a; margin:0 0 22px; max-width:730px; }
.practice-hero-definition { margin-bottom:26px; }
.practice-hero-art { height:530px; min-width:0; margin:0; flex-direction:column; display:flex; align-items:center; justify-content:center; }
.practice-hero-art img { width:100%; height:auto; max-height:440px; flex:none; object-fit:contain; display:block; }
.practice-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:15px 26px; min-height:60px; background:#111; color:#fff; text-decoration:none; font-size:21px; }
.practice-cta:hover { background:#333; }
.link-arrow { flex:none; width:22px; height:22px; vertical-align:middle; }
.practice-cta .link-arrow { filter:invert(1); }
.home-product-band { border-top:1px solid #ccc; padding-block:22px 30px; }
.home-product-band h2 { font-size:11px; font-weight:500; line-height:1.3; text-transform:uppercase; letter-spacing:.2em; margin:0 0 10px; color:#45454a; }
.home-page .home-product-pair { grid-template-columns:1fr 1fr; gap:0; margin:0; }
.home-page .home-product-choice { border:0; padding:10px 30px 0 4px; }
.home-page .home-product-choice+article { border-left:1px solid #ccc; padding-left:9%; padding-right:0; }
.home-product-choice h3 { font-size:clamp(30px,2.77vw,44px); font-weight:400; letter-spacing:-.04em; line-height:1.1; margin:0 0 10px; }
.home-page .home-product-choice .product-format { font-size:12px; text-transform:uppercase; letter-spacing:.15em; margin:0 0 12px; }
.home-page .home-product-choice .product-purpose { color:#303034; font-size:20px; letter-spacing:-.02em; margin:0; max-width:none; }
.product-entry { display:inline-flex; align-items:center; gap:14px; min-height:44px; text-decoration:underline; text-underline-offset:7px; font-size:18px; margin-top:10px; }
.product-entry:hover { text-decoration-thickness:2px; }
.home-testimonial { padding-top:32px; }
.home-testimonial .page-testimonials { padding-block:32px; margin:0; }
.home-testimonial audio { display:block; width:300px; max-width:100%; height:40px; margin-top:18px; }
.home-hero-details { display:grid; grid-template-columns:1fr 1fr; gap:8%; padding-block:var(--section-y); }
.home-hero-details .hero-audience-heading { margin-top:0; }
.home-package-story { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; }
.home-package-story h2 { font-size:var(--fs-h2); max-width:600px; }
.home-package-image img { display:block; width:100%; max-width:520px; height:auto; margin-left:auto; filter:drop-shadow(0 10px 12px #00000010); }
@media(min-width:761px) and (max-height:850px) {
  .practice-hero { padding-top:20px; padding-bottom:26px; }
  .practice-hero h1 { font-size:clamp(44px,5.2vw,76px); margin-bottom:22px; }
  .practice-hero-invitation,.practice-hero-definition { font-size:clamp(18px,1.6vw,24px); margin-bottom:18px; }
  .practice-hero-art { height:360px; }
  .practice-hero-art img { height:auto; max-height:300px; }
  .practice-cta { font-size:18px; min-height:52px; padding:12px 22px; }
  .home-product-band { padding-top:18px; }
  .home-product-choice h3 { font-size:36px; }
  .home-page .home-product-choice .product-purpose { font-size:18px; }
}
@media(max-width:1000px) and (min-width:761px) {
  .practice-hero { grid-template-columns:1.35fr 1fr; gap:14px; }
  .practice-hero h1 { font-size:clamp(44px,6.2vw,62px); }
  .home-product-choice h3 { font-size:32px; }
}
@media(max-width:900px) {
  .practice-hero { grid-template-columns:1fr; align-items:start; gap:0 12px; padding-block:22px 28px; }
  .practice-hero-copy { display:contents; }
  .practice-hero h1 { grid-column:1/-1; font-size:clamp(40px,8.7vw,60px); margin:0 0 24px; }
  .practice-hero-invitation { grid-column:1; font-size:17px; line-height:1.4; margin-bottom:18px; }
  .practice-hero-definition { grid-column:1/-1; font-size:17px; line-height:1.4; margin:0 0 20px; max-width:580px; }
  .practice-hero-art { grid-column:1/-1; grid-row:auto; height:auto; width:100%; max-width:360px; justify-self:center; margin-top:14px; }
  .practice-hero-art img { width:100%; height:auto; max-height:none; }
  .practice-cta { grid-column:1/-1; justify-self:start; gap:22px; font-size:17px; min-height:50px; padding:12px 19px; }
  .home-product-band { padding-block:22px 24px; }
  .home-product-band h2 { font-size:10px; margin-bottom:14px; }
  .home-page .home-product-pair { grid-template-columns:1fr; gap:22px; }
  .home-page .home-product-choice,.home-page .home-product-choice+article { border:0; padding:0; }
  .home-page .home-product-choice+article { border-top:1px solid #ddd; padding-top:22px; }
  .home-product-choice h3 { font-size:32px; margin-bottom:9px; }
  .home-page .home-product-choice .product-format { font-size:11px; margin:0 0 8px; }
  .home-page .home-product-choice .product-purpose { font-size:17px; }
  .product-entry { font-size:16px; margin-top:8px; }
  .home-testimonial { padding-top:8px; }
  .home-testimonial .page-testimonials { padding-block:26px; }
  .home-hero-details,.home-package-story { grid-template-columns:1fr; gap:32px; }
  .home-package-image img { max-width:390px; margin-inline:auto; }
}
@media(max-width:360px) {
  .practice-hero { grid-template-columns:1fr; }
  .practice-hero h1 { font-size:36px; }
  .practice-hero-invitation,.practice-hero-definition { font-size:16px; }
}
@media(min-width:761px) and (max-height:740px) {
  .practice-hero { padding-bottom:20px; }
  .practice-hero h1 { margin-bottom:16px; }
  .practice-hero-invitation,.practice-hero-definition { margin-bottom:14px; }
  .home-product-band h2 { margin-bottom:6px; }
  .home-product-choice h3 { font-size:32px; margin-bottom:6px; }
  .home-page .home-product-choice .product-format { margin-bottom:8px; }
}

/* Owner annotations: readable copy left, an uncropped package right. */
.home-page .home-product-choice { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:18px; align-items:center; }
.home-product-copy { min-width:0; align-self:start; }
.product-pack { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1; margin:0; }
.product-pack img { display:block; width:100%; height:100%; object-fit:contain; }
.product-pack-tincture img { width:100%; height:105%; }
@media(min-width:761px) and (max-width:1150px) {
  .home-page .home-product-choice { grid-template-columns:minmax(0,1fr) 135px; gap:12px; }
  .home-product-choice h3 { font-size:30px; }
}
@media(max-width:760px) {
  .home-page .home-product-choice { grid-template-columns:minmax(0,1fr) 160px; gap:20px; }
}
@media(max-width:440px) {
  .home-page .home-product-choice { grid-template-columns:minmax(0,1fr) 110px; gap:12px; }
  .home-product-choice h3 { font-size:28px; }
}
@media(max-width:360px) {
  .home-page .home-product-choice { grid-template-columns:minmax(0,1fr) 88px; gap:10px; }
  .home-product-choice h3 { font-size:25px; }
}

.practice-hero-art figcaption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* Full-resolution image viewing, with ordinary image links as the fallback. */
.image-enlarge { cursor:zoom-in; }
.practice-hero-art > .image-enlarge { display:block; width:100%; }
.product-pack > .image-enlarge { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.image-viewer { box-sizing:border-box; inset:0; margin:0; border:0; padding:0; width:100%; max-width:none; height:100dvh; max-height:none; background:#fff; color:#111; overflow:hidden; }
.image-viewer[open] { display:grid; grid-template-rows:auto minmax(0,1fr); }
.image-viewer::backdrop { background:#0009; }
.image-viewer-toolbar { display:flex; align-items:center; gap:12px; padding:16px 24px; border-bottom:1px solid #ddd; }
.image-viewer-heading { flex:1; min-width:0; }
.image-viewer-heading p { margin:0; }
#image-viewer-title { font-size:18px; font-weight:600; }
#image-viewer-caption { margin-top:4px; font-size:13px; line-height:1.4; color:#555; }
.image-viewer button { flex:none; font:inherit; font-size:15px; min-height:44px; padding:10px 16px; border:1px solid #bbb; background:#fff; color:#111; cursor:pointer; }
.image-viewer button:hover { background:#f4f4f4; }
.image-viewer button:focus-visible,.image-viewer-scroll:focus-visible { outline:2px solid #111; outline-offset:-4px; }
.image-viewer-scroll { min-height:0; overflow:auto; overscroll-behavior:contain; }
.image-viewer-canvas { box-sizing:border-box; width:100%; height:100%; padding:16px; display:flex; align-items:center; justify-content:center; }
.image-viewer-canvas img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
.image-viewer.is-full-size .image-viewer-canvas { width:max-content; min-width:100%; height:max-content; min-height:100%; }
.image-viewer.is-full-size img { max-width:none; max-height:none; }
@media(max-width:600px) {
  .image-viewer-toolbar { flex-wrap:wrap; gap:10px; padding:12px 16px; }
  .image-viewer-heading { flex-basis:100%; }
  .image-viewer-close { margin-left:auto; }
}


.home-page .home-product-choice:first-child h3 { font-size:clamp(24px,2.25vw,35px); letter-spacing:-.025em; }
.home-page .home-product-choice .product-provenance { margin:0 0 10px; font-size:14px; }
.home-page .home-product-choice .eyebrow { font-size:15px; color:#111; margin:0 0 10px; }
.home-page .home-product-choice:first-child .product-purpose { font-size:18px; }
@media(max-width:360px) { .home-page .home-product-choice:first-child h3 { font-size:24px; } }


/* Temporary oil-only presentation; original artwork stays in source. */
.home-product-pair.home-product-single { grid-template-columns: 1fr; }
.home-product-single .home-product-choice { max-width: 800px; width: 100%; }

/* Owner-selected oil loop and paired floor-movement drawings. */
.home-illustrated-intro { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:5%; }
.home-line-art { margin:24px 0; min-width:0; }
.home-line-art a,.home-line-art img { display:block; width:100%; }
.home-line-art img { height:auto; object-fit:contain; }
@media(max-width:760px) { .home-illustrated-intro { grid-template-columns:1fr; gap:0; } .home-line-art { max-width:620px; margin:22px auto 30px; } }


/* Formula-first homepage: shared recipe up top; bottled oil note lower. */
.home-formula-band { border-top:1px solid #ccc; padding-block:28px 34px; max-width:800px; }
.home-formula-band .eyebrow { margin:0 0 12px; }
.home-formula-band h2 { font-size:var(--fs-h2); font-weight:400; letter-spacing:-.04em; line-height:1.08; margin:0 0 14px; }
.home-formula-lede { font-size:clamp(18px,1.7vw,24px); line-height:1.35; letter-spacing:-.02em; color:#303034; margin:0 0 14px; max-width:680px; }
.home-formula-copy { font-size:17px; line-height:1.5; color:#45454a; margin:0 0 8px; max-width:640px; }
.home-formula-band .product-entry { margin-top:12px; }
.home-product-note { border-top:1px solid var(--line); padding-block:var(--section-y); }
.home-product-note>* { max-width:720px; }
.home-product-note .eyebrow { margin:0 0 10px; }
.home-product-note-title { font-size:var(--fs-h2); font-weight:400; letter-spacing:var(--tracking-display); line-height:1.15; margin:0 0 16px; color:var(--ink); }
.home-product-note p:not(.eyebrow) { font-size:16px; line-height:1.5; color:#555; margin:0; max-width:560px; }
.home-product-note .product-entry { margin-top:10px; font-size:16px; color:#45454a; }
@media(max-width:760px) {
  .home-formula-band { padding-block:24px 28px; }
    .home-formula-lede { font-size:17px; }
  .home-formula-copy { font-size:16px; }
}


/* Recorded testimonial player (enhanced by testimonial-player.js; native controls remain without JavaScript). */
.page-testimonials audio:not([controls]) { display:none; }
.testimonial-player { grid-column:2; grid-row:1 / 3; display:flex; flex-direction:column; align-items:flex-start; gap:12px; width:300px; max-width:100%; margin:0; }
.testimonial-play { display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:12px 20px; font:inherit; font-size:16px; color:#111; background:#fff; border:1px solid #272727; border-radius:0; cursor:pointer; }
.testimonial-play:hover { background:#272727; color:#fff; }
.testimonial-play:focus-visible, .testimonial-seek:focus-visible { outline:2px solid #111; outline-offset:3px; }
.testimonial-play svg { fill:currentColor; flex-shrink:0; }
.testimonial-play .icon-pause, .testimonial-player.is-playing .icon-play { display:none; }
.testimonial-player.is-playing .icon-pause { display:inline; }
.testimonial-track { display:flex; align-items:center; gap:12px; width:100%; }
.testimonial-seek { flex:1; min-width:0; height:44px; margin:0; accent-color:#111; cursor:pointer; }
.testimonial-time { font-size:13px; color:#505050; font-variant-numeric:tabular-nums; white-space:nowrap; }
@media (max-width:760px) { .testimonial-player { grid-column:auto; grid-row:auto; margin-top:14px; } }

/* Testimonial: quote on the left, the player in the right column (same two-column grid as the block below it). */
.home-testimonial { padding-top:0; }
.home-testimonial .page-testimonials { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3) 8%; align-items:center; padding-block:var(--space-4); }
.home-testimonial .page-testimonials .testimonial { display:block; grid-column:1; grid-row:1; }
.home-testimonial .page-testimonials .testimonial blockquote { font-size:clamp(1.25rem,2vw,1.75rem); max-width:none; }
.home-testimonial .testimonial-player, .home-testimonial .page-testimonials audio { grid-column:2; grid-row:1; width:100%; max-width:420px; margin:0; }
@media(max-width:900px) {
  .home-testimonial .page-testimonials { grid-template-columns:1fr; padding-block:var(--space-3); }
  .home-testimonial .testimonial-player, .home-testimonial .page-testimonials audio { grid-column:1; grid-row:2; }
}
@media(min-width:601px) and (max-width:900px) { .practice-hero-art { max-width:480px; } }
