/* Scoped to the Oekaki product page. Shared header and other pages are unchanged. */
.oekaki-page{--om-ink:#213e4b;--om-accent:#bc6435;--om-soft:#fbf5f0;--om-line:#e8dcd2;--om-header:75px;color:var(--om-ink);background:#fff}
.oekaki-page .om-main{max-width:none;margin:0;padding:0;overflow-wrap:normal;font-size:16px;line-height:1.9}
.om-main [hidden],.oekaki-page .site-footer[hidden]{display:none!important}
.om-main p{margin:0 0 16px}.om-main h1,.om-main h2,.om-main h3,.om-main h4{color:var(--om-ink)}
.om-main a:focus-visible,.om-main button:focus-visible{outline:3px solid #216d80;outline-offset:5px}
.om-main button,.om-main a{touch-action:manipulation}.om-main button{cursor:pointer;color:inherit}
.om-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.om-icon-library{position:absolute;width:0;height:0;overflow:hidden}
.om-icon{display:block;width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--om-accent);flex-shrink:0}
.om-wrap{width:calc(100% - 80px);max-width:1150px;margin-inline:auto}
.om-main .om-note{font-size:12px;line-height:1.85;color:#627078;margin:12px 0 0}
.om-main .om-phrase{display:inline-block;max-width:100%}
.om-logo{width:100%;height:auto;object-fit:contain}
.om-entry #om-entry-title{position:relative}
.om-entry-logo-video{position:absolute;top:0;left:0;width:100%;height:auto;aspect-ratio:2170/725;pointer-events:none;background:#fff}
.om-entry{max-width:940px;margin:auto;padding:38px 32px 36px;text-align:center}
.om-entry h1{max-width:410px;margin:0 auto 8px;line-height:1}
.om-entry .om-entry-lead{font-size:16px;line-height:1.9;margin-bottom:30px}
.om-entry-lead span,.om-entry h2 span{display:inline-block}
.om-entry h2{font-size:clamp(22px,2.4vw,29px);font-weight:600;margin-bottom:24px;letter-spacing:.02em}
.om-choices{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.om-choices a{position:relative;text-align:left;text-decoration:none;border:1px solid #d5c6ba;border-radius:20px;padding:26px 30px 30px;background:#fff;transition:background .16s,border-color .16s,transform .16s}
.om-choices a:hover{background:var(--om-soft);border-color:var(--om-accent);transform:translateY(-3px)}
.om-entry h2.om-intro-waiting{opacity:0}
.om-entry h2{transform-origin:center bottom}
.om-choices a{cursor:pointer;transition:background .2s,border-color .2s,transform .2s,scale .24s,box-shadow .24s}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.om-choices a:hover{scale:1.025;box-shadow:0 10px 26px #bc643521}}
.om-choices a:focus-visible{border-color:var(--om-accent);background:var(--om-soft)}
@media(prefers-reduced-motion:reduce){.om-entry h2.om-intro-waiting{opacity:1}}
.om-choices .om-icon{width:38px;height:38px;margin-bottom:15px}
.om-choices strong{display:block;font-size:22px;font-weight:600;line-height:1.7;letter-spacing:.02em}
.om-choices strong span{display:inline-block}
.om-choices small{display:block;font-size:12px;margin:12px 20px 0 0;color:#66767b}
.om-choice-arrow{position:absolute;right:26px;top:28px;color:var(--om-accent);font-size:24px}
.om-switch{position:fixed;z-index:40;right:14px;top:42%;width:96px;display:flex;flex-direction:column;gap:5px;margin:0;padding:8px;background:#fff;border:1px solid var(--om-line);border-radius:14px;box-shadow:0 4px 18px #213e4b0a;font-size:13px;line-height:1.3}
.om-switch-caption{font-size:10px;text-align:center;color:#637077;padding:2px 0 5px}
.om-switch a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:52px;padding:9px 4px;text-decoration:none;border:1px solid transparent;border-radius:9px;white-space:nowrap}
.om-switch a:hover{background:var(--om-soft)}
.om-switch a[aria-current]{color:#93451e;background:#fbefe4;border-color:#e5bb9d;font-weight:700}
.om-selected-label{font-size:9px;line-height:1.2}.om-selected-label:empty{display:none}
#om-content{padding-right:112px;padding-bottom:60px}
.om-brand{padding-top:26px;margin-bottom:10px}.om-brand .om-logo{width:310px}
.om-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:34px;align-items:center;padding-block:6px 36px}
.om-eyebrow{font-size:12px;font-weight:500;color:var(--om-accent);letter-spacing:.08em}
.om-hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(27px,2.25vw,32px);line-height:1.7;letter-spacing:.01em;font-weight:600;margin:0 0 22px}
.om-hero h1>span{display:block;text-wrap:pretty}.om-hero h1:focus{outline:none}
.om-hero-lead{font-size:15px;line-height:1.95;max-width:39em}.om-hero-lead span{display:block;text-wrap:pretty}
.om-hero-visual{min-width:0;margin:0}.om-hero-visual video{display:block;width:100%;height:auto;aspect-ratio:1672/942;object-fit:cover;border-radius:14px;background:#fbf8f4}
.om-media-footer{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-top:12px}
.om-media-footer figcaption{font-size:10px;line-height:1.7;color:#66767b;margin:0;max-width:24em}
#om-video-control{font-size:11px;white-space:nowrap;min-height:36px;padding:6px 12px;border:1px solid #d2c7bd;border-radius:30px;background:#fff}
.om-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin-top:26px}
.om-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 24px;border:1px solid var(--om-accent);border-radius:30px;background:var(--om-accent);color:#fff;text-decoration:none;font-size:15px;line-height:1.65;font-weight:500}
.om-button:hover{background:#a5532c;border-color:#a5532c}.om-button b{font-size:24px;line-height:1;font-weight:400}
.om-consult-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;line-height:1.8;min-height:44px}.om-consult-link b{font-size:18px;font-weight:400;color:var(--om-accent)}
.om-index{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;border-top:1px solid var(--om-line);border-bottom:1px solid var(--om-line);padding-block:12px;margin-top:18px;font-size:12px}
.om-index a{display:flex;align-items:center;gap:8px;min-height:36px;text-decoration:none}.om-index a:hover{color:var(--om-accent)}.om-index small{font-size:10px;color:var(--om-accent)}
.om-divider{width:calc(100% - 40px);height:100px;object-fit:cover;object-position:50% 52%;margin:18px auto;opacity:.8;pointer-events:none}
.om-section{padding-block:16px 20px}
.om-heading{display:flex;align-items:center;gap:16px;margin-bottom:30px}.om-heading>span{font-size:14px;letter-spacing:.08em;color:var(--om-accent);padding-top:5px;align-self:start}
.om-heading h2{font-size:clamp(26px,2.4vw,34px);font-weight:650;line-height:1.5;letter-spacing:.025em;margin:0;text-wrap:pretty}.om-heading h2 span{display:inline-block}
.om-about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}
.om-description{font-size:18px;line-height:2;text-wrap:pretty}
.om-explainer{border:1px dashed #cbb9a9;border-radius:16px;text-align:center;padding:24px;background:#fcfaf7}
.om-explainer .om-icon{width:38px;height:38px;margin:0 auto 10px}.om-explainer h3{font-size:18px;margin-bottom:5px}.om-explainer p{font-size:13px;margin:12px 0 0}
.om-status{display:inline-block;font-size:11px;line-height:1.7;padding:3px 10px;border:1px solid #d9cdc3;border-radius:4px;color:#6d6d61}
.om-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.om-benefit{padding:26px 24px 24px;border:1px solid var(--om-line);border-radius:18px;background:#fff}
.om-card-num{font-size:12px;letter-spacing:.12em;color:var(--om-accent);display:block;margin-bottom:16px}
.om-benefit h3{font-size:19px;line-height:1.8;margin:0 0 16px;font-weight:600;text-wrap:pretty}
.om-benefit h3>span,.om-benefit h3>strong{display:block}.om-benefit h3 .om-phrase{display:inline-block;max-width:100%}.om-benefit h3 strong{font-weight:600;color:#a2512c}
.om-benefit p{font-size:14px;line-height:1.95;margin:0;text-wrap:pretty}
.om-uses{margin-top:32px;border-radius:16px;background:var(--om-soft);padding:22px 26px}
.om-uses h3{font-size:19px;margin:0 0 18px}.om-uses ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.om-uses li{position:relative;padding-left:54px;margin:0}.om-uses .om-icon{position:absolute;left:0;top:1px;width:38px;height:38px}
.om-uses strong{font-size:15px;line-height:1.65;display:block}.om-uses p{font-size:13px;line-height:1.8;margin:5px 0 0;text-wrap:pretty}
.om-works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.om-work-meta{display:flex;justify-content:space-between;font-size:12px;color:#687780;margin-bottom:10px}.om-work-meta span:first-child{color:var(--om-accent)}
.om-work-player{aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#f9f6f2;margin-bottom:20px}
.om-work-play{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:none}
.om-work-play img{width:100%;height:100%;object-fit:cover}.om-work-play>span{display:grid;place-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60px;height:60px;color:#fff;background:#213e4be8;border-radius:50%;font-size:20px;padding-left:4px}
.om-work-play:hover>span{background:var(--om-accent)}.om-work-player iframe{display:block;width:100%;height:100%;border:0}
.om-work h3{font-size:21px;line-height:1.6;margin-bottom:12px}.om-work>p{font-size:14px;line-height:1.9}.om-work>a{font-size:13px;display:inline-flex;align-items:center;min-height:44px}
.om-no-work{grid-column:1/-1;border:1px dashed #d7c5b7;border-radius:16px;padding:30px;background:#fcfaf7;text-align:center}
.om-no-work .om-icon{width:36px;height:36px;margin:0 auto 12px}.om-no-work h3{font-size:20px;margin-bottom:10px}.om-no-work p{font-size:14px;margin:0}
.om-price-box{display:grid;grid-template-columns:1fr 1.4fr;gap:30px;align-items:center;padding:24px 28px;border:1px solid var(--om-line);border-radius:16px;background:#fcfaf7}
.om-price-box h3{font-size:18px;margin-bottom:8px}.om-price-box p{font-size:14px;line-height:1.9;margin:0}
.om-process{margin-top:32px}.om-process>h3{font-size:21px;margin-bottom:22px}
.om-process ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:24px}
.om-process li{padding-top:16px;border-top:2px solid #dbb292;margin:0}
.om-process li>span{font-size:12px;color:var(--om-accent)}.om-process h4{font-size:16px;font-weight:600;margin:6px 0 9px;line-height:1.65}.om-process li p{font-size:13px;line-height:1.9;margin:0}
.om-contact{border-top:1px solid var(--om-line);margin-top:36px;padding-top:30px;text-align:center}
.om-contact h3{font-size:22px;margin-bottom:10px}.om-contact>p{font-size:15px;margin-bottom:18px;text-wrap:pretty}.om-contact .om-button{max-width:100%}
.oekaki-page .site-footer{font-size:14px;color:#5e6d72;border-top:1px solid var(--om-line);background:#fbfaf8}
@media(max-width:1100px){.om-hero{gap:24px;grid-template-columns:1.1fr 1fr}.om-hero h1{font-size:28px}.om-wrap{width:calc(100% - 48px)}.om-benefit{padding:22px 18px}.om-benefit h3{font-size:18px}.om-about-grid{gap:28px}.om-uses ul{gap:16px}}
@media(max-width:999px){
 #om-content{padding-right:0;padding-top:58px}.om-switch{position:fixed;top:var(--om-header);width:100%;border-radius:0;border:0;border-bottom:1px solid var(--om-line);box-shadow:none;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:6px 16px;background:#fffffffa;min-height:58px}
 .om-switch-caption{font-size:10px;padding:0;margin-right:6px}.om-switch a{flex-direction:row;gap:8px;min-height:44px;min-width:105px;padding:6px 14px}.om-selected-label{font-size:9px}
 .om-brand{padding-top:22px}.om-brand .om-logo{width:275px}.om-hero{gap:24px}.om-hero h1{font-size:29px}.om-hero-lead{font-size:14px}.om-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .oekaki-page{--om-header:68px}.om-wrap{width:calc(100% - 40px)}
 .om-entry{padding:28px 22px 32px}.om-entry h1{width:300px;max-width:100%;margin-bottom:10px}.om-entry .om-entry-lead{font-size:14px;margin-bottom:24px}.om-entry h2{font-size:22px;line-height:1.7;margin-bottom:22px}
 .om-choices{gap:14px;grid-template-columns:1fr;max-width:470px;margin:auto}.om-choices a{padding:20px 20px 20px 70px;border-radius:15px}.om-choices .om-icon{position:absolute;left:20px;top:23px;width:31px;height:31px}.om-choices strong{font-size:19px;line-height:1.7;letter-spacing:0}.om-choices small{font-size:10px;margin:10px 0 0}.om-choice-arrow{font-size:19px;right:18px;top:16px}.om-entry .om-note{font-size:11px}
 .om-brand{padding-top:16px;margin-bottom:6px}.om-brand .om-logo{width:240px}
 .om-hero{grid-template-columns:1fr;gap:24px;padding-block:8px 24px}.om-hero-copy{display:contents}.om-eyebrow{order:0;font-size:11px;margin:0!important}
 .om-hero h1{order:1;font-size:29px;line-height:1.7;margin:0;letter-spacing:0}.om-hero-visual{order:2;margin:0}.om-hero-lead{order:3;font-size:15px;margin:0!important;line-height:1.9}.om-hero-actions{order:4;margin:0;gap:12px 20px}.om-hero-copy>.om-note{order:5;margin:-12px 0 0;font-size:11px}
 .om-button{font-size:14px;padding:10px 20px;gap:14px;min-height:46px}.om-consult-link{font-size:13px;line-height:1.7}.om-media-footer{margin-top:8px}.om-media-footer figcaption{font-size:10px;max-width:22em}#om-video-control{min-height:40px}
 .om-index{display:grid;grid-template-columns:1fr;gap:0;margin-top:18px;padding-block:8px}.om-index a{min-height:42px;font-size:12px}
 .om-divider{height:65px;width:100%;margin:18px auto}.om-section{padding-block:14px 16px}.om-heading{gap:12px;margin-bottom:24px}.om-heading>span{font-size:12px;padding-top:5px}.om-heading h2{font-size:25px;line-height:1.55;letter-spacing:0}
 .om-about-grid{grid-template-columns:1fr;gap:22px}.om-description{font-size:16px;line-height:1.95}.om-explainer{padding:22px 20px}.om-explainer .om-note{font-size:11px}
 .om-benefit-grid{grid-template-columns:1fr;gap:16px}.om-benefit{padding:22px 22px 24px;border-radius:15px}.om-card-num{margin-bottom:10px}.om-benefit h3{font-size:20px;line-height:1.7;margin-bottom:14px}.om-benefit p{font-size:14px}
 .om-uses{margin-top:24px;padding:22px}.om-uses ul{grid-template-columns:1fr;gap:22px}.om-uses h3{font-size:20px;margin-bottom:22px}.om-uses li{padding-left:55px}.om-uses p{font-size:13px}
 .om-works-grid{grid-template-columns:1fr;gap:32px}.om-work-player{margin-bottom:16px}.om-work h3{font-size:21px}.om-no-work{padding:26px 20px}.om-no-work h3{font-size:18px}.om-no-work .om-note{font-size:11px;margin-top:12px}
 .om-price-box{grid-template-columns:1fr;gap:16px;padding:24px}.om-process ol{grid-template-columns:1fr;gap:20px}.om-process li{display:grid;grid-template-columns:32px 1fr;column-gap:12px;padding-top:14px}.om-process li>span{padding-top:5px}.om-process h4{margin:0 0 8px}.om-process li p{grid-column:2}.om-process .om-note{font-size:11px}.om-contact{margin-top:28px;padding-top:26px}.om-contact>p{font-size:14px}.om-contact .om-button{max-width:330px;text-align:left;border-radius:18px}.om-contact .om-note{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.om-main *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Entry framing: original illustration cutout, two diagonal corners. */
.om-entry .om-entry-lead{margin:0 auto 10px;font-size:17px;line-height:1.8}
.om-entry h1{margin-bottom:32px}
.om-choices{gap:42px;padding:12px 6px}
.om-choices a{isolation:isolate}
.om-frame-hand{position:absolute;width:112px;height:112px;object-fit:contain;pointer-events:none;opacity:0;transition:opacity .32s ease,transform .48s cubic-bezier(.2,.7,.2,1);z-index:2}
.om-frame-upper{right:-38px;top:-43px;transform:translate(24px,-24px)}
.om-frame-lower{left:-38px;bottom:-43px;transform:translate(-24px,24px) scaleX(-1)}
.om-choices a:is(:hover,:focus-visible) .om-frame-hand{opacity:1}
.om-choices a:is(:hover,:focus-visible) .om-frame-upper{transform:translate(0,0)}
.om-choices a:is(:hover,:focus-visible) .om-frame-lower{transform:translate(0,0) scaleX(-1)}
.om-whiteout{position:fixed;inset:var(--om-header-edge,80px) 0 0;background:transparent;z-index:90;opacity:0;pointer-events:none}
.om-whiteout.is-active{pointer-events:auto}
@media(max-width:700px){
 .om-entry .om-entry-lead{font-size:14px;margin-bottom:8px}
 .om-entry h1{margin-bottom:26px}
 .om-choices{gap:24px;padding:8px 3px}
 .om-frame-hand{width:78px;height:78px}
 .om-frame-upper{right:-18px;top:-25px}
 .om-frame-lower{left:-18px;bottom:-25px}
}
@media(prefers-reduced-motion:reduce){.om-frame-hand{transition:none}.om-whiteout{display:none}}

.om-entry{overflow:clip}
@media(max-width:400px){.om-entry h2{font-size:20px}}

/* Section entrances: one heart divider only, then quiet spacing. */
.om-section + .om-section{margin-top:100px}
.om-motion-pending{opacity:0}
.om-motion-show{animation:om-rise-in 1.24s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--om-delay,0ms)}
.om-motion-show[data-om-motion="card"]{animation-name:om-slide-in;animation-duration:1.04s}
.om-motion-show[data-om-motion="use"]{animation-name:om-emphasis;animation-duration:1.2s;transform-origin:center}
@keyframes om-rise-in{from{opacity:0;transform:translateY(23px)}to{opacity:1;transform:translateY(0)}}
@keyframes om-slide-in{from{opacity:0;transform:translateX(42px)}to{opacity:1;transform:translateX(0)}}
@keyframes om-emphasis{0%{opacity:0;transform:scale(1.13)}100%{opacity:1;transform:scale(1)}}
@media(max-width:760px){.om-section + .om-section{margin-top:70px}}
@media(prefers-reduced-motion:reduce){.om-motion-pending{opacity:1}.om-motion-show{animation:none!important}}

/* More breathing room, without fixed-height pages or scroll locks. */
.om-section{padding-block:48px 38px}
.om-heading{margin-bottom:40px}
.om-process{margin-top:56px}
.om-process ol{isolation:isolate;gap:20px}
.om-process li{position:relative;background:#fff;border:1px solid #e4d8cf;border-top:3px solid #dbb292;border-radius:12px;padding:20px;box-shadow:0 4px 16px #213e4b08}
.om-process li:nth-child(1){z-index:4}.om-process li:nth-child(2){z-index:3}.om-process li:nth-child(3){z-index:2}.om-process li:nth-child(4){z-index:1}
.om-motion-show[data-om-motion="process"]{animation:om-process-unfold 1.2s cubic-bezier(.22,.65,.25,1) both;animation-delay:var(--om-delay,0ms)}
@keyframes om-process-unfold{0%{opacity:0;transform:translateX(calc(-100% - 20px))}20%{opacity:1}100%{opacity:1;transform:translateX(0)}}
@media(max-width:999px){.om-process ol{grid-template-columns:1fr}.om-motion-show[data-om-motion="process"]{animation-name:om-process-unfold-vertical}}
@keyframes om-process-unfold-vertical{0%{opacity:0;transform:translateY(calc(-100% - 20px))}20%{opacity:1}100%{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.om-section{padding-block:28px 24px}.om-heading{margin-bottom:30px}.om-process{margin-top:40px}.om-process li{padding:18px}.om-process li>span{padding-top:3px}}
@media(prefers-reduced-motion:reduce){.om-motion-show[data-om-motion="process"]{animation:none!important}}

/* Illustrated reasons and five-step draft — scoped to this LP. */
.om-explainer{padding:0;border:0;border-radius:0;background:transparent;text-align:left}
.om-explainer h3{font-size:18px;line-height:1.7;margin:0 0 14px}
#om-expression-video{display:block;width:100%;height:auto;object-fit:contain;background:#fff;border:1px solid #e9e1da;border-radius:8px;aspect-ratio:1920/1002}
.om-explainer p{font-size:13px;line-height:1.8;margin-top:12px}
.om-reason-art{display:block;width:100%;max-width:240px;height:172px;object-fit:contain;margin:10px auto 22px}
.om-benefit h3{font-size:20px;line-height:1.65;overflow-wrap:anywhere}
.om-benefit h3 .om-phrase{white-space:normal}
.om-benefit p{line-height:1.95}
.om-uses-extra{max-width:740px;margin:30px auto 0;padding:24px 0 0;border-top:1px solid #dfd4ca}
.om-uses-extra h4{font-size:18px;line-height:1.8;margin:0 0 10px}.om-uses-extra p{font-size:14px;line-height:2;margin:0}
.om-work-play img{object-fit:contain;background:#fff}
.om-work-meta{gap:12px}.om-work-meta span:first-child{line-height:1.7}
.om-concept-group{margin-top:36px;padding-top:28px;border-top:1px solid #dfd4ca}
.om-concept-group>h3{font-size:22px;margin:0 0 10px}
.om-concepts{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}
.om-concepts article{background:#faf6f0;padding:26px;border-radius:12px}.om-concepts h4{font-size:20px;line-height:1.7;margin:14px 0}.om-concepts p{font-size:14px;line-height:2}
.om-process ol{display:flex;flex-direction:column;gap:26px;max-width:900px;margin:0 auto}
.om-process li{display:grid;grid-template-columns:44px 150px minmax(0,1fr);align-items:center;gap:24px;padding:26px 30px;border-top:1px solid #e4d8cf;border-left:3px solid #dbb292}
.om-process li>span.om-step-number{font-size:22px;padding:0;font-variant-numeric:tabular-nums;align-self:start}
.om-step-art{width:150px;height:116px;object-fit:contain;display:block}
.om-process h4{font-size:20px;line-height:1.65;margin:0 0 10px}.om-process li p{font-size:14px;line-height:1.95;margin:0}
.om-process li+li:before{content:'↓';position:absolute;top:-27px;left:50px;color:#b98c68;font-size:18px}
.om-motion-show[data-om-motion="process"]{animation-name:om-process-unfold-vertical}
@media(max-width:760px){
 .om-reason-art{height:150px;max-width:220px;margin:8px auto 18px}
 .om-benefit h3{font-size:20px}.om-benefit p{font-size:14px}
 .om-concepts{grid-template-columns:1fr;gap:18px}
 .om-process li{grid-template-columns:32px 1fr;gap:12px;padding:20px}
 .om-step-art{grid-column:2;width:140px;height:106px;justify-self:center}
 .om-process li>div{grid-column:1/-1}.om-process h4{font-size:19px;margin-bottom:10px}.om-process li p{font-size:14px}
 .om-process li+li:before{left:30px}
 #om-benefits-title{font-size:26px;line-height:1.6;text-wrap:balance}
}
.oekaki-page[data-purpose="memorial"] .om-works-grid{grid-template-columns:1fr;max-width:820px;margin-inline:auto}
.om-benefit:nth-child(3) .om-reason-art{max-width:280px}
@media(max-width:999px){.om-switch{left:0;right:0}}
#om-content{overflow-x:clip}
#om-benefits-title>span{display:inline-block;white-space:nowrap}
@media(max-width:760px){#om-benefits-title>span{display:block}}

/* Centered headings and red pencil strokes. */
.oekaki-page #main :is(h1,h2,h3,h4){text-align:center}
.om-heading{flex-direction:column;justify-content:center;gap:6px;text-align:center}
.om-heading>span{align-self:center;padding-top:0}
.om-heading h2{position:relative;padding-bottom:22px;max-width:100%}
.om-heading h2::after{content:"";position:absolute;left:3%;right:3%;bottom:3px;height:13px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 16' preserveAspectRatio='none'%3E%3Cpath d='M3 10 Q140 3 292 9 T596 6' fill='none' stroke='%23bd544a' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M8 13 Q165 7 315 12 T588 10' fill='none' stroke='%23bd544a' stroke-width='1.1' opacity='.55' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;clip-path:inset(0 100% 0 0)}
.om-heading.om-motion-show h2::after{animation:om-pencil-draw 1.4s ease-out .65s both}
@keyframes om-pencil-draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.om-about-grid{display:flex;flex-direction:column;gap:24px;max-width:780px;margin-inline:auto}
.om-explainer{width:100%;max-width:720px;text-align:center;display:flex;flex-direction:column}
.om-explainer video{order:0}.om-explainer h3{order:1;margin:20px 0 0;font-size:16px}.om-explainer p{order:2;margin:8px 0 0}
.om-about-copy{width:100%;max-width:720px}.om-about-copy .om-description{margin:0}.om-about-copy>.om-note{text-align:center;margin-top:18px}
.om-process>h3{margin-bottom:30px}
@media(max-width:760px){.om-about-grid{gap:22px}.om-heading h2{padding-bottom:20px}.om-explainer h3{font-size:15px}.om-about-copy .om-description{font-size:16px}}
@media(prefers-reduced-motion:reduce){.om-heading h2::after{clip-path:none}.om-heading.om-motion-show h2::after{animation:none}}

#om-expression-video{pointer-events:none}

/* Works: warm, open rows following the supplied visual reference. */
#works{position:relative;isolation:isolate;padding-block:50px 36px}
#works::before{content:"";position:absolute;z-index:-1;inset:0 -120px;pointer-events:none;background:linear-gradient(#fff,#fcfaf7 180px,#fcfaf7 calc(100% - 120px),#fff)}
#works::after{content:"";position:absolute;z-index:-1;top:0;left:-90px;width:260px;height:350px;pointer-events:none;opacity:.45;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 350'%3E%3Cpath d='M-40 180 Q45 55 120 40 Q155 32 140 70 Q159 64 146 90 Q91 179 -35 250Z' fill='%23f1e3d5'/%3E%3Cpath d='M-10 340 Q40 180 150 124 T248 -20' fill='none' stroke='%23ce9975' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat}
#works .om-works-grid{display:flex;flex-direction:column;gap:0;max-width:none}
#works .om-work{display:grid;grid-template-columns:minmax(0,1.12fr) 72px minmax(0,.9fr);column-gap:24px;align-items:center;padding:28px 0;margin:0;background:transparent;border:0;border-radius:0}
#works .om-work:first-child{padding-top:0}
#works .om-work+.om-work{border-top:1px solid #e9d6c7}
#works .om-work-player{width:100%;aspect-ratio:698/318;border-radius:14px;background:#fff;box-shadow:0 6px 22px #72583c0c;margin:0}
#works .om-work-player:focus-within{outline:3px solid #216d80;outline-offset:5px}
#works .om-work-play{overflow:hidden;border-radius:inherit;transition:filter .2s}
#works .om-work-play:hover{filter:brightness(.96)}
#works .om-work-play>span{width:62px;height:62px;background:#234f61d9;font-size:23px}
#works .om-work-play img{object-fit:contain;background:#fff}
/* Keep the supplied thumbnail artwork intact; crop only its surrounding page layout. */
#works .om-work-play .om-work-reference-image{position:absolute;max-width:none;width:239.5415%;height:auto;left:-24.6418%;object-fit:initial}
#works .om-work-reference-1{top:-68.239%}
#works .om-work-reference-2{top:-186.164%}
#works .om-work-number{align-self:start;font-family:Georgia,"Times New Roman",serif;font-size:90px;line-height:1.05;font-weight:400;color:#eddfd2;letter-spacing:-.06em;padding-top:8px}
#works .om-work-content{min-width:0}
#works .om-work-heading{margin:0 0 18px}
#works .om-work-genre{display:inline-block;max-width:100%;font-size:14px;line-height:1.6;font-weight:600;color:#ac5b2d;background:#f7eee5;border:1px solid #e8c9b2;border-radius:30px;padding:5px 14px;margin:0 0 9px}
.oekaki-page #works .om-work h3{text-align:left;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(22px,2.1vw,31px);font-weight:700;line-height:1.5;letter-spacing:.01em;margin:0 0 6px;text-wrap:pretty}
#works .om-work-client{text-align:left;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:16px;line-height:1.7;letter-spacing:.02em;color:#657e88;margin:0}
#works .om-work-point{border-top:1px solid #eadcd0;padding-top:15px;margin:0 0 18px}
.oekaki-page #works .om-work-point h4{text-align:left;font-size:11px;font-weight:600;letter-spacing:.1em;color:#a46c46;margin:0 0 6px}
#works .om-work-point p{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:14px;line-height:1.95;margin:0}
#works .om-work-actions{display:flex;align-items:center;justify-content:space-between;gap:18px}
#works .om-work-duration{display:inline-flex;align-items:center;gap:8px;flex:none;padding:8px 13px;background:#f6ece2;border:0;border-radius:16px;color:#8a5a35;white-space:nowrap}
#works .om-work-duration svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#works .om-work-duration strong{font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
#works .om-work-watch{display:inline-flex;align-items:center;justify-content:center;gap:20px;flex:1;max-width:235px;min-height:46px;padding:9px 16px;border-radius:30px;color:#fff;background:#bf6534;text-decoration:none;font-size:15px;font-weight:600;line-height:1.5;transition:background .2s}
#works .om-work-watch:hover{background:#a85127}
#works .om-work-watch span{font-size:20px;font-weight:400}
#works .om-work-content>.om-note{margin-top:16px}
#works #om-works-playback-note{margin-top:22px}
@media(max-width:1250px) and (min-width:761px){
 #works .om-work{grid-template-columns:minmax(0,1fr) 55px minmax(0,.95fr);column-gap:18px}
 #works .om-work-number{font-size:70px}
 #works .om-work-genre{font-size:12px}
 #works .om-work-actions{gap:12px}
 #works .om-work-duration{padding:8px 10px;gap:6px}
}
@media(max-width:760px){
 #works{padding-block:34px 28px}
 #works::before{inset:0 -24px}
 #works::after{left:-110px;width:190px;height:260px;opacity:.3}
 #works .om-work{grid-template-columns:44px minmax(0,1fr);gap:18px 10px;padding:28px 0}
 #works .om-work-player{grid-column:1/-1;border-radius:11px}
 #works .om-work-number{font-size:50px;padding-top:2px}
 #works .om-work-content{grid-column:2}
 #works .om-work-heading{margin-bottom:14px}
 #works .om-work-genre{font-size:12px;padding:4px 10px;margin-bottom:8px}
 .oekaki-page #works .om-work h3{font-size:23px;line-height:1.5}
 #works .om-work-client{font-size:13px}
 #works .om-work-point{padding-top:12px;margin-bottom:16px}
 #works .om-work-point p{font-size:14px;line-height:1.9}
 #works .om-work-actions{gap:10px}
 #works .om-work-duration{padding:7px 9px;gap:5px;border-radius:12px}
 #works .om-work-duration svg{width:17px;height:17px}
 #works .om-work-duration strong{font-size:13px}
 #works .om-work-watch{min-height:42px;padding:8px 10px;font-size:13px;gap:12px}
}

/* Pricing starts with listening, then defining the scope and estimate. */
.om-price-box.om-estimate-box{display:block;max-width:880px;margin-inline:auto;padding:32px 40px}
.om-estimate-box h3{margin:0 0 14px}
.om-estimate-box .om-estimate-lead{font-size:22px;font-weight:600;line-height:1.7;text-align:center;color:var(--om-accent);margin:0 0 24px}
.om-estimate-copy{max-width:680px;margin:auto}
.om-estimate-copy p+p{margin-top:14px}
.om-estimate-copy .om-estimate-invite{border-top:1px solid var(--om-line);padding-top:18px;margin-top:22px}
@media(max-width:760px){.om-price-box.om-estimate-box{padding:26px 22px}.om-estimate-box .om-estimate-lead{font-size:20px;margin-bottom:20px}}

/* The two masks retain the supplied artwork; only the upper arm rotates. */
.om-whiteout{display:flex;align-items:center;justify-content:center;overflow:hidden}
.om-clapper{position:relative;width:min(150vw,1100px);flex-shrink:0;aspect-ratio:2752/1536;opacity:0;transform:translateY(100vh)}
.om-clapper img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain}
.om-clapper-body{clip-path:polygon(28.5% 33.7%,70.1% 27.4%,73% 93%,30% 93%)}
.om-clapper-arm{clip-path:polygon(27.6% 27%,67.8% 7.6%,69.2% 14.8%,28.5% 34.4%);transform-origin:28.7% 33.4%}
