*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#f7f5f0;color:#292c29;font:14px/1.8 'Yu Gothic',Meiryo,sans-serif}button,input,textarea{font:inherit}button,a,input{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:transparent;border:1px solid #d0cec5;border-radius:3px;padding:9px 15px}button:hover{background:#eeece5}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #347856;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:400}h1{font-size:clamp(32px,3.5vw,58px);line-height:1.65;letter-spacing:.08em}h2{font-size:clamp(25px,2.5vw,37px);letter-spacing:.06em}p{margin:12px 0}.trial{background:#343b35;color:#eeeee6;text-align:center;font-size:10px;letter-spacing:.2em;padding:5px}.logo{font:32px Georgia,serif;letter-spacing:.28em}.logo small{display:block;font:8px sans-serif;letter-spacing:.25em;margin-top:8px}header{max-width:1400px;margin:auto;padding:27px 5%;display:flex;justify-content:space-between;align-items:center}nav{display:flex;gap:30px;font-size:12px}.hero{position:relative;max-width:1500px;margin:auto;min-height:580px;display:flex;align-items:center;overflow:hidden}.hero-copy{position:relative;z-index:1;padding:60px 7%;width:60%;background:linear-gradient(90deg,#f7f5f0 60%,transparent)}.hero img{position:absolute;width:83%;right:-26%;top:125px;transform:rotate(-20deg);mix-blend-mode:multiply}.eyebrow{font:10px Georgia,serif;letter-spacing:.25em;color:#858478}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:16px 26px;border-radius:3px;font-size:13px}.dark{background:#303b33;color:white;border:0}.hero .button{margin-top:22px}.section-head{text-align:center;margin-bottom:40px}.section-head h2{margin:12px 0}.section-head p{color:#74776d}.custom{padding:65px 4%;border-top:1px solid #e3e0d7;max-width:1500px;margin:auto}.workspace{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:start}.preview{position:sticky;top:20px;background:#eeece5;border:1px solid #e2ded3;padding:22px;text-align:center}.preview-top{display:flex;justify-content:space-between;align-items:center;font-size:11px}.preview-top button{font-size:10px;border:0}canvas{display:block;width:100%;height:auto;margin:10px 0}#summary{font-size:12px;line-height:2}#calibration{color:#776647}.note{font-size:11px;color:#77786f;line-height:1.8}.preview-actions{display:flex;gap:10px;margin:22px 0 10px}.preview-actions button{flex:1;background:#f7f5f0}.line{background:#248d51;color:white;border:0}.line:hover{background:#1b7441}.preview>.line{width:100%}#status{font-size:11px;min-height:20px}.controls section{padding:0 0 23px;margin-bottom:23px;border-bottom:1px solid #dcd8cf}h3{font-size:20px;margin:0 0 15px}h3 em{font:25px Georgia,serif;margin-right:12px}h3 small{font:10px sans-serif;color:#777;margin-left:10px}.arrows{display:flex;justify-content:space-between;align-items:center;margin:0 0 9px}.arrows span{font-size:10px;color:#888}.arrows button{padding:2px 12px}.strip{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 12px;scroll-snap-type:x mandatory}.choice{position:relative;flex:0 0 155px;padding:9px 8px;text-align:center;scroll-snap-align:start;background:#f0eee8}.choice img{width:100%;height:65px;object-fit:contain;display:block;margin-bottom:8px}.choice span{display:block;font-size:12px}.choice small{font-size:10px;color:#777}.choice[aria-pressed=true],.color[aria-pressed=true]{border:1px solid #303b33;box-shadow:0 0 0 1px #303b33}.choice[aria-pressed=true]:after{content:'✓';position:absolute;right:5px;top:2px;font-size:12px}.screws{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.screws .choice{padding:10px 4px;min-width:0}.screws img{height:46px;max-width:54px;margin:0 auto 8px}.size-row{display:flex;align-items:center;gap:15px}.size-row input{width:100px;text-align:center;font:28px Georgia,serif;padding:8px;background:#fffdf9;border:1px solid #ccc}.size-row button{font-size:22px;padding:3px 15px}.colors{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.color{padding:8px 3px;border-color:transparent;font-size:10px}.swatch{display:block;width:40px;height:40px;border-radius:50%;margin:0 auto 7px;box-shadow:inset 0 0 5px #0003;background:radial-gradient(circle at 30% 20%,#fff,#a5a5a7 45%,#e7e7e8 70%,#777)}.quality{background:#29332d;color:#fff;display:flex;position:relative;overflow:hidden;padding:65px 9%;min-height:360px;align-items:center}.quality>div{z-index:1}.quality img{position:absolute;width:60%;right:-5%;transform:rotate(-17deg)}.quality h2{line-height:1.7;margin:12px 0}.quality p{font-size:13px;color:#d8ddd6}.flow{padding:75px 8%}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;max-width:1200px;margin:auto}.steps em{font:30px Georgia,serif;color:#909589}.steps h3{font-size:19px;margin:10px 0}.steps p{font-size:12px;color:#6c7169}.price{text-align:center;border-block:1px solid #d9d7ce;padding:22px;margin-top:40px;font-size:12px}.price strong{font:24px Georgia,serif;margin:0 15px}.price span{display:block;color:#777;font-size:11px}.closing{text-align:center;padding:35px 20px 80px}.closing p{color:#777;margin-bottom:24px}footer{padding:30px 7%;border-top:1px solid #ddd;display:flex;gap:30px;align-items:center;font-size:11px}footer small{margin-left:auto;color:#888}dialog{border:1px solid #ccc;background:#f7f5f0;max-width:520px;width:90%;padding:32px}dialog::backdrop{background:#16221abb}#close{float:right}textarea{width:100%;height:175px;padding:12px;border:1px solid #ccc;margin:12px 0}dialog .button{margin-top:10px}#copyDialog{margin-right:10px}@media(max-width:850px){header{padding:20px 6%}nav a:last-child{display:none}.hero{min-height:550px;align-items:flex-start}.hero-copy{width:100%;padding:35px 7%;background:none}.hero img{width:105%;right:-20%;top:330px;transform:rotate(-15deg)}h1{font-size:34px;margin:15px 0}.hero-copy p{font-size:12px}.workspace{grid-template-columns:1fr;gap:30px}.preview{position:static;padding:15px}.custom{padding:45px 5%}.quality{padding:40px 7%;min-height:430px;align-items:flex-start}.quality img{width:100%;bottom:30px;right:-15%;transform:rotate(-15deg)}.steps{grid-template-columns:1fr 1fr;gap:25px}.flow{padding:50px 7%}.closing h2{font-size:23px}footer{flex-wrap:wrap}footer small{width:100%;margin:0}.choice{flex-basis:145px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.workspace{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.controls,.preview,.controls section{min-width:0}@media(max-width:850px){.workspace{grid-template-columns:minmax(0,1fr)}}

/* Full product view and legible price typography. */
.hero{display:grid;grid-template-columns:1fr 1.1fr;min-height:480px;padding:20px 5% 45px;gap:24px;overflow:visible}
.hero-copy{width:auto;padding:35px 0;background:none}
.hero img{position:static;width:100%;height:auto;max-width:100%;transform:none;object-fit:contain;mix-blend-mode:multiply}
.price strong{font-family:'Yu Gothic',Meiryo,sans-serif;font-size:26px;font-weight:600;line-height:1.6;letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:850px){.hero{grid-template-columns:minmax(0,1fr);min-height:0;padding:0 7% 40px;gap:12px}.hero-copy{padding:25px 0 0;width:auto}.hero img{position:static;width:100%;transform:none}.price strong{display:inline-block;font-size:24px;margin:0 8px}}

/* Restore the original enlarged hero composition. */
.hero{display:flex;min-height:580px;padding:0;gap:normal;overflow:hidden}.hero-copy{padding:60px 7%;width:60%;background:linear-gradient(90deg,#f7f5f0 60%,transparent)}.hero img{position:absolute;width:83%;max-width:none;right:-26%;top:125px;transform:rotate(-20deg)}
@media(max-width:850px){.hero{min-height:550px;align-items:flex-start;padding:0;gap:normal}.hero-copy{width:100%;padding:35px 7%;background:none}.hero img{position:absolute;width:105%;right:-20%;top:330px;transform:rotate(-15deg)}}

/* Consistent numeric type for inch input. */
.size-row input{font-family:'Yu Gothic',Meiryo,sans-serif;font-size:28px;font-weight:500;font-style:normal;line-height:1.4;letter-spacing:.02em;font-variant-numeric:tabular-nums;min-height:56px;padding:8px 10px}.size-row button{font-family:'Yu Gothic',Meiryo,sans-serif;line-height:1.4}

.blade-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-bottom:15px}.blade-heading h3{margin:0;white-space:nowrap}.blade-heading .note{margin:0;flex:1;min-width:150px;text-align:right;font-size:10px}.controls .note a,.custom-service-note a{text-decoration:underline;text-underline-offset:3px}.custom-service-note{font-size:12px;line-height:1.9;padding:0 0 15px;color:#62675e}.custom-service-note p{margin:8px 0}

/* Mobile layout and touch controls, v1.1.0. Desktop hero crop is intentional. */
.keep{display:inline-block}.mobile-preview{display:none}
@media(max-width:850px){
 html{scroll-padding-top:155px}header{gap:12px}.logo{font-size:28px}nav{gap:12px}
 .hero{min-height:520px}.hero-copy{padding:25px 6%}.hero h1{font-size:clamp(24px,6.8vw,34px);letter-spacing:.03em;line-height:1.7}.hero img{top:305px}
 .section-head h2{font-size:clamp(22px,5.8vw,30px);line-height:1.65;letter-spacing:.02em}.custom{padding:35px 5%}
 .arrows button,.size-row button{min-width:44px;min-height:44px}.preview-top button{min-height:44px}button{min-height:44px}
 .note{font-size:12px}.blade-heading .note{font-size:11px;text-align:left}.color{font-size:12px}.colors{gap:8px 4px}.size-row{gap:12px}
 .mobile-preview:not([hidden]){display:flex;position:fixed;z-index:20;top:0;left:0;right:0;align-items:center;gap:8px;padding:6px 12px;background:#eeece5f7;box-shadow:0 3px 12px #0002;min-height:112px}
 .mobile-preview canvas{width:56%;margin:0;min-width:0}.mobile-preview>div{flex:1;min-width:0}.mobile-preview p{font-size:10px;line-height:1.5;margin:0 0 4px}.mobile-preview button{font-size:12px;width:100%;padding:6px}
 dialog{padding:22px 18px;max-height:calc(100dvh - 32px);overflow:auto}dialog h2{font-size:22px;letter-spacing:0;clear:both;margin:12px 0}#close{min-width:44px}textarea{font-size:16px;height:160px}dialog .button,#copyDialog{width:100%;margin:6px 0}
 .quality h2{font-size:25px}.steps h3{font-size:17px}.closing h2{font-size:21px;letter-spacing:0}footer a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:380px){.hero{min-height:490px}.hero img{top:300px}.hero-copy p{font-size:11px}.size-row{gap:9px}.mobile-preview{padding-inline:8px}.steps{gap:18px}}
@media(max-height:500px){.mobile-preview:not([hidden]){display:none}}
