:root{--ink:#171717;--accent:#151515;--paper:#ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(1240px,90%);margin:auto}.demo{background:var(--ink);color:#e5e5e5;padding:8px 15px;text-align:center;font-size:11px;letter-spacing:.08em}header{display:flex;align-items:center;justify-content:space-between;padding:28px 0}.brand{font-size:30px;font-weight:900;letter-spacing:-1.5px;line-height:1}.brand>span{color:var(--accent);margin-left:4px}.brand small{display:block;letter-spacing:.16em;font-size:9px;margin-top:9px;font-weight:500}nav{display:flex;align-items:center;gap:32px;font-size:14px}.nav-button{border:1px solid var(--ink);padding:12px 20px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:55px;padding:55px 0 80px}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700;margin:0 0 26px}h1{font-size:clamp(46px,5.6vw,82px);line-height:.99;letter-spacing:-.065em;margin:0 0 28px;font-weight:900}em{font-style:normal;color:var(--accent)}.intro{font-size:18px;color:#555;line-height:1.7}.button{display:inline-flex;justify-content:space-between;gap:35px;background:var(--accent);color:#fff;border:0;padding:17px 24px;font-size:15px;font-family:inherit;font-weight:700;cursor:pointer}.button:hover{background:#3a3a3a}.hero .button{margin-top:15px}.location{border-left:2px solid var(--accent);padding-left:15px;font-size:13px;line-height:1.6;margin-top:35px;color:#626262}.hero-visual{position:relative;padding:0 25px 20px 0}.frame{height:530px;background:#d1d1d1}.frame img{width:100%;height:100%;object-fit:cover}.vertical{position:absolute;right:0;top:0;writing-mode:vertical-rl;letter-spacing:.17em;font-size:10px}.stamp{position:absolute;bottom:0;left:-28px;background:var(--accent);padding:23px 30px;color:white;font-size:33px;font-weight:900;line-height:.9;transform:rotate(-5deg);letter-spacing:-1px}.stamp span{display:block;letter-spacing:.12em;font-size:9px;margin-top:12px;font-weight:400}.strap{display:flex;justify-content:space-around;gap:25px;background:var(--accent);color:white;padding:18px 4%;font-size:18px;font-weight:800;letter-spacing:-.03em}.section{padding-top:95px;padding-bottom:95px}.services{display:grid;grid-template-columns:.8fr 1.6fr;gap:75px}h2{font-size:clamp(42px,4.5vw,62px);line-height:1.02;letter-spacing:-.05em;margin:0 0 25px}.aside{color:#636363}.menu article{display:grid;grid-template-columns:25px 1fr 100px;align-items:center;gap:20px;border-top:1px solid #b8b8b8;padding:27px 0}.number{font-size:12px;color:var(--accent);align-self:start;padding-top:6px}h3{font-size:24px;letter-spacing:-.035em;line-height:1.2;margin:0 0 10px;font-weight:600}.menu p{margin:0;font-size:14px;color:#616161}.menu strong{font-size:29px;text-align:right;line-height:1.3}.menu strong span{display:block;font-size:11px;font-weight:400;color:#616161}.menu .price-note{font-size:12px;margin-top:18px}.portfolio{background:var(--ink);color:var(--paper);padding:80px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.section-heading>p{font-size:15px;color:#c2c2c2}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}figure{margin:0}.gallery img{width:100%;height:530px;object-fit:cover;background:#303030}.gallery figcaption{font-size:11px;letter-spacing:.15em;margin-top:13px;color:#b9b9b9}.visit{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.address{color:#555}.booking{background:white;border:1px solid #dddddd;padding:40px}.booking .eyebrow{color:var(--accent);font-size:10px}.booking>p:not(.eyebrow){color:#666}.booking .button{width:100%;margin-top:10px}.booking .note{font-size:12px}.booking #notice{font-size:14px;border-left:2px solid var(--accent);padding-left:15px}footer{padding:35px 0;border-top:1px solid #ccc;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{font-size:12px;color:#666}@media(max-width:900px){.hero{gap:30px}.frame{height:460px}.services,.visit{gap:40px}.gallery img{height:420px}.menu article{grid-template-columns:20px 1fr 75px;gap:12px}}@media(max-width:620px){.demo{font-size:9px}nav>a:not(.nav-button){display:none}.nav-button{font-size:12px;padding:10px 12px}.brand{font-size:26px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:50px;gap:35px}h1{font-size:clamp(45px,12vw,69px)}.hero-visual{padding-left:15px}.frame{height:440px}.stamp{left:0;padding:20px}.strap{font-size:11px;gap:10px}.section{padding-top:60px;padding-bottom:60px}.services,.visit{grid-template-columns:1fr;gap:25px}h2{font-size:47px}.menu h3{font-size:19px}.menu strong{font-size:25px}.portfolio{padding:55px 0}.section-heading{display:block}.gallery{gap:18px}.gallery img{height:270px}.booking{padding:27px}footer{flex-wrap:wrap;gap:18px}footer p{margin:0}footer p:last-child{width:100%}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Monochrome brand finish */
h1 em,h2 em{color:#737373}.brand>span{color:#737373}.stamp{transform:none;border:1px solid #ffffff55}.nav-button:hover{background:#171717;color:#fff}

/* Prevent native image dragging without disabling other interactions. */
img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
