/* Third release: a finished consultation flow and calmer, readable motion. */
:root{--focus-ring:#8b6b21}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:5px}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.button{min-height:48px;isolation:isolate}
.button:focus-visible{box-shadow:0 4px 0 #263f2b,0 0 0 6px #d9c79266}
.button:hover{filter:brightness(1.04)}
.hero-story-link,.selected-route-reset,.text-button,.back-top{min-height:44px}
.hero-scene img{transition:scale 5s cubic-bezier(.2,.65,.3,1),filter 1s}
.hero-scene.active img{scale:1.025}
.hero-scene{transition:opacity 1.1s ease!important}
.cinematic-hero .hero-kicker,.hero-story-link{color:#fffdf0}
.cycle-heading .cycle-status{line-height:1.8;color:#576b42}
.cycle-restart{display:inline-flex;align-items:center;font-size:13px;color:#465e36;margin-top:5px;text-decoration:underline;text-underline-offset:5px}
.cycle-photo-note{font-size:11px;background:#13291d80;border:1px solid #ffffff30;border-radius:20px;padding:5px 11px;color:#fff}
.voice-list{counter-reset:voice}.voice{position:relative}.voice-excerpt{color:#344c35;line-height:1.9}
.voice-full[open]{animation:answer-open .35s ease-out}.faq-item[open] .faq-answer{animation:answer-open .35s ease-out}
@keyframes answer-open{from{opacity:.6;translate:0 -7px}to{opacity:1;translate:0 0}}
.service-card .service-image img{transition:scale .8s cubic-bezier(.2,.65,.3,1)}
.service-card:hover .service-image img{scale:1.04}
.small-note,.check-help,.memo-checkpoint p{line-height:1.9;color:#536148;opacity:1}
.closing .small-note{color:#edf0d9}.hero-bottom{color:#f3f3e1}
body:has(dialog[open]){overflow:hidden}
.dialog{max-height:90svh;overscroll-behavior:contain;scroll-padding-block:25px;scrollbar-gutter:stable}
.dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto}
.dialog #memo-result>h3{font-size:24px;margin:25px 0 17px;line-height:1.7}
.inquiry-entry{margin:30px 0 0;padding:30px 26px;background:radial-gradient(ellipse at top right,#dfd29c90,transparent 60%),linear-gradient(125deg,#f9f6e8,#e6ecd7);border:1px solid #b8c7a3;border-radius:5px 38px 5px 5px;box-shadow:0 7px 22px #33492b0c}
.inquiry-entry .eyebrow{font-size:12px;margin-bottom:14px}.inquiry-entry h3{font-size:29px;line-height:1.65}.inquiry-entry p:not(.eyebrow){font-size:14px;margin-top:15px;line-height:1.9}.inquiry-entry .button{margin-top:23px;font-size:14px;width:100%}
.sender-form{margin-top:30px;padding-top:25px;border-top:1px solid #b7c6a5}.sender-form h3,.inquiry-review h3{font-size:23px;margin-bottom:24px;line-height:1.7}
.sender-form label{display:block;margin:19px 0 8px;font-size:14px}.sender-form label>span:not(:last-child){font-size:12px}.sender-form>label>span{font-size:11px;color:#816322;margin-left:8px}
.sender-form input:not([type=checkbox]){width:100%;border:1px solid #a9b99c;background:#fffef7;border-radius:4px 14px;padding:13px 14px;font:16px var(--sans);color:#263e2d;min-height:48px}
.sender-form .consent-label{display:flex;align-items:flex-start;gap:13px;margin:24px 0 13px;line-height:1.85;cursor:pointer}.sender-form .consent-label>span{font-size:13px;line-height:1.85;margin:0;color:#354e38}.consent-label input{appearance:auto!important;accent-color:#405e3c;width:22px;height:22px;min-height:22px!important;flex-shrink:0;margin-top:2px;cursor:pointer}
.sender-form>.text-link{font-size:12px;min-height:44px;display:flex;background:none;margin-bottom:18px;text-decoration:underline;text-underline-offset:5px}.sender-form>.button{width:100%}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.inquiry-review{margin-top:30px;padding-top:25px;border-top:1px solid #b7c6a5}.inquiry-review dl{display:grid;grid-template-columns:65px minmax(0,1fr);gap:12px 15px;font-size:14px;margin-bottom:20px}.inquiry-review dt{color:#687951}.inquiry-review dd{overflow-wrap:anywhere}.inquiry-review .dialog-actions{margin-top:25px}.inquiry-review .text-button{background:none;font-size:13px}
.inquiry-error{padding:17px;margin-top:23px;border:1px solid #a65a30;border-radius:5px 20px;background:#fff4e5;color:#7d351c!important;font-size:14px!important;line-height:1.85}
.inquiry-receipt{padding:30px 25px;margin-top:30px;text-align:center;background:radial-gradient(ellipse at 50% 10%,#fbefd0,transparent 65%),linear-gradient(145deg,#edf0da,#f9f5e8);border:1px solid #adb991;border-radius:6px 40px;box-shadow:inset 0 0 0 6px #ffffff50}
.receipt-seal{width:76px;height:76px;margin:0 auto 18px;color:#496b3d;animation:seal-arrive .8s cubic-bezier(.22,.75,.26,1.1)}.receipt-seal svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2}.receipt-seal svg path{stroke-dasharray:70;stroke-dashoffset:0;animation:seal-draw .9s ease-out}
@keyframes seal-arrive{from{scale:.7;rotate:-20deg;opacity:.5}to{scale:1;rotate:0;opacity:1}}@keyframes seal-draw{from{stroke-dashoffset:70}to{stroke-dashoffset:0}}
.inquiry-receipt .eyebrow{justify-content:center;font-size:11px}.inquiry-receipt h3{font-size:30px;line-height:1.7;margin:17px 0}.inquiry-receipt>p{font-size:14px;line-height:1.9;margin-bottom:15px;overflow-wrap:anywhere}.receipt-label{display:block;font-size:12px;margin-top:22px}.inquiry-receipt strong{display:block;font:18px var(--sans);letter-spacing:.025em;margin:10px 0 17px;overflow-wrap:anywhere}.inquiry-receipt .small-note{font-size:12px;line-height:1.9}.inquiry-receipt>.button{width:100%;font-size:14px;margin-top:12px}.inquiry-receipt>.text-button{display:block;margin:12px auto 0;background:none;font-size:13px}
.privacy-list dt{font-family:var(--serif);font-size:19px;margin:24px 0 9px}.privacy-list dd{font-size:14px;line-height:2}.privacy-list+.small-note{margin-top:25px}.privacy-list~.button{margin-top:23px;width:100%}
#consult-dialog:has(#send-inquiry[aria-busy=true])>.dialog-close{pointer-events:none;opacity:.4}
#check-next{scroll-margin-top:110px}
.inbox-page{background:radial-gradient(ellipse at 0 0,#e4e7cf,transparent 45%),#f5f3e9;color:#2b4432}.inbox-header{display:flex;align-items:center;gap:22px;border-bottom:1px solid #bfc9af;padding:24px max(24px,7vw);font-size:13px}.inbox-header>a:first-child{font-family:var(--serif);font-size:25px;margin-right:auto}.inbox-header>a:last-child{text-decoration:underline;text-underline-offset:5px;min-height:44px;display:flex;align-items:center}
.inbox-main{max-width:1100px;margin:auto;padding:60px 25px}.inbox-main h1{font-size:36px;margin:15px 0 24px}.inbox-main>p{font-size:15px;line-height:1.9}.inbox-main>.small-note{font-size:13px;margin-top:12px}.inbox-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:38px 0 24px}.inbox-toolbar>.button{font-size:13px}.inbox-pager{display:flex;justify-content:space-between;gap:20px;margin-top:25px}.inbox-pager .button{font-size:13px}
.inbox-card{border:1px solid #bdc9ad;border-radius:5px 24px;background:linear-gradient(130deg,#fffdf4,#f0f2e3);margin-bottom:16px;overflow:hidden}.inbox-card summary{cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:23px}.inbox-card summary strong{font-size:16px;font-weight:500;flex:1;min-width:140px}.inbox-card time{font-size:12px;color:#566847}.inbox-badge{font-size:11px;padding:6px 10px;border:1px solid #a4b68c;border-radius:20px;background:#e4ebd2}.inbox-detail{padding:5px 23px 25px}.inbox-detail>p{font-size:13px;margin-bottom:10px;overflow-wrap:anywhere}.inbox-detail pre{font:14px/2 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:#e9edda;padding:20px;border-radius:6px;margin:20px 0}.inbox-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px}.inbox-actions .button{font-size:12px}.inbox-actions label{font-size:13px;display:flex;align-items:center;gap:12px}.inbox-actions select{font:16px var(--sans);padding:10px;border:1px solid #9daf8b;border-radius:7px;background:#fffef5}.inbox-empty{padding:30px;text-align:center;border-block:1px solid #c3cdb7}.inbox-card button:active{translate:0 2px}.notfound main{max-width:650px;margin:15vh auto;padding:30px}.notfound h1{font-size:48px;line-height:1.6;margin:20px 0}.notfound .button{margin-top:30px}
@media(max-width:820px){.small-note{font-size:13px}.entry-tabs small{font-size:12px}.cycle-photo-note{font-size:11px}.selected-route-reset{font-size:13px}.voice footer{font-size:13px}.inbox-toolbar{align-items:flex-start;flex-direction:column}.inbox-header{padding:16px 20px}.inbox-header>span{display:none}}
@media(max-width:600px){
 .cinematic-hero{min-height:100svh}.hero-scene.active img{scale:1.02}.cinematic-hero .hero-kicker{font-size:12px;max-width:290px}.scene-controls{grid-template-columns:repeat(3,minmax(0,1fr)) 44px;gap:6px}.scene-button{font-size:12px;min-height:60px;padding:9px 5px}.scene-replay{width:44px;height:48px}.cinematic-hero .hero-bottom{font-size:11px;gap:15px;line-height:1.7}.hero-bottom>a{min-height:44px;display:flex;align-items:center}.hero-story-label{font-size:21px}.scene-description{font-size:13px;line-height:1.85}.hero-story{margin-top:24px}.hero-actions{gap:8px}.hero-story-link{font-size:13px}
 .entry-tabs button{min-height:110px;padding:14px 8px}.entry-tabs small{font-size:11px;line-height:1.75}.entry-tabs button>span:not(.entry-symbol){font-size:13px}.entry-tabs b{display:none}.entry-symbol{font-size:22px}.entry-photo{height:235px}.entry-answer-label{font-size:13px}.entry-outcome{font-size:14px!important}
 .cycle-caption p{font-size:15px}.cycle-caption h3{font-size:27px}.cycle-stage{min-height:635px}.cycle-heading .cycle-status{font-size:13px}.cycle-tabs button>span{font-size:14px}.cycle-tabs button small{font-size:11px}.cycle-next{font-size:14px}.cycle-restart{font-size:14px}.voice-full p{font-size:15px!important}
 .check-help{font-size:12px}.check-art .button{min-height:44px;font-size:12px}.check-art #make-participation{min-height:44px}.check-item{font-size:15px}.check-num{font-size:12px}.check-result>span{font-size:13px}.priority-panel>.small-note{font-size:13px}.small-note,.closing-copy>.small-note,.dialog .small-note{font-size:13px!important}.faq-item summary{font-size:15px}.faq-answer>div>p{font-size:15px}.faq-hero-image>span{font-size:12px}.faq-memo{font-size:14px}.service-prepare li{font-size:13px}.detail-copy .button{font-size:14px}.mobile-dock .button{font-size:13px}.mobile-dock>a{font-size:13px;min-height:44px}
 .dialog{max-height:calc(100svh - 24px);width:calc(100% - 20px);padding:42px 20px 28px;scroll-padding-top:20px}.dialog label{font-size:15px}.dialog input,.dialog textarea,.dialog select{font-size:16px}.dialog pre{font-size:14px;max-height:240px}.dialog-actions{flex-wrap:wrap;gap:12px}.dialog-actions .button{flex:1;min-width:155px;min-height:48px}.memo-checkpoint{margin-top:19px}.memo-checkpoint>p{font-size:13px}.inquiry-entry{padding:25px 20px}.inquiry-entry h3{font-size:27px}.inquiry-entry p:not(.eyebrow){font-size:15px}.sender-form h3,.inquiry-review h3{font-size:24px}.inquiry-review dl{grid-template-columns:1fr;gap:5px}.inquiry-review dd{margin-bottom:11px}.inquiry-review .dialog-actions{flex-direction:column;align-items:stretch}.sender-form .consent-label>span{font-size:14px}.sender-form>.text-link{font-size:13px}.inquiry-receipt{padding:25px 17px}.inquiry-receipt h3{font-size:28px}.inquiry-receipt strong{font-size:16px}.inquiry-receipt>p{font-size:14px}.privacy-list dd{font-size:15px}.inbox-main{padding:35px 18px}.inbox-main h1{font-size:29px}.inbox-card summary{padding:20px 17px}.inbox-detail{padding:0 17px 20px}.inbox-detail pre{padding:15px}.inbox-actions{gap:18px}
}
@media(max-width:600px) and (max-height:700px){.check-art{position:relative;top:auto}.cinematic-hero{padding-top:105px}.hero-story{margin-top:21px}.hero-story-label{font-size:19px}.hero-scene img{object-position:64% center}}
@media(max-width:360px){.scene-button{font-size:11px}.hero-story-label{font-size:19px}.entry-tabs button>span:not(.entry-symbol){font-size:12px}.entry-tabs small{font-size:10px}.cycle-caption h3{font-size:25px}.cycle-caption p{font-size:14px}.cycle-next{font-size:13px}.check-item{font-size:14px}.dialog{padding-left:17px;padding-right:17px}.inquiry-entry{padding:23px 16px}.inquiry-receipt strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.hero-scene,.hero-scene img,.service-card .service-image img,.receipt-seal,.receipt-seal svg path,.faq-answer,.voice-full{animation:none!important;transition:none!important;scale:1!important}.receipt-seal svg path{stroke-dashoffset:0}}

.inbox-actions .text-button,.inbox-delete .text-button{background:none;font-size:13px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.inbox-delete{margin-top:20px;padding:18px;border:1px solid #ac7357;background:#fff5e7;border-radius:6px}.inbox-delete p{font-size:14px;margin-bottom:17px}.inbox-delete .button{font-size:13px;margin-right:20px}
