@font-face{font-family:Manrope;src:url('assets/body.ttf') format('truetype');font-display:swap;font-weight:200 800}@font-face{font-family:Barlow;src:url('assets/heading.ttf') format('truetype');font-display:swap;font-weight:100 900}
:root{--paper:#f0ede4;--ink:#20211e;--red:#a42628;--line:#ccc8bd;--muted:#66675e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c16037;outline-offset:5px}::selection{background:var(--red);color:var(--paper)}p{line-height:1.8;margin:0 0 20px}h1,h2,h3{margin:0;font-weight:650}h1,h2,h3{font-family:Barlow,'Arial Narrow',sans-serif}h2{font-size:clamp(48px,5.4vw,82px);line-height:.99;letter-spacing:-.02em}h2 em{font-style:normal;color:var(--red)}img{display:block;width:100%;height:100%;object-fit:cover}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;line-height:1.6}.skip{position:fixed;top:-100px;z-index:100;background:var(--paper);padding:15px}.skip:focus{top:0}.topline{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:10px 4.5%;font-size:9px;letter-spacing:.14em;font-weight:700}.header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:23px 4.5%;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:inline-flex;flex-direction:column;text-align:center}.brand strong{font-family:Georgia,serif;font-size:35px;letter-spacing:-2px;font-weight:700;line-height:1}.brand strong span{font-family:Arial,sans-serif;font-size:10px;letter-spacing:0;vertical-align:top;display:inline-block;margin:3px 0 0 4px}.brand small{font-size:8px;letter-spacing:.36em;font-weight:800;margin-top:9px}.header nav{display:flex;gap:36px;font-size:12px;font-weight:700}.header nav a{border-bottom:1px solid transparent;padding:6px 0}.header nav a:hover{border-color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--red);color:#fffdf5;min-height:54px;padding:17px 23px;font-size:12px;font-weight:750;transition:background .2s,transform .2s}.button:hover{background:#7d1a1c;transform:translateY(-2px)}.button span{font-size:20px;font-weight:400;line-height:1}.button.small{min-height:45px;padding:13px 19px;gap:35px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:665px}.hero-copy{padding:58px 6% 43px 8.6%}.hero-copy .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:28px}.spark{font-size:23px;color:var(--red);line-height:1}h1{font-size:clamp(76px,8.2vw,126px);line-height:.87;letter-spacing:-.025em;margin:0 0 29px}h1 span{color:var(--red)}.intro{font-size:14px;line-height:1.85;max-width:440px}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:28px;flex-wrap:wrap}.text-link{font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:7px 0;border-bottom:1px solid var(--ink);background:none;color:var(--ink)}.text-link:hover{color:var(--red);border-color:var(--red)}.text-link span{font-size:18px}.walk-in{font-size:10px;color:var(--muted);margin:23px 0 0;display:flex;align-items:center;gap:8px}.walk-in>span{height:5px;width:5px;background:var(--red);border-radius:50%}.hero-visual{position:relative;overflow:hidden}.hero-img{object-position:46% center;filter:saturate(.66) contrast(.95);position:absolute;inset:0}.image-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,14,10,.75),transparent 35%)}.image-caption{position:absolute;bottom:30px;left:30px;right:30px;color:white;display:flex;justify-content:space-between;gap:20px;font-size:8px;font-weight:700;letter-spacing:.11em}.hero-badge{position:absolute;top:29px;right:28px;width:112px;height:112px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper);outline:1px solid var(--paper);outline-offset:5px;transform:rotate(12deg);color:var(--red)}.hero-badge span{font-size:8px;font-weight:800;letter-spacing:.1em}.hero-badge b{font-size:43px;line-height:1.25}.ribbon{background:var(--red);color:var(--paper);display:flex;align-items:center;justify-content:space-around;gap:18px;padding:22px 5%;font-family:Barlow,sans-serif;font-size:23px;font-weight:550;letter-spacing:.025em}.ribbon i{font-style:normal;font-size:20px}.section-pad{padding:100px 7%}.services{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.services .eyebrow{color:#c1bcae;margin-bottom:27px}.services-intro>p:not(.eyebrow){max-width:260px;color:#b6b6ac;font-size:13px;margin-top:24px}.service-note{display:flex;gap:20px;margin-top:44px;align-items:center}.service-note>span{font-size:31px;color:#cd9f7e}.service-note p{font-size:10px;color:#aaa99f;margin:0;line-height:1.8}.service-list article{display:flex;align-items:flex-start;border-top:1px solid #51524a;padding:29px 0;gap:24px}.service-number{font-size:10px;color:#a29f90;padding-top:7px}.service-list h3{font-size:34px;font-weight:500;line-height:1.1;margin-bottom:10px}.service-list article p{font-size:12px;color:#b6b6ac;margin:0;max-width:350px}.service-mark{font-size:25px;margin-left:auto;color:#aaa99f}.service-bottom{border-top:1px solid #51524a;padding-top:24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.service-bottom p{font-size:9px;color:#b6b6ac;margin:0}.text-link.light{color:var(--paper);border-color:#858579;white-space:nowrap}.shop{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;padding-top:115px;padding-bottom:115px}.shop-photo{position:relative;aspect-ratio:4/4.6}.shop-photo img{object-position:center 34%;filter:saturate(.62);border-radius:180px 180px 0 0}.photo-label{position:absolute;bottom:-20px;left:28px;right:28px;background:var(--red);color:var(--paper);padding:18px 20px;display:flex;justify-content:space-between;font-size:8px;font-weight:800;letter-spacing:.1em}.shop-copy .eyebrow{margin-bottom:27px}.shop-copy h2{font-size:clamp(45px,5vw,75px);margin-bottom:29px}.shop-copy>p:not(.eyebrow){font-size:13px;max-width:390px;color:var(--muted)}.shop-copy .text-link{margin-top:6px}.testimonial{text-align:center;padding:65px 8%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#e7e3d8}.testimonial .eyebrow{color:var(--red);font-size:9px}.testimonial blockquote{font-family:Georgia,serif;font-size:clamp(24px,2.6vw,38px);font-style:italic;line-height:1.45;letter-spacing:-.03em;margin:25px 0}.quote-credit{font-size:9px;color:var(--muted);margin:0;line-height:1.8}.quote-credit>span{padding:0 9px}.quote-credit a{border-bottom:1px solid var(--line)}.visit-title{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:42px}.visit-title h2{font-size:clamp(48px,5.2vw,75px);width:56%}.visit-title .eyebrow{margin-top:6px}.visit-grid{display:grid;grid-template-columns:1.12fr 1fr;border:1px solid var(--line)}.exterior{position:relative;min-height:480px;overflow:hidden}.exterior img{position:absolute;inset:0;object-position:50% center;filter:saturate(.5)}.exterior-tag{position:absolute;left:24px;bottom:23px;font-size:8px;letter-spacing:.1em;background:var(--paper);padding:11px 15px;font-weight:800}.visit-card{padding:40px 45px}.visit-card h3{font-size:32px;line-height:1.1;margin-bottom:8px}.visit-card p{font-size:12px;color:var(--muted);margin-bottom:10px}.visit-card .eyebrow{font-size:9px;color:var(--red);margin-bottom:15px}.visit-card .text-link{font-size:10px;margin-bottom:25px}.visit-detail{padding:20px 0;border-top:1px solid var(--line)}.visit-detail>span{font-size:8px;letter-spacing:.12em;font-weight:800;display:block;margin-bottom:9px;color:var(--muted)}.visit-detail>a{display:flex;justify-content:space-between;font-size:17px}.visit-detail p{color:var(--ink);line-height:1.65}.visit-detail .muted{font-size:10px;color:var(--muted);margin:0}.visit-card .button{width:100%;margin-top:6px}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding-top:0}.faq h2{font-size:48px}.faq .eyebrow{font-size:9px}.faq details{border-top:1px solid var(--line);padding:0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;font-size:13px;font-weight:750;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:23px;font-weight:400;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:12px;color:var(--muted);padding-right:30px}.faq details p a{text-decoration:underline}.faq details .text-link{margin:0 0 22px}.closing{background:var(--red);color:var(--paper);text-align:center;padding:80px 6% 86px;position:relative;overflow:hidden}.closing:before,.closing:after{content:'✳';position:absolute;top:38%;font-size:100px;color:#bb5351}.closing:before{left:9%}.closing:after{right:9%}.closing .eyebrow{font-size:9px}.closing h2{font-size:clamp(76px,9vw,128px);line-height:.87}.closing h2 em{color:var(--paper)}.button.cream{background:var(--paper);color:var(--red);margin-top:34px;min-width:220px}.button.cream:hover{background:#fffdf5}footer{padding:38px 5%;display:flex;gap:35px;align-items:center;justify-content:space-between}footer .brand strong{font-size:29px}footer .brand small{font-size:6px;letter-spacing:.25em}footer p{font-size:10px;margin:0;line-height:1.75}footer>a:not(.brand){font-size:11px}footer .footer-note{font-size:8px;color:var(--muted);text-align:right;line-height:1.8}.mobile-book{display:none}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);width:min(530px,calc(100% - 32px));padding:43px;max-height:90dvh;overflow-y:auto}dialog::backdrop{background:rgba(16,18,14,.7);backdrop-filter:blur(5px)}dialog .eyebrow{color:var(--red);font-size:9px;margin-bottom:17px}dialog h2{font-size:54px}.dialog-intro{font-size:12px;color:var(--muted);margin-top:18px}.close-dialog{position:absolute;right:14px;top:9px;font-size:30px;line-height:1.3;background:none;color:var(--ink);padding:5px 10px}.booking-option{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:20px 0;gap:15px}.booking-option:hover{color:var(--red)}.booking-option strong{font-size:13px;display:block}.booking-option small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.booking-option>span:last-child{font-size:24px}.dialog-foot{font-size:9px;color:var(--muted);margin:10px 0 0;line-height:1.8}
@media(min-width:1600px){body{max-width:1800px;margin:auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}.hero{min-height:780px}.hero-copy{padding-top:80px}h1{font-size:150px}}
@media(max-width:1100px){.hero-copy{padding-top:42px}.hero{min-height:610px}h1{font-size:95px}.hero-actions{gap:15px}.hero-actions .button{gap:20px}.image-caption{flex-direction:column;gap:10px}.services{gap:7%}.service-bottom{align-items:flex-start;flex-direction:column}.shop{gap:7%}.visit-card{padding:35px}.section-pad{padding-left:6%;padding-right:6%}.hero-badge{width:96px;height:96px}.hero-badge span{font-size:7px}.hero-badge b{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
