:root{--paper:#f3efe6;--white:#fffdf8;--ink:#1d211e;--deep:#151815;--wood:#94623f;--wood-light:#c79b72;--metal:#8f9892;--metal-soft:#d4d9d5;--line:#c9c4b8;--muted:#646a64}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic','YuGothic',Meiryo,sans-serif;font-size:16px;line-height:1.8;font-feature-settings:'palt';word-break:auto-phrase}
.sns-demo-banner{position:fixed;z-index:20;top:4.3rem;left:3vw;display:flex;align-items:baseline;gap:.8rem;padding:.35rem .65rem;background:rgba(21,24,21,.78);color:#f5f5ef;border-left:2px solid var(--wood-light);font-size:.68rem;letter-spacing:.08em;backdrop-filter:blur(8px)}
.sns-demo-banner strong{font-size:.72rem;color:var(--wood-light);font-weight:600;letter-spacing:.13em}
.sns-demo-banner span{opacity:.84}
h1,h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}
.f-nowrap{white-space:nowrap}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,video{display:block;max-width:100%;width:100%;object-fit:cover}
:focus-visible{outline:2px solid var(--wood-light);outline-offset:4px}
.f-skip{position:fixed;top:-5rem;left:1rem;z-index:30;padding:.7rem;background:white}
.f-skip:focus{top:1rem}
.f-header{position:fixed;z-index:10;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 3vw;color:white;border-bottom:1px solid rgba(255,255,255,.25);font-size:.67rem;letter-spacing:.13em;transition:background .25s,color .25s}
.f-header.is-paper{background:rgba(245,242,235,.94);color:var(--ink);border-color:var(--line);backdrop-filter:blur(10px)}
.f-header small{font-size:.55rem;opacity:.65;margin-left:.5rem}
.f-header nav{display:flex;gap:1.6rem}
.f-header>span{font-variant-numeric:tabular-nums}
.f-route-section{position:relative}
.f-dark{background:var(--deep);color:#f5f5ef}
.f-hero{height:100svh;display:flex;align-items:end;padding:8rem 8vw;overflow:hidden}
.f-hero>video,.f-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.f-hero>video{filter:saturate(.74) contrast(1.06) brightness(.92);transform:scale(1.01)}
.f-hero-shade{background:linear-gradient(90deg,rgba(8,10,8,.86) 0%,rgba(8,10,8,.58) 42%,rgba(8,10,8,.12) 78%),linear-gradient(0deg,rgba(8,10,8,.42),transparent 45%)}
.f-hero-copy,.f-hero-side{position:relative;z-index:1}
.f-hero-copy{max-width:940px}
.f-hero-copy>p:first-child,.f-chapter p,.f-making>div>p,.f-process-info>p:first-child,.f-entry-stage>p:first-child,.f-machine-stage>div>p,.f-contact-copy>p:first-child{font-size:.64rem;letter-spacing:.2em;color:var(--wood)}
.f-hero h1,.f-route-head h2,.f-question-head h2,.f-process-head h2,.f-entry-head h2,.f-machine-head h2,.f-contact h2{font-size:clamp(3.4rem,8vw,9rem);font-weight:500;letter-spacing:-.055em;line-height:1.02;margin:1rem 0 2rem}
.f-hero h1{max-width:1080px;font-size:clamp(3.1rem,6.2vw,7.1rem);line-height:1.03}
.f-hero h1 span,.f-hero h1 em{display:block}
.f-hero h1 span{margin-bottom:.18em;font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:.69em;font-weight:600;letter-spacing:-.045em}
.f-hero em,.f-route-head em,.f-process-head em,.f-entry-head em,.f-machine-head em,.f-contact em{font-family:Georgia,'Yu Mincho',serif;font-weight:400}
.f-hero h1 em{color:var(--wood-light)}
.f-hero-copy>p:nth-of-type(2){max-width:520px;color:#e1e2dd;font-size:1rem;line-height:1.95;letter-spacing:.015em}
.f-hero-copy a,.f-making a,.f-contact a{display:inline-block;margin-top:1rem;border-bottom:1px solid currentColor;padding-bottom:.4rem;font-size:.75rem;letter-spacing:.1em}
.f-hero-side{position:absolute;right:4vw;bottom:4rem;font-size:.62rem;line-height:2.3;letter-spacing:.16em;color:#c1c4bc;writing-mode:vertical-rl}
.f-route,.f-questions,.f-entry,.f-machine{padding:clamp(8rem,14vw,13rem) 7vw}
.f-chapter{display:flex;align-items:center;gap:1rem;margin-bottom:4rem}
.f-chapter span{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,5vw,6rem);line-height:.8;color:var(--wood);letter-spacing:-.06em}
.f-chapter p{margin:0;color:var(--muted)}
.f-chapter-light p{color:#aeb2aa}
.f-route-head,.f-question-head,.f-entry-head,.f-machine-head{display:flex;justify-content:space-between;gap:5rem;align-items:end;margin-bottom:6rem}
.f-route-head h2,.f-question-head h2,.f-entry-head h2,.f-machine-head h2{margin:0;font-size:clamp(3rem,6vw,7rem)}
.f-route-head>p,.f-question-head>p,.f-entry-head>p,.f-machine-head>p{max-width:390px;margin:0;color:var(--muted);font-size:.98rem;line-height:2}
.f-route-statement{display:grid;gap:.75rem;max-width:470px}
.f-route-statement p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.9}
.f-route-statement p:first-child{color:var(--ink);font-size:1.2rem;font-weight:600}
.f-route-gallery{display:grid;grid-template-columns:1.15fr .8fr .8fr .8fr;grid-template-rows:31vw 23vw;gap:1.4rem}
.f-route-item{position:relative;isolation:isolate;overflow:hidden;color:white;cursor:pointer;touch-action:manipulation;transition:transform .36s cubic-bezier(.22,.61,.36,1),box-shadow .36s ease}
.f-route-item:after{content:'';position:absolute;z-index:0;inset:22% 0 0;background:linear-gradient(0deg,rgba(10,12,10,.82) 0%,rgba(10,12,10,.38) 55%,transparent 100%);pointer-events:none}
.f-route-item img{height:100%;filter:brightness(.84) saturate(.88) contrast(1.03);transition:transform .58s cubic-bezier(.22,.61,.36,1),filter .4s ease}
.f-route-item:active{transform:translateY(-1px) scale(.997)}
.f-route-item:focus-visible{outline-offset:5px}
.f-route-step{position:absolute;z-index:1;right:.12em;bottom:-.16em;color:rgba(255,255,255,.15);font-family:Georgia,'Yu Mincho',serif;font-size:clamp(5rem,9vw,9rem);font-weight:400;letter-spacing:-.1em;line-height:.8;pointer-events:none}
.f-route-item div{position:absolute;z-index:2;left:1.35rem;bottom:1.25rem;max-width:290px;text-shadow:0 1px 8px #111;pointer-events:none}
.f-route-item div:before{content:'';display:block;width:2.25rem;height:1px;margin-bottom:.7rem;background:var(--wood-light);box-shadow:0 0 10px rgba(199,155,114,.25);transition:width .36s ease}
.f-route-item span{font-size:.62rem;letter-spacing:.15em}
.f-route-item h3{margin:.35rem 0 .15rem;font-size:clamp(1.4rem,2.4vw,3rem);letter-spacing:-.05em}
.f-route-item p{margin:0;color:#eee8df;font-size:.72rem;line-height:1.6;letter-spacing:.08em}
.f-route-material{grid-row:1 / span 2}
.f-route-process{grid-column:2 / span 3}
.f-route-finish{grid-column:2}
.f-route-assembly{grid-column:3}
.f-route-complete{grid-column:4}
.f-questions{background:var(--metal-soft)}
.f-question-list{border-top:1px solid #aeb2aa}
.f-question-list a{display:grid;grid-template-columns:70px 1.2fr 1fr auto;gap:1rem;align-items:center;padding:1.3rem 0;border-bottom:1px solid #aeb2aa;transition:padding .2s}
.f-question-list a:hover{padding-left:1rem}
.f-question-list i{font-style:normal;font-size:.68rem;color:var(--wood)}
.f-question-list strong{font-size:clamp(1.2rem,2.2vw,2.4rem);letter-spacing:-.05em}
.f-question-list small{color:var(--muted)}
.f-question-list b{font-size:1.4rem;color:var(--wood)}
.f-making{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:center;margin-top:8rem;padding-top:5rem;border-top:1px solid #aeb2aa}
.f-making figure{height:min(52vw,590px);margin:0;position:relative}
.f-making figure img{height:100%}
.f-making figcaption{position:absolute;left:1rem;bottom:1rem;color:white;font-size:.65rem;letter-spacing:.15em}
.f-making>div{max-width:430px}
.f-making h3{font-size:clamp(2rem,4vw,4.5rem);line-height:1.05;letter-spacing:-.07em;margin:1rem 0}
.f-process{padding:clamp(8rem,13vw,12rem) 6vw;background:var(--deep)}
.f-process-head{display:flex;justify-content:space-between;align-items:end;gap:4rem;margin-bottom:4rem}
.f-process-head h2{font-size:clamp(3rem,6vw,7rem);margin:0}
.f-process-head>div>p{color:#b6bbb4;max-width:340px}
.f-readout,.f-process-head>#f-readout{font-size:.7rem;letter-spacing:.13em}
.f-process-head>#f-readout b{font-size:5rem;line-height:.8;color:#c49c76}
.f-process-head>#f-readout small{margin-left:1rem}
.f-process-console{display:grid;grid-template-columns:190px minmax(0,1.32fr) minmax(300px,.68fr);border-top:1px solid #4d5751;border-bottom:1px solid #4d5751}
.f-process-console aside{padding:1rem;border-right:1px solid #56605a}
.f-process-console aside>p{font-size:.6rem;color:#a5aaa2;letter-spacing:.14em}
.f-process-console aside>div:nth-child(2){display:flex;flex-direction:column}
.f-process-console aside button[data-f-process]{display:grid;grid-template-columns:2rem 1fr;grid-template-rows:auto auto;text-align:left;padding:.9rem 0;border-bottom:1px solid #46504a;color:#aeb5ad}
.f-process-console aside button[data-f-process] span{grid-row:1/span 2;color:#c49c76;font-size:.67rem}
.f-process-console aside button[data-f-process] small{font-size:.62rem}
.f-process-console aside button.is-active{color:white;padding-left:.5rem;border-left:2px solid var(--wood-light);background:rgba(255,255,255,.025)}
.f-process-controls{display:flex;justify-content:space-between;margin-top:1.4rem;font-size:.62rem;letter-spacing:.1em}
.f-process-image{height:min(55vw,680px);position:relative;border-right:1px solid #56605a;overflow:hidden}
.f-process-image img,.f-process-image video{height:100%;filter:saturate(.8) contrast(1.04);transition:opacity .28s ease,transform .45s ease}
.f-process-image [hidden]{display:none}
.f-process-image span{position:absolute;right:.05em;bottom:-.15em;font-size:clamp(7rem,15vw,17rem);line-height:.75;color:rgba(255,255,255,.17);letter-spacing:-.14em}
.f-process-info{padding:2rem 1.6rem}
.f-process-info h3{font-size:clamp(2rem,3.2vw,3.65rem);letter-spacing:-.045em;line-height:1.1;margin:1rem 0 1.4rem}
.f-process-info>p:not(:first-child){color:#cdd1ca;font-size:.94rem;line-height:1.95}
.f-process-info button{padding:.5rem 0;border-bottom:1px solid #bbc0b8;color:white;font-size:.72rem;letter-spacing:.09em}
.f-process-info button b{margin-left:1.5rem;color:#c49c76}
.f-process-info dl{margin:1.65rem 0 0;border-top:1px solid #56605a}
.f-process-info dl div{padding:1rem 0;border-bottom:1px solid #56605a}
.f-process-info dt{font-size:.62rem;color:#c49c76}
.f-process-info dd{margin:.45rem 0 0;color:#e4e6e1;font-size:.84rem;line-height:1.85}
.f-entry{background:var(--white)}
.f-entry-choice{display:flex;gap:4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:3rem}
.f-entry-choice button{padding:1.2rem 0;text-align:left;color:var(--muted);border-bottom:2px solid transparent}
.f-entry-choice button span{display:block;font-size:1.1rem}
.f-entry-choice button small{font-size:.66rem}
.f-entry-choice button.is-active{color:var(--ink);border-color:var(--wood)}
.f-entry-stage{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:start}
.f-entry-stage h3{font-size:clamp(2.5rem,4vw,4.7rem);line-height:1.08;letter-spacing:-.05em;margin:1rem 0}
.f-entry-stage>p:nth-of-type(2){max-width:430px;color:var(--muted);font-size:.98rem;line-height:2}
.f-entry-stage ol{grid-column:2;list-style:none;margin:0;padding:0;border-top:1px solid var(--line);counter-reset:entry}
.f-entry-stage li{counter-increment:entry;padding:1rem 0;border-bottom:1px solid var(--line);font-size:1.05rem}
.f-entry-stage li:before{content:'0' counter(entry);font-size:.68rem;color:var(--wood);margin-right:1rem}
.f-entry-summary{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.f-entry-summary article{min-height:300px;padding:clamp(2rem,4vw,4rem)}
.f-entry-summary article:first-child{border-right:1px solid var(--line)}
.f-entry-summary article>p:first-child{margin:0;color:var(--wood);font-size:.66rem;letter-spacing:.14em}
.f-entry-summary h3{margin:1.2rem 0 2rem;font-size:clamp(2.2rem,4vw,4.5rem);line-height:1.08;letter-spacing:-.05em}
.f-entry-summary article>p:not(:first-child){position:relative;max-width:440px;margin:.6rem 0;padding-left:26px;color:var(--muted);font-size:1rem;line-height:1.95}
.f-entry-summary article>p:not(:first-child):before{content:'';position:absolute;left:0;top:.95em;width:15px;height:1px;background:var(--wood)}
.f-machine{background:var(--metal-soft)}
.f-machine-stage{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center}
.f-machine-stage figure{height:min(50vw,620px);margin:0}
.f-machine-stage figure img{height:100%;filter:saturate(.72) contrast(1.04)}
.f-machine-choice{display:flex;gap:2rem;border-bottom:1px solid #a8aca6;margin-bottom:2rem}
.f-machine-choice button{padding:1rem 0;color:var(--muted);border-bottom:2px solid transparent}
.f-machine-choice button.is-active{color:var(--ink);border-color:var(--wood)}
.f-machine-stage h3{font-size:clamp(2rem,3.7vw,4.4rem);line-height:1.08;letter-spacing:-.05em;margin:1rem 0 1.4rem}
.f-machine-stage>div>p:not(:first-child){color:var(--muted);font-size:.98rem;line-height:2}
.f-machine-stage ul{list-style:none;padding:0;border-top:1px solid #a8aca6}
.f-machine-stage li{padding:.8rem 0;border-bottom:1px solid #a8aca6}
.f-machine-head>div{max-width:430px}
.f-machine-head>div p{margin:.25rem 0;color:var(--muted);font-size:.98rem;line-height:1.85}
.f-machine-balance{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,3rem)}
.f-machine-balance article{border-top:1px solid #a8aca6;border-bottom:1px solid #a8aca6;padding-bottom:2rem}
.f-machine-balance figure{height:clamp(280px,31vw,470px);margin:0 0 1.6rem;overflow:hidden;background:#aeb2ac}
.f-machine-balance figure img{height:100%;filter:saturate(.72) contrast(1.04)}
.f-machine-balance article>p{margin:0;color:var(--wood);font-size:.66rem;letter-spacing:.14em}
.f-machine-balance h3{margin:1rem 0 1.5rem;font-size:clamp(2rem,3.4vw,4rem);line-height:1.08;letter-spacing:-.05em}
.f-machine-balance ul{list-style:none;margin:0;padding:0;border-top:1px solid #a8aca6}
.f-machine-balance li{padding:.85rem 0;border-bottom:1px solid #a8aca6}
.f-contact{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:end;overflow:hidden}
.f-contact-image{height:100%;min-height:100svh}
.f-contact-image img{height:100%;filter:saturate(.72) contrast(1.03)}
.f-contact-copy{padding:9rem 7vw;background:rgba(148,98,63,.055)}
.f-contact h2{font-size:clamp(3rem,5.5vw,6.7rem)}
.f-contact-route{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin:2.5rem 0;font-size:.72rem}
.f-contact-route i{display:block;width:2rem;height:1px;background:#c49c76}
.f-contact-copy>p:nth-of-type(2){max-width:390px;color:#c5c9c2;font-size:.84rem}
.f-contact-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0 0}
.f-contact-cta{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:48px;padding:.82rem 1.15rem;border:1px solid var(--wood-light);font-size:.75rem;letter-spacing:.08em;transition:background .24s ease,color .24s ease,border-color .24s ease}
.f-contact-cta.is-primary{background:var(--wood-light);color:var(--deep)}
.f-contact-cta.is-secondary{color:#f5f5ef}
.f-contact-cta span{transition:transform .24s ease}
.f-contact-note{max-width:390px;margin:1rem 0 0;color:#8f958f;font-size:.68rem;line-height:1.7;transition:color .2s ease}
.f-contact-note.is-active{color:#b8bdb6}
.f-contact-copy .f-contact-back{margin-top:1.5rem;color:#aeb3ac;font-size:.68rem;letter-spacing:.08em}
dialog{width:min(92vw,1000px);max-height:92vh;padding:0;border:0;background:#111;color:white;overflow:auto}
dialog::backdrop{background:rgba(0,0,0,.8)}
dialog .f-dialog-media{position:relative;background:#090a09}
dialog img{max-height:64vh;object-fit:contain}
.f-dialog-close{position:absolute;top:.3rem;right:.7rem;color:white;font-size:2rem;z-index:3}
.f-dialog-nav{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:48px;height:64px;color:#f5f5ef;border-top:1px solid rgba(199,155,114,.8);border-bottom:1px solid rgba(199,155,114,.8);font-size:1.3rem;line-height:1;transform:translateY(-50%);transition:color .2s ease,opacity .2s ease,background .2s ease}
.f-dialog-nav.is-prev{left:.8rem}
.f-dialog-nav.is-next{right:.8rem}
.f-dialog-nav:disabled{opacity:.24;cursor:default}
.f-dialog-copy{padding:clamp(1.5rem,4vw,3.4rem);border-top:1px solid #394039}
.f-dialog-copy>p:first-child{margin:0 0 1rem;color:var(--wood-light);font-size:.64rem;letter-spacing:.2em}
.f-dialog-copy #f-dialog-position{float:right;margin:-2.35rem 0 0;color:#8f958f;font-size:.62rem;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.f-dialog-copy h3{max-width:760px;margin:0 0 1rem;font-size:clamp(2rem,4vw,4rem);font-weight:500;line-height:1.08;letter-spacing:-.05em}
.f-dialog-copy #f-dialog-story{max-width:680px;margin:0;color:#f0f1ec;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.9;white-space:pre-line}
.f-dialog-copy #f-dialog-detail{max-width:680px;margin:1.6rem 0 0;padding-top:1.3rem;border-top:1px solid #394039;color:#bfc4bc;font-size:.86rem;line-height:1.85}
.f-motion-ready .f-reveal{opacity:0;transform:translateY(var(--f-reveal-distance,18px));transition:opacity .55s cubic-bezier(.22,.61,.36,1) var(--f-reveal-delay,0ms),transform .55s cubic-bezier(.22,.61,.36,1) var(--f-reveal-delay,0ms)}
.f-motion-ready .f-reveal.is-visible{opacity:1;transform:none}
.f-motion-ready .f-reveal-media{overflow:hidden}
.f-motion-ready .f-reveal-media>img,.f-motion-ready .f-reveal-media>video{transform:scale(1.018);transition:transform .72s cubic-bezier(.22,.61,.36,1) var(--f-reveal-delay,0ms),filter .4s ease}
.f-motion-ready .f-reveal-media.is-visible>img,.f-motion-ready .f-reveal-media.is-visible>video{transform:scale(1)}
.f-process-image.is-switching img:not([hidden]),.f-process-image.is-switching video:not([hidden]){animation:f-media-enter .42s cubic-bezier(.22,.61,.36,1)}
.f-process-info.is-switching>p,.f-process-info.is-switching>h3,.f-process-info.is-switching>button{animation:f-copy-enter .38s cubic-bezier(.22,.61,.36,1) both}
.f-process-info.is-switching>h3{animation-delay:45ms}
.f-process-info.is-switching>p:not(:first-child){animation-delay:90ms}
dialog[open]{animation:f-dialog-enter .3s cubic-bezier(.22,.61,.36,1)}
dialog[open]::backdrop{animation:f-backdrop-enter .25s ease}
dialog[open] .f-dialog-media{animation:f-dialog-media-enter .48s cubic-bezier(.22,.61,.36,1) both}
dialog[open] .f-dialog-copy>#f-dialog-kicker,dialog[open] .f-dialog-copy>#f-dialog-position{animation:f-copy-enter .35s ease 70ms both}
dialog[open] .f-dialog-copy>h3{animation:f-copy-enter .4s ease 130ms both}
dialog[open] .f-dialog-copy>#f-dialog-story{animation:f-copy-enter .4s ease 190ms both}
dialog[open] .f-dialog-copy>#f-dialog-detail{animation:f-copy-enter .4s ease 250ms both}
@keyframes f-media-enter{from{opacity:.45;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}
@keyframes f-copy-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes f-dialog-enter{from{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:none}}
@keyframes f-dialog-media-enter{from{opacity:.5;transform:scale(1.012)}to{opacity:1;transform:none}}
@keyframes f-backdrop-enter{from{background:rgba(0,0,0,0)}to{background:rgba(0,0,0,.8)}}
@media(hover:hover) and (pointer:fine){.f-route-item:hover,.f-motion-ready .f-route-item.f-reveal.is-visible:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(33,24,17,.18)}
.f-route-item:hover>img,.f-motion-ready .f-route-item:hover>img{transform:scale(1.045);filter:brightness(.9) saturate(.9) contrast(1.04)}
.f-route-item:hover div:before{width:3.15rem}
.f-dialog-nav:not(:disabled):hover{color:var(--wood-light);background:rgba(0,0,0,.38)}
}
body .f-question-explorer{grid-template-columns:minmax(245px,.34fr) minmax(0,.66fr);gap:clamp(2.5rem,6vw,7.5rem);border-top-color:#a8ada8;padding-top:1.4rem}
body .f-question-explorer .f-question-list button{padding:1.35rem 0;color:#5c635d;border-bottom-color:#a8ada8}
body .f-question-explorer .f-question-list button i,
body .f-question-explorer .f-question-list button b{color:var(--wood)}
body .f-question-explorer .f-question-list button.is-active{padding-left:1rem;color:var(--ink);border-left-color:var(--wood)}
body .f-question-panel{min-height:clamp(430px,38vw,590px);display:block;padding:clamp(1.5rem,3.2vw,3.4rem) 0 clamp(1.5rem,3vw,3rem) clamp(1.5rem,4vw,4.5rem);border-left:1px solid #a8ada8}
body .f-question-content>p:first-child{color:var(--wood);letter-spacing:.2em}
body .f-question-content h3{max-width:820px;font-size:clamp(2.5rem,4vw,4.9rem);font-weight:600;letter-spacing:-.05em;line-height:1.08}
body .f-question-answer{max-width:740px;margin:0 0 2.2rem;color:var(--muted);font-size:clamp(.95rem,1.25vw,1.05rem);line-height:2}
body .f-question-answer p{position:relative;margin:0 0 1rem;padding-left:26px}
body .f-question-answer p:before{content:'';position:absolute;left:0;top:.95em;width:15px;height:1px;background:var(--wood)}
body .f-question-related a{display:inline-flex;align-items:center;gap:.42rem;padding-bottom:.12rem;border-bottom:1px solid rgba(148,98,63,.45);color:var(--ink);font-weight:600;transition:color .22s ease,border-color .22s ease}
body .f-question-related a:after{content:'→';color:var(--wood);font-weight:400;transition:transform .22s ease}
@media(hover:hover) and (pointer:fine){body .f-question-related a:hover{color:var(--wood);border-color:var(--wood)}
body .f-question-related a:hover:after,.f-contact-cta:hover span{transform:translateX(3px)}
.f-contact-cta.is-primary:hover{background:#d1a77f;border-color:#d1a77f}
.f-contact-cta.is-secondary:hover{background:rgba(199,155,114,.1)}
}
@media(max-width:820px){.sns-demo-banner{top:4.1rem;left:1rem;right:1rem;display:block;font-size:.62rem;line-height:1.45}.sns-demo-banner strong{display:block;margin-bottom:.1rem;font-size:.67rem}.f-header nav{display:none}
.f-header small{display:none}
.f-motion-ready .f-reveal.f-reveal-media,
.f-motion-ready .f-process-console.f-reveal,
.f-motion-ready .f-machine-balance article.f-reveal{opacity:1;transform:none}
.f-motion-ready .f-reveal-media>img,
.f-motion-ready .f-reveal-media>video{transform:none}
.f-hero{padding:8rem 1.2rem 5rem}
.f-hero h1{font-size:clamp(2.55rem,12vw,4rem);letter-spacing:-.05em;line-height:1.08}
.f-hero h1 span{font-size:.65em;line-height:1.25}
.f-hero-copy>p:nth-of-type(2){max-width:22rem;font-size:.92rem;line-height:1.85}
.f-hero-side{display:none}
.f-route,.f-questions,.f-entry,.f-machine{padding:6rem 1.2rem}
.f-route-head,.f-question-head,.f-entry-head,.f-machine-head,.f-process-head{display:block;margin-bottom:3rem}
.f-route-head>p,.f-question-head>p,.f-entry-head>p,.f-machine-head>p{margin-top:1.5rem}
.f-route-statement,.f-machine-head>div{margin-top:1.5rem}
.f-route-gallery{display:block}
.f-route-item{height:75vw;margin-bottom:1rem}
.f-route-item.f-route-material{height:95vw}
.f-route-step{font-size:clamp(5rem,23vw,7.2rem)}
.f-question-list a{grid-template-columns:45px 1fr auto}
.f-question-list small{display:none}
.f-making,.f-process-console,.f-entry-stage,.f-machine-stage,.f-contact{grid-template-columns:1fr;gap:2.5rem}
.f-process-console,.f-process-console>*{min-width:0;width:100%}
.f-making{margin-top:4rem}
.f-making figure{height:75vw}
.f-process-console aside{border-right:0;border-bottom:1px solid #56605a}
.f-process-console aside>div:nth-child(2){flex-direction:row;overflow:auto;gap:1.2rem}
.f-process-console aside button[data-f-process]{min-width:5.5rem}
.f-process-image{height:75vw;border-right:0;border-bottom:1px solid #56605a}
.f-entry-stage ol{grid-column:1}
.f-machine-stage figure{height:75vw}
.f-entry-summary,.f-machine-balance{grid-template-columns:1fr}
.f-entry-summary article{min-height:0;padding:2.2rem 0}
.f-entry-summary article:first-child{border-right:0;border-bottom:1px solid var(--line)}
.f-machine-balance{gap:2rem}
.f-machine-balance figure{height:72vw}
.f-contact-image{min-height:65vw;height:65vw}
.f-contact-copy{padding:5rem 1.2rem}
.f-contact-actions{display:grid;grid-template-columns:1fr}
.f-contact-cta{width:100%}
.f-contact-route{display:block}
.f-contact-route span{display:block;margin:.5rem 0}
.f-contact-route i{margin:1rem 0}
dialog{width:calc(100vw - 1.4rem);max-height:94vh}
dialog img{max-height:46vh}
.f-dialog-nav{top:calc(46vh / 2);width:44px;height:56px}
.f-dialog-nav.is-prev{left:.35rem}
.f-dialog-nav.is-next{right:.35rem}
.f-dialog-copy{padding:1.35rem 1.2rem 1.8rem}
.f-dialog-copy h3{font-size:clamp(1.9rem,9vw,2.7rem)}
.f-dialog-copy #f-dialog-story{font-size:.95rem;line-height:1.8}
body .f-question-explorer{grid-template-columns:1fr;gap:2rem}
body .f-question-explorer .f-question-list button{padding:1rem .5rem}
body .f-question-panel{min-height:0;padding:2rem 0 0;border-left:0;border-top:1px solid #a8ada8}
body .f-question-content h3{font-size:clamp(2.35rem,10vw,3rem)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.f-motion-ready .f-reveal,.f-motion-ready .f-reveal-media>img,.f-motion-ready .f-reveal-media>video,.f-route-item,.f-route-item img,.f-route-item div:before,.f-process-image img,.f-process-image video,.f-question-content,.f-question-related a:after,.f-contact-cta span,.f-dialog-nav,dialog[open],dialog[open] .f-dialog-media,dialog[open] .f-dialog-copy>*{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}
