:root { --black:#080808; --ink:#171512; --gold:#d7b45f; --gold-soft:#edda9e; --cream:#f4f0e8; --white:#fffdf8; --line:#d7d0c2; }
*{box-sizing:border-box} html{scroll-behavior:smooth} 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} h1,h2,h3,p{margin:0} h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em} em{color:#836425;font-weight:400}
.motion-ready [data-reveal]{opacity:0;transform:translate3d(0,24px,0);transition:opacity .68s cubic-bezier(.22,1,.36,1),transform .68s cubic-bezier(.22,1,.36,1)}.motion-ready [data-reveal][data-delay="1"]{transition-delay:.09s}.motion-ready [data-reveal][data-delay="2"]{transition-delay:.18s}.motion-ready [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0)}
.hero-enter{animation:hero-copy-in .78s cubic-bezier(.22,1,.36,1) both}.hero-image-enter{animation:hero-image-in 1s cubic-bezier(.22,1,.36,1) both}@keyframes hero-copy-in{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}@keyframes hero-image-in{from{opacity:.72;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}
.site-header{height:96px;padding:0 clamp(18px,2.8vw,48px);display:flex;align-items:center;justify-content:space-between;background:var(--black);color:var(--white);border-bottom:1px solid #27231b;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:var(--gold-soft)}.brand-mark{font:400 38px/1 Georgia,serif;letter-spacing:-.12em;padding-right:4px}.brand-name{font:400 15px/1 Georgia,serif;text-transform:uppercase;letter-spacing:.2em}.desktop-nav{display:flex;gap:2px;color:#e0d3b6;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.desktop-nav a{padding:13px 10px;border:1px solid transparent;transition:background .18s,color .18s,border-color .18s}.desktop-nav a:hover,.desktop-nav a:focus-visible{background:var(--white);border-color:var(--white);color:var(--black);outline:0}.mobile-menu{display:none}
.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--ink);background:var(--ink);color:var(--white);min-height:52px;padding:0 27px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.button:hover{background:transparent;color:var(--ink)}.button-small{min-height:44px;padding:0 14px;border-color:#776338;background:transparent;color:var(--gold-soft);font-size:11px}.button-small:hover{background:var(--gold);border-color:var(--gold);color:var(--black)}.text-link{display:inline-flex;align-items:center;min-height:52px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid #8c806d;transition:border-color .2s,color .2s}.text-link:hover{border-color:var(--ink);color:#6e5422}
.hero{min-height:calc(100vh - 96px);display:grid;grid-template-columns:49% 51%;background:var(--cream)}.hero-copy{padding:clamp(64px,8vh,100px) clamp(28px,6vw,95px) 52px;display:flex;flex-direction:column;justify-content:center}.eyebrow{color:#72551d;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.21em}.hero h1{font-size:clamp(58px,6.5vw,102px);line-height:.96;margin:28px 0}.hero-lead{font-size:18px;line-height:1.7;max-width:550px;color:#403c36}.hero-image{min-height:720px;background:linear-gradient(90deg,rgba(0,0,0,.06),transparent 18%),url('/hero-hotel-suite.png') center/cover no-repeat;background-color:#332519}
.section{padding:110px clamp(24px,6vw,96px)}.section-number{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#625a4f}.intro{display:grid;grid-template-columns:.55fr 1.35fr .85fr;gap:50px;align-items:start;background:var(--white)}.intro h2,.work h2{font-size:clamp(42px,4.6vw,72px);line-height:1.05;margin-top:22px}.intro-copy{font-family:Georgia,serif;font-size:18px;line-height:1.8;color:#514c44;padding-top:28px}
.services{background:var(--black);color:var(--white)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:70px}.section-heading h2{font-size:clamp(44px,5vw,74px);margin-top:22px}.section-heading>p{max-width:400px;font-size:16px;line-height:1.7;color:#b8b2a9}.light{color:#aaa193}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #333028}.service-grid article{padding:40px 28px;border-right:1px solid #333028;border-bottom:1px solid #333028}.service-grid article:nth-child(3),.service-grid article:last-child{border-right:0}.service-grid article:nth-child(n+4){border-bottom:0}.service-grid article:first-child,.service-grid article:nth-child(4){padding-left:0}.service-grid h3,.why-grid h3{font:400 25px/1.2 Georgia,serif;margin:8px 0 18px}.service-grid p,.why-grid p{font-size:15px;line-height:1.72;color:#b8b2a9}
.work{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(50px,8vw,130px);background:#ebe5da}.work-image{min-height:720px;background:url('/refinishing-craft.png') center/cover no-repeat;background-color:#6f533e}.work-copy{padding:45px 0}.work-copy>p:not(.eyebrow):not(.section-number){margin-top:30px;line-height:1.8;color:#5a554d;max-width:600px}.work-copy .eyebrow{margin-top:78px}.work ul{list-style:none;padding:0;margin:45px 0 0;border-top:1px solid #c9c0b0}.work li{border-bottom:1px solid #c9c0b0;padding:18px 0;font:400 17px Georgia,serif}
.hotels{background:#dcd2c2}.hotel-heading{display:block;max-width:1050px}.hotel-heading h2{font-size:clamp(44px,5vw,76px);line-height:1.04;margin-top:20px}.property-list{margin-top:72px;border-top:1px solid #a99d8b}.property-list article{padding:32px 0;border-bottom:1px solid #a99d8b;transition:background .2s ease}.property-list article:hover{background:rgba(255,253,248,.18)}.property-list article div>span{font-size:13px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#5c5347}.property-list h3{font:400 clamp(26px,3.1vw,46px)/1.08 Georgia,serif;margin-top:10px}.portfolio-note{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#5a5146;margin-top:25px}.legal-note{max-width:850px;font-size:13px;line-height:1.65;color:#5f574c;margin-top:12px}
.why{background:var(--white)}.dark-text>p{color:#575149}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.why-grid article{background:var(--white);padding:38px}.why-grid p{color:#514c45}.quote{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,9vw,150px);background:#15130f;color:var(--white)}.quote h2{font-size:clamp(48px,5.5vw,78px);line-height:1.02;margin:28px 0}.quote-copy>p:last-of-type{color:#bbb4a8;font-size:17px;line-height:1.72;max-width:530px}.contact-details{display:flex;flex-direction:column;gap:11px;margin-top:32px;color:var(--gold-soft);font-size:15px;letter-spacing:.02em}.contact-details span{color:#bbb4a8}.quote form{display:grid;grid-template-columns:1fr 1fr;gap:28px}.quote label{display:flex;flex-direction:column;gap:10px;color:#c7c0b5;font-size:13px;letter-spacing:.11em;text-transform:uppercase}.quote input,.quote textarea{background:transparent;border:0;border-bottom:1px solid #514c42;color:var(--white);padding:13px 0;font:16px Arial,sans-serif;outline:0;resize:vertical}.quote input:focus,.quote textarea:focus{border-color:var(--gold)}.full{grid-column:1/-1}.quote button{justify-self:start;margin-top:10px;background:var(--gold);border-color:var(--gold);color:var(--black)}.quote button:hover{background:transparent;color:var(--gold-soft)}
footer{background:#000;color:#c4bdb1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;padding:70px clamp(24px,6vw,96px) 38px;align-items:start;border-top:1px solid #2b281f}.footer-logo{width:260px;height:160px;overflow:hidden;position:relative;margin-top:-42px;background:#000}.footer-logo img{position:absolute;width:594px;height:594px;max-width:none;left:-168px;top:-213px}footer p{font-size:15px;line-height:1.7}footer>div:nth-of-type(2){display:flex;flex-direction:column;gap:12px;font-size:15px}footer small{grid-column:1/-1;border-top:1px solid #29271f;padding-top:25px;margin-top:30px;font-size:12px;letter-spacing:.07em}
@media(max-width:900px){.desktop-nav{display:none}.mobile-menu{display:block;margin-left:auto;margin-right:14px}.mobile-menu summary{list-style:none;border:1px solid #6f5d36;color:var(--gold-soft);padding:12px 15px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary{background:var(--gold);border-color:var(--gold);color:var(--black)}.mobile-menu nav{position:absolute;top:96px;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:var(--black);border-top:1px solid #332d21;border-bottom:1px solid #5c4c2c;box-shadow:0 16px 30px rgba(0,0,0,.22)}.mobile-menu nav a{display:flex;align-items:center;justify-content:center;min-height:62px;padding:12px;border-right:1px solid #332d21;border-bottom:1px solid #332d21;color:#e5ded2;font-size:13px;font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase}.mobile-menu nav a:nth-child(3n){border-right:0}.mobile-menu nav a:nth-child(n+4){border-bottom:0}.mobile-menu nav a:last-child{color:var(--gold-soft)}.hero{grid-template-columns:1fr}.hero-copy{min-height:560px}.hero-image{min-height:500px}.intro{grid-template-columns:1fr}.section-number{margin-bottom:20px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article,.service-grid article:nth-child(3){border-right:1px solid #333028}.service-grid article:nth-child(even){border-right:0}.service-grid article:nth-child(4){padding-left:28px}.work{grid-template-columns:1fr}.hotel-heading{grid-template-columns:1fr}.quote{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}}
@media(max-width:560px){.site-header{height:72px;padding:0 18px}.brand{gap:9px}.brand-name{font-size:11px;letter-spacing:.15em}.brand-mark{font-size:29px}.site-header>.button-small{display:none}.mobile-menu{margin-right:0}.mobile-menu summary{padding:11px 14px}.mobile-menu nav{top:72px;grid-template-columns:1fr 1fr}.mobile-menu nav a{min-height:58px;font-size:13px;line-height:1.3}.mobile-menu nav a:nth-child(3n){border-right:1px solid #332d21}.mobile-menu nav a:nth-child(even){border-right:0}.mobile-menu nav a:nth-child(n+4){border-bottom:1px solid #332d21}.mobile-menu nav a:nth-last-child(-n+2){border-bottom:0}.hero{min-height:auto}.hero-copy{padding:48px 22px 46px;min-height:auto}.hero h1{font-size:clamp(44px,13vw,53px);line-height:.98;margin:21px 0}.hero-lead{font-size:18px;line-height:1.58}.hero-image{min-height:330px}.section{padding:58px 22px}.section-number{margin-bottom:8px}.section-heading{gap:16px;margin-bottom:36px}.section-heading h2{font-size:40px;margin-top:14px}.section-heading>p,.service-grid p,.why-grid p,.work-copy>p:not(.eyebrow):not(.section-number),.hotel-heading>p,.quote-copy>p:last-of-type{font-size:17px;line-height:1.62}.intro{gap:20px}.intro h2,.work h2{font-size:39px;margin-top:15px}.intro-copy{font-size:18px;line-height:1.62;padding-top:0}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:nth-child(3),.service-grid article:first-child,.service-grid article:nth-child(4),.service-grid article:last-child{padding:25px 0;border-top:0;border-right:0;border-bottom:1px solid #333028;border-left:0}.service-grid article:last-child{border-bottom:0}.service-grid h3{margin:0 0 12px;font-size:26px}.work{gap:0}.work-image{min-height:350px}.work-copy{padding:0}.work-copy .eyebrow{margin-top:34px}.work-copy>p:not(.eyebrow):not(.section-number){margin-top:22px}.work ul{margin-top:28px}.hotel-heading{gap:20px}.hotel-heading h2{font-size:40px;margin-top:14px}.property-list{margin-top:34px}.property-list article{grid-template-columns:1fr;gap:9px;padding:20px 0}.property-list article>p{grid-column:1;white-space:normal;font-size:12px}.property-list article div>span{font-size:12px}.property-list h3{font-size:27px;line-height:1.12}.portfolio-note{font-size:12px;line-height:1.5}.legal-note{font-size:13px;line-height:1.55}.why-grid{grid-template-columns:1fr}.why-grid article{padding:25px}.why-grid h3{margin:0 0 12px}.quote{gap:38px}.quote form{grid-template-columns:1fr;gap:22px}.quote label{grid-column:1;font-size:13px}.quote h2{font-size:42px;margin:20px 0}.contact-details{font-size:15px}.quote button{width:100%}footer{grid-template-columns:1fr;gap:24px;padding-top:50px}.footer-logo{margin-bottom:-26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.motion-ready [data-reveal]{opacity:1;transform:none}}
