/* Readable customer interface. None of these selectors match admin/exemplar pages. */
.customer-view{--reading-font-size:18px;scroll-padding-top:190px}
.customer-view .copy-mobile{display:none}
/* Compact utilities and birth-entry text on both desktop and mobile. */
.customer-view .site-header .customer-guide-actions .guide-button{min-height:38px;padding:5px 12px;font-size:14px;line-height:1.6}
.customer-view .service-shell #consultation-form label{font-size:15px}
.customer-view .service-shell #consultation-form :is(input:not([type=checkbox]),select,textarea){font-size:16px}
.customer-view .service-shell #consultation-form :is(input,textarea)::placeholder{font-size:14px}
.customer-view .service-shell #consultation-form legend{font-size:17px}
.customer-view .service-shell #consultation-form :is(.help,small){font-size:14px}
/* Opening another menu temporarily takes the visual emphasis from the current page. */
.customer-view .site-header .service-nav .service-tab:not([aria-current="page"]):not([aria-expanded="true"]),
.customer-view .site-header .service-nav:has([aria-expanded="true"]) .service-tab[aria-current="page"]:not([aria-expanded="true"]){background:transparent;border-color:transparent;color:#F8F2E5}
.customer-view .site-header .service-nav:has([aria-expanded="true"]) .service-tab[aria-current="page"]:not([aria-expanded="true"])::after{transform:scaleX(0)}
.customer-view body{font-size:17px;line-height:1.8}
.customer-view :is(input,select,textarea,button){font-family:var(--sans)}
.customer-view :is(.home-topics-head h1,.section-heading h1,.name-main h1,.practitioner-intro h1,.service-intro h1){font-size:clamp(30px,3vw,40px);line-height:1.5;letter-spacing:-.025em}
.customer-view .service-shell .panel h2{font-size:25px;line-height:1.55}
.customer-view .service-shell .panel h3{font-size:22px;line-height:1.55}
.customer-view :is(.description,.lead,.name-points p,.practitioner-card p,.practitioner-intro p,.home-basic p,.home-philosophy p,.section-heading p,.name-bottom p){font-size:17px;line-height:1.85}
.customer-view #panel-home .home-topic-description{font-size:16px;line-height:1.85}
.customer-view #panel-saju .description{font-size:17px;line-height:1.85}
.customer-view #panel-home .home-topic-link strong{font-size:21px}
.customer-view #panel-home .home-topic-link{padding:22px 18px}
.customer-view :is(.keywords span,#panel-home .keywords span){font-size:15px;line-height:1.65;padding:4px 8px;color:var(--ink)}
.customer-view #panel-saju .featured .keywords span{color:#fffaf0;background:#345c4f}
.customer-view :is(.card-label,.card-action,.name-points strong){font-size:18px}
.customer-view :is(.guide-button,.customer-guide-actions .guide-button){font-size:16px;min-height:44px;padding:8px 16px;color:var(--green)}
.customer-view :is(.button,.service-shell button,.name-reading-link){min-height:50px;font-size:17px;line-height:1.55;padding:12px 22px}
.customer-view .name-reading-link{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fffaf0;border-radius:10px;text-decoration:none;max-width:100%}
.customer-view .name-reading-link:hover{background:var(--green-deep)}
.customer-view .site-header .service-nav .service-tab{font-size:18px;min-height:58px}
.customer-view .saju-submenu{width:390px;max-width:min(90vw,390px)}
.customer-view .saju-submenu strong{font-size:17px}
.customer-view .saju-submenu small{font-size:15px}
.customer-view .service-shell label{font-size:16px;line-height:1.7;color:var(--ink)}
.customer-view .service-shell :is(input:not([type=checkbox]),select,textarea){font-size:18px;min-height:52px;border-color:#aeb9aa}
.customer-view .service-shell :is(input,textarea)::placeholder{color:#616c62;opacity:1;font-size:16px}
.customer-view .service-shell :is(.help,small,.reading-progress-note){font-size:15px;line-height:1.75;color:#526154}
.customer-view .service-shell .check-row{font-size:16px;min-height:44px;gap:10px}
.customer-view .service-shell input[type=checkbox]{width:22px;height:22px;flex:0 0 22px}
.customer-view .service-shell fieldset{padding:22px}
.customer-view .service-shell legend{font-size:19px;font-weight:700;padding-inline:8px}
.customer-view .service-shell :is(h2,h3,legend){max-width:100%;overflow-wrap:anywhere}
.customer-view #partner-wrap{border-top:4px solid #8a9d8f}
.customer-view :is(.birth-input-summary,.service-intro>div>p,.input-intro){font-size:17px;line-height:1.8}
.customer-view .input-intro{max-width:48em;margin:12px 0 22px;color:#526154}
.customer-view .journey-steps{font-size:15px;gap:12px}
.customer-view .journey-steps b{font-size:15px}
.customer-view .service-intro .eyebrow{font-size:15px;letter-spacing:.04em}
.customer-view :is(.service-shell .report-text,.service-shell .chat-message.answer){font-size:var(--reading-font-size);line-height:1.9;max-width:800px;margin-inline:auto;color:#293c33;word-break:keep-all;overflow-wrap:break-word}
.customer-view .service-shell .chat-message.answer{padding:0;border:0;background:transparent}
.customer-view .reading-result{padding-block:30px}
.customer-view .reading-result>h2{max-width:800px;margin:0 auto 14px}
.customer-view .reading-result .reading-materials{max-width:800px;margin:12px auto 20px;font-size:15px;line-height:1.8}
.customer-view .reading-result :is(.reading-progress,.button-row){max-width:800px;margin-inline:auto}
.customer-view .service-shell .reading-progress-message{font-size:18px;font-weight:650;line-height:1.8}
.customer-view .service-shell .progress-estimate{font-size:15px}
.customer-view .service-shell .reading-analysis-focus small{font-size:15px}
.customer-view .service-shell .reading-analysis-focus strong{font-size:16px;animation:none}
/* One decorative cycle: turn a page, write two lines, then mark a passage. */
.customer-view .service-shell .reading-analysis-focus{position:relative}
.customer-view .service-shell .reading-analysis-focus strong{padding-left:112px;min-height:90px}
.reading-study-scene{position:absolute;left:14px;top:48px;width:92px;height:90px;pointer-events:none;user-select:none}
.reading-study-book{position:absolute;left:8px;top:22px;width:74px;height:50px;transform:rotate(-11deg);perspective:230px;perspective-origin:50% 35%;isolation:isolate}
.reading-study-book>span{position:absolute;display:block;box-sizing:border-box;animation-duration:6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.reading-study-cover{inset:-2px -5px -7px;background:linear-gradient(110deg,#416853,#183d30 48%,#53765b);border:1px solid #183d30;border-bottom:3px solid #102d23;border-radius:15% 15% 12% 12% / 9% 9% 10% 10%;box-shadow:3px 8px 8px #183d3033,0 1px 0 #c6a462 inset}
.reading-study-paper-left,.reading-study-paper-right{top:-2px;width:37px;height:53px;filter:drop-shadow(0 2px 1px #65532d55)}
.reading-study-paper-left{left:0;--sheet-outline:path('M0 4 Q18 -5 37 8 L37 48 Q18 40 0 47 Z')}
.reading-study-paper-right{left:37px;--sheet-outline:path('M0 8 Q19 -5 37 4 L37 47 Q19 40 0 48 Z')}
.reading-study-paper-left::before,.reading-study-paper-right::before,.reading-study-paper-left::after,.reading-study-paper-right::after{content:"";position:absolute;left:0;top:0;width:37px;height:48px;clip-path:var(--sheet-outline)}
.reading-study-paper-left::before,.reading-study-paper-right::before{top:4px;background:repeating-linear-gradient(0deg,#d5c095 0 1px,#f5e4bc 1px 2px,#af996d 2px 3px)}
.reading-study-paper-left::after{background:repeating-linear-gradient(0deg,transparent 0 7px,#a69b7855 8px,transparent 9px),linear-gradient(90deg,#dcc397,#fff6df 35%,#f5e3b9 68%,#b79b66)}
.reading-study-paper-right::after{background:repeating-linear-gradient(0deg,transparent 0 7px,#b2aa8c55 8px,transparent 9px),linear-gradient(90deg,#b69b66,#f3dfb0 22%,#fff8e5 65%,#dac195)}
.reading-study-gutter{left:33px;top:6px;width:8px;height:43px;background:linear-gradient(90deg,transparent,#80643980 45%,#fff4d380 57%,transparent);border-radius:50%;z-index:1}
.reading-study-ink{left:43px;top:12px;width:23px;height:15px;z-index:2;clip-path:inset(0)}
.reading-study-ink::before,.reading-study-ink::after{content:"";position:absolute;left:0;right:0;height:4px;background:#38574a;clip-path:polygon(0 70%,10% 25%,20% 60%,32% 0,41% 52%,56% 30%,64% 65%,80% 25%,88% 50%,100% 20%,100% 58%,88% 87%,80% 63%,64% 100%,56% 65%,41% 85%,32% 40%,20% 96%,10% 62%,0 100%)}
.reading-study-ink::before{top:2px}.reading-study-ink::after{top:10px;right:4px}
.reading-study-mark{left:42px;top:32px;width:24px;height:5px;border-radius:60% 20% 50% 25%;background:#d4963bb3;transform-origin:left;transform:rotate(-3deg);z-index:2}
.reading-study-leaf{left:37px;top:0;width:37px;height:47px;transform-origin:left center;transform-style:preserve-3d;z-index:3;opacity:0}
.reading-study-leaf::before,.reading-study-leaf::after{content:"";position:absolute;inset:0;clip-path:path('M0 8 Q19 -6 37 4 L37 46 Q19 38 0 47 Z');backface-visibility:hidden;background:repeating-linear-gradient(0deg,transparent 0 7px,#9d947355 8px,transparent 9px),linear-gradient(90deg,#c3a875,#fff8e3 40%,#f4e2b8 70%,#c9ad78)}
.reading-study-leaf::after{transform:rotateY(180deg);background:linear-gradient(90deg,#c8ad7c,#fff8e6 40%,#ecd6ad 75%,#a78a56)}
.reading-study-leaf::before,.reading-study-leaf::after{filter:drop-shadow(3px 4px 3px #3e301a40)}
.reading-study-pen{left:43px;top:-20px;width:7px;height:31px;border:1px solid #173b32;border-radius:3px 3px 1px 1px;background:linear-gradient(90deg,#193e32,#6e9a78 43%,#234b3b 75%);box-shadow:2px 3px 3px #2e382f44;transform:translate(20px,-9px) rotate(58deg);transform-origin:50% calc(100% + 6px);z-index:5}
.reading-study-pen::before{content:"";position:absolute;left:-1px;right:-1px;top:4px;height:4px;background:#d7b66c;box-shadow:0 19px 0 #d7b66c}
.reading-study-pen::after{content:"";position:absolute;left:0;top:29px;width:5px;height:8px;background:linear-gradient(#d5b36b 65%,#263b30 65%);clip-path:polygon(0 0,100% 0,50% 100%)}
.customer-view .reading-progress[data-status=running] .reading-analysis-focus:not([hidden]) .reading-study-leaf{animation-name:reading-study-turn}
.customer-view .reading-progress[data-status=running] .reading-analysis-focus:not([hidden]) .reading-study-pen{animation-name:reading-study-write}
.customer-view .reading-progress[data-status=running] .reading-analysis-focus:not([hidden]) .reading-study-ink{animation-name:reading-study-ink}
.customer-view .reading-progress[data-status=running] .reading-analysis-focus:not([hidden]) .reading-study-mark{animation-name:reading-study-mark}
@keyframes reading-study-turn{0%,4%{transform:rotateY(0deg) skewY(3deg);opacity:1}13%{transform:rotateY(-38deg) skewY(8deg)}22%{transform:rotateY(-105deg) skewY(5deg)}33%,37%{transform:rotateY(-178deg) skewY(-3deg);opacity:1}40%,100%{transform:rotateY(-180deg);opacity:0}}
@keyframes reading-study-write{0%,34%{opacity:0;transform:translate(20px,-9px) rotate(58deg)}40%{opacity:1;transform:translate(0,0) rotate(56deg)}44%{transform:translate(4px,-1px) rotate(54deg)}48%{transform:translate(9px,1px) rotate(58deg)}52%{transform:translate(15px,0) rotate(55deg)}56%{transform:translate(19px,-1px) rotate(58deg)}60%{transform:translate(1px,7px) rotate(56deg)}64%{transform:translate(6px,9px) rotate(54deg)}68%{transform:translate(12px,7px) rotate(58deg)}72%{transform:translate(17px,8px) rotate(55deg)}77%{transform:translate(0,18px) rotate(60deg)}88%{opacity:1;transform:translate(22px,17px) rotate(60deg)}95%,100%{opacity:0;transform:translate(25px,-10px) rotate(64deg)}}
@keyframes reading-study-ink{0%,39%{clip-path:inset(0 100% 100% 0)}56%{clip-path:inset(0 0 55% 0)}60%{clip-path:inset(0 0 55% 0)}73%,100%{clip-path:inset(0)}}
@keyframes reading-study-mark{0%,77%{transform:rotate(-3deg) scaleX(0)}88%,100%{transform:rotate(-3deg) scaleX(1)}}
@media(max-width:440px){.customer-view .service-shell .reading-analysis-focus strong{padding-left:96px}.reading-study-scene{transform:scale(.88);transform-origin:left top}}
@media(prefers-reduced-motion:reduce){.customer-view .reading-study-book>span{animation:none!important}.customer-view .reading-study-book>.reading-study-leaf{display:none}}
.customer-view .service-shell .reading-progress[data-status=completed]{padding:10px 0;background:transparent;border:0;margin-block:8px 16px}
.customer-view .service-shell .reading-progress[data-status=completed] :is(progress,.progress-estimate){display:none}
.customer-view .service-shell .reading-progress[data-status=completed] .reading-progress-heading{margin:0}
.customer-view .service-shell .reading-progress[data-status=completed] .reading-progress-message{font-size:16px;font-weight:500}
.customer-view .counseling-guidance{max-width:860px;margin-inline:auto!important}
.customer-view .counseling-guidance .help{font-size:15px}
.customer-view .guide-body :is(p,li,dd,summary){font-size:17px!important;line-height:1.85}
.customer-view .guide-head h2{font-size:27px}
.customer-view .guide-head h2{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.customer-view .guide-head button{flex-shrink:0}
.customer-view #policy-dialog .policy-document :is(p,li,dd){font-size:17px;line-height:1.85;overflow-wrap:anywhere}
.customer-view #policy-dialog .policy-document h2{font-size:24px;line-height:1.5}
.customer-view .guide-head button{width:auto;min-width:64px;min-height:44px;font-size:16px;padding:8px 12px}
.customer-view .customer-guide-steps{padding:20px 20px 20px 44px;margin:0 0 24px;background:var(--green-soft);border-radius:12px}
.customer-view .customer-guide-steps li{padding:4px 0}
.customer-view .method-card .method-summary{font-weight:650;color:var(--green);margin:12px 0}
.customer-view .method-guide-dialog .method-card h2{font-size:23px}
.customer-view .method-guide-dialog .method-card h2 small{font-size:16px}
.customer-view .footer :is(p,dt,dd,button,a){font-size:15px;line-height:1.8}
.customer-view .footer .business-grid :is(dt,dd,a){font-size:13px;line-height:1.7}
.customer-view .footer button{min-height:44px}
.customer-view :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #8a6935;outline-offset:3px}
.customer-view .service-shell .reading-time-help{margin:8px 0 12px}
@media(max-width:740px){
  .customer-view{scroll-padding-top:180px}
  .customer-view :is(.home-topics-head h1,.section-heading h1,.name-main h1,.practitioner-intro h1,.service-intro h1){font-size:28px;line-height:1.55}
  .customer-view .service-shell .panel h2{font-size:24px}
  .customer-view .header-row{min-height:0;padding-block:10px;gap:8px}
  .customer-view .customer-guide-actions{width:auto;margin-left:auto;gap:6px}
  .customer-view .customer-guide-actions .guide-button{padding:8px 11px;font-size:15px;min-height:44px}
  .customer-view .brand-stamp{width:37px;height:40px;line-height:40px;font-size:26px}
  .customer-view .brand-type strong,.customer-view .brand strong{font-size:24px}
  .customer-view .site-header .service-nav .service-tab{font-size:16px;min-height:56px;padding:10px 5px;gap:4px}
  .customer-view .site-header .service-nav{margin-bottom:8px}
  .customer-view .customer-header-compact .header-row{display:none}
  .customer-view .customer-header-compact:focus-within .header-row{display:flex}
  .customer-view .saju-submenu{max-height:calc(100dvh - 180px);width:calc(100vw - 32px);max-width:390px}
  .customer-view .service-intro{padding:24px 22px 98px}
  .customer-view .journey-steps{font-size:14px;padding:12px;gap:8px}
  .customer-view .journey-steps span{flex:1;min-width:0}
  .customer-view .journey-steps b{display:block;font-size:14px}
  .customer-view .service-shell .panel{padding:24px 18px}
  .customer-view .service-shell fieldset{padding:18px 14px}
  .customer-view .service-shell .date-fields{gap:8px;grid-template-columns:1.3fr 1fr 1fr}
  .customer-view .service-shell .date-fields label{font-size:15px}
  .customer-view .service-shell :is(.date-fields input,.field-grid input,.field-grid select){min-width:0;width:100%;padding-inline:9px}
  .customer-view #consultation-submit,.customer-view .counseling-guidance button,.customer-view .name-reading-link{width:100%}
  .customer-view .service-shell .button-row{gap:10px;flex-wrap:wrap}
  .customer-view .service-shell .button-row button{flex:1 1 180px}
  .customer-view .service-shell .reading-progress{padding:16px}
  .customer-view .guide-head{padding:18px 20px}
  .customer-view .guide-body{padding:22px 20px}
  .customer-view .name-main{padding:28px 24px}
}
@media(max-width:360px){
  .customer-view .header-row{justify-content:space-between;flex-wrap:wrap}
  .customer-view .customer-guide-actions{width:100%;justify-content:flex-end}
  .customer-view .site-header .service-nav .service-tab{font-size:16px}
  .customer-view .service-shell .date-fields label{font-size:15px;letter-spacing:-.03em}
}
@media(prefers-reduced-motion:reduce){.customer-view *{scroll-behavior:auto!important}}

/* Keep the optional save choice beside the name heading, above its input. */
.customer-view .service-shell .person-name-header .person-reuse-choice{margin:0 0 0 auto;align-items:center;gap:7px;min-height:44px;font-size:14px;white-space:nowrap}
.customer-view .service-shell .person-reuse-choice input{margin:0}
.customer-view .service-shell #person-reuse-help{margin:8px 0 0}

/* Requested brand signature and four-line couple summary; customer pages only. */
.customer-view .brand-type{display:grid;grid-template-columns:auto auto auto;align-items:baseline;column-gap:7px}
.customer-view .brand-credential{grid-column:1 / -1;font-size:14px;font-weight:600;line-height:1.7;color:var(--green);letter-spacing:0}
.customer-view .brand-type small{display:inline;font-size:12px;letter-spacing:0}
.customer-view .brand-type em{display:inline;font-size:13px;margin-left:0}
.customer-view .header-row{height:auto;min-height:100px;padding-block:14px}
.customer-view .couple-description-line{display:block}
.customer-view [data-start-basic="couple"] .keywords{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,max-content);justify-content:start;gap:6px;width:100%;max-width:100%}
.customer-view [data-start-basic="couple"] .keywords span{min-width:0;white-space:normal;word-break:keep-all}
.customer-view [data-start-basic="couple"] .keywords span:nth-child(3){grid-column:1 / -1;justify-self:start;max-width:100%}
.customer-view .counseling-guidance .guidance-cost{font-weight:700}
.customer-view .daypillar-context{margin:16px 0 3px;padding:17px 19px;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;background:var(--green-soft);font-size:16px;line-height:1.8;color:var(--ink)}
.customer-view .daypillar-source{margin:0 0 20px;color:var(--muted);font-size:12px;line-height:1.6}
.customer-view .daypillar-report .daypillar-section + .daypillar-section{margin-top:28px}
.customer-view .daypillar-report h3{margin:0 0 9px;color:var(--green);font-size:1.1em;font-weight:700;line-height:1.5}
.customer-view .daypillar-report p{margin:0;font:inherit;color:inherit;white-space:pre-wrap}
.customer-view .daypillar-context-note{margin:28px 0 0;border-top:1px solid var(--line);padding-top:8px}
.customer-view .daypillar-context-note .daypillar-context{margin-bottom:10px;background:none;border:0;border-radius:0;padding:0;font-size:14px;color:var(--muted)}
@media(max-width:740px){
  .customer-view .header-row{flex-wrap:wrap;min-height:0}
  .customer-view .brand-credential{font-size:13px}
  .customer-view .brand-type small{font-size:11px}
  .customer-view .brand-type em{font-size:12px}
  .customer-view .customer-guide-actions{margin-left:auto}
}

/* Compact mobile menus grow with text rather than relying on fixed heights. */
@media(max-width:740px){
  .customer-view .copy-desktop{display:none}
  .customer-view .copy-mobile{display:inline}
  .customer-view .copy-mobile>span{display:block}
  .customer-view .site-header .service-nav .service-tab{min-height:48px;padding:9px 5px;white-space:nowrap;flex-wrap:nowrap;line-height:1.5}
  .customer-view #panel-saju .consult-grid{grid-template-columns:1fr;gap:12px}
  .customer-view #panel-saju .consult-card{padding:17px 18px;border-radius:15px;min-height:0;grid-column:auto;grid-row:auto}
  .customer-view #panel-saju .card-top{margin:0 0 9px;gap:8px}
  .customer-view #panel-saju .card-label{font-size:18px;line-height:1.5;white-space:nowrap}
  .customer-view #panel-saju .card-number{font-size:10px;white-space:nowrap}
  .customer-view #panel-saju .description{font-size:16px;line-height:1.7;margin:0}
  .customer-view #panel-saju .keywords,
  .customer-view #panel-saju [data-start-basic="couple"] .keywords{display:flex;flex-wrap:wrap;gap:5px;padding-top:10px;margin:0}
  .customer-view #panel-saju .keywords span{font-size:13px;line-height:1.6;padding:2px 6px}
  .customer-view #panel-saju .life-note{display:none}
  .customer-view #panel-saju .start-actions{margin-top:10px;padding-top:7px}
  .customer-view #panel-saju .card-action{min-height:32px;padding:3px 0;font-size:16px;line-height:1.6}
  .customer-view .name-main,.customer-view .name-aside,.customer-view .practitioner-card{padding:20px}
  .customer-view .name-points{grid-template-columns:1fr;gap:0;margin-top:14px}
  .customer-view .name-points li{display:flex;gap:12px;padding:12px 0}
  .customer-view .service-intro{display:block;padding:22px 18px 0}
  .customer-view .service-intro>div:first-child{min-width:0}
  .customer-view .journey-steps{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:22px -18px 0;padding:12px 10px;font-size:13px;line-height:1.6}
  .customer-view .journey-steps>span{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;min-width:0}
  .customer-view .journey-steps b{display:inline;margin:0;font-size:12px;flex:none}
  .customer-view .journey-steps .copy-mobile>span{display:inline}
  .customer-view .journey-steps>span>span{flex:none}
}
