@font-face{font-family:Sora;src:url('assets/sora.ttf') format('truetype');font-weight:100 800;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--paper:#f0f1eb;--mineral:#dce4d8;--ink:#233d32;--muted:#4e6054;--accent:#b43e26;--line:#b7c2b1;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Manrope,Arial,sans-serif}::selection{background:var(--accent);color:white}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}figure,p,h1,h2,h3{margin:0}img{display:block;max-width:100%}h1,h2,h3{font-family:Sora,Arial,sans-serif;font-weight:400;letter-spacing:-.04em;line-height:1.12;text-wrap:balance}svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.5;fill:none;flex-shrink:0}.demo{background:var(--ink);color:var(--paper);font-size:12px;text-align:center;line-height:1.5;padding:8px 20px}.skip{position:absolute;top:-100px;left:16px;padding:12px 20px;background:white;z-index:20}.skip:focus{top:52px}.header{padding:24px 48px;display:flex;justify-content:space-between;align-items:center;gap:32px;background:var(--mineral)}.brand{display:inline-flex;align-items:center;gap:16px;flex-shrink:0}.wordmark{font:600 48px/1 Sora,Arial,sans-serif;letter-spacing:-.04em}.brand-dot{color:var(--accent)}.brand-description{font-size:12px;line-height:1.45;border-left:1px solid var(--line);padding-left:16px}.header nav{display:flex;gap:32px;font-size:14px}.header nav a{padding:12px 0}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}.header-contact{font-size:14px;display:flex;align-items:center;gap:32px;min-height:48px;border-bottom:1px solid var(--ink)}.header-contact:hover{color:var(--accent)}.hero{background:var(--mineral);padding:32px 48px 0}.hero-intro{display:grid;grid-template-columns:1.7fr 1fr;align-items:end;gap:64px;padding-bottom:56px}h1{font-size:clamp(64px,7.6vw,110px);line-height:1.08;letter-spacing:-.04em}.prumo-line{position:relative}.prumo-line:after{content:"";position:absolute;height:3px;background:var(--accent);bottom:-7px;left:0;width:100%}.hero-description{padding-bottom:5px;max-width:360px;justify-self:end}.hero-description>p{font-size:22px;line-height:1.55}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:14px;font-weight:600;min-height:48px}.text-link:hover{color:var(--accent)}.hero-description .text-link{margin-top:24px}.photo-window{overflow:hidden;aspect-ratio:16/9;background:var(--ink)}.photo-window img{width:100%;height:100%;object-fit:cover;transform-origin:29% 30%;transition:transform .8s var(--ease)}.photo-window.is-detail img{transform:scale(1.65)}.project-photo figcaption{padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}.project-photo figcaption strong{display:block;font-size:16px;font-weight:600}.project-photo figcaption span{display:block;font-size:12px;margin-top:4px;color:var(--muted)}.photo-controls{display:flex;gap:4px;border:1px solid #a0b199;padding:4px;flex-shrink:0}.photo-controls button{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 18px;border:0;background:transparent;color:var(--ink);font-size:13px;transition:background .2s,color .2s}.photo-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.photo-controls button:hover:not([aria-pressed=true]){background:#c5d2bf}.photo-controls svg{width:18px;height:18px}.service-area{display:flex;align-items:center;gap:32px;justify-content:space-between;padding:20px 0 28px;border-top:1px solid #a0b199;font-size:13px}.service-area span:nth-child(2){margin-right:auto}.service-area a{height:44px;width:44px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%}.section{padding:112px 48px}.look-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:64px}h2{font-size:56px}.look-heading>p{max-width:360px;color:var(--muted)}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:112px;align-items:center}.detail-image img{width:100%;height:540px;object-fit:cover;object-position:19% 50%;aspect-ratio:1.1}.detail-image figcaption{font-size:12px;margin-top:14px;color:var(--muted)}.detail-story{max-width:440px}.joinery-mark{display:grid;grid-template-columns:2fr 1fr 1.4fr;height:84px;border:1px solid var(--line);margin-bottom:40px}.joinery-mark span{border-right:1px solid var(--line)}.joinery-mark span:last-child{border:0}.joinery-mark span:nth-child(2){border-top:28px solid var(--mineral)}.detail-story h3{font-size:40px;margin-bottom:24px}.detail-story p{color:var(--muted);margin-top:16px}.detail-story .text-link{margin-top:24px}.rooms{display:grid;grid-template-columns:.85fr 1.3fr;gap:96px;background:#e7e6dc;border-top:1px solid var(--line)}.rooms-intro>p{margin-top:32px;color:var(--muted)}.room-list{border-top:1px solid #9ea998}.room-list a{display:flex;align-items:center;gap:24px;padding:20px 0;min-height:92px;border-bottom:1px solid #aeb7a6;transition:color .2s,background .2s,padding .2s var(--ease)}.room-list a>span{font-family:Sora;font-size:30px;letter-spacing:-.04em;line-height:1.3}.room-list small{font-size:12px;max-width:120px;line-height:1.5;margin-left:auto}.room-list svg{margin-left:auto}.room-list a:hover{color:var(--accent);padding-left:16px;background:#e0dfd1}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:112px;background:var(--ink);color:var(--paper)}.contact h2{font-size:66px}.contact-intro>p{margin-top:32px;color:#cdd7ca}.contact-number{margin-top:64px;padding-top:28px;border-top:1px solid #647c69}.contact-number a{display:block;font-family:Sora;font-size:24px;min-height:48px;width:fit-content}.contact-number span{font-size:13px;color:#cdd7ca}.project-form{border-top:1px solid #647c69;padding-top:28px}.project-form h3{font-size:32px;letter-spacing:-.035em}.project-form>p{font-size:14px;color:#cdd7ca;margin-top:12px}.project-form label{display:block;font-size:14px;margin:28px 0 10px}.project-form label span{color:#cdd7ca;font-size:12px}.project-form select,.project-form textarea{display:block;width:100%;background:#f0f1eb;color:var(--ink);border:1px solid #f0f1eb;border-radius:0;padding:14px 16px;font-size:16px;line-height:1.5;box-shadow:none}.project-form select{min-height:56px;cursor:pointer}.project-form textarea{resize:vertical;min-height:128px;max-height:300px}.project-form textarea::placeholder{color:#5f6a5e}.button{background:var(--accent);color:white;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;min-height:60px;font-size:14px;font-weight:600;transition:background .2s}.project-form .button{margin-top:24px}.button:hover{background:#92311f}.project-form .form-note{font-size:12px;margin-top:16px;line-height:1.6}.contact a:focus-visible,.contact select:focus-visible,.contact textarea:focus-visible{outline-color:#f2b398}.location{display:flex;justify-content:space-between;gap:80px;align-items:center}.location h2{font-size:52px}.location-main>p{margin-top:24px;color:var(--muted)}address{font-style:normal;font-size:14px;line-height:1.8;margin-top:24px}.location .text-link{margin-top:16px}.location-main>.visit-note{font-size:12px;margin-top:8px;max-width:420px}.rating{padding:0 0 0 56px;border-left:1px solid var(--line);min-width:320px}.rating strong{font-family:Sora;font-size:90px;font-weight:400;letter-spacing:-.04em;line-height:1.1}.rating strong span{font-family:Manrope;font-size:20px;letter-spacing:0;margin-left:10px}.rating>p{font-size:16px;margin-top:16px}.rating small{display:block;font-size:12px;margin-top:4px;color:var(--muted)}footer{padding:40px 48px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--mineral);border-top:1px solid var(--line)}footer p,footer>a:not(.brand){font-size:13px}footer>a:not(.brand){display:flex;align-items:center;gap:16px;min-height:44px}
@media(min-width:1600px){.header,.hero,.section,footer{padding-left:max(48px,calc((100vw - 1440px)/2));padding-right:max(48px,calc((100vw - 1440px)/2))}}
@media(max-width:1050px){.header,.hero{padding-left:32px;padding-right:32px}.header nav{gap:20px}.hero-intro{gap:40px;grid-template-columns:1.5fr 1fr}.hero-description>p{font-size:18px}.section{padding:88px 32px}.detail-layout{gap:56px}.detail-story h3{font-size:32px}.rooms{gap:48px}.room-list a>span{font-size:26px}.contact{gap:56px}.contact h2{font-size:54px}.location{gap:48px}.rating{min-width:260px;padding-left:32px}h2{font-size:48px}footer{padding:40px 32px}}
@media(max-width:700px){.demo{font-size:12px;padding:8px 16px}.header{padding:24px 20px;gap:16px}.wordmark{font-size:36px}.brand{gap:10px}.brand-description{padding-left:10px;font-size:10px}.header nav{display:none}.header-contact{font-size:12px;gap:8px;line-height:1.4;max-width:112px}.header-contact svg{width:20px;height:20px}.hero{padding:20px 20px 0}.hero-intro{display:block;padding-bottom:36px}h1{font-size:58px;line-height:1.1;letter-spacing:-.04em}.prumo-line:after{height:2px;bottom:-5px}.hero-description{margin-top:36px;max-width:none}.hero-description>p{font-size:18px;line-height:1.6}.hero-description .text-link{margin-top:16px;font-size:13px;gap:20px}.photo-window{aspect-ratio:16/9}.photo-window img{object-position:52% center}.photo-window.is-detail img{transform:scale(1.5);transform-origin:35% 30%}.project-photo figcaption{display:block;padding:18px 0 24px}.project-photo figcaption strong{font-size:14px}.project-photo figcaption span{font-size:12px;max-width:32ch;min-height:40px}.photo-controls{width:fit-content;margin-top:20px;max-width:100%;gap:2px}.photo-controls button{font-size:12px;padding:10px 18px;gap:10px}.service-area{display:grid;grid-template-columns:1fr 44px;gap:8px 16px;padding:20px 0 24px;font-size:12px}.service-area span:nth-child(2){grid-column:1;max-width:28ch}.service-area a{grid-column:2;grid-row:1/3}.section{padding:64px 20px}h2{font-size:36px;letter-spacing:-.04em}.look-heading{display:block;margin-bottom:36px}.look-heading>p{font-size:14px;margin-top:24px}.detail-layout{display:block}.detail-image img{height:360px;object-position:23% center}.detail-story{margin-top:40px}.joinery-mark{height:64px;margin-bottom:28px}.joinery-mark span:nth-child(2){border-top-width:22px}.detail-story h3{font-size:32px}.detail-story p{font-size:14px}.detail-story .text-link{font-size:13px;gap:20px}.rooms{display:block}.rooms-intro>p{font-size:14px;margin-top:24px}.room-list{margin-top:36px}.room-list a{padding:20px 0;min-height:84px;gap:12px}.room-list a>span{font-size:24px}.room-list small{font-size:12px;max-width:88px;margin-left:auto}.room-list svg{width:20px;height:20px}.room-list a:last-child>span{font-size:23px}.contact{display:block}.contact h2{font-size:48px}.contact-intro>p{font-size:14px;margin-top:24px}.contact-number{margin-top:32px;padding-top:24px}.contact-number a{font-size:24px}.contact-number span{font-size:12px}.project-form{margin-top:48px;padding-top:32px}.project-form h3{font-size:28px}.project-form>p{font-size:14px}.project-form label{font-size:14px}.button{font-size:13px;padding:16px;gap:16px;min-height:60px}.location{display:block}.location h2{font-size:38px}.location-main>p{font-size:14px}.location .text-link{font-size:13px;gap:16px}.rating{margin-top:48px;padding:32px 0 0;border-left:0;border-top:1px solid var(--line)}.rating strong{font-size:72px}.rating>p{font-size:14px;margin-top:12px}footer{padding:32px 20px;display:grid;grid-template-columns:1fr auto;gap:24px 16px}footer .brand{grid-column:1/-1}footer p,footer>a:not(.brand){font-size:12px}footer>a svg{width:18px;height:18px}}
@media(max-width:700px){.brand-description{font-size:12px}.brand{gap:8px}.brand-description{padding-left:8px}.header{gap:12px}.hero-description{justify-self:stretch}}
.detail-image img{height:auto;aspect-ratio:16/9;object-fit:contain}.detail-image{align-self:center}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
