:root{--paper:#f7f5ec;--ink:#30342b;--olive:#596343;--sage:#dde0ce;--ochre:#a9743b;--sand:#eee0c3;--white:#fffdf7;--ivory:var(--paper);--terra:var(--ochre);--body:'Noto Sans JP',sans-serif;--serif:'Noto Serif JP','Yu Mincho',serif;--line:1.5px solid var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.9}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{word-break:auto-phrase;overflow-wrap:normal}h1{font-family:var(--body)}h2,h3{font-family:var(--serif);font-weight:500}p,li,summary{font-family:var(--body)}h1{font-size:clamp(30px,3.65vw,56px);letter-spacing:-.065em;line-height:1.65;margin:28px 0}h2{font-size:clamp(26px,2.8vw,40px);letter-spacing:-.04em;line-height:1.5;margin-bottom:28px}h3{font-size:19px;line-height:1.65}header{max-width:1460px;margin:auto;padding:24px 4%;display:flex;align-items:center;gap:22px}.brand{font-family:serif;font-size:38px;letter-spacing:.06em;font-weight:700;text-decoration:none;white-space:nowrap}.brand span{color:var(--terra);font-family:sans-serif;font-weight:400}.tagline{font-size:11px;line-height:1.6;margin:0;padding-left:20px;border-left:1px solid var(--ink)}nav{margin-left:auto;display:flex;gap:25px;align-items:center;font-size:13px;font-weight:600}nav a{text-decoration:none}nav .button{min-height:42px;padding:8px 22px}.wrap{max-width:1240px;margin:0 auto;padding:0 36px}section{margin-top:160px;scroll-margin-top:30px}.hero{margin-top:50px;display:grid;grid-template-columns:1.1fr 1fr;min-height:560px;align-items:center;padding-bottom:60px}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center}.eyebrow{font-weight:600;font-size:14px;display:inline-block;border-bottom:2px solid var(--terra);padding-bottom:8px}.handwritten{font-family:'Klee One',serif;font-weight:600;letter-spacing:.1em;line-height:1.8}.plus-list{padding:0;margin:25px 0;list-style:none}.plus-list li{position:relative;padding-left:27px;margin-bottom:10px}.plus-list li:before{content:'＋';position:absolute;left:0;top:-2px;color:var(--terra);font-size:23px;font-weight:400}.actions{display:flex;gap:18px;margin-top:34px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:12px 30px;background:var(--terra);color:var(--white);border:1.5px solid var(--terra);border-radius:10px;text-decoration:none;font-weight:600;transition:opacity .2s}.button:hover{opacity:.8}.button.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.note{font-size:12px;line-height:1.9;color:var(--olive);margin-top:18px}.badge{position:absolute;bottom:8%;right:0;width:112px;height:112px;border-radius:50%;background:var(--terra);color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(8deg)}.badge b{font-size:42px;line-height:1.2}.badge span{font-size:12px;font-weight:700}.ticker{border-top:var(--line);border-bottom:var(--line);overflow:hidden;padding:20px 0}.ticker>div{display:flex;width:max-content;animation:ticker 35s linear infinite}.ticker span{white-space:nowrap;font-size:24px;font-weight:600;letter-spacing:.1em}.ticker i{font-style:normal;color:var(--terra);font-weight:400;margin:0 25px}.ticker em{color:var(--terra);font-style:normal}.ticker:hover>div{animation-play-state:paused}@keyframes ticker{to{transform:translateX(-25%)}}.section-label{font-size:11px;letter-spacing:.16em;color:var(--olive);margin-bottom:16px}.section-label span{margin-right:14px}.early-sections{position:relative}.thread{position:absolute;right:1.5%;top:-80px;width:55px;height:calc(100% + 80px);z-index:-1;overflow:visible}.thread path{stroke:var(--ink);stroke-width:1.5;fill:none;vector-effect:non-scaling-stroke}.issues-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.issues-grid article{border:var(--line);border-radius:18px;padding:22px 16px;display:flex;align-items:center;gap:10px;min-height:200px}.issues-grid img{width:47%;height:150px;object-fit:contain}.issues-grid h3{font-size:16px;margin:0}.closing{text-align:center;font-size:17px;margin:36px 0 0}.works-stack{position:relative;margin-top:42px}.work-card{position:relative;border:var(--line);border-radius:22px;padding:48px 40px;display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center}.work-card h3{font-size:27px;letter-spacing:-.04em}.case-label{border:var(--line);border-radius:30px;padding:3px 17px;margin-right:12px;font-size:13px}.case-copy .plus-list{font-size:13px}.case-copy .plus-list li{margin-bottom:12px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tags span{border:1px solid var(--ink);border-radius:30px;padding:5px 10px;font-size:11px}.text-link{font-size:13px;font-weight:600;display:inline-block;margin-top:12px}.sticker{position:absolute;right:18px;top:-26px;width:104px;height:104px;border:1.5px solid var(--terra);border-radius:50%;background:var(--sand);color:var(--terra);display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:24px;font-weight:700;line-height:1.1;text-align:center;transform:rotate(-6deg)}.sticker small{font-size:11px;margin-top:5px}.js .sticker.active{animation:bounce .65s ease-out}@keyframes bounce{50%{transform:translateY(-8px) rotate(-6deg)}}.bubble{width:max-content;margin:24px auto;font-family:'Klee One',serif;border:var(--line);padding:7px 22px;border-radius:50%;transform:rotate(-5deg)}.vertical-note{position:absolute;left:calc(100% + 30px);right:auto;top:20%;writing-mode:vertical-rl;font-size:15px;white-space:nowrap;margin:0}.mockups{position:relative;padding-right:28px;min-width:0}.desktop-frame{border:10px solid var(--ink);border-bottom-width:24px;border-radius:12px;background:var(--white);aspect-ratio:1.6;overflow:hidden}.desktop-frame img{width:100%;height:100%;object-fit:cover;object-position:top}.stand{margin:0 auto;width:30%;height:45px;background:var(--ink);clip-path:polygon(30% 0,70% 0,76% 78%,100% 90%,100% 100%,0 100%,0 90%,24% 78%)}.phone-frame{position:absolute;right:0;bottom:10px;width:25%;aspect-ratio:.49;border:6px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--white)}.phone-frame img{width:100%;height:100%;object-fit:cover;object-position:top}.town{width:100%;height:130px;object-fit:contain;margin-top:50px}.record{border-top:var(--line);border-bottom:var(--line);padding-top:28px;padding-bottom:28px;display:grid;grid-template-columns:1fr 1.4fr;gap:40px;margin-top:55px}.record h2{font-size:22px;margin:0}.record p{margin:0 0 10px}.record small{display:inline-block;margin-left:20px;font-size:12px}.checklist{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:40px}.checklist>img{max-height:470px;object-fit:contain}.checklist ul{list-style:none;padding:0;margin-top:32px}.checklist li{display:flex;gap:14px;align-items:flex-start;margin:14px 0;font-weight:500}.checklist li a{color:var(--terra);font-size:13px}.checklist svg{width:24px;height:24px;flex-shrink:0;margin-top:3px;fill:none;stroke:var(--ink);stroke-width:1.5}.checklist path{stroke:var(--terra);stroke-width:2;stroke-dasharray:40;stroke-dashoffset:0}.js .checklist path{stroke-dashoffset:40}.js .checklist.active path{stroke-dashoffset:0;transition:stroke-dashoffset .4s ease-out;transition-delay:var(--delay)}.comic{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.comic article{position:relative;border:var(--line);border-radius:12px;padding:18px 18px 22px;opacity:1;transform:none}.js .comic article{opacity:0;transform:translateY(12px)}.js .comic.active article{opacity:1;transform:none;transition:opacity .6s,transform .6s;transition-delay:var(--delay)}.comic article:not(:last-child):after{content:'→';position:absolute;right:-20px;top:45%}.comic h3{display:flex;gap:12px;align-items:center;font-size:18px}.number{background:var(--terra);color:var(--white);border-radius:50%;width:34px;height:34px;display:inline-flex;justify-content:center;align-items:center;font-size:17px;font-weight:500}.comic img{height:155px;width:100%;object-fit:contain;margin:16px 0}.comic p{font-size:13px;margin-bottom:0}.browser-drawing{border:var(--line);height:155px;margin:16px 0;display:flex;flex-direction:column}.browser-drawing>div{font-size:8px;border-bottom:var(--line);padding:0 8px}.browser-drawing strong{font-size:21px;line-height:1.6;margin:auto}.lead{font-size:17px}.price-panel{border:var(--line);border-radius:18px;padding:30px;display:grid;grid-template-columns:1.8fr 1fr .65fr;gap:26px}.price-panel>div+div{border-left:1px solid var(--sage);padding-left:25px}.price-panel ul{padding-left:18px;font-size:13px}.price-panel h3{font-size:17px}.price-table{border-collapse:collapse;width:100%;text-align:left}.price-table caption{text-align:left;font-size:12px;margin-bottom:10px}.price-table th{font-size:13px;font-weight:500;padding:17px 8px 17px 0}.price-table td{font-size:25px;font-weight:700;white-space:nowrap}.price-table tr+tr{border-top:1px solid var(--sage)}.price-table small{display:block;font-size:10px}.requirements{margin-top:28px;display:flex;gap:25px}.requirements h3{white-space:nowrap;font-size:15px}.requirements p{font-size:13px}.monitor{border:1.5px solid var(--terra);border-radius:14px;display:grid;grid-template-columns:1fr 2.5fr;gap:45px;padding:36px 40px}.monitor h2{font-size:25px}.monitor p{margin-bottom:12px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:50px;text-align:center}.flow article{position:relative}.flow article:not(:last-child):after{content:'＋';position:absolute;right:-37px;top:13px;color:var(--terra)}.flow .number{width:49px;height:49px;margin-bottom:20px}.flow h3{font-size:17px}.flow p{font-size:13px}.schedule{margin-top:50px}.schedule h3{font-size:18px}.schedule h3 small{font-size:12px;font-weight:400;margin-left:15px}.table-scroll{overflow-x:auto;border:var(--line);border-radius:12px}.schedule table{width:100%;min-width:780px;border-collapse:collapse;table-layout:fixed}.schedule th:first-child{width:180px;text-align:left;padding-left:18px}.schedule th,.schedule td{border:1px solid var(--sage);height:43px;font-size:11px;text-align:center}.schedule thead th{font-weight:500}.bar{display:block;background:var(--terra);height:7px;border-radius:2px}.team{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;text-align:center}.avatar{height:100px;width:100px;border:var(--line);border-radius:50%;margin:0 auto 20px;font-size:45px;display:flex;align-items:center;justify-content:center;font-weight:300}.team h3{margin-bottom:8px}.team p{font-size:13px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;align-items:start}.faq-grid details{border-top:1px solid var(--ink)}.faq-grid summary{list-style:none;cursor:pointer;padding:20px 0;font-size:13px;font-weight:500;display:flex;gap:15px;align-items:flex-start}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary span{font-family:serif;font-size:17px}.faq-grid summary i{margin-left:auto;font-size:22px;font-style:normal;line-height:1.3}.faq-grid details[open] summary i{transform:rotate(45deg)}.faq-grid details p{font-size:13px;padding:0 30px 20px}.recruit-banner{border:var(--line);border-radius:20px;padding:35px 45px;display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:40px}.recruit-banner h2{font-size:28px}.recruit-banner p{font-size:13px}.recruit-banner img{height:240px;object-fit:contain}.contact{position:relative;min-height:430px;padding-bottom:80px}.contact h2{font-size:40px}.contact-town{position:absolute;right:10%;bottom:60px;width:38%;height:150px;object-fit:contain;z-index:-1}.page-top{position:absolute;right:32px;bottom:70px;width:90px;height:90px;text-decoration:none}.page-top svg{width:100%;animation:spin 20s linear infinite}.page-top text{font-size:10px;letter-spacing:1.2px;fill:var(--ink)}.page-top>span{position:absolute;inset:0;display:grid;place-items:center;font-size:24px}@keyframes spin{to{transform:rotate(360deg)}}footer{border-top:var(--line);padding:32px 5% 85px;display:flex;gap:35px;align-items:center}footer>div{display:flex;gap:25px;font-size:12px;margin-left:auto}footer small{font-size:10px}.sticky-cta{position:fixed;bottom:14px;right:24px;background:var(--ivory);border:1px solid var(--olive);border-radius:12px;display:flex;align-items:center;gap:20px;padding:7px 8px 7px 20px;box-shadow:0 4px 18px rgba(48,52,43,.06);font-size:12px;z-index:20}.sticky-cta .button{min-height:40px;font-size:12px;padding:8px 20px}.menu-toggle{display:none}.mobile{display:none}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--olive);outline-offset:5px}
@media(max-width:1100px){.vertical-note{display:none}.tagline{display:none}nav{gap:14px}.hero{grid-template-columns:1.15fr 1fr}h1{font-size:38px}.work-card{padding:40px 25px;gap:28px}.work-card h3{font-size:23px}.price-panel{grid-template-columns:1.5fr 1fr}.price-panel>div:last-child{grid-column:2}.comic{gap:18px}.comic article{padding:15px}.comic h3{font-size:15px}}
@media(max-width:760px){body{font-size:14px}header{padding:16px 22px;flex-wrap:wrap;gap:10px}.brand{font-size:30px}.menu-toggle{display:block;margin-left:auto;background:none;border:var(--line);border-radius:6px;padding:5px 10px;font-size:12px}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav>a{padding:12px;border-top:1px solid var(--sage)}nav .button{margin-top:12px}.wrap{padding-left:22px;padding-right:22px}section{margin-top:96px}.hero{margin-top:36px;display:flex;flex-direction:column;align-items:stretch;padding-bottom:25px}.hero h1{font-size:clamp(26px,6.4vw,38px);letter-spacing:-.07em;margin:22px 0}.eyebrow{font-size:11px}.hero .plus-list{font-size:12px}.hero .actions{gap:12px;margin-top:22px}.button{padding:11px 20px;min-height:49px}.hero-art{height:330px;margin-top:28px}.badge{width:80px;height:80px;bottom:0}.badge b{font-size:30px}.badge span{font-size:9px}.ticker{padding:14px 0}.ticker span{font-size:18px}.ticker i{margin:0 14px}.issues-grid{grid-template-columns:1fr;gap:14px}.issues-grid article{min-height:150px;padding:14px 20px}.issues-grid img{height:120px;width:40%}.issues-grid h3{font-size:16px}.closing{font-size:14px}.mobile{display:block}h2{font-size:26px}.section-label{font-size:10px}.thread{display:none}.work-card{grid-template-columns:1fr;padding:35px 22px;gap:25px}.mockups{margin-top:15px}.work-card h3{font-size:22px}.sticker{width:78px;height:78px;font-size:19px;top:-20px;right:16px}.sticker small{font-size:9px}.vertical-note{display:none}.record{grid-template-columns:1fr;gap:20px;margin-top:25px}.record h2{font-size:20px}.record p{font-size:12px}.record small{margin-left:8px;font-size:10px}.checklist{grid-template-columns:1fr;gap:25px}.checklist h2 br{display:none}.checklist>img{height:290px;margin:auto}.checklist li{font-size:12px;gap:10px;flex-wrap:wrap}.checklist svg{width:21px}.comic{grid-template-columns:1fr}.comic article{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px}.comic h3{grid-column:1/-1;font-size:18px}.comic img{height:135px;margin:0}.comic p{align-self:center}.comic article:not(:last-child):after{content:'↓';top:auto;bottom:-23px;right:50%}.browser-drawing{height:135px;margin:0}.browser-drawing strong{font-size:18px}.price-panel{grid-template-columns:1fr;padding:22px}.price-panel>div+div{border-left:0;border-top:1px solid var(--sage);padding:22px 0 0}.price-panel>div:last-child{grid-column:auto}.price-table td{font-size:21px}.price-table th{font-size:11px}.requirements{display:block}.monitor{grid-template-columns:1fr;padding:28px 24px;gap:10px}.monitor h2{margin-bottom:10px}.flow{grid-template-columns:1fr;gap:30px;text-align:left}.flow article{padding-left:68px}.flow .number{position:absolute;left:0;top:0}.flow h3{margin-bottom:8px}.flow article:not(:last-child):after{display:none}.schedule h3 small{display:block;margin-left:0}.team{grid-template-columns:1fr 1fr;gap:30px 15px}.team p{font-size:11px}.avatar{width:80px;height:80px}.team h3{font-size:17px}.faq-grid{grid-template-columns:1fr}.faq-grid summary{font-size:12px;padding:17px 0}.recruit-banner{grid-template-columns:1fr;padding:28px 24px;gap:20px}.recruit-banner h2{font-size:25px}.recruit-banner img{height:190px}.contact h2{font-size:30px}.contact .lead{font-size:14px}.contact{padding-bottom:190px}.contact-town{width:73%;height:110px;bottom:35px;left:22px}.page-top{width:70px;height:70px;right:20px;bottom:58px}footer{flex-wrap:wrap;padding:28px 22px 100px;gap:18px}footer>div{flex-wrap:wrap;margin-left:0;gap:15px}.sticky-cta{--cta-inset:12px;right:var(--cta-inset);left:var(--cta-inset);width:calc(100% - var(--cta-inset)*2);max-width:calc(100% - var(--cta-inset)*2);min-width:0;bottom:10px;gap:10px;justify-content:space-between}.sticky-cta>span{min-width:0}.sticky-cta .button{flex-shrink:0}.sticky-cta span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.comic article,.js .comic article{opacity:1;transform:none}.checklist path,.js .checklist path{stroke-dashoffset:0}.thread path{stroke-dashoffset:0!important}}

.team-quote{font-size:11px!important;color:var(--olive)}
body{overflow-x:clip}.table-scroll,.ticker{position:relative}
section.wrap{margin-top:160px}section.hero{margin-top:50px}section.record{margin-top:55px}
@media(max-width:760px){section.wrap{margin-top:96px}section.hero{margin-top:36px}section.record{margin-top:25px}}

/* Notes sit outside the cards with a reserved outer gutter. */
@media(min-width:1101px){#works{max-width:1200px;padding-right:70px}.vertical-note{left:calc(100% + 28px)}}

/* Team portraits: preserve the complete bust inside the circular frame. */
.team .avatar{width:128px;height:128px;overflow:hidden;padding:8px;background:transparent}.team .avatar img{width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:760px){.team .avatar{width:104px;height:104px}}

/* Local interview service areas. */
.team .team-area{font-size:11px;line-height:1.7;margin-top:8px;color:var(--olive)}.hero .service-area{margin-top:-6px;line-height:1.8}

/* Change the decorative word directly through its data-word attribute. */
.hero-figure{position:relative;height:490px;aspect-ratio:1415/1112;max-width:100%;margin:auto}
.hero-art{min-width:0}
.hero-figure>img{width:100%;height:100%;object-fit:contain;display:block}
.hero-word-anchor{position:absolute;left:20%;top:33%;width:120px;height:1px;z-index:2}
.hero-word-float{position:absolute;left:0;top:0}
.hero-word{position:relative;font-family:'Klee One',serif;font-weight:600;font-size:26px;line-height:1.3;color:var(--ink);white-space:nowrap;transform-origin:left bottom;transform:rotate(8deg)}
.hero-word::before{content:attr(data-word)}
.hero-word-lines{position:absolute;left:-24px;top:-12px;width:24px;height:24px;overflow:visible;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;transform-origin:24px 20px}
.hero-word-anchor.is-animated .hero-word,.hero-word-anchor.is-animated .hero-word-lines{opacity:0}
.hero-word-anchor.is-animated .hero-word{transform:translateY(8px) scale(.9) rotate(8deg)}
.hero-word-anchor.is-entering .hero-word{animation:word-enter .5s ease-out both}
.hero-word-anchor.is-entering .hero-word-lines{animation:word-lines .25s ease-out .15s both}
.hero-word-anchor.is-floating .hero-word-float{animation:word-float 4s ease-in-out infinite}
@keyframes word-enter{from{opacity:0;transform:translateY(8px) scale(.9) rotate(8deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(8deg)}}
@keyframes word-lines{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@keyframes word-float{0%,100%{transform:translateY(0)}25%{transform:translateY(-3px)}75%{transform:translateY(3px)}}

@media(max-width:1100px){.hero-word-anchor{left:18%}}
@media(max-width:760px){.hero-figure{height:330px}.hero-word-anchor{left:15%}.hero-word{font-size:20px}.hero-word-lines{top:-15px}}
@media(prefers-reduced-motion:reduce){.hero-word-anchor.is-animated .hero-word,.hero-word-anchor.is-animated .hero-word-lines{opacity:1}.hero-word-anchor.is-animated .hero-word{transform:rotate(8deg)}.hero-word-float{animation:none!important}}


.case-price small{display:block;font-size:.85em;line-height:1.7;margin-top:5px}
/* Tall screenshots are optional: static previews remain visible without JavaScript. */
.desktop-frame,.phone-frame{position:relative}
.phone-frame{position:absolute}
.mock-long{position:absolute;inset:0 auto auto 0;width:100%!important;height:auto!important;max-width:none;opacity:0;transform:translateY(0);will-change:transform;pointer-events:none}
.mock-ready>.mock-long{opacity:1}
.mock-ready>img:not(.mock-long){visibility:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.typewriter-visual .type-char{position:relative}
.typewriter.is-prepared .type-char{opacity:0}
.typewriter.is-prepared .type-char.is-shown{opacity:1}
.type-char.has-cursor::after{content:'';position:absolute;left:100%;top:.12em;width:1px;height:1em;background:currentColor;animation:type-cursor .8s step-end infinite}
@keyframes type-cursor{50%{opacity:0}}
.contact-town{z-index:0;pointer-events:none}
.contact>div:first-child{position:relative;z-index:2;max-width:65%}
.contact{min-height:540px;padding-bottom:210px}
.contact-farewell{position:absolute;right:20%;bottom:58px;width:220px;aspect-ratio:1;z-index:1}
.contact-farewell>img{width:100%;height:100%;object-fit:contain}
.contact-farewell .hero-word-anchor{left:2%;top:10%;width:120px}
.contact-farewell .hero-word{font-size:24px}
.contact-farewell .hero-word-float{animation:none!important}
@media(max-width:1100px){.contact-farewell{right:16%;width:195px}.contact>div:first-child{max-width:74%}}
@media(max-width:760px){.contact>div:first-child{max-width:none}.contact{padding-bottom:300px;min-height:0}.contact-town{left:22px;bottom:60px;width:calc(100% - 44px);height:115px}.contact-farewell{width:45%;right:23%;bottom:60px}.contact-farewell .hero-word{font-size:20px}.contact-farewell .hero-word-anchor{left:1%;top:8%}.contact .page-top{bottom:60px;right:18px}}
@media(prefers-reduced-motion:reduce){.mock-long{display:none!important}.mock-ready>img:not(.mock-long){visibility:visible}.typewriter.is-prepared .type-char{opacity:1}.type-char.has-cursor::after{display:none}.farewell-word .hero-word,.farewell-word .hero-word-lines{animation:none!important;opacity:1!important}.farewell-word .hero-word{transform:rotate(8deg)!important}}

.contact-farewell{bottom:90px}@media(max-width:760px){.contact-farewell{right:27%;bottom:84px}}
.contact-farewell .hero-word-anchor{top:0%}@media(max-width:760px){.contact-farewell .hero-word-anchor{top:0%}}

.price-primary{font-size:28px!important;line-height:1.5}.price-primary span{white-space:nowrap}.price-description{font-size:14px;line-height:1.9}.demo-scale{font-size:12px;line-height:1.8}.interview-only{border-top:1px solid var(--sage);padding-top:20px;margin-top:24px}.interview-only strong{font-size:22px}.case-price{font-weight:500}

/* Both cropped image bottoms share the ground line; shoes sit 1px lower. */
.contact{--ground-bottom:60px}
.contact-town{bottom:var(--ground-bottom);object-position:center bottom}
.contact-farewell{bottom:calc(var(--ground-bottom) - 1px);aspect-ratio:800/721}
.contact-farewell>img{display:block;width:100%;height:auto;object-fit:contain}
.contact-farewell.farewell-pending>img{opacity:0;transform:translateY(12px)}
.contact-farewell.farewell-shown>img{animation:farewell-person .4s ease-out both}
@keyframes farewell-person{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.contact-town{bottom:var(--ground-bottom)}.contact-farewell{bottom:calc(var(--ground-bottom) - 1px)}}
@media(prefers-reduced-motion:reduce){.contact-farewell.farewell-pending>img,.contact-farewell.farewell-shown>img{opacity:1;transform:none;animation:none!important}}

/* The final check finishes at 2.85s; the underline starts 0.2s later. */
.checklist li:last-child a{position:relative;text-decoration:none}
.checklist li:last-child a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:currentColor;transform:scaleX(1);transform-origin:left}
.js .checklist li:last-child a::after{transform:scaleX(0)}
.js .checklist.active li:last-child a::after{transform:scaleX(1);transition:transform .4s ease-out 3.05s}
.js .checklist.checklist-static path{stroke-dashoffset:0;transition:none}
.js .checklist.checklist-static li:last-child a::after{transform:scaleX(1);transition:none}
@media(prefers-reduced-motion:reduce){.js .checklist li:last-child a::after{transform:scaleX(1);transition:none}}

/* Keep the farewell word clear of the hat on desktop and mobile. */
.contact-farewell .hero-word-anchor{left:-4%;top:-2%}
@media(max-width:760px){.contact-farewell .hero-word-anchor{left:-8.5%;top:-2%}}

/* Demo planning details and static HTML excerpts. */
.case-design{margin:20px 0 16px;font-size:12px;line-height:1.9;color:var(--olive)}
.case-design p{margin:0}.case-design .case-design-label{font-size:10px;letter-spacing:.08em;margin-bottom:5px}
.production-note-link{margin-left:24px}
.production-plan h2{max-width:900px}.plan-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}
.plan-tables{min-width:0}.plan-tables h3{font-size:20px;margin-bottom:15px}.plan-tables h3:not(:first-child){margin-top:36px}.plan-tables h3 small{font-family:var(--body);font-size:12px;margin-left:14px}
.plan-table-scroll{max-width:100%;overflow-x:auto;border:var(--line);border-radius:10px}
.plan-table-scroll table{border-collapse:collapse;width:100%;min-width:740px;table-layout:fixed;font-size:11px;line-height:1.8}
.plan-table-scroll th,.plan-table-scroll td{padding:12px 10px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);text-align:left;vertical-align:top;overflow-wrap:anywhere;font-weight:400}
.plan-table-scroll thead th{font-weight:600}.plan-table-scroll tbody tr:last-child>*{border-bottom:0}.plan-table-scroll tr>*:last-child{border-right:0}
.plan-table-scroll th:first-child{width:70px;white-space:nowrap}.plan-table-scroll:first-of-type th:nth-child(2){width:105px}.plan-table-scroll:first-of-type th:nth-child(3){width:190px}.plan-table-scroll:first-of-type th:nth-child(4){width:150px}


.plan-links{display:flex;gap:30px;flex-wrap:wrap}.plan-links .text-link{margin-top:0}
#demo-schedule h3{font-size:20px}#demo-schedule .table-scroll table{min-width:1050px;table-layout:fixed}#demo-schedule th:first-child{width:170px}#demo-schedule th,#demo-schedule td{padding:10px 3px;text-align:center;font-size:11px}#demo-schedule tbody th{text-align:left;padding-left:12px}#demo-schedule .bar{display:block;height:7px;margin:6px 0}#demo-schedule td{position:relative;height:47px}.schedule-deadline{display:block;font-size:12px;line-height:1.1;color:var(--ink)}
@media(max-width:760px){.plan-layout{grid-template-columns:minmax(0,1fr);gap:0}.plan-links{gap:12px}.plan-links a{font-size:12px}.plan-tables h3{font-size:18px}.plan-tables h3 small{font-size:10px;margin-left:8px}.case-design{font-size:11px}.production-note-link{margin-left:16px}#demo-schedule h3{font-size:18px;line-height:1.8}.production-plan .note{font-size:11px}}

.plan-scroll-hint{display:none}@media(max-width:760px){.plan-scroll-hint{display:block;font-size:10px;color:var(--olive);margin:0 0 8px}}

.plan-number{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;min-width:18px;border-radius:50%;background:#A9743B;color:#fff;font-family:var(--body);font-size:11px;font-weight:600;line-height:1;vertical-align:middle}
.plan-highlight{background:linear-gradient(transparent 50%,rgb(169 116 59 / 20%) 50%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.plan-annotations{list-style:none;padding:0;margin:18px 0 32px;font-size:13px;line-height:1.9}
.plan-annotations li{display:flex;align-items:flex-start;gap:10px;margin:9px 0}.plan-annotations .plan-number{margin-top:3px}
@media(max-width:760px){.plan-annotations{font-size:12px}}

.hero>div:first-child{container-type:inline-size;min-width:0}.hero h1{font-size:clamp(26px,3.1vw,48px);font-size:clamp(26px,8.3cqi,56px)}.hero-heading-line{display:block;white-space:nowrap}@media(max-width:760px){.hero h1{font-size:clamp(26px,7vw,32px)}}

/* Show the static crop while idle, including after the 0.6s return. */
.mock-ready:not(.mock-playing)>.mock-long{opacity:0}.mock-ready:not(.mock-playing)>img:not(.mock-long){visibility:visible}

/* Footer: keep each link intact and wrap the navigation as a group. */
footer.manufacturing-footer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px 48px;align-items:start}
footer.manufacturing-footer>.brand{white-space:nowrap}
footer.manufacturing-footer>.footer-links{display:flex;flex-wrap:wrap;gap:14px 26px;min-width:0;margin:0;align-items:center;font-size:13px}
footer.manufacturing-footer>.footer-links a{display:inline-block;white-space:nowrap}
footer.manufacturing-footer>small{grid-column:2;white-space:nowrap}
@media(max-width:760px){footer.manufacturing-footer{grid-template-columns:minmax(0,1fr);gap:22px}footer.manufacturing-footer>.footer-links{gap:12px 20px;font-size:12px}footer.manufacturing-footer>small{grid-column:1}}

.notes-menu{position:relative}.notes-menu summary{cursor:pointer;white-space:nowrap;list-style:none}.notes-menu summary::-webkit-details-marker{display:none}.notes-menu summary::after{content:' ＋';color:var(--terra)}.notes-menu[open] summary::after{content:' −'}.notes-menu-links{position:absolute;top:calc(100% + 12px);left:0;z-index:30;background:var(--paper);border:var(--line);border-radius:8px;padding:10px;min-width:260px;display:grid;gap:4px}.notes-menu-links a{display:block;padding:10px;white-space:nowrap;text-decoration:none}.notes-menu-links a:hover,.notes-menu-links a:focus-visible{background:var(--sage)}header #nav{gap:18px}header #nav>a{white-space:nowrap}
.manufacturing-page-menu{margin:0 auto;padding:14px 4%;max-width:1460px;display:flex;flex-wrap:wrap;gap:18px;font-size:13px;align-items:center}
@media(max-width:1100px) and (min-width:761px){header{flex-wrap:wrap}header #nav{width:100%;justify-content:flex-end}}
@media(max-width:760px){header #nav{gap:0}.notes-menu summary{padding:12px;border-top:1px solid var(--sage)}.notes-menu-links{position:static;min-width:0;border:0;border-radius:0;padding:0 12px 12px}.notes-menu-links a{white-space:normal}.manufacturing-page-menu{padding:14px 22px}}

.recruit-set-note{border:1px solid var(--ink);border-radius:10px;padding:20px;margin:24px 0;background:var(--paper)}.recruit-set-note h4{font-family:var(--body);font-size:16px;line-height:1.8;margin:0 0 10px;word-break:auto-phrase}.recruit-set-note p{font-size:13px;line-height:2;margin:0}
