:root{--paper:#f3f1ea;--ink:#202321;--red:#bc3d28;--line:#c8c8bf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Hiragino Kaku Gothic ProN','Noto Sans CJK JP',sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-underline-offset:6px}button,input,select{font:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:5px}header{display:flex;justify-content:space-between;align-items:center;padding:24px 4vw;border-bottom:1px solid var(--ink);gap:24px}.brand{font-weight:900;letter-spacing:-.05em;font-size:24px;text-decoration:none}nav{display:flex;gap:28px;font-size:14px}nav a{text-decoration:none}.hero{padding:6vw 4vw 36px;min-height:82vh;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.hero h1{font-size:clamp(76px,16.7vw,270px);letter-spacing:-.078em;line-height:.83;margin:0;font-weight:900;position:relative;z-index:1}.hero h1 span{display:block}.hero h1 span+span{margin-left:21vw}.hero h1:after{content:'';position:absolute;right:3vw;top:18%;height:10px;width:15vw;background:var(--red);transform:rotate(-35deg);animation:align 1s ease-out both}.hero-bottom{display:flex;justify-content:space-between;align-items:end;padding-top:48px;gap:24px}.hero-bottom p{margin:0}.hero-bottom .title{font-size:clamp(18px,2.2vw,30px);font-weight:600}.meta{font-size:13px;letter-spacing:.06em}.section{padding:80px 4vw;border-top:1px solid var(--ink);scroll-margin-top:24px}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:40px}.section-head h2{font-size:clamp(36px,6vw,76px);letter-spacing:-.06em;line-height:1.1;margin:0}.section-head span{font-size:14px}.work{display:grid;grid-template-columns:1.7fr 1fr;gap:5vw}.screen{background:#222923;color:#fff;padding:28px 32px;display:block;text-decoration:none;min-height:320px;transition:background .2s}.screen:hover{background:#303b31}.screen small{color:#d5d9d1}.screen h3{font-size:30px;font-weight:500;margin:28px 0}.screen .fake-row{display:flex;justify-content:space-between;border-top:1px solid #667267;padding:14px 0;gap:12px}.work-copy{align-self:end}.eyebrow{font-size:13px;color:var(--red);font-weight:700}.work-copy h3{font-size:28px;font-weight:500;line-height:1.5}.work-copy p{color:#52564f}.text-link{display:inline-block;margin-top:15px}.services{margin:0}.service{display:grid;grid-template-columns:80px 1fr 1fr;gap:24px;padding:32px 0;border-top:1px solid var(--line)}.service h3{font-size:25px;margin:0;font-weight:500}.service p{margin:0;color:#52564f}.num{color:var(--red)}.about{display:grid;grid-template-columns:1fr 2fr;gap:5vw}.about h2{font-size:40px;line-height:1.3;margin:0}dl{margin:0}dl div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid var(--line);padding:18px 0}dt{font-size:14px}dd{margin:0}footer{padding:40px 4vw;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:20px}.contact-state{max-width:650px}.contact-state h2{font-size:40px;line-height:1.3;margin:0 0 20px}.draft{background:#e5e2d8;padding:9px 4vw;font-size:13px}.demo-main{max-width:1100px;margin:auto;padding:55px 4vw 80px}.demo-main h1{font-size:clamp(32px,5vw,58px);line-height:1.2}.toolbar{display:flex;gap:16px;margin:35px 0}.toolbar label{display:flex;flex-direction:column;flex:1;font-size:14px}input,select{padding:14px;border:1px solid #888;background:transparent;border-radius:0;min-width:0;width:100%}.records{list-style:none;padding:0}.record{border-top:1px solid var(--line);padding:24px 0}.record h2{font-size:22px;margin:0}.record p{margin:8px 0}.record small{color:#595e55}.record button{background:transparent;border:1px solid var(--ink);padding:8px 18px;cursor:pointer}.note{background:#e5e2d8;padding:16px;margin-top:16px}.empty{padding:30px 0}.footnote{font-size:14px;color:#52564f}.back{font-size:14px}.mockup{display:grid;grid-template-columns:1fr 1fr;gap:30px}.mockup img{width:100%;display:block}.asset{margin-top:64px}.asset h2{font-size:24px} @keyframes align{from{transform:translateX(150px) rotate(-35deg);opacity:0}to{transform:translateX(0) rotate(-35deg);opacity:1}}@media(max-width:700px){header{align-items:start;padding:18px 5vw;flex-direction:column;gap:12px}nav{gap:24px}.hero{padding:60px 5vw 28px;min-height:65vh}.hero h1{font-size:18.5vw}.hero h1 span+span{margin-left:9vw}.hero h1:after{top:8%;height:5px;right:0;width:16vw}.hero-bottom{flex-direction:column;align-items:start;padding-top:60px}.section{padding:54px 5vw}.section-head{margin-bottom:28px}.work,.about,.mockup{grid-template-columns:1fr}.screen{min-height:280px;padding:24px}.work-copy h3{margin-top:8px}.service{grid-template-columns:36px 1fr;gap:12px}.service p{grid-column:2}.service h3{font-size:22px}.section-head h2{font-size:42px}.about{gap:24px}footer{align-items:start;flex-direction:column}.toolbar{flex-direction:column}dl div{grid-template-columns:100px 1fr}.hero-bottom .meta{font-size:12px}.demo-main{padding:35px 5vw 60px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.email{overflow-wrap:anywhere;font-size:clamp(16px,2.2vw,27px)}

@media(max-width:700px){nav{flex-wrap:wrap;gap:8px 20px}}

/* Three scaled demonstrations; retain the approved brand. */
.work+.work{margin-top:84px}.work-alt{grid-template-columns:1fr 1.7fr}.work-alt .screen{grid-column:2;grid-row:1}.work-alt .work-copy{grid-column:1;grid-row:1}
.estimate-screen{background:#242923}.customers-screen{background:#343b42}.booking-screen{background:#7b352b}.customers-screen:hover{background:#414a53}.booking-screen:hover{background:#8e4236}
.demo-total{display:flex;align-items:baseline;justify-content:space-between;margin-top:24px}.demo-total strong{font-size:38px;line-height:1.2}
.slot-sample{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}.slot-sample span{padding:16px 12px;border:1px solid #dfbdb5;font-size:14px}.slot-sample .occupied{opacity:.65}
.works-note{margin-top:40px}.estimate-row{display:grid;grid-template-columns:1fr 2fr 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line);align-items:center}
.estimate-row label,.booking-panel label,.customer-record label{display:block;font-size:14px}.result-band{display:flex;justify-content:space-between;align-items:baseline;gap:16px;background:var(--ink);color:var(--paper);padding:24px;margin:24px 0}.result-band output{font-size:clamp(26px,4vw,46px);font-weight:700;overflow-wrap:anywhere}
.action{padding:12px 22px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;margin:12px 0}.action.secondary{background:transparent;color:var(--ink)}.action:disabled{opacity:.45;cursor:not-allowed}.error{color:#a32416}
.customer-record{display:grid;grid-template-columns:1fr 180px;gap:24px}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:32px 0}.booking-panel{padding:24px;border:1px solid var(--line)}.booking-panel h2{font-size:24px;margin:0 0 24px}.management{background:#e5e2d8}.booking-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px}.slot{padding:15px 8px;border:1px solid var(--ink);background:transparent;cursor:pointer;font-size:14px}.slot[aria-pressed=true]{background:var(--ink);color:var(--paper)}.slot:disabled{border-color:#a6a69d;color:#777;cursor:not-allowed}
@media(max-width:700px){.section-head{gap:16px;flex-wrap:wrap}.work-alt{grid-template-columns:1fr}.work-alt .screen,.work-alt .work-copy{grid-column:auto;grid-row:auto}.work+.work{margin-top:56px}.estimate-row{grid-template-columns:1.5fr 1fr;gap:12px}.estimate-row strong{grid-column:1/-1}.customer-record,.booking-layout{grid-template-columns:1fr}.booking-panel{padding:20px}.result-band{padding:20px;flex-wrap:wrap}.slot-sample{gap:8px}.slot-sample span{padding:12px 8px}}
/* Service scope and procurement information; retain the approved visual language. */
.scope-note{display:grid;grid-template-columns:1fr 2fr;gap:6vw;margin-top:48px;padding-top:32px;border-top:1px solid var(--ink)}.scope-note h3{font-size:22px;font-weight:500;margin:0}.scope-note dl div{grid-template-columns:150px 1fr;gap:20px}.scope-note dt{font-size:16px}.scope-note dd{color:#4b5147}.questions{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw}.questions h2,.partners h2{font-size:clamp(30px,3.8vw,48px);font-weight:500;line-height:1.4;margin:0 0 24px}.questions-heading p{color:#52564f}.questions-list details{border-top:1px solid var(--line);padding:22px 0}.questions-list details:last-child{border-bottom:1px solid var(--line)}.questions-list summary{cursor:pointer;font-size:18px;line-height:1.7;padding-right:12px}.questions-list summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}.questions-list details p{margin:18px 0 0;color:#4b5147}.partners{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;align-items:center}.partners h2{margin:0}.partner-name{font-size:clamp(30px,4vw,52px);font-weight:700;letter-spacing:-.035em;text-decoration:none}.partner-name span{font-size:24px;color:var(--red);margin-left:15px}.partners .footnote{margin:6px 0 0}@media(max-width:800px){.scope-note,.questions,.partners{grid-template-columns:1fr;gap:24px}.scope-note dl div{grid-template-columns:1fr;gap:8px}.questions-list summary{font-size:17px}}
/* Editorial portfolio: work first, terms concise, identity in the footer. */
.corporate .hero{min-height:76vh}.corporate .hero h1 span{margin-left:18vw}.hero-index{font-size:14px;white-space:nowrap}.corporate .hero h1:after{right:2vw;width:13vw}
.portfolio .section-head{margin-bottom:48px}.project{min-width:0}.project-visual{display:block;text-decoration:none;overflow:hidden}.bakery-visual{display:grid;grid-template-columns:.7fr 1.3fr;background:#e5dfcf;color:#3d3428;min-height:380px}.bakery-visual img{width:100%;height:100%;min-height:380px;object-fit:cover;transition:transform .5s}.bakery-caption{padding:5vw 3vw;display:flex;flex-direction:column;justify-content:space-between;position:relative;z-index:1;background:#e5dfcf}.bakery-caption span{font-size:14px}.bakery-caption strong{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(48px,6vw,100px);font-weight:400;letter-spacing:.08em}.bakery-visual:hover img{transform:scale(1.025)}
.project-info{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:25px}.project-info h3{font-size:26px;font-weight:500;line-height:1.5;margin:6px 0}.project-category{font-size:14px;color:#5a5d56}.project-info p{margin:0;color:#454942}.project-info .text-link{font-size:14px;margin-top:14px}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:4vw;margin-top:70px}.project-pair .project-info{grid-template-columns:1fr;gap:8px}.project-pair .project-visual{min-height:360px;padding:30px}.ledger-visual{background:#dce1df;color:#253d37}.ledger-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #687f76;padding-bottom:24px;gap:16px}.ledger-top strong{font-size:25px;font-weight:500}.ledger-top span{font-size:13px}.ledger-columns,.ledger-line{display:grid;grid-template-columns:1fr .8fr 1.3fr;gap:10px;padding:15px 0;border-bottom:1px solid #b0bdb7;font-size:14px}.ledger-columns{color:#4c6159}.ledger-line b{font-weight:500}.ledger-bottom{margin-top:28px;font-size:14px}.editorial-visual{background:#aa3526;color:#fff5e7;display:flex;flex-direction:column;justify-content:space-between}.editorial-label{font-size:14px}.editorial-visual strong{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(26px,3.1vw,46px);line-height:1.55;font-weight:400;letter-spacing:.02em;margin:30px 0}.editorial-rule{height:1px;background:#dc9c8c}.editorial-index{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;margin-top:20px}.portfolio-note{margin:48px 0 0}.corporate .service{grid-template-columns:50px 1fr 1.2fr;padding:34px 0}.service-detail{font-size:14px;color:#62675f;display:block;margin-top:14px}.engagement{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;background:#e8e7df}.engagement h2,.contact-wide h2{font-size:clamp(32px,3.8vw,48px);line-height:1.4;margin:0 0 24px;letter-spacing:-.04em}.engagement-title>p{font-size:20px;line-height:1.8}.engagement-body>div{border-top:1px solid #b9bdb2;padding:20px 0}.engagement-body h3{margin:0 0 10px;font-size:18px;font-weight:600}.engagement-body p{margin:0;color:#4b5147}.contact-wide{display:grid;grid-template-columns:1.4fr 1fr;gap:6vw;padding-top:88px;padding-bottom:88px}.contact-wide .email{display:inline-block;margin:20px 0 12px;font-size:clamp(16px,2.1vw,30px)}.business-details{align-self:end;scroll-margin-top:40px}.business-details div{grid-template-columns:80px 1fr;font-size:14px}.project-context{display:flex;justify-content:space-between;gap:20px;background:#202321;color:#f3f1ea;padding:12px 4vw;font-size:14px}.project-context a{white-space:nowrap}.project-context span{max-width:65%}
@media(max-width:850px){.project-pair{grid-template-columns:1fr;gap:48px}.project-pair .project-visual{min-height:320px}.project-pair .project-info{grid-template-columns:1fr 1fr;gap:24px}.engagement,.contact-wide{grid-template-columns:1fr;gap:32px}.corporate .hero{min-height:65vh}.bakery-visual{min-height:320px}.bakery-visual img{min-height:320px}.bakery-caption{padding:28px 20px}.ledger-columns,.ledger-line{grid-template-columns:1fr 1fr 1.2fr}}
@media(max-width:600px){.corporate .hero h1 span{margin-left:9vw}.hero-bottom .title{max-width:20em;font-size:17px}.corporate .hero{min-height:58vh}.hero-bottom{gap:16px}.project-info,.project-pair .project-info{grid-template-columns:1fr;gap:12px}.project-info h3{font-size:24px}.bakery-visual{grid-template-columns:1fr}.bakery-caption{min-height:210px;padding:24px;gap:15px}.bakery-caption strong{font-size:56px}.bakery-visual img{height:260px;min-height:0}.corporate .service{grid-template-columns:30px 1fr;gap:12px}.corporate .service>div{grid-column:2}.corporate .service h3{font-size:21px}.project-pair .project-visual{padding:24px 18px}.editorial-visual strong{font-size:30px}.ledger-top{flex-wrap:wrap;gap:8px}.ledger-columns,.ledger-line{font-size:14px;gap:8px}.ledger-line span:last-child{overflow-wrap:anywhere}.project-context{font-size:13px}.business-details div{grid-template-columns:70px 1fr}.corporate .section-head h2{font-size:38px}}
