/* Selected mobile references: 02–07/12–13 v001, 08–11 v002. No Hero/desktop rules. */
.mobile-open-ellipse, .mobile-stage-number { display: none; }
@media (max-width:900px) {
  #main > section:not(#top), #footer { --mobile-paper:#f8efe3; --mobile-wine:#3a0317; --mobile-gold:#b99058; }
  /* 03: champagne transition, two equal reading registers. */
  #main #modes.modes-section { padding:44px 0 56px; background:#3a0317; }
  #main #modes .modes-background { height:430px; mask-image:linear-gradient(#000 0 60%,transparent 100%); }
  #main #modes .modes-background img { object-fit:cover; object-position:center top; }
  #main #modes > .section-heading { width:calc(100% - 44px); }
  #main #modes > .section-heading h2 { font-size:clamp(34px,9vw,40px); line-height:1.06; }
  #main #modes > .section-heading p:not(.eyebrow) { font-size:16px; line-height:1.55; }
  #main #modes > .section-heading::after { content:none; }
  #main #modes .mode-bridge { width:100%; margin-top:90px; gap:0; }
  #main #modes .mode-panel { padding:24px 32px 48px; }
  #main #modes .mode-panel + .mode-panel { margin:0; padding-top:48px; border-top:1px solid #d6ae6866; }
  #main #modes .mode-panel + .mode-panel::before { content:''; position:absolute; top:-5px; left:calc(50% - 5px); width:10px; height:10px; background:#e5c58b; clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%); }
  #main #modes .mode-panel h3 { font-size:34px; line-height:1.08; max-width:100%; }
  #main #modes .mode-lead, #main #modes .mode-panel li { font-size:16px; line-height:1.6; font-weight:400; }
  #main #modes .mode-panel li + li { margin-top:9px; }
  #main #modes .mode-number, #main #modes .mode-list-label { letter-spacing:.11em; }
  #main #modes .mode-lead { margin:24px 0 28px; }
  #main #modes .modes-end-rule { margin-top:8px; }
  /* 04: a shared numeric axis, no repeated cards. */
  #main #work { padding:52px 24px 58px; background:#f8efe3; }
  #main #work .approach-grid { display:block; }
  #main #work .section-heading { position:static; margin:0 0 44px; }
  #main #work h2 { font-size:36px; line-height:1.06; }
  #main #work .section-heading p:not(.eyebrow) { font-size:16px; line-height:1.6; }
  #main #work .process-map { display:block; padding:0; background:none; }
  #main #work .process-map::before, #main #work .process-map::after { content:none; }
  #main #work .process-step { display:grid; grid-template-columns:70px minmax(0,1fr); gap:12px 20px; position:relative; padding:0 0 44px; margin:0; min-height:0; border:0; border-radius:0; background:none; box-shadow:none; }
  #main #work .process-step::before { content:''; position:absolute; top:76px; bottom:12px; left:27px; width:1px; height:auto; background:#b9905870; opacity:1; mask-image:none; }
  #main #work .process-step::after { content:''; position:absolute; left:24px; bottom:12px; width:7px; height:7px; background:#b99058; transform:rotate(45deg); }
  #main #work .process-step > span { grid-column:1; grid-row:1 / 3; position:static; align-self:start; justify-self:stretch; text-align:right; padding-right:8px; margin:0; font:italic 60px/1 var(--font-display); color:#b99a8255; }
  #main #work .process-step h3, #main #work .process-step p { grid-column:2; margin:0; max-width:none; }
  #main #work .process-step h3 { font-size:28px; line-height:1.12; }
  #main #work .process-step p { font-size:16px; line-height:1.6; color:#653845; }
  #main #work .work-note { margin:0; padding:24px 0 0; border-top:1px solid #b9905866; font-size:15px; line-height:1.6; }
  /* 06: agency statement, one open ellipse, two prose zones. */
  #main #responsibility { padding:52px 28px 72px; }
  #main #responsibility .responsibility-grid { display:block; }
  #main #responsibility .eyebrow { margin-bottom:36px; letter-spacing:.12em; }
  #main #responsibility h2 { padding:48px 0; font-size:34px; line-height:1.12; margin:0 0 48px; isolation:isolate; }
  #main #responsibility h2::before, #main #responsibility h2::after { content:none; }
  #main #responsibility .mobile-open-ellipse { display:block; position:absolute; inset:0 -12px; width:calc(100% + 24px); height:100%; z-index:-1; overflow:visible; }
  #main #responsibility .mobile-statement-second { display:block; margin-top:24px; font-style:italic; }
  #main #responsibility .responsibility-lists { display:block; }
  #main #responsibility .responsibility-lists article, #main #responsibility .responsibility-lists article + article { padding:0; margin:0; border:0; }
  #main #responsibility .responsibility-lists article + article { margin-top:42px; }
  #main #responsibility h3 { text-transform:none; font-size:28px; line-height:1.1; font-weight:400; margin:0 0 22px; }
  #main #responsibility h3::after { content:''; display:block; width:40px; height:1px; background:#b99058; margin-top:16px; }
  #main #responsibility li { font-size:16px; line-height:1.65; }
  #main #responsibility li + li { margin-top:14px; }
}
@media (max-width:360px) {
  #main #modes .mode-panel { padding-inline:24px; }
  #main #modes .mode-panel h3 { font-size:30px; }
  #main #work { padding-inline:20px; }
  #main #work .process-step { grid-template-columns:64px minmax(0,1fr); gap:12px 16px; }
  #main #work .process-step > span { font-size:56px; }
  #main #work .process-step::before { left:22px; top:65px; }
  #main #work .process-step::after { left:19px; }
  #main #work .process-step h3 { font-size:25px; }
  #main #responsibility { padding-inline:24px; }
  #main #responsibility h2 { font-size:30px; }
}
@media (max-width:900px) {
 /* Refine 03/06 after the first actual render. */
 #main #modes > .section-heading::before { inset:-44px -22px -90px; background:linear-gradient(#f8e7cee8 0%,#f8e7cee8 68%,transparent); }
 #main #modes .mode-lead { font-weight:400; }
 #main #responsibility .responsibility-lists h3 { font-family:var(--font-display); border:0; padding-top:0; }
 #main #responsibility .responsibility-lists article::before { content:none; }
 #main #responsibility .responsibility-lists article { border:0; }
 /* 02: focused wine card with neighbouring paper faces. */
 #main #for-you { padding:48px 0 56px; }
 #main #for-you h2 { font-size:36px; line-height:1.08; }
 #main #for-you .recognition-heading > p:not(.eyebrow) { font-size:16px; line-height:1.6; }
 #main #for-you .pain-card { flex-basis:clamp(236px,76vw,326px); height:var(--mobile-card-height,570px); border-radius:12px; }
 #main #for-you .card-face { padding:24px 24px 28px; }
 #main #for-you .card-face > * { flex-shrink:0; }
 #main #for-you .pain-card h3 { font-size:30px; line-height:1.12; }
 #main #for-you .pain-card .card-summary { min-height:0; font-size:16px; line-height:1.55; margin-top:22px; }
 #main #for-you .pain-case { margin-top:auto; padding-top:20px; }
 #main #for-you .pain-case span { font-size:10px; letter-spacing:.12em; }
 #main #for-you .pain-case q { font-size:19px; line-height:1.4; }
 #main #for-you .slider-marquee { gap:18px; }
 #main #for-you .card-track { padding-block:28px 58px; }
 #main #for-you .slider-controls { margin-top:0; }
 /* 05: real citation and reassurance; cropped light lives outside the reading lane. */
 #main #mid-cta { padding:72px 28px 58px; background:#310111; }
 #main #mid-cta .threshold-content { width:100%; margin:0; }
 #main #mid-cta h2 { font-size:36px; line-height:1.12; padding-right:24px; margin:0 0 28px; }
 #main #mid-cta .threshold-fact { order:0; margin:0 0 52px; max-width:100%; }
 #main #mid-cta .threshold-fact p { font-size:17px; line-height:1.65; }
 #main #mid-cta .compact-cta-source { font-size:12px; line-height:1.6; }
 #main #mid-cta .threshold-reassurance { font-size:16px; line-height:1.65; margin:0 0 42px; max-width:none; }
 #main #mid-cta::before { top:0; right:0; bottom:auto; width:168px; height:220px; border-radius:0; opacity:.8; background:url('imgs/mobile-selected/threshold-right.webp') right top /168px 220px no-repeat; box-shadow:none; mask-image:linear-gradient(90deg,transparent,#000 75%); }
 #main #mid-cta::after { left:0; right:0; bottom:22px; height:61px; background:url('imgs/mobile-selected/threshold-floor.webp') center /430px 61px no-repeat; opacity:.45; mask-image:linear-gradient(transparent,#000,transparent); }
 /* 07: one protected frame, four complete boundaries. */
 #main #safety { padding:28px 16px; background:radial-gradient(ellipse at 0 0,#a3674833,transparent 35%),#310111; }
 #main #safety .safety-shell { padding:34px 24px 40px; border:1px solid #b9905880; border-radius:18px; background:#25000c55; }
 #main #safety .section-heading { text-align:left; margin-bottom:30px; }
 #main #safety h2 { font-size:36px; line-height:1.08; }
 #main #safety .section-heading p:not(.eyebrow), #main #safety .safety-list p { font-size:16px; line-height:1.6; font-family:var(--font-ui); }
 #main #safety .safety-list { display:block; }
 #main #safety .safety-list article { border:0; border-top:1px solid #b9905866; padding:26px 0; margin:0; background:none; border-radius:0; }
 #main #safety .safety-list article:last-child { padding-bottom:0; }
 #main #safety .safety-list h3 { text-transform:none; font-family:var(--font-display); font-size:27px; line-height:1.12; font-weight:400; margin-bottom:16px; }
 #main #safety .safety-icon { margin-left:0; }
 /* 08: all five author paragraphs in a continuous letter. */
 #main #about { padding:56px 24px 60px; background:#f8efe3; }
 #main #about .about-grid { display:block; }
 #main #about .portrait-slot { display:none; }
 #main #about .about-copy { position:relative; border-left:1px solid #b9905877; padding-left:20px; }
 #main #about .about-copy::before { content:'✦'; position:absolute; left:-7px; top:-24px; color:#b99058; font-size:17px; }
 #main #about .about-copy h2 { color:#3a0317; font-size:42px; line-height:1.05; margin-bottom:32px; }
 #main #about .about-copy .eyebrow { color:#8f6840; }
 #main #about .about-copy p:not(.eyebrow) { color:#512439; font-size:16px; line-height:1.75; margin-bottom:26px; }
 #main #about .about-copy p:last-child { color:#653845; padding-top:24px; }
 /* 09: opposite wine bands, live tabs and naturally expanding details. */
 #main #price { padding:52px 22px 58px; }
 #main #price h2 { font-size:36px; line-height:1.08; }
 #main #price .split-heading { display:block; }
 #main #price .split-heading > p { margin-top:24px; font-size:16px; line-height:1.6; }
 #main #price .session-tab-list { margin:32px 0 64px; width:100%; }
 #main #price .session-tab { min-height:48px; padding:12px 8px; font-size:11px; }
 #main #price .format-grid, #main #price .price-grid { gap:72px; }
 #main #price .format-card, #main #price .price-card { display:flex; flex-direction:column; gap:20px; width:calc(100% + 22px); margin-left:-22px; padding:38px 28px; border-radius:0 68px 68px 0; box-shadow:inset -5px 0 0 #b9905840; }
 #main #price .format-card:nth-child(2), #main #price .price-card:nth-child(2) { width:calc(100% + 22px); margin-left:0; border-radius:68px 0 0 68px; padding:38px 28px; box-shadow:inset 5px 0 0 #b9905840; }
 #main #price .format-card::before, #main #price .price-card::before { position:absolute; top:-74px; left:auto; right:8px; font:italic 110px/1 var(--font-display); color:#8e4e6044; z-index:0; pointer-events:none; }
 #main #price .format-card:nth-child(2)::before, #main #price .price-card:nth-child(2)::before { left:0; right:auto; }
 #main #price .format-card h3, #main #price .price-card h3 { font-size:30px; line-height:1.14; max-width:none; }
 #main #price .format-card p, #main #price .price-card p, #main #price li { font-size:16px; line-height:1.6; }
 #main #price .format-card .card-index, #main #price .price-card .card-index { font-size:11px; letter-spacing:.08em; }
 #main #price .format-topics { grid-template-columns:1fr; }
 #main #price summary { font-size:15px; min-height:44px; line-height:1.5; }
 #main #price .format-card .button, #main #price .price-card .button { align-self:flex-start; }
 /* 10: three separate, complete voices, no invented attribution/disclosure. */
 #main #proof { padding:52px 28px 58px; }
 #main #proof .section-heading { text-align:left; }
 #main #proof h2 { font-size:34px; line-height:1.12; }
 #main #proof .section-heading p:not(.eyebrow) { font-size:16px; line-height:1.65; }
 #main #proof .testimonial-register { display:block; margin-top:42px; }
 #main #proof .testimonial-entry, #main #proof .testimonial-entry:last-child { position:relative; max-width:none; padding:24px 0 0 12px; border:0; margin:0 0 48px; }
 #main #proof .testimonial-entry::before { content:'“'; position:absolute; top:0; left:-9px; color:#b9905880; font:70px/1 var(--font-display); }
 #main #proof blockquote p { font-size:29px; line-height:1.3; }
 #main #proof .testimonial-entry:nth-child(2) blockquote p, #main #proof .testimonial-entry:last-child blockquote p + p { font:400 16px/1.75 var(--font-ui); }
 #main #proof figcaption { padding-top:8px; letter-spacing:.08em; }
 /* 11: open margin axis with existing fields, explicitly disabled. */
 #main #apply { padding:54px 24px 60px; }
 #main #apply .application-heading h2 { font-size:42px; }
 #main #apply .application-heading p, #main #apply .helper { font-size:14px; line-height:1.6; }
 #main #apply .application-scale { display:none; }
 #main #apply .application-unavailable { padding-left:28px; border-left:1px solid #b9905866; gap:30px; }
 #main #apply .form-grid { display:grid; grid-template-columns:1fr; gap:24px; }
 #main #apply .field-row { min-width:0; }
 #main #apply .form-grid > .field-row:first-child, #main #apply .form-grid > .field-row:nth-child(4), #main #apply .application-unavailable > .field-row, #main #apply .check-row { position:relative; }
 #main #apply .form-grid > .field-row:first-child::before, #main #apply .form-grid > .field-row:nth-child(4)::before, #main #apply .application-unavailable > .field-row::before, #main #apply .check-row::before { position:absolute; left:-48px; top:0; color:#d7b578; font-size:10px; line-height:1.6; }
 #main #apply .form-grid > .field-row:first-child::before { content:'01'; }
 #main #apply .form-grid > .field-row:nth-child(4)::before { content:'02'; }
 #main #apply .application-unavailable > .field-row::before { content:'03'; }
 #main #apply .check-row::before { content:'04'; }
 #main #apply label, #main #apply legend { font-size:12px; line-height:1.5; }
 #main #apply input, #main #apply select, #main #apply textarea { width:100%; min-width:0; font-size:16px; line-height:1.5; padding:13px 12px; min-height:48px; }
 #main #apply .contact-tabs { display:flex; flex-wrap:wrap; gap:8px; }
 #main #apply .contact-tab { min-height:44px; padding:10px; }
 #main #apply .check-row { font-size:14px; line-height:1.6; align-items:start; }
 #main #apply .check-row input { width:22px; min-height:22px; flex:none; padding:0; }
 #main #apply .form-submit { width:100%; min-height:48px; font-size:12px; }
 /* 12: seven real questions, decorative margin and open ink band. */
 #main #faq { padding:52px 24px 58px; }
 #main #faq .faq-grid { display:block; }
 #main #faq .section-heading { position:relative; margin-bottom:38px; }
 #main #faq .section-heading::after { content:'?'; position:absolute; right:-10px; top:-38px; font:italic 140px/1 var(--font-display); color:#8f4a5826; pointer-events:none; }
 #main #faq h2 { font-size:40px; line-height:1.06; max-width:240px; }
 #main #faq .section-heading p:not(.eyebrow) { font-size:16px; line-height:1.6; }
 #main #faq .faq-list { display:block; }
 #main #faq summary { min-height:68px; padding:20px 40px 20px 30px; font-size:18px; line-height:1.45; }
 #main #faq .faq-number { left:0; top:22px; font-size:11px; }
 #main #faq summary::after { right:0; top:20px; width:26px; height:26px; }
 #main #faq summary::before { right:9px; top:29px; }
 #main #faq details[open] summary { background:linear-gradient(90deg,#642b3b,#3a0317 30%,#642b3b); }
 #main #faq .faq-body { padding:22px 8px 28px 30px; }
 #main #faq .faq-body p { font-size:16px; line-height:1.65; }
 /* 13: current links and language line over a quiet live signature. */
 #footer.site-footer { display:block; padding:48px 28px 150px; min-height:0; background:#310111; }
 #footer .brand { font-size:30px; }
 #footer > div > p { max-width:230px; font-size:13px; line-height:1.7; margin-top:20px; }
 #footer nav { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; margin:38px 0 30px; }
 #footer nav a { min-height:48px; display:flex; align-items:center; border-bottom:1px solid #b990583d; font-size:15px; }
 #footer .footer-note { font-size:13px; line-height:1.7; max-width:270px; }
 #footer .footer-signature { left:-8px; bottom:0; font-size:clamp(120px,34vw,230px); opacity:.14; white-space:nowrap; }
}
@media (max-width:360px) {
 #main #for-you .card-face { padding-inline:18px; }
 #main #for-you .pain-card h3 { font-size:27px; }
 #main #mid-cta h2 { font-size:31px; }
 #main #safety .safety-shell { padding-inline:18px; }
 #main #safety h2 { font-size:32px; }
 #main #about { padding-inline:20px; }
 #main #price .format-card h3, #main #price .price-card h3 { font-size:27px; }
 #main #apply { padding-inline:22px; }
}
/* Actual-render pass 1: remove inherited desktop decorations in the mobile contour. */
@media (max-width:900px) {
 #main #modes .modes-background { display:none; }
 #main #modes > .section-heading::before { display:block; position:absolute; top:-44px; bottom:-100px; left:-22px; right:-22px; width:auto; height:auto; transform:none; margin:0; border:0; filter:none; mask-image:none; background:linear-gradient(#f8e7ce 0 calc(100% - 90px),transparent 100%); }
 #main #modes .mode-bridge::before, #main #modes .mode-bridge::after { content:none; display:none; }
 #main #modes .mode-panel { position:relative; }
 #main #mid-cta::before { mask-image:linear-gradient(90deg,transparent,#000 75%),linear-gradient(#000 0 65%,transparent 100%); mask-composite:intersect; }
 #main #safety .safety-list h3 { text-transform:none; font:400 27px/1.12 var(--font-display); }
 #main #safety .safety-list p { font:400 16px/1.6 var(--font-ui); }
 #main #faq::before, #main #faq::after { content:none; }
 #main #proof .section-heading h2, #main #proof .section-heading p { text-align:left; }
 #main #proof .section-heading .eyebrow { margin-left:0; }
 #main #for-you .pain-card .card-summary, #main #modes .mode-lead { font-weight:400; }
 #footer .footer-signature { color:#b06b77; opacity:.18; }
 #footer .footer-note { font-family:var(--font-ui); }
}
