/* Shared editorial treatment below the opening screen. */
:root { --section-space: 96px; --surface-border: #dce0d5; }
.section { padding-block: var(--section-space); }
.about .section-heading { max-width: none; display: grid; grid-template-columns: 1.25fr 1fr; column-gap: 80px; align-items: end; }
.about .section-heading .eyebrow { grid-column: 1 / -1; }
.about .section-lead { max-width: 360px; margin: 0 0 4px; font-size: 14px; }
.feature-grid { gap: 20px; margin-top: 42px; }
.feature { padding: 30px; border: 1px solid var(--surface-border); border-radius: 20px; background: linear-gradient(140deg,#fdfdfa,#f0f1e9); }
.feature-icon { margin-bottom: 34px; border-color: #dbe0d1; background: #fff8; color: var(--red); }
.feature-no { top: 32px; right: 28px; letter-spacing: .1em; }
.feature h3 { font-size: 23px; }
.feature p { max-width: none; font-size: 13px; line-height: 1.8; color: #656b5f; }
.product-section { position: relative; isolation: isolate; background: #e9ede3; overflow: hidden; }
.product-section::before { content: ''; position: absolute; width: 730px; height: 540px; right: -170px; top: -160px; background: url("../images/breath-lines.ebf356e040ff.svg") center / contain no-repeat; opacity: .2; z-index: -1; pointer-events: none; }
.product-section .inline-heading { margin-bottom: 40px; }
.inline-heading > .text-link { border: 1px solid #c6cebd; border-radius: 50px; padding: 13px 20px; min-height: 48px; white-space: nowrap; background: #ffffff60; transition: background .2s,border-color .2s; }
.inline-heading > .text-link:hover { background: white; border-color: #aeb8a2; }
.product-showcase { background: #fbfcf7; border: 1px solid #d8dfce; border-radius: 26px; align-items: center; box-shadow: 0 16px 60px #34442a06; }
.product-gallery-column { padding: 32px; border-right: 1px solid #e1e6d8; align-self: stretch; display: flex; align-items: center; background: linear-gradient(145deg,#f5f7ef,#edf1e5); }
.gallery-frame { border-color: #dde2d5; }
.product-info { padding: 40px; }
.product-info h3 { font-size: clamp(38px,3.6vw,50px); margin: 20px 0; }
.product-info > p:not(.eyebrow) { font-size: 14px; line-height: 1.8; }
.color-options { gap: 9px; flex-wrap: wrap; }
.color-options > span { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #dfe3d7; background: #fff9; padding: 7px 12px; border-radius: 30px; }
.specs > div { padding-block: 12px; font-size: 13px; border-color: #e1e5da; }
.product-info .price-row { margin: 26px 0 22px; }
.product-info .price-row strong { font-size: 34px; }
.product-info .price-row > span { font-size: 10px; }
.instruction-section { width: min(1320px,calc(100% - 96px)); margin: var(--section-space) auto 0; padding: 60px; border-radius: 28px; background: #263027; }
.instruction-section::before { opacity: .2; }
.instruction-section::after { content: ''; position: absolute; top: -20px; left: -210px; width: 900px; height: 760px; background: url("../images/breath-lines.ebf356e040ff.svg") center / contain no-repeat; opacity: .2; pointer-events: none; }
.instruction-layout.shell { width: 100%; margin: 0; gap: 65px; z-index: 1; }
.instruction-copy h2 { font-size: clamp(40px,4.1vw,59px); margin: 28px 0; }
.instruction-copy > p:not(.eyebrow) { max-width: 380px; font-size: 14px; line-height: 1.8; }
.instruction-copy .eyebrow { color: #d0d9c8; }
.instruction-copy .instruction-note { border-left: 2px solid #677b5d; padding-left: 15px; max-width: 350px; }
.instruction-copy p.instruction-note { font-size: 11px; margin: 26px 0 0; }
.instruction-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.instruction-actions .button { padding: 13px 20px; min-height: 52px; gap: 22px; }
.instruction-actions .download-link { display: inline-flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 12px 18px; margin: 0; border: 1px solid #788775; border-radius: 40px; color: #f1f4ec; gap: 22px; font-size: 12px; background: #ffffff06; transition: background .2s,border-color .2s; }
.instruction-actions .download-link:hover { background: #ffffff12; border-color: #cbd4c3; }
.instruction-actions .download-link span { color: #d8e1cf; }
.video-wrap { max-width: 332px; border: 1px solid #6b786355; padding: 10px 10px 0; border-radius: 26px; background: #14201755; box-shadow: 0 22px 70px #0002; }
.video-wrap video { border-radius: 17px; max-height: 520px; }
.video-caption { padding: 14px 7px; font-size: 7px; }
.purchase-section h2 { max-width: 790px; }
.steps-grid { gap: 20px; margin-top: 40px; }
.steps-grid article { position: relative; padding: 28px; background: #fbfbf7; border: 1px solid var(--surface-border); border-radius: 20px; }
.steps-grid article > span { display: inline-grid; place-items: center; width: 44px; height: 44px; background: #f1e8e6; border-radius: 50%; font-size: 11px; letter-spacing: .06em; }
.steps-grid h3 { margin: 28px 0 16px; font-size: 23px; }
.steps-grid p { max-width: none; font-size: 13px; line-height: 1.8; color: #656b5f; }
.steps-grid article:not(:last-child)::after { content: '↗︎'; position: absolute; top: 33px; right: 28px; font-size: 25px; color: #a0a794; }
.faq-section { padding-top: 0; gap: 70px; grid-template-columns: .9fr 1.35fr; }
.faq-section h2 { font-size: clamp(38px,4vw,56px); }
.faq-section > div:first-child { padding-top: 18px; }
.faq-section .text-link { margin-top: 14px; min-height: 44px; }
.faq-list { display: flex; flex-direction: column; gap: 10px; }
.faq-list details { border: 1px solid var(--surface-border); border-radius: 16px; background: #fafbf7; overflow: hidden; transition: border-color .2s,background .2s; }
.faq-list details[open] { background: white; border-color: #bdc7b1; }
.faq-list summary { padding: 21px 23px; font-size: 14px; gap: 16px; }
.faq-list summary span:not([data-cms-text-key]) { width: 30px; height: 30px; flex-shrink: 0; border: 1px solid #dbe0d3; border-radius: 50%; display: grid; place-items: center; font-size: 20px; color: #646f5b; }
.faq-list details[open] summary span:not([data-cms-text-key]) { color: var(--red); border-color: #e5c8cc; background: #fcf4f5; }
.faq-list details p { padding: 0 65px 24px 23px; font-size: 13px; line-height: 1.85; color: #656b5f; }
.contact-banner { padding: 55px; border-radius: 26px; gap: 40px; background: #a42a3d; }
.contact-banner::before { content: ''; position: absolute; inset: 0; background: url("../images/motion-light.adb3fc292596.jpg") center / cover; opacity: .12; mix-blend-mode: soft-light; z-index: -1; pointer-events: none; }
.contact-banner .banner-cross { display: none; }
.contact-banner::after { content: ''; position: absolute; width: 700px; height: 660px; top: -115px; right: -120px; background: url("../images/breath-lines.ebf356e040ff.svg") center / contain; opacity: .25; z-index: -1; pointer-events: none; }
.contact-banner h2 { font-size: clamp(40px,4.6vw,65px); }
.contact-banner p:not(.eyebrow) { font-size: 13px; }
.contact-direct { min-width: 290px; padding: 24px; border: 1px solid #ffffff30; background: #58112518; border-radius: 18px; gap: 4px; }
.contact-direct a { display: flex; align-items: center; min-height: 48px; padding: 12px 0; font-size: 12px; }
.contact-direct a:last-child { border: 0; }
.contact-direct a:hover { color: #f9ccd1; }
.site-footer { padding-top: 50px; }
.footer-bottom { padding-top: 24px; padding-bottom: 8px; font-size: 10px; }
.panel { background: #fbfcf7; border-color: var(--surface-border); border-radius: 22px; }
.contact-info > a { font-size: clamp(18px,2vw,26px); min-height: 85px; }
.field input,.field textarea { background: #fff; border-color: #d8ddcf; border-radius: 12px; }
.page-head { position: relative; isolation: isolate; }
.page-head::before { content: ''; position: absolute; right: 0; inset-block: 0; width: 52%; background: url("../images/breath-lines.ebf356e040ff.svg") right center / contain no-repeat; opacity: .15; pointer-events: none; z-index: -1; }
@media(max-width:1100px) {
  .about .section-heading { column-gap: 40px; }
  .feature,.steps-grid article { padding: 24px; }
  .feature-no { right: 24px; }
  .feature h3,.steps-grid h3 { font-size: 21px; }
  .instruction-section { width: calc(100% - 56px); padding: 38px; }
  .instruction-layout.shell { gap: 35px; }
  .product-gallery-column { padding: 24px; }
  .product-info { padding: 30px; }
  .contact-banner { padding: 40px; }
  .contact-direct { min-width: 245px; padding: 19px; }
}
@media(max-width:760px) {
  :root { --section-space: 58px; }
  .about .section-heading { display: block; }
  .about .section-lead { margin: 22px 0 0; max-width: none; font-size: 13px; }
  .about h2,.purchase-section h2 { font-size: 37px; }
  .feature-grid { gap: 12px; margin-top: 28px; }
  .feature { padding: 23px 20px; gap: 16px; align-items: start; border-radius: 18px; }
  .feature-icon { width: 38px; height: 38px; margin: 0; font-size: 23px; }
  .feature-no { display: none; }
  .feature h3 { font-size: 21px; margin: 2px 0 10px; }
  .feature p { font-size: 12px; line-height: 1.8; }
  .product-section .inline-heading { margin-bottom: 28px; }
  .inline-heading h2 { font-size: 34px; line-height: 1.12; }
  .inline-heading > .text-link { margin-top: 24px; font-size: 12px; }
  .product-showcase { border-radius: 22px; }
  .product-gallery-column { border-right: 0; border-bottom: 1px solid #e1e6d8; padding: 16px 16px 20px; }
  .product-info { padding: 26px 22px; }
  .product-info h3 { font-size: 37px; }
  .product-info > p:not(.eyebrow) { font-size: 13px; }
  .specs > div { font-size: 12px; }
  .product-info .price-row { gap: 12px; }
  .product-info .price-row strong { font-size: 29px; white-space: nowrap; }
  .product-info .price-row > span { font-size: 9px; }
  .product-info > .button { gap: 12px; padding-inline: 18px; font-size: 12px; }
  .instruction-section { width: calc(100% - 36px); margin-top: 40px; padding: 30px 22px; border-radius: 22px; }
  .instruction-layout.shell { gap: 30px; }
  .instruction-copy h2 { font-size: 39px; margin: 23px 0; }
  .instruction-copy > p:not(.eyebrow) { font-size: 13px; }
  .instruction-copy .eyebrow { font-size: 7px; letter-spacing: .1em; }
  .instruction-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .instruction-actions > a { width: 100%; max-width: none; }
  .instruction-copy p.instruction-note { font-size: 10px; margin-top: 23px; }
  .video-wrap { width: 100%; max-width: 300px; padding: 7px 7px 0; border-radius: 20px; }
  .video-wrap video { border-radius: 13px; }
  .video-caption { font-size: 6px; padding: 12px 3px; gap: 5px; }
  .steps-grid { gap: 12px; margin-top: 28px; }
  .steps-grid article { padding: 24px; border-radius: 18px; }
  .steps-grid article > span { width: 38px; height: 38px; }
  .steps-grid h3 { margin: 22px 0 12px; font-size: 23px; }
  .steps-grid p { font-size: 13px; }
  .faq-section { grid-template-columns: 1fr; gap: 27px; padding-top: 0; }
  .faq-section > div:first-child { padding-top: 0; }
  .faq-section h2 { font-size: 36px; }
  .faq-section .text-link { margin-top: 8px; }
  .faq-list { gap: 9px; }
  .faq-list summary { padding: 18px 17px; font-size: 13px; gap: 12px; }
  .faq-list summary span:not([data-cms-text-key]) { width: 28px; height: 28px; }
  .faq-list details p { padding: 0 18px 21px; font-size: 12px; }
  .contact-banner { padding: 30px 23px; border-radius: 22px; }
  .contact-banner h2 { font-size: 39px; }
  .contact-banner p:not(.eyebrow) { font-size: 12px; }
  .contact-banner .button { width: 100%; font-size: 12px; padding-inline: 17px; gap: 10px; }
  .contact-direct { min-width: 0; margin-top: 30px; padding: 10px 18px; }
  .contact-direct a { font-size: 11px; }
  .site-footer { padding-top: 35px; }
  .footer-top { padding-bottom: 25px; }
  .footer-bottom { font-size: 9px; line-height: 1.8; }
  .panel { padding: 24px 21px; }
  .contact-layout,.checkout-layout { padding-bottom: 40px; }
  .page-head::before { width: 100%; opacity: .12; }
}
@media(max-width:360px) {
  .feature { padding-inline: 17px; gap: 12px; }
  .feature h3 { font-size: 19px; }
  .product-info { padding-inline: 18px; }
  .instruction-section { padding-inline: 18px; }
  .instruction-copy h2 { font-size: 34px; }
  .contact-banner h2 { font-size: 35px; }
  .contact-banner { padding-inline: 20px; }
}

/* Contacts: one clear primary action, with direct alternatives. */
.contact-banner { align-items: center; gap: 48px; }
.contact-banner::before { opacity: .07; }
.contact-banner::after { opacity: .14; right: -270px; }
.contact-invitation { flex: 1; min-width: 0; }
.contact-banner h2 { font-size: clamp(38px,4vw,58px); line-height: 1.08; }
.contact-banner .contact-invitation > p:not(.eyebrow) { font-size: 14px; line-height: 1.85; max-width: 410px; }
.contact-alternatives { display: flex; flex-wrap: wrap; gap: 16px 32px; margin-top: 36px; }
.contact-alternatives a { min-height: 54px; display: grid; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid #ffffff45; }
.contact-alternatives small { font-size: 8px; letter-spacing: .12em; color: #f2cdd3; }
.contact-alternatives span { font-size: 14px; }
.contact-alternatives b { font-weight: 400; padding-left: 10px; }
.contact-alternatives a:hover { border-color: white; }
.contact-action-card { flex: 0 0 350px; padding: 30px; border: 1px solid #ffffff38; border-radius: 22px; background: #631b2a75; box-shadow: 0 15px 45px #54132712; }
.contact-card-label { color: #f4cbd3; font-size: 8px; letter-spacing: .12em; }
.contact-action-card h3 { font-size: 27px; font-weight: 500; letter-spacing: -.05em; line-height: 1.2; margin: 23px 0 16px; }
.contact-banner .contact-action-card p { font-size: 12px; line-height: 1.8; margin-bottom: 25px; }
.contact-action-card .button { width: 100%; font-size: 12px; padding-inline: 19px; gap: 14px; min-height: 54px; }
.contact-site-link { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; margin-top: 10px; font-size: 11px; color: #f8e5e9; padding-inline: 5px; }
.contact-site-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.contact-banner a:focus-visible { outline: 2px solid white; outline-offset: 5px; }
.contact-form-panel { scroll-margin-top: 105px; }
.contact-form-panel h2 { max-width: 380px; margin-bottom: 14px; }
.contact-form-intro { color: #656b5f; line-height: 1.8; font-size: 13px; margin-bottom: 28px; }
.contact-form-panel .button { width: 100%; }
@media(max-width:1000px) and (min-width:761px) {
  .contact-banner { gap: 28px; padding: 35px; }
  .contact-action-card { flex-basis: 310px; padding: 25px; }
}
@media(max-width:760px) {
  .contact-banner { display: flex; flex-direction: column; align-items: stretch; gap: 28px; padding: 30px 23px 23px; }
  .contact-banner h2 { font-size: 38px; }
  .contact-banner .contact-invitation > p:not(.eyebrow) { font-size: 12px; margin-bottom: 0; }
  .contact-alternatives { margin-top: 26px; gap: 16px; }
  .contact-alternatives a { flex: 1 1 100%; gap: 8px; }
  .contact-alternatives span { display: flex; justify-content: space-between; font-size: 14px; }
  .contact-action-card { flex: auto; padding: 24px 20px 16px; }
  .contact-action-card h3 { font-size: 26px; margin-top: 20px; }
  .contact-action-card .button { font-size: 11px; padding-inline: 14px; }
}
@media(max-width:360px) {
  .contact-banner { padding-inline: 18px; }
  .contact-banner h2 { font-size: 32px; }
  .contact-action-card { padding-inline: 16px; }
  .contact-action-card h3 { font-size: 23px; }
}

[data-cms-saved] { white-space: pre-line; }

.faq-list summary > [data-cms-text-key] {flex:1;min-width:0;}

.hero-product-canvas img[data-cms-custom] {object-fit:contain;transform:none;}

/* Privacy controls use the same quiet palette as the storefront. */
.legal-links{display:flex;flex-wrap:wrap;gap:16px;padding-bottom:30px;font-size:12px}.legal-links button{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.privacy-banner{position:fixed;z-index:1100;bottom:20px;left:20px;width:min(530px,calc(100% - 40px));padding:24px;background:#f8f6f1;color:#252a28;border:1px solid #d8d8cf;border-radius:20px;box-shadow:0 12px 60px #0002}.privacy-banner[hidden]{display:none}.privacy-banner strong{font-size:18px}.privacy-banner p{font-size:13px;line-height:1.6;margin:12px 0}.privacy-banner div{display:flex;gap:10px}.privacy-banner button{flex:1;border:1px solid #8c3040;border-radius:12px;padding:12px;color:#7e2635;background:#fff;cursor:pointer;font:inherit;font-size:13px}.privacy-banner button:focus-visible{outline:3px solid #436d61}.privacy-banner button:disabled{opacity:.5}.consent-field{display:flex;align-items:flex-start;gap:12px}.consent-field input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin-top:3px;accent-color:#8c3040}.consent-field label{font-size:13px;line-height:1.6}.consent-field a,.legal-document a{color:#8c3040;text-decoration:underline}.legal-document{max-width:880px;padding-top:70px;padding-bottom:90px}.legal-document h1{font-size:clamp(30px,5vw,56px);line-height:1.12;margin:30px 0}.legal-document h2{font-size:24px;margin:32px 0 12px}.legal-document p{line-height:1.8;margin:16px 0}@media(max-width:500px){.privacy-banner{padding:18px;bottom:12px;left:12px;width:calc(100% - 24px)}.privacy-banner div{flex-direction:column}.legal-links{gap:12px}.legal-document{padding-top:35px}}

/* Mobile polish: fixed geometry instead of platform-dependent emoji glyphs. */
.brand-mark { width:44px; height:44px; object-fit:contain; flex:0 0 44px; }
.faq-list summary .faq-toggle-icon { position:relative; width:32px; height:32px; flex:0 0 32px; padding:0; }
.faq-toggle-icon::before,.faq-toggle-icon::after { content:""; position:absolute; width:12px; height:1.5px; background:currentColor; left:50%; top:50%; transform:translate(-50%,-50%); border-radius:2px; }
.faq-toggle-icon::after { transform:translate(-50%,-50%) rotate(90deg); }
.faq-list details[open] summary .faq-toggle-icon { transform:none; }
.faq-list details[open] .faq-toggle-icon::after { transform:translate(-50%,-50%) rotate(0); }
.faq-list summary::marker { content:""; }
@media(max-width:760px) {
  html { scroll-padding-top:96px; -webkit-text-size-adjust:100%; }
  .brand { gap:9px; letter-spacing:-.025em; }
  .brand-mark { width:38px; height:38px; flex-basis:38px; }
  .brand-caption { font-size:7px; letter-spacing:.08em; line-height:1.4; margin-top:5px; }
  .header-inner { height:76px; gap:12px; }
  .site-header { background:var(--paper); }
  #navigation { top:75px; padding:12px 20px 20px; gap:4px; max-height:calc(100dvh - 76px); overflow:auto; }
  #navigation a { display:flex; align-items:center; min-height:48px; font-size:16px; padding:10px 8px; }
  h2,h3 { letter-spacing:-.035em; }
  .eyebrow { font-size:10px; line-height:1.6; }
  .section { padding-block:56px; }
  .faq-section { padding-top:24px; gap:28px; }
  .faq-section h2 { font-size:clamp(32px,8.8vw,40px); line-height:1.15; margin-bottom:20px; }
  .faq-section h2 br { display:block; }
  .faq-section > div > p:not(.eyebrow) { font-size:15px; line-height:1.7; }
  .faq-section .text-link { min-height:44px; margin-top:10px; }
  .faq-list { gap:12px; }
  .faq-list summary { min-height:80px; padding:20px; font-size:15px; line-height:1.5; gap:16px; }
  .faq-list summary > [data-cms-text-key] { flex:1; min-width:0; }
  .faq-list details p { padding:0 20px 22px; font-size:14px; line-height:1.75; }
  .feature p,.steps-grid p,.product-info > p:not(.eyebrow),.instruction-copy > p:not(.eyebrow) { font-size:14px; line-height:1.75; }
  .feature h3,.steps-grid h3 { font-size:23px; line-height:1.25; }
  .button,.text-link,.download-link { min-height:48px; }
  .product-info > .button,.instruction-actions .button,.contact-action-card .button { font-size:14px; min-height:52px; }
  .instruction-copy p.instruction-note { font-size:12px; }
  .instruction-copy .eyebrow { font-size:9px; }
  .contact-banner h2 { font-size:clamp(32px,8.5vw,40px); line-height:1.16; }
  .contact-banner .contact-invitation > p:not(.eyebrow),.contact-banner .contact-action-card p { font-size:14px; line-height:1.75; }
  .contact-card-label,.contact-alternatives small { font-size:10px; }
  .contact-site-link { font-size:14px; min-height:48px; }
  .contact-form-intro { font-size:15px; }
  .page-head h1 { font-size:clamp(38px,11vw,54px); line-height:1.12; }
  .page-head p:not(.eyebrow) { font-size:15px; }
  .contact-info > a { overflow-wrap:anywhere; }
  .field input,.field textarea { font-size:16px; }
  .catalog-showcase .panel > p { font-size:15px; line-height:1.75; margin:20px 0; }
  .catalog-showcase .panel .button { width:100%; font-size:14px; padding-inline:16px; }
  .catalog-showcase .panel .text-link { margin-top:12px; }
  .footer-bottom { font-size:12px; gap:12px; }
  .footer-bottom a,.legal-links a { min-height:44px; display:inline-flex; align-items:center; }
  .legal-links { gap:6px 20px; line-height:1.6; }
  .lightbox-tools .icon-button,.zoom-button,.lightbox-prev,.lightbox-next { min-width:44px; min-height:44px; }
  .lightbox-header h2 { font-size:16px; }
  .lightbox-header .eyebrow { font-size:8px; }
  .lightbox-caption { font-size:13px; }
  .lightbox-hint { font-size:10px; }
}
@media(max-width:360px) {
  .faq-list summary { padding:17px 16px; gap:12px; font-size:14px; }
  .contact-banner { padding-inline:20px; }
  .contact-action-card { padding-inline:16px; }
  .brand-caption { font-size:6px; }
}
@media(max-width:760px) {
  .hero-intro p { font-size:13px; line-height:1.7; }
  .hero-intro .text-link { font-size:12px; flex-shrink:0; }
}
@media(max-width:360px) {
  .hero h1 { font-size:44px; line-height:1.04; }
  .hero-intro { flex-direction:column; align-items:flex-start; gap:14px; }
  .hero-intro p { max-width:100%; }
  .hero-intro .text-link { max-width:none; width:100%; }
}
