:root{--ink:#171917;--cream:#eeebe3;--gold:#ba9f71;--line:#ffffff26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-80px;background:var(--cream);padding:16px;z-index:99}.skip:focus{top:10px}.progress{height:2px;position:fixed;top:0;left:0;background:var(--gold);width:0;z-index:30}header{position:absolute;top:0;left:0;width:100%;z-index:10;padding:32px 5%;display:flex;justify-content:space-between;align-items:center;color:var(--cream);border-bottom:1px solid var(--line)}.brand{font:36px Georgia,serif;letter-spacing:.13em}.brand span{display:block;font:8px Arial;letter-spacing:.26em;margin-top:5px}nav{display:flex;gap:44px;font-size:12px}nav a:last-child{border-bottom:1px solid #c9b895;padding-bottom:8px}nav span{margin-left:20px}.hero{height:100svh;min-height:700px;max-height:1200px;background:#191a18;color:var(--cream);position:relative;overflow:hidden}.hero-photo{position:absolute;inset:-3%;background:url('assets/craft.png') 60% 48%/cover;transform:translate(var(--mx,0px),var(--my,0px)) scale(1.04);transition:transform 1.4s ease;filter:sepia(.22)}.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,12,10,.88) 0%,rgba(9,12,10,.65) 23%,transparent 53%),linear-gradient(90deg,#0c0e0de8 0%,#0e100e87 46%,#0001 100%),linear-gradient(0deg,#10120fe8,transparent 60%)}.hero-top{position:absolute;top:157px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em}.welcome{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.15em}.welcome i{width:6px;height:6px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 5px #ba9f7117}.hero-copy{position:absolute;left:8%;right:8%;bottom:12%}.eyebrow,.section-label{font-size:9px;letter-spacing:.2em;font-weight:normal}.eyebrow{color:#d1bb94;margin-bottom:28px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;margin:0;line-height:1.02}h1{font-size:clamp(72px,8.9vw,154px)}em{font-weight:400;color:var(--gold)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:48px;max-width:980px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--gold);color:#171917;padding:20px 24px;font-size:12px;min-width:215px;transition:background .3s,transform .3s}.button:hover{background:#d5bc92;transform:translateY(-3px)}.scroll{font-size:8px;letter-spacing:.17em;display:flex;gap:30px;align-items:center}.scroll span{font-size:25px}.vertical{position:absolute;right:27px;bottom:15%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;color:#ded9cd9c}.section{padding:110px 8%}.section-label{margin-bottom:56px;color:#77776e}.intro{position:relative;overflow:hidden;padding-bottom:150px}.intro-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12%}h2{font-size:clamp(48px,5.6vw,88px)}.intro h2 em{color:#8c7754}.lead{font:29px/1.3 Georgia,serif;margin:0 0 25px}.intro-text>p:not(.lead),.craft-content>p,.reputation p,.visit-info>p{font-size:14px;line-height:1.9;max-width:370px;color:#717169}.text-link{font-size:11px;display:inline-flex;gap:30px;padding:14px 0;border-bottom:1px solid #9d927b;margin-top:15px}.text-link:hover{color:#a58651}.wordmark{position:absolute;bottom:-36px;left:7%;font:150px Georgia;color:#22281706;white-space:nowrap;pointer-events:none}.craft{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.craft-image{position:relative;aspect-ratio:2/3;overflow:hidden}.craft-image img{display:block;width:100%;height:100%;object-fit:contain;transform:none}.image-note{position:absolute;bottom:12px;left:16px;font-size:7px;letter-spacing:.15em;color:#ddd}.craft .section-label{color:#a59c8a;margin-bottom:30px}.craft h2{font-size:clamp(45px,4.6vw,72px)}.craft-content>p{color:#aaa99f;margin:24px 0}.services{margin-top:35px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:23px 0;display:flex;align-items:center;font:23px Georgia,serif}summary::-webkit-details-marker{display:none}.number{font:9px Arial;color:var(--gold);margin-right:23px}.plus{margin-left:auto;color:var(--gold);font:22px Arial;transition:transform .3s}details[open] .plus{transform:rotate(45deg)}details p{font-size:12px;line-height:1.8;color:#aaa99f;margin:0 25px 23px 36px;max-width:310px}.small-note{display:block;margin-top:22px;font-size:9px;color:#aaa99f}.reputation{background:#e5e0d6}.review-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:12%;align-items:center}.rating>span{font:120px Georgia;letter-spacing:-.08em}.stars{color:#95794a;letter-spacing:.3em;font-size:17px}.rating p{font-size:11px}.reputation h2{font-size:clamp(42px,4.5vw,70px)}.reputation h2 em{color:#8c7754}.reputation .rating-note{font-size:9px;max-width:none;margin-top:50px;color:#8b887e}.visit{background:#1c211e;color:var(--cream)}.visit-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:15%}.visit h2{font-size:clamp(50px,6vw,96px)}.visit .section-label{color:#a59c8a}.visit-info h3{font:26px Georgia;margin:30px 0 18px}address{font-style:normal;color:#b8bab1;line-height:1.9;font-size:14px}.visit-info>p{color:#a8ada3;font-size:12px}.visit-info .button{margin-top:20px}.phone{display:block;margin-top:25px;font-size:20px}.visit-info .text-link{display:table;margin-top:20px}footer{background:#111512;color:var(--cream);padding:55px 8%;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:end}.footer-brand{font:75px Georgia;letter-spacing:.06em}footer div{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em}footer p{font-size:9px;line-height:1.8;color:#969d92;margin:0}footer>a:last-child{justify-self:end;font-size:10px}.reveal{opacity:1;transform:none}.motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .85s,transform .85s}.motion .reveal.visible{opacity:1;transform:translateY(0)}
@media(min-width:1500px){.section{padding-left:max(8%,calc((100vw - 1350px)/2));padding-right:max(8%,calc((100vw - 1350px)/2))}}@media(max-width:700px){header{padding:25px 6%}.brand{font-size:28px}nav{gap:20px;font-size:10px}nav a:first-child{display:none}.hero{min-height:660px;max-height:950px}.hero-photo{background-position:66% center}.shade{background:linear-gradient(180deg,rgba(9,12,10,.88),rgba(9,12,10,.58) 25%,transparent 52%),linear-gradient(0deg,#0d100eef 2%,#10110eb3 47%,#10110e44 100%)}.hero-top{top:125px;left:7%;right:7%;font-size:7px;letter-spacing:.12em;gap:20px}.hero-top .welcome{font-size:7px}.hero-copy{left:7%;right:7%;bottom:9%}h1{font-size:clamp(63px,12.5vw,90px)}.eyebrow{font-size:8px}.hero-bottom{align-items:flex-start;gap:25px;flex-direction:column;margin-top:35px}.scroll{font-size:7px;gap:20px}.vertical{display:none}.section{padding:75px 7%}.section-label{font-size:8px;margin-bottom:35px}.intro-grid,.craft,.review-grid,.visit-grid{grid-template-columns:1fr;gap:40px}.intro-text{max-width:420px}.intro h2{font-size:65px}.lead{font-size:25px}.wordmark{display:none}.craft-image{max-height:none;aspect-ratio:2/3}.craft h2{font-size:54px}.craft .section-label{margin-top:5px}.review-grid{gap:35px}.rating>span{font-size:95px}.reputation h2{font-size:47px}.rating p{margin-bottom:0}.visit h2{font-size:64px}.visit-info{border-top:1px solid var(--line);padding-top:35px}footer{padding:40px 7%;grid-template-columns:1fr;gap:22px}.footer-brand{font-size:65px}footer div{justify-content:flex-start;gap:20px;font-size:7px}footer>a:last-child{justify-self:start}.button{padding:18px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.motion .reveal{opacity:1;transform:none}.hero-photo{transform:none}}
/* Attributed review excerpts */
.review-main{min-width:0}.review-carousel{margin-top:35px}.review-slides{min-height:310px}.review-slide{margin:0}.review-slide[hidden]{display:none}.review-slide blockquote{margin:18px 0 25px}.review-slide blockquote p{font:24px/1.5 Georgia,serif;color:#3b3e36;max-width:640px;margin:0 0 14px}.review-stars{font-size:12px;color:#95794a;letter-spacing:.23em}.review-slide figcaption{display:flex;flex-direction:column;gap:7px}.review-slide figcaption strong{font-size:12px;font-weight:500}.review-slide figcaption span{font-size:9px;color:#77776e}.review-controls{display:flex;align-items:center;gap:20px;margin:22px 0 10px}.review-controls button{border:1px solid #a69b87;background:transparent;color:#383e33;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:18px;transition:background .2s}.review-controls button:hover{background:#d4cbbb}.review-controls button:focus-visible{outline:2px solid #715c37;outline-offset:4px}.review-count{font-size:9px;letter-spacing:.15em}.review-controls .review-pause{width:auto;border:0;border-bottom:1px solid #a69b87;border-radius:0;font:10px Arial;height:29px;padding:0 5px;margin-left:auto}.review-slide.entering{animation:review-in .65s ease both}@keyframes review-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(max-width:700px){.review-slides{min-height:365px}.review-slide blockquote p{font-size:22px}.review-carousel{margin-top:28px}}@media(prefers-reduced-motion:reduce){.review-slide.entering{animation:none}}
/* Gentle breathing indicator; decorative, not a real-time occupancy signal. */
@media(prefers-reduced-motion:no-preference){
 .welcome i{animation:welcome-breathe 3.4s ease-in-out infinite;will-change:box-shadow,opacity}
 @keyframes welcome-breathe{0%,100%{opacity:.8;box-shadow:0 0 0 4px rgba(186,159,113,.10),0 0 0 0 rgba(186,159,113,0)}50%{opacity:1;box-shadow:0 0 0 7px rgba(186,159,113,.16),0 0 12px 2px rgba(186,159,113,.12)}}
}
.contact-float{position:fixed;right:24px;bottom:24px;z-index:25;display:flex;align-items:center;gap:12px;background:#1c211e;color:#eeebe3;border:1px solid #ba9f71;padding:14px 19px;font-size:11px;box-shadow:0 5px 22px #0002;transition:background .25s,transform .25s}.contact-float:hover{background:#343b32;transform:translateY(-2px)}.contact-float>span{color:#ba9f71;font-size:18px}.visit-info .whatsapp-link{margin-top:25px}.craft-image .image-note{max-width:calc(100% - 25px);padding:5px 7px;background:#111a;line-height:1.5;font-size:7px}@media(max-width:700px){.contact-float{right:15px;bottom:15px;padding:12px 15px}.craft-image{position:sticky;top:0}.craft{display:grid}.craft-image{position:relative}}
/* Device-independent vector arrows; never emoji glyphs. */
.arrow-icon{display:inline-block;width:18px;height:18px;flex-shrink:0;vertical-align:middle;overflow:visible}.button .arrow-icon{width:20px;height:20px}nav .arrow-icon{width:15px;height:15px}.scroll .arrow-icon{width:25px;height:25px}.text-link .arrow-icon{width:17px;height:17px}.review-controls .arrow-icon{width:17px;height:17px}.contact-float .arrow-icon{width:19px;height:19px}footer>a:last-child .arrow-icon{width:14px;height:14px;margin-left:8px}
