:root{--ink:#262626;--muted:#77746f;--gold:#b59a57;--line:#e3e2df;--dark:#262727}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',sans-serif}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{width:100%;height:100%;display:block;object-fit:cover}button{font:inherit}.container{width:min(1180px,88%);margin:auto}.page-header{background:#262727;color:#fff;position:relative;z-index:10}.page-header-inner{height:100px;display:flex;align-items:center;justify-content:space-between}.logo{width:145px;height:70px;display:block}.logo img{object-fit:contain;filter:brightness(0) invert(1)}.desktop-nav{display:flex;gap:clamp(18px,2.4vw,35px);align-items:center;font-size:14px;text-transform:uppercase;letter-spacing:.12em;font-weight:500}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:#d3bc82}.menu-toggle{display:none}.mobile-nav[hidden]{display:none!important}.mobile-nav{display:none}.page-hero{background:linear-gradient(90deg,rgba(24,24,22,.76),rgba(24,24,22,.3)),url('assets/dining-hero.png') center 56%/cover;color:#fff;min-height:400px;display:flex;align-items:center}.page-hero-inner,.page-hero>.container{width:min(1180px,88%);margin:0 auto}.page-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#a79170;font-weight:600}.page-hero .page-eyebrow,.page-callout .page-eyebrow{color:#d3bc82}.page-hero h1,.page-section h2,.page-callout h2{font:400 clamp(42px,4.5vw,66px)/1.1 Questrial,sans-serif;letter-spacing:-.035em;margin:20px 0}.page-hero h1{max-width:760px}.page-hero p{max-width:540px;font-size:14px;line-height:1.8;color:#e3e0db}.page-section{width:min(1180px,88%);margin:0 auto;padding:125px 0}.page-section>.container{width:100%}.section-intro{text-align:center;max-width:640px;margin:0 auto 75px}.section-intro h2{font-size:clamp(38px,3.5vw,50px)}.section-intro p,.service-text p,.contact-info p{font-size:13px;line-height:1.9;color:var(--muted)}.page-button{display:inline-block;padding:15px 23px;border:1px solid #999;text-transform:uppercase;font-size:10px;letter-spacing:.12em;transition:background .25s,color .25s}.page-button:hover{background:#292929;color:#fff}.service-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;margin-bottom:85px}.service-detail:nth-of-type(even) .service-image{order:2}.service-image{height:480px}.service-text h2{font-size:clamp(34px,3.5vw,50px)}.service-text p{max-width:450px}.service-text .page-button{margin-top:15px}.page-callout{background:#292a29;color:#fff;display:flex;align-items:end;justify-content:space-between;gap:40px;padding:100px max(6%,calc((100vw - 1180px)/2))}.page-callout h2{font-size:clamp(42px,5vw,68px)}.page-callout p{font-size:13px;line-height:1.8;color:#c1c2bf}.page-callout .page-button{border-color:#eee;white-space:nowrap}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.contact-info{padding:30px 0}.contact-info h2{font-size:clamp(37px,4vw,56px)}.contact-info>p{max-width:430px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:35px 0}.contact-details h3{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#a18e75;margin:0 0 10px}.contact-details a,.contact-details p{font-size:13px;color:#5c5953;line-height:1.8;margin:0}.contact-details a{text-decoration:underline;text-underline-offset:4px}.contact-image{height:530px}.contact-panel-caption{background:#f4f4f2;padding:28px 30px}.contact-panel-caption p{font:400 24px/1.25 Questrial,sans-serif;margin:12px 0 0}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.portfolio-item{margin:0}.portfolio-image{height:430px}.portfolio-item figcaption{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#958c80;padding:15px 0}.footer{padding:65px 0 25px;background:#f6f6f4}.footer-main{display:flex;justify-content:space-between;gap:40px;padding-bottom:70px}.footer .logo img{filter:none}.footer-info{display:flex;flex-wrap:wrap;gap:30px 80px;font-size:16px;line-height:1.8;color:#6c6a65}.footer-info strong{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.13em;color:#8a7862;margin-bottom:10px}.footer-bottom{border-top:1px solid #deddd9;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 24px;color:#77736d;font-size:14px;line-height:1.5}.footer-bottom span:last-child{text-align:right}
@media(max-width:800px){.page-header-inner{height:86px}.logo{width:130px;height:62px}.desktop-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:none;color:#fff;text-transform:uppercase;font-size:13px;letter-spacing:.13em;padding:12px 0 12px 12px}.menu-icon{width:24px;height:18px;display:flex;flex-direction:column;justify-content:center;gap:6px}.menu-icon i{display:block;height:1px;background:currentColor;width:24px;transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-3.5px) rotate(-45deg)}body.menu-open .page-header{position:fixed;top:0;left:0;right:0}.mobile-nav.open{display:block;position:fixed;z-index:9;inset:86px 0 0;background:#f8f8f6;color:#292929;overflow-y:auto}.mobile-inner{min-height:100%;display:flex;flex-direction:column;padding:50px 6% 35px}.mobile-links{display:flex;flex-direction:column;gap:25px}.mobile-links a{font:400 36px/1.2 Questrial,sans-serif;letter-spacing:-.035em}.mobile-cta{margin-top:45px;align-self:flex-start;border:1px solid #888;padding:15px 22px;font-size:13px;letter-spacing:.12em;text-transform:uppercase}.mobile-bottom{margin-top:auto;padding-top:60px;color:#777;font-size:14px;line-height:1.8}.page-hero{min-height:365px}.page-hero h1{font-size:43px}.page-section{padding:85px 0}.section-intro{margin-bottom:50px}.section-intro h2{font-size:37px}.service-detail{grid-template-columns:1fr;gap:30px;margin-bottom:70px}.service-detail:nth-of-type(even) .service-image{order:0}.service-image{height:330px}.service-text h2{font-size:37px}.page-callout{display:block;padding:80px 6%}.page-callout h2{font-size:45px}.page-callout .page-button{margin-top:25px}.contact-layout{grid-template-columns:1fr;gap:50px}.contact-info{padding:0}.contact-info h2{font-size:40px}.contact-details{grid-template-columns:1fr}.contact-image{height:370px}.portfolio-grid{grid-template-columns:1fr;gap:20px}.portfolio-image{height:330px}.footer-main{display:block;padding-bottom:55px}.footer-info{margin-top:35px;gap:40px}.footer-bottom{flex-direction:column}.footer-bottom span:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-icon i{transition:none}}
.page-callout>.container{width:100%;display:flex;align-items:end;justify-content:space-between;gap:40px}
@media(max-width:800px){.page-callout>.container{display:block}}
.portfolio-hero{background-image:linear-gradient(90deg,rgba(24,24,22,.76),rgba(24,24,22,.3)),url('assets/projects/living-and-staircase.jpg')}
/* Portfolio closing invitation */
.portfolio-invitation{background:#f4f2ee;padding:92px 0}.portfolio-invitation-inner{display:grid;grid-template-columns:1fr 1.05fr;align-items:stretch}.portfolio-invitation-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:55px 12% 55px 8%}.portfolio-invitation-copy h2{font:400 clamp(40px,4.1vw,58px)/1.09 Questrial,sans-serif;letter-spacing:-.035em;margin:22px 0}.portfolio-invitation-copy p{max-width:300px;font-size:13px;line-height:1.9;color:#77746f;margin:0 0 28px}.portfolio-invitation-copy .page-button{border-color:#9b9489}.portfolio-invitation-image{height:430px;overflow:hidden}.portfolio-invitation-image img{object-position:center}
@media(max-width:800px){.portfolio-invitation{padding:65px 0}.portfolio-invitation-inner{grid-template-columns:1fr}.portfolio-invitation-copy{padding:10px 0 38px}.portfolio-invitation-copy h2{font-size:42px;margin:18px 0}.portfolio-invitation-image{height:320px}}

/* Shared body copy sizing across services, portfolio and contact. */
.page-hero p,.section-intro p,.service-text p,.contact-info p,.contact-details a,.contact-details p,.page-callout p,.portfolio-invitation-copy p{font-size:16px;line-height:1.7}
