/* Art direction: warm paper, near-black type, a single vermilion accent. */
:root{--ink:#242522;--muted:#60615a;--paper:#f5f2eb;--wash:#ebe7df;--line:#d4d0c7;--accent:#c63e28;--primary:#242522;--primary-dk:#242522;--display:"Inter Tight",Arial,sans-serif;--ease:cubic-bezier(.22,.7,.2,1);--bar:72px}
body{background:var(--paper)}::selection{background:#c63e28;color:#fff}
.topbar{background:#f5f2ebf5;padding-inline:5vw;border-color:var(--line)}
.brand{font-size:23px}.brand small{font-family:var(--display);font-size:9px;letter-spacing:.1em}
.header-nav .header-reserve{border-radius:2px}.navbtn span{background:var(--ink)}
.btn{background:var(--accent);color:#fff;border-radius:2px;border:1px solid var(--accent);min-height:60px;box-shadow:none}
.btn-arrow{border-color:#ffffff60;border-radius:0}.btn:hover{background:#a62f1d;border-color:#a62f1d;box-shadow:none}.btn:hover .btn-arrow{background:#fff;color:var(--accent)}
.fv{background:var(--paper);color:var(--ink);position:relative;isolation:isolate;--hero-progress:0}
.fv-in{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding:38px 20px 0;min-height:0;max-width:1600px}
.fv-copy{max-width:none;position:relative;z-index:2}
.fv-cat{color:var(--muted);font-size:12px;line-height:1.7;margin-bottom:20px;gap:10px}.small-rule{background:var(--accent);width:20px}
.fv h1{font-family:var(--serif);font-size:clamp(24px,6.6vw,34px);line-height:1.65;letter-spacing:-.05em;font-weight:600;margin-bottom:20px}
.fv h1>.headline-line{display:block;white-space:nowrap;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.headline-line>span{display:block}.fv h1 .headline-key{display:block;font-size:clamp(30px,8.8vw,44px);line-height:1.55;font-weight:700;letter-spacing:-.065em;color:var(--accent)}
.headline-key::after{display:none}
.fv-lead{font-size:14px;line-height:1.95;color:var(--muted);margin-bottom:20px}
.fv-price{font-size:12px;margin-bottom:18px;gap:12px}.fv-price strong{font-family:var(--display);font-size:32px;font-weight:600}.fv-price>span:first-child strong{font-size:25px}.fv-price small{font-size:11px}.fv-price i{background:var(--line)}
.fv .btn{width:100%;max-width:360px;font-size:15px}.fv-trust{color:var(--muted);max-width:360px;font-size:12px;margin-top:10px}.fv-trust span{color:var(--muted)}
.fv-jump{color:var(--ink);font-size:13px;margin-top:10px;border-color:var(--line);min-height:44px}
.hero-art{height:360px;width:auto;max-width:none;border-radius:0;background:#242522;position:relative;overflow:hidden;color:#f5f2eb;margin:0 -20px;animation:none!important}
.hero-art-top{left:20px;right:20px;top:19px;font:500 9px/1.4 var(--display);letter-spacing:.09em;color:#e1dfd6;gap:10px}
.hero-art-top>span:last-child{font-size:9px}
.hero-art-word{position:absolute;left:18px;top:46px;font:500 48px/.91 var(--display);letter-spacing:-.055em;color:#b4b6a5}
.hero-work{border:0;border-radius:2px;box-shadow:0 16px 36px #0005;will-change:transform;animation:none!important}
.hero-work .browser-bar{height:15px;padding-inline:7px;background:#fbfaf7}.hero-work .browser-bar i{width:3px;height:3px}.hero-work .browser-bar span{font-size:7px;color:#60615a}
.hero-work-main{left:23%;top:63px;width:71%;z-index:2;transform:translateY(calc(var(--hero-progress)*-34px)) rotate(-7deg)}
.hero-work-main img{width:100%;aspect-ratio:1.44;object-fit:cover;object-position:top}
.hero-work-back{left:7%;top:199px;width:46%;z-index:1;transform:translateY(calc(var(--hero-progress)*-18px)) rotate(-12deg)}
.hero-work-back img{width:100%;aspect-ratio:1.5;object-fit:cover;object-position:top}
.hero-work-sub{width:43%;top:201px;right:5%;z-index:3;transform:translateY(calc(var(--hero-progress)*-60px)) rotate(9deg)}
.hero-work-sub img{width:100%;aspect-ratio:1.33;object-fit:cover;object-position:top}
.hero-seal{position:absolute;left:11px;top:145px;z-index:4;width:87px;height:87px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--accent);color:#fff;font:600 14px/1.6 var(--serif);transform:rotate(-12deg)}
.hero-seal>span{font:500 8px/1.7 var(--display);letter-spacing:.04em;margin-top:3px}
.hero-art figcaption{position:absolute;z-index:5;bottom:0;left:0;right:0;font-size:10px;line-height:1.6;color:#e1dfd6;background:#242522;border:0;padding:10px 20px}
.hero-art figcaption br{display:none}
.hero-bottom{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px;padding:13px 20px;border-bottom:1px solid var(--line);font-size:11px;margin-top:0}
.hero-bottom>span{font-size:11px}.hero-bottom>a{display:none}.motion-toggle{min-height:44px;border:0;background:none;font-size:11px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.motion-toggle:disabled{color:var(--muted);cursor:default;text-decoration:none}
.kinetic-band{overflow:hidden;padding:14px 0 22px;border-bottom:1px solid var(--line);--type-x:0px}
.kinetic-type{font:600 21vw/.9 var(--display);letter-spacing:-.065em;white-space:nowrap;transform:translateX(var(--type-x));padding-left:18px;will-change:transform}.type-dot{color:var(--accent)}
.toc{background:var(--paper);border-color:var(--line)}
.sec{padding-block:66px}.section-label{font-size:12px;letter-spacing:.04em}.section-label::before{background:var(--accent);width:28px}
h2{font-size:clamp(27px,6.8vw,38px);line-height:1.65;letter-spacing:-.035em}.section-heading .lead,.lead{font-size:14px;line-height:1.95}
.text-mark{background:none;color:var(--accent)}
#sample{background:var(--paper)}.sample-display,.sample-assurance,.plan,.service-card,.compare-block,.compare-card,.before-contract,.after-contract,.booking-panel{border-radius:2px}
.sample-tag{background:#e9e5dc;color:var(--ink)}.sample-facts strong{font-family:var(--display);color:var(--accent)}
.sample-preview-card{border-radius:0}.sample-assurance{background:#ebe7df}.check-ring{background:var(--ink);color:#fff}
#price{background:#eae6de}.plan{background:#f9f7f2}.plan.featured{border-color:var(--accent)}.plan.featured::before{background:var(--accent);color:white}.plan.featured .plan-summary{background:#f1e2d9}.plan-name{font-family:var(--display);letter-spacing:.1em}.price-start strong{font-family:var(--display);color:var(--accent)}
.plan-price b{font-family:var(--display)}.plan-common>p>span{color:var(--accent)}.plan-common strong{font-weight:500}
#included{background:var(--paper)}.service-figure{background:#e8e5dd}.service-copy h3{font-family:var(--serif)}
#quality{background:#242522;color:#f5f2eb}.quality-portfolio{gap:28px 20px}.portfolio-item{border-radius:0;color:#f5f2eb}.portfolio-item .portfolio-img{overflow:hidden}.portfolio-item img{border-radius:0;transition:transform .85s var(--ease)}.portfolio-item:hover img{transform:scale(1.025)}
#quality .lead{color:#cccac0}#quality .section-label{color:#dedbd1}#quality .portfolio-meta{color:#f5f2eb}#quality .portfolio-meta small{color:#cccac0}.portfolio-item .portfolio-meta>span{border-color:#888980}
.compare-block{background:#f5f2eb;color:var(--ink);margin-top:60px}.compare-card .is-us{background:#f0e1d7}.compare-card .is-us dt,.compare-card .is-us dd{color:var(--ink)}.compare-heading h3{font-family:var(--serif)}
#flow{background:var(--paper)}.before-contract{background:#eeebe2;border-color:var(--line)}.before-contract>.phase-label{background:var(--paper);color:var(--ink)}.step .no{color:var(--accent)}.step-visual{border-radius:0;background:#e4e1d7}.decision-note{background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step::before{background:var(--line)}.step::after{background:var(--paper);border-color:var(--ink)}
#faq{background:#eeebe4}.booking-section{background:#242522}.booking-section .reserve-submit{background:var(--accent);border-color:var(--accent);color:white}.booking-section .reserve-submit:hover:not(:disabled){background:#a62f1d}.reserve-progress [aria-current=step]{color:var(--accent)}
footer{background:var(--paper)}footer .co{font-family:var(--serif)}
/* Readable body copy and conditions at narrow widths. Small labels are deliberately secondary. */
.note,.tiny,.sample-caption,.compare-note,.price-extra-note,.price-conditions p,.page-count-note,.price-more,.comparison-details,.comparison-details .note{font-size:13px}
.sample-annotations p,.service-copy p,.step p,.faq .a,.after-contract p:not(.phase-label),.booking-small{font-size:14px;line-height:1.9}
.sample-facts dt,.sample-facts dd,.sample-display-head,.sample-tag,.plan-meta .plan-name,.plan-meta .plan-pages,.plan-costs dt,.plan-costs dd,.sample-assurance p,.sample-assurance>a,.decision-note p,.step-time{font-size:12px}
.faq summary{font-size:15px;min-height:64px}.compare-card dt{font-size:11px}.compare-card dt small{font-size:10px}.compare-card dd{font-size:13px}.compare-card dd>span{font-size:12px}.comparison-details summary{font-size:13px;min-height:44px;padding-block:12px}.reserve-privacy{font-size:12px}.reserve-progress{font-size:12px}footer .links a{font-size:12px;min-height:44px;display:inline-flex;align-items:center}footer dl{font-size:12px}footer .copy{font-size:11px}.preview-close{min-width:44px;min-height:44px}
@media(min-width:768px){
 .fv-in{padding:64px 5vw 38px;display:grid;grid-template-columns:1fr 1fr;gap:3vw;align-items:center;min-height:710px}
 .fv-cat{font-size:12px;margin-bottom:28px}.fv h1{font-size:clamp(27px,2.7vw,43px);line-height:1.65;margin-bottom:26px}.fv h1 .headline-key{font-size:clamp(36px,4.1vw,66px)}
 .fv-lead{font-size:15px;margin-bottom:24px}.fv-price{font-size:13px}.fv-price strong{font-size:38px}.fv-price>span:first-child strong{font-size:28px}.fv .btn{width:340px}.fv-trust{max-width:340px}
 .hero-art{height:540px;margin:0 -5vw 0 0}.hero-art-top{left:28px;right:28px;font-size:10px;top:25px}.hero-art-word{left:26px;top:60px;font-size:clamp(62px,6vw,94px)}
 .hero-work-main{width:78%;left:17%;top:100px}.hero-work-back{left:4%;top:315px;width:50%}.hero-work-sub{right:5%;top:302px;width:43%}.hero-seal{left:3%;top:234px;width:112px;height:112px;font-size:18px}.hero-seal>span{font-size:10px}.hero-art figcaption{padding:12px 28px;font-size:11px}.hero-art figcaption br{display:block}
 .hero-work .browser-bar{height:22px}.hero-work .browser-bar span{font-size:9px}
 .hero-bottom{grid-template-columns:1fr 1fr auto;padding:8px 5vw}.hero-bottom>span{font-size:12px}.hero-bottom>a{display:flex;align-items:center;justify-self:center;gap:28px;min-height:44px;font:500 11px var(--display);letter-spacing:.1em;text-decoration:none}.hero-bottom>a span{font-size:18px}.motion-toggle{font-size:12px}
 .kinetic-band{padding:14px 0 26px}.kinetic-type{font-size:17.5vw;padding-left:4.5vw}
 .sec{padding-block:100px}.wrap{max-width:1360px;padding-inline:5vw}h2{font-size:clamp(32px,3.1vw,46px)}.section-heading{margin-bottom:44px}.section-heading .lead{font-size:15px}
 .sample-annotations p,.service-copy p,.step p,.faq .a{font-size:15px}.sample-facts dd{font-size:14px}.plan-meta .plan-name,.plan-meta .plan-pages,.plan-costs dt,.plan-costs dd{font-size:13px}
 .quality-portfolio .portfolio-item:first-child{grid-column:span 2}.quality-portfolio .portfolio-item:first-child img{aspect-ratio:1.6;object-fit:cover;object-position:top}.quality-portfolio{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.compare-block{margin-top:90px}.compare-card dt{font-size:13px}.compare-card dd{font-size:17px}
}
@media(min-width:1200px){.fv-in{min-height:780px;padding-top:64px;padding-bottom:54px;grid-template-columns:1.05fr 1.2fr;gap:4vw}.hero-art{height:620px}.hero-work-main{top:110px}.hero-work-sub{top:351px}.hero-work-back{top:366px}.hero-seal{top:280px;width:128px;height:128px;font-size:20px}.hero-art-word{font-size:94px}.fv h1{font-size:clamp(35px,2.8vw,45px)}.fv h1 .headline-key{font-size:clamp(50px,4.25vw,68px)}}
@media(max-width:359px){.fv-in{padding-inline:16px}.hero-art{margin-inline:-16px;height:330px}.hero-art-word{font-size:43px}.hero-work-back,.hero-work-sub{top:184px}.hero-seal{width:74px;height:74px;top:135px;font-size:12px}.hero-art figcaption{font-size:9px}.hero-bottom{padding-inline:16px}.hero-bottom>span{font-size:10px}.motion-toggle{font-size:10px}.fv-price{gap:8px;font-size:11px}.fv-price small{font-size:10px}.sample-facts dd{font-size:11px}}
@media(max-width:767px){
 .fv-in{gap:0;padding-top:28px}.fv-copy{display:contents}.fv-cat{order:1;margin-bottom:16px}.fv h1{order:2;margin-bottom:24px}.hero-art{order:3;margin-bottom:22px;align-self:stretch}.fv-lead{order:4;margin-bottom:14px}.fv-price{order:5;margin-bottom:14px}.fv .btn{order:6;max-width:none}.fv-trust{order:7;max-width:none}.fv-jump{order:8;align-self:start;margin-bottom:18px}
 .hero-art-top{font-size:9px}.hero-art-top>span:last-child{font-size:9px}.hero-art figcaption{font-size:10px}.sample-facts{grid-template-columns:1fr;gap:0}.sample-facts>div,.sample-facts>div:nth-child(2){padding:14px 0;border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.sample-facts>div:last-child{border-bottom:0}.sample-facts dt{font-size:12px}.sample-facts dd{font-size:13px;text-align:right}.sample-facts dd strong{font-size:28px}
}
@media(prefers-reduced-motion:no-preference){
 .motion-ready:not(.motion-off) .headline-line>span{animation:type-arrive 1s var(--ease) both}.motion-ready:not(.motion-off) .headline-key>span{animation-delay:.13s}
 .motion-ready:not(.motion-off) .hero-art-word{animation:word-arrive 1.2s var(--ease) both}
}
@keyframes type-arrive{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes word-arrive{from{opacity:.2;translate:0 24px}to{opacity:1;translate:0 0}}
.motion-off .hero-work,.motion-off .kinetic-type{will-change:auto}.motion-off .hero-work-main{transform:rotate(-7deg)}.motion-off .hero-work-back{transform:rotate(-12deg)}.motion-off .hero-work-sub{transform:rotate(9deg)}.motion-off .kinetic-type{transform:none}.motion-off *{animation:none!important;transition:none!important}.motion-off{scroll-behavior:auto}
.sample-assurance>a,.plan-common a{min-height:44px;display:inline-flex;align-items:center}
#quality>.wrap>.note,#quality .works-more>summary{color:#cccac0}
.portfolio-image{border-radius:0}.value-strip{background:#e9e5db;border-radius:0}.booking-kicker,.booking-small,.booking-lead,.booking-points>span{color:#dedbd1}
.plan-meta{flex-wrap:wrap;row-gap:5px}.plan-meta .plan-name,.plan-meta .plan-pages{white-space:nowrap;flex-shrink:0}
.hero-bottom{display:flex;justify-content:flex-end;padding-block:0;border-bottom:0}.hero-art-top{font-family:var(--sans);font-size:11px;letter-spacing:.08em}
/* One dominant work, one supporting work; motion belongs to the Japanese headline. */
.hero-art{height:340px}.hero-work-main{left:5%;top:48px;width:90%;transform:translateY(calc(var(--hero-progress)*-24px)) rotate(-2deg)}
.hero-work-sub{width:34%;top:222px;right:4%;transform:translateY(calc(var(--hero-progress)*-40px)) rotate(4deg)}
.fv h1 .headline-key{font-size:clamp(30px,9.8vw,48px)}.headline-key>span{translate:calc(var(--hero-progress)*12px) 0}
.motion-off .headline-key>span{translate:none}.motion-off .hero-work-main{transform:rotate(-2deg)}.motion-off .hero-work-sub{transform:rotate(4deg)}
.compare-block{padding:0}.compare-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:20px 22px;list-style:none;cursor:pointer;font-size:15px;font-weight:500}
.compare-toggle::-webkit-details-marker{display:none}.compare-toggle>span:last-child{font-size:24px;font-weight:400;transition:transform .25s var(--ease)}.compare-block[open]>.compare-toggle{border-bottom:1px solid var(--line)}.compare-block[open]>.compare-toggle>span:last-child{transform:rotate(45deg)}.compare-body{padding:28px 18px}
@media(min-width:768px){.hero-art{height:540px}.hero-work-main{left:5%;top:66px;width:90%}.hero-work-sub{top:370px;width:34%}.fv h1 .headline-key{font-size:clamp(36px,4.6vw,74px)}.compare-toggle{font-size:18px;padding:24px 32px}.compare-body{padding:36px 32px}}
@media(min-width:1200px){.hero-art{height:620px}.hero-work-sub{top:390px}}
@media(max-width:359px){.hero-art{height:300px}.hero-work-sub{top:200px}.fv h1 .headline-key{font-size:30px}.compare-toggle{font-size:14px;padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.hero-work{will-change:auto}.headline-key>span{translate:none}.hero-work-main{transform:rotate(-2deg)}.hero-work-sub{transform:rotate(4deg)}}
