/* Third pass: clear composition, a guided workbench, and two ways to ask. */
:root { --reading-width: 36em; }
body { overflow-wrap: anywhere; }
img { max-width: 100%; }
button, a, summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 3px solid #d27b38; outline-offset: 5px;
}
.hero :focus-visible, .check-section :focus-visible, .collection-journey :focus-visible, .contact-scene :focus-visible {
  outline-color: #ffcb8e;
}
.hero.hero-refined {
  min-height: clamp(650px, calc(100svh - 84px), 820px);
  padding: 42px 0 230px; isolation: isolate;
}
.hero-refined .hero-panels { grid-template-columns: 56% 44%; grid-template-rows: 60% 40%; }
.hero-refined .hero-shade {
  background: linear-gradient(90deg,#11292ba8 0%,#10292959 45%,#10292900 76%),linear-gradient(0deg,#142a2cba,transparent 35%);
}
.hero-refined h1 { font-size: clamp(44px,5.4vw,74px); line-height: 1.35; letter-spacing: -.025em; }
.hero-refined .hero-kicker { margin-bottom: 18px; }
.hero-refined .hero-description { margin-top: 16px; font-size: 16px; line-height: 1.8; }
.hero-refined .hero-service-tags { margin-top: 20px; max-width: 62%; gap: 9px; }
.hero-refined .hero-service-tags>a { padding: 8px 10px; }
.hero-refined .panel-0 img { object-position: 52% 42%; }
.hero-refined .panel-1 img { object-position: 53% 48%; }
.hero-refined .panel-2 img, .hero-refined .panel-3 img {
  height: calc(100% - 95px); object-fit: cover;
}
.hero-refined .panel-2 img { object-position: 50% 40%; filter: brightness(1.4) saturate(.95); }
.hero-refined .panel-3 { background: radial-gradient(ellipse at 50% 35%,#233e36,#0e2120); }
.hero-refined .panel-3 img { object-position: 50% 59%; filter: brightness(1.05); }
.hero-refined .panel-2>span, .hero-refined .panel-3>span { bottom: 108px; right: 22px; }
.hero-command {
  position: absolute; z-index: 4; bottom: 20px; left: 0; right: 0;
  display: flex; gap: 26px; align-items: center; justify-content: space-between;
  padding: 15px 19px; border: 1px solid #d3c18f73; border-left: 3px solid #f4ab66;
  background: linear-gradient(100deg,#122a2bef,#162b29e8); box-shadow: 0 5px 0 #0d1c1b80;
  animation: command-dock .6s .4s var(--ease) both;
}
.hero-refined .hero-command .hero-actions { margin: 0; gap: 14px; animation: none; flex-shrink: 0; }
.hero-refined .hero-actions .btn { min-height: 53px; font-size: 14px; padding: 14px 19px; gap: 16px; }
.hero-command-note { font-size: 14px; font-weight: 700; line-height: 1.8; color: #eee8d1; }
.hero-command-note small { display: block; font-size: 12px; font-weight: 400; color: #bdcec3; }
.hero-refined .hero-panel::after { animation-duration: .7s; }
.hero-refined .hero-panel img { animation-duration: 1.25s; }
.hero-refined h1>span { animation-delay: .12s; animation-duration: .65s; }
.hero-refined h1>span:nth-child(2) { animation-delay: .23s; }
.hero-refined .hero-coordinate { top: 26px; right: 30px; }
@keyframes command-dock { from { opacity: .65; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }

/* The viewer sees a distinct scene for finding, keeping and passing on. */
.intent-panel>figure { overflow: hidden; }
.intent-panel:not([hidden])>figure img { animation: intent-image .6s var(--ease) both; }
.intent-panel:not([hidden]) .intent-answer { animation: intent-answer .45s .08s var(--ease) both; }
#intent-panel-buy>figure img { object-position: 47% 42%; }
#intent-panel-manage>figure { background: radial-gradient(ellipse,#315147,#18392f); }
#intent-panel-manage>figure img { object-fit: contain; padding: 22px 12px 40px; }
#intent-panel-trade>figure { background: radial-gradient(ellipse,#47503c,#223529); }
#intent-panel-trade>figure img { object-fit: contain; object-position: 50% 20%; padding-bottom: 48px; filter: brightness(1.17); }
.intent-answer>p:not(.eyebrow) { max-width: var(--reading-width); }
.concierge-heading h2 { line-height: 1.55; }
@keyframes intent-image { from { scale: 1.035; opacity: .7; } to { scale: 1; opacity: 1; } }
@keyframes intent-answer { from { translate: 12px 0; opacity: .65; } to { translate: 0 0; opacity: 1; } }

/* All concerns remain visible in the memo; the visitor chooses the first topic. */
.priority-panel { margin-top: 22px; padding-top: 20px; border-top: 1px solid #abbd9259; }
.priority-label { font-size: 16px; font-weight: 700; color: #ffe0b1; line-height: 1.8; }
.priority-topics { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.priority-topics button {
  display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 11px 14px;
  border: 1px solid #819b71; color: #edf1e6; font-size: 14px; line-height: 1.6;
  background: linear-gradient(125deg,#334c3c,#20382d); box-shadow: 0 3px 0 #102219;
}
.priority-topics button::before { content: ''; width: 10px; height: 10px; border: 1px solid #b5c5a0; flex: 0 0 auto; }
.priority-topics button[aria-pressed=true] { color: #253622; border-color: #efbf7c; background: linear-gradient(125deg,#ffcf93,#edaf66); }
.priority-topics button[aria-pressed=true]::before { border-color: #29482b; background: #29482b; box-shadow: inset 0 0 0 2px #f4c185; }
#priority-guidance { font-size: 14px; line-height: 1.85; margin-top: 14px; color: #d2dfc7; }
.priority-cta { margin-top: 16px; font-size: 14px; min-height: 50px; width: 100%; justify-content: space-between; }
.result-detail { margin-top: 19px; border: 1px solid #94a97a; background: linear-gradient(110deg,#50634235,#233e3033); }
.result-detail>summary { padding: 14px; gap: 16px; color: #fff0cc; font-size: 14px; font-weight: 700; }
.result-detail>summary svg { flex-shrink: 0; }
.result-detail[open] .result-reasons { padding: 0 14px 14px; }
#recommendations { margin-top: 18px; }
#recommendations a { font-size: 13px; padding: 10px 0; min-height: 44px; }
.quest-result h3 { font-size: 23px; line-height: 1.6; }

/* One primary action advances the sequence; the three chapter buttons stay available. */
.journey-heading h3 { font-size: clamp(25px,2.65vw,36px); line-height: 1.6; }
.journey-heading>p { max-width: 24em; }
.journey-progress-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin: 28px 0 11px; font-size: 13px; line-height: 1.8; color: #c6d5bd; }
.journey-progress-heading strong { color: #ffcf8f; font-size: 13px; }
.journey-progress { height: 4px; background: #101f19; box-shadow: 0 1px 0 #597252; margin-bottom: 24px; overflow: hidden; }
.journey-progress>span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,#b0c49a,#ffc57f); transition: width .6s var(--ease); }
.journey-controls button.stage-done { border-color: #c1bd83; background: linear-gradient(120deg,#485e3e,#273f30); }
.journey-controls button.stage-done>span { color: #f8d199; }
.journey-navigation { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 23px; padding: 18px 20px; background: linear-gradient(110deg,#77845620,#e8b8740c); border-left: 2px solid #f7b56e; }
.journey-navigation p { font-size: 15px; line-height: 1.8; color: #eee8ce; }
.journey-navigation .btn { min-height: 52px; font-size: 14px; gap: 26px; flex-shrink: 0; }
.journey-explanation { margin-top: 16px; }
.journey-explanation p { font-size: 14px; line-height: 1.9; }
.journey-destination { display: flex; align-items: center; justify-content: space-between; min-height: 46px; gap: 4px; padding: 10px; opacity: 1; background: linear-gradient(120deg,#f1c58b,#e4ab64); font-size: 13px; }
.journey-destination svg { width: 16px; height: 16px; flex-shrink: 0; }
.journey-board[data-stage="0"] .journey-kits { min-height: 285px; }
.journey-kit .kit-choice { font-size: 12px; }

#buy { --scene-ink: #4e6670; }
#manage { --scene-ink: #526645; }
#trade { --scene-ink: #8c632f; }
.service-story { scroll-margin-top: 28px; }
.service-copy { min-width: 0; }
.service-copy>p:not(.eyebrow) { max-width: var(--reading-width); }
.service-story>figure { border: 1px solid #b1b6a1; overflow: hidden; box-shadow: 10px 10px 0 #d4d8cc; }
#buy>figure img { object-position: 40% 45%; }
#manage>figure { background: #17372c; box-shadow: -10px 10px 0 #d1d8c6; }
#manage>figure img { object-fit: contain; padding-bottom: 45px; object-position: center; }
#trade>figure { background: radial-gradient(ellipse at 50% 28%,#4e5d48,#203d31); }
#trade>figure img { object-fit: contain; object-position: 50% 25%; filter: brightness(1.17); padding: 12px 12px 48px; }
.example-ticket { margin-top: 22px; padding: 18px 19px 15px; border: 1px solid #adb49e; border-top: 3px solid var(--scene-ink); background: linear-gradient(125deg,#fffdf0,#e8e9dc); position: relative; }
.example-ticket::after { content: ''; position: absolute; inset: 7px 7px auto auto; width: 8px; height: 8px; border-right: 1px solid var(--scene-ink); border-top: 1px solid var(--scene-ink); }
.example-label { display: block; font-size: 12px; color: #58664e; }
.example-ticket p { font-size: 15px; line-height: 1.95; font-weight: 700; color: #2b3d2b; margin-top: 8px; }
.example-ticket a { display: flex; align-items: center; justify-content: space-between; min-height: 44px; font-size: 14px; line-height: 1.8; border-top: 1px solid #bbc1aa; margin-top: 14px; padding-top: 10px; color: #7a4c26; gap: 18px; }
.example-ticket a svg { width: 20px; height: 20px; flex-shrink: 0; }
.service-story.reverse .service-copy { order: 1; }
.service-story.reverse>figure { order: 2; }

/* Direct contact stays in sight. The optional memo opens only when requested. */
.contact-refined .contact-content { grid-template-columns: 1fr 1fr; gap: 7%; padding-block: 72px; }
.contact-invitation { padding-top: 0; }
.contact-invitation h2 { font-size: clamp(27px,3.1vw,42px); line-height: 1.65; }
.contact-invitation>p:not(.eyebrow) { margin-top: 20px; }
.contact-choices { display: grid; gap: 22px; margin-top: 27px; }
.contact-choice-label { display: block; color: #efcca0; font-size: 13px; margin-bottom: 8px; }
.contact-choices .btn { width: 100%; justify-content: space-between; min-height: 54px; font-size: 15px; padding: 14px 18px; }
.contact-choices>div>p { color: #cad5c6; font-size: 12px; line-height: 1.9; margin-top: 8px; }
.contact-phone { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; font-size: 13px; line-height: 1.8; min-height: 48px; margin-top: 22px; color: #dce5d3; }
.contact-phone strong { font-size: 22px; letter-spacing: .02em; color: #fff1d6; }
.contact-phone svg { width: 19px; height: 19px; }
.contact-invitation>small { margin-top: 6px; }
.contact-workspace { min-width: 0; }
.contact-workspace .consultation-guide { margin-top: 0; max-width: none; }
.guide-heading { font-size: 16px; color: #f4dfb7; line-height: 1.8; font-weight: 700; }
.consultation-steps { padding: 0; list-style: none; margin: 19px 0 0; }
.consultation-steps li { display: grid; grid-template-columns: 28px 1fr 28px; gap: 12px; align-items: center; padding: 16px 2px; border-top: 1px solid #a5b18b57; }
.consultation-steps li>span { font: 14px/1.5 Arial,sans-serif; color: #f4b671; }
.consultation-steps li>svg { color: #cab98d; width: 26px; height: 26px; }
.consultation-steps strong { font-size: 15px; color: #f4e9ce; line-height: 1.8; }
.consultation-steps p { font-size: 13px; line-height: 1.9; color: #c6d6be; margin-top: 4px; }
.guide-photo { margin-top: 14px; color: #bcccb4; }
.memo-fold { margin-top: 25px; padding: 0; scroll-margin-top: 28px; }
.memo-toggle { display: flex; gap: 14px; align-items: center; padding: 23px; cursor: pointer; list-style: none; min-height: 108px; }
.memo-toggle::-webkit-details-marker { display: none; }
.memo-toggle>span:nth-child(2) { flex: 1; min-width: 0; }
.memo-toggle-icon { width: 42px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; color: #ffc688; background: linear-gradient(120deg,#3f5540,#20382c); clip-path: polygon(0 0,78% 0,100% 20%,100% 100%,0 100%); }
.memo-toggle-icon svg { width: 25px; height: 25px; }
.memo-toggle small { display: block; font-size: 12px; line-height: 1.7; color: #5a6c4f; }
.memo-toggle strong { display: block; font-size: 21px; line-height: 1.6; margin-top: 4px; color: #203c2d; }
#memo-summary-count { display: block; font-size: 13px; margin-top: 6px; color: #53634a; line-height: 1.8; }
.memo-toggle-mark { flex: 0 0 auto; color: #8a5b2f; transition: rotate .25s; }
.memo-toggle-mark svg { width: 22px; height: 22px; }
.memo-fold[open] .memo-toggle-mark { rotate: 45deg; }
.memo-fold[open] .memo-toggle { border-bottom: 1px solid #9ca887; }
.memo-body { padding: 26px; }
.memo-body .desk-title { display: none; }
.memo-fields { grid-template-columns: 1fr; gap: 8px; }
.memo-fields label { margin-top: 9px; display: flex; gap: 10px; }
.memo-fields label small { display: inline; }
.memo-fields :is(input,textarea,select) { scroll-margin-block: 36px; font-size: 16px; }
.memo-body .memo-actions { grid-template-columns: 1fr; }
.memo-body .memo-privacy { margin-top: 14px; }
.click-ring.feedback-secondary { width: 12px; height: 12px; border-width: 1px; opacity: .55; }
.control-arrived[data-feedback=secondary] { animation: quiet-arrival .35s var(--ease); }
@keyframes quiet-arrival { from { opacity: .7; translate: 0 4px; } to { opacity: 1; translate: 0 0; } }

@media (min-width:701px) and (max-width:1000px) {
  .hero.hero-refined { min-height: clamp(650px,calc(100svh - 84px),780px); }
  .hero-refined .hero-service-tags { max-width: 68%; }
  .hero-command { display: block; }
  .hero-command-note { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 5px 18px; font-size: 13px; }
  .hero-refined .panel-2 img, .hero-refined .panel-3 img { height: calc(100% - 125px); }
  .hero-refined .panel-2>span, .hero-refined .panel-3>span { bottom: 134px; }
  .contact-refined .contact-content { gap: 4%; }
  .journey-heading { display: block; }
  .journey-heading>p { margin-top: 15px; max-width: none; }
}
@media (max-width:700px) {
  html { scroll-padding-bottom: 84px; }
  .hero.hero-refined { padding: 43px 0 18px; min-height: 0; }
  .hero-refined .hero-panels { grid-template-columns: 48% 52%; grid-template-rows: 45% 55%; }
  .hero-refined .hero-shade { background: linear-gradient(90deg,#0e2b2bbd,#112b2b6b),linear-gradient(0deg,#142a2cba,transparent 60%); }
  .hero-refined h1 { font-size: 8.4vw; line-height: 1.5; letter-spacing: -.025em; }
  .hero-refined .hero-kicker { margin-bottom: 18px; font-size: 12px; line-height: 1.8; max-width: 26em; }
  .hero-refined .hero-description { margin-top: 16px; font-size: 15px; line-height: 1.85; }
  .hero-refined .hero-service-tags { max-width: none; gap: 8px; margin-top: 18px; }
  .hero-refined .hero-service-tags>a { font-size: 12px; padding: 7px 8px; gap: 6px; }
  .hero-refined .panel-0 img { object-position: 60% 35%; }
  .hero-refined .panel-1 img { object-position: 57% 50%; }
  .hero-refined .panel-2 img, .hero-refined .panel-3 img { height: calc(100% - 196px); min-height: 145px; padding: 0; }
  .hero-refined .panel-2 img { object-position: 42% 36%; filter: brightness(1.55); }
  .hero-command { position: relative; bottom: auto; padding: 14px; display: block; margin-top: 128px; gap: 0; }
  .hero-refined .hero-command .hero-actions { display: grid; grid-template-columns: 1fr; gap: 12px; max-width: none; }
  .hero-refined .hero-command .btn { font-size: 14px; padding: 13px 15px; min-height: 51px; justify-content: space-between; }
  .hero-command-note { font-size: 12px; margin-top: 13px; line-height: 1.75; }
  .hero-command-note small { font-size: 12px; line-height: 1.75; }
  .concierge-heading h2 { font-size: 29px; line-height: 1.65; }
  .concierge-heading>p { margin-top: 16px; }
  .intent-tabs button { min-height: 122px; }
  .intent-tabs strong { font-size: 13px; line-height: 1.7; }
  .intent-panel>figure { height: 220px; }
  #intent-panel-manage>figure img, #intent-panel-trade>figure img { padding-bottom: 49px; }
  .intent-answer h3 { font-size: 23px; }
  .box-story-copy h2 { font-size: 27px; }
  .priority-topics { gap: 9px; }
  .priority-topics button { font-size: 14px; padding: 10px 12px; }
  .priority-cta { padding: 13px; gap: 10px; }
  .result-detail>summary { padding: 14px 11px; font-size: 14px; }
  .quest-result h3 { font-size: 21px; }
  #recommendations { gap: 8px 16px; }
  .journey-heading h3 { font-size: 25px; }
  .journey-progress-heading { margin-top: 23px; display: block; }
  .journey-progress-heading strong { display: block; margin-top: 5px; }
  .journey-controls button { min-height: 92px; font-size: 13px; }
  .journey-navigation { flex-direction: column; gap: 13px; align-items: stretch; padding: 15px 12px; margin-top: 18px; }
  .journey-navigation p { font-size: 14px; }
  .journey-navigation .btn { justify-content: space-between; font-size: 14px; padding: 13px; }
  .journey-destination { font-size: 12px; padding: 10px 7px; min-height: 46px; }
  .journey-board[data-stage="0"] .journey-kits { min-height: 265px; }
  .journey-kit .kit-choice { font-size: 12px; }
  .journey-explanation p { font-size: 14px; }
  .service-story.reverse .service-copy, .service-story.reverse>figure { order: initial; }
  .service-story>figure { box-shadow: 6px 6px 0 #d4d8cc; margin-right: 6px; }
  #manage>figure { box-shadow: 6px 6px 0 #d1d8c6; }
  .service-copy h3 { font-size: 28px; }
  .example-ticket { padding: 16px 15px 12px; margin-top: 18px; }
  .example-ticket p { font-size: 15px; }
  .example-ticket a { font-size: 14px; }
  .contact-refined .contact-content { display: block; padding-block: 48px; }
  .contact-invitation h2 { font-size: 28px; }
  .contact-workspace { margin-top: 34px; }
  .contact-choices { gap: 20px; }
  .contact-choices .btn { font-size: 15px; min-height: 54px; }
  .contact-phone strong { font-size: 21px; }
  .consultation-steps { margin-top: 14px; }
  .consultation-steps li { gap: 9px; grid-template-columns: 25px 1fr 23px; padding-block: 15px; }
  .consultation-steps li>svg { width: 23px; height: 23px; }
  .consultation-steps p { font-size: 14px; }
  .memo-fold { margin-top: 22px; }
  .memo-toggle { padding: 19px 15px; gap: 11px; }
  .memo-toggle-icon { width: 35px; height: 43px; }
  .memo-toggle strong { font-size: 19px; }
  .memo-toggle small, #memo-summary-count { font-size: 12px; }
  .memo-toggle-mark svg { width: 19px; height: 19px; }
  .memo-body { padding: 20px 17px; }
  .memo-fields input, .memo-fields select, .memo-fields textarea { font-size: 16px; min-height: 47px; }
  .mobile-dock { transition: transform .2s, visibility .2s; }
  .is-editing .mobile-dock { transform: translateY(120%); visibility: hidden; pointer-events: none; }
  .is-editing .toast { bottom: max(15px,env(safe-area-inset-bottom)); }
  .site-footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
}
@media (max-width:360px) {
  .hero.hero-refined { padding-top: 35px; }
  .hero-refined h1 { font-size: 8.2vw; }
  .hero-command { margin-top: 112px; padding: 12px; }
  .hero-refined .hero-command .btn { font-size: 13px; }
  .concierge-heading h2 { font-size: 26px; }
  .journey-heading h3 { font-size: 22px; }
  .journey-controls button { font-size: 12px; }
  .contact-invitation h2 { font-size: 26px; }
  .memo-toggle strong { font-size: 18px; }
  .priority-topics button { padding-inline: 10px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-command, .intent-panel:not([hidden])>figure img, .intent-panel:not([hidden]) .intent-answer { animation: none; }
  .action-token { display: none; }
}
.reduce-motion .action-token { display: none; }
[hidden] { display: none !important; }
