:root{--bg:#090909;--panel:#11110f;--ink:#f1eee7;--muted:#a7a198;--gold:#d99a2b;--line:#2a2925;--pad:clamp(1.25rem,4vw,4.5rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
section[id]{scroll-margin-top:7rem}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1.15rem var(--pad);border-bottom:1px solid rgba(255,255,255,.1);background:rgba(9,9,9,.84);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:.85rem;text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;font-weight:700}
.brand-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--gold);color:var(--gold);font-family:Georgia,serif;letter-spacing:0}
nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.8rem);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
nav a{color:var(--muted);transition:color .2s}nav a:hover,nav a:focus-visible{color:var(--ink)}
.nav-contact{color:var(--gold);text-decoration:underline;text-underline-offset:.4rem;text-decoration-thickness:1px}
.menu-toggle{display:none;background:none;border:0;color:var(--ink);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}
.hero{min-height:100svh;padding:clamp(8.5rem,17vh,12rem) var(--pad) 3rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-9vw;top:13vh;width:38vw;height:65vh;border:1px solid rgba(217,154,43,.22);transform:rotate(8deg);pointer-events:none}
.hero-kicker,.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}
.hero-kicker{display:flex;align-items:center;gap:.75rem}.hero-kicker span{width:2.5rem;height:1px;background:var(--gold)}
h1,h2,h3,p{margin-top:0}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(3.25rem,8vw,8.5rem);letter-spacing:-.055em;line-height:.86;margin:2rem 0;max-width:1300px;position:relative;z-index:1}
h1 em,.contact h2 em{color:var(--gold);font-weight:400}
.hero-copy>p{max-width:39rem;margin-left:auto;color:var(--muted);font-size:clamp(1rem,1.5vw,1.25rem)}
.hero-footer{display:flex;align-items:center;gap:2rem;margin-top:4rem}
.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;min-width:17rem;padding:1rem 1.1rem;background:var(--gold);color:#111;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;transition:transform .2s,background .2s}
.primary-button:hover{transform:translateY(-2px);background:#efad38}
.text-link{display:inline-flex;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.3rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.gold{color:var(--gold);border-color:var(--gold)}
.hero-number{position:absolute;right:var(--pad);bottom:2.2rem;color:#3a3832;font-family:Georgia,serif;font-size:5rem}
.statement{padding:clamp(5rem,12vw,11rem) var(--pad);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.statement p{max-width:1100px;margin:0 auto;font-family:Georgia,serif;font-size:clamp(2.1rem,5vw,5rem);line-height:1.08;color:#77736c}.statement strong{color:var(--ink);font-weight:400}
.section{padding:clamp(5rem,10vw,9rem) var(--pad)}
.section-heading{display:grid;grid-template-columns:minmax(12rem,.7fr) 2fr;gap:3rem;margin-bottom:5rem}
.section-heading h2,.offer h2,.about h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.4rem,5vw,5rem);line-height:1;letter-spacing:-.04em;margin:0}
.service-list{border-top:1px solid var(--line)}
.service{display:grid;grid-template-columns:minmax(4rem,.45fr) 2fr;padding:2rem 0;border-bottom:1px solid var(--line);transition:padding .25s,border-color .25s}.service:hover{padding-left:1rem;border-color:var(--gold)}
.service>span{color:var(--gold);font-size:.75rem}.service div{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.service h3{font-family:Georgia,serif;font-size:clamp(1.5rem,2.4vw,2.5rem);font-weight:400;margin:0}.service p{color:var(--muted);margin:0;max-width:30rem}
.nav-contact-languages{display:flex;align-items:center;gap:1rem}.language-switch{display:flex;gap:.25rem;align-items:center}.language-switch button{display:inline-flex;align-items:center;justify-content:center;font:inherit;letter-spacing:inherit;min-width:44px;min-height:44px;color:var(--muted);background:transparent;border:0;padding:.5rem;cursor:pointer}.language-switch button[aria-pressed="true"]{color:var(--gold)}.language-switch button[aria-pressed="true"] span{text-decoration:underline;text-underline-offset:.4rem;text-decoration-thickness:1px}.language-switch button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#main-nav>a,#main-nav .nav-contact,#main-nav .language-switch button{font-family:Inter,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;line-height:1.5;letter-spacing:.08em;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding-top:0;padding-bottom:0;vertical-align:middle}
#main-nav .language-switch button{width:44px;height:44px;flex:0 0 44px;padding:0;appearance:none}
#main-nav .language-switch button span{display:block;font:inherit;letter-spacing:inherit;line-height:inherit;transform:none}
.portfolio{background:#0d0d0c}
.portfolio-heading{grid-template-columns:1.4fr .6fr}.portfolio-heading>p{color:var(--muted);max-width:28rem;align-self:end}
.project-intro{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1rem;border-top:1px solid var(--line);padding-top:1rem}.project-intro>div{display:flex;align-items:baseline;gap:1rem}.project-intro p{margin:0;color:var(--muted)}.project-index{color:var(--gold);font-size:.72rem}.project-category{font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2.5rem)!important;color:var(--ink)!important}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.photo-grid+.project-intro{margin-top:clamp(4rem,8vw,8rem)}.photo-card{position:relative;min-height:0;align-self:center;padding:0;border:0;background:#111;overflow:hidden;cursor:zoom-in;color:var(--ink);text-align:left}.restaurant-grid .photo-card:first-child,.restaurant-grid .photo-card:nth-child(4),.restaurant-grid .photo-card:last-child{grid-column:1/-1}.photo-card img{display:block;width:100%;height:auto;position:relative;object-fit:contain;transition:filter .4s ease}.photo-card:hover img,.photo-card:focus-visible img{filter:brightness(.82)}.photo-card span{position:absolute;left:1.25rem;bottom:1.1rem;z-index:1;font-size:.875rem;text-transform:uppercase;letter-spacing:.15em;text-shadow:0 1px 8px #000}.photo-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.lightbox{width:min(94vw,1500px);height:92vh;padding:3.25rem 1rem 1rem;border:1px solid #393731;background:#050505;color:var(--ink)}.lightbox::backdrop{background:rgba(0,0,0,.9);backdrop-filter:blur(8px)}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox-close{position:absolute;right:1rem;top:.8rem;background:none;border:0;color:var(--ink);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}
.offer{background:var(--gold);color:#15120d}.offer .eyebrow{color:#5d431d}.offer-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:5rem}.offer-grid>div{padding-top:.5rem}.offer-grid p{max-width:31rem}.offer .gold{color:#15120d;border-color:#15120d}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);align-items:center}.about-portrait-frame{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line)}.about-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:48% center;transform:scale(2);transform-origin:48% 18%}
.about-copy .lead{font-family:Georgia,serif;font-size:clamp(1.4rem,2.4vw,2.3rem);margin:2rem 0}.about-copy>p:last-child{color:var(--muted);max-width:40rem}
.contact{border-top:1px solid var(--line)}.contact h2{font-family:Georgia,serif;font-size:clamp(3rem,7vw,7rem);font-weight:400;line-height:.92;letter-spacing:-.05em;margin:3rem 0 6rem}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.contact-grid a{overflow-wrap:anywhere;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:1rem 0;color:var(--muted);font-size:.9rem}.contact-grid a:hover{color:var(--gold);border-color:var(--gold)}
.contact-grid .alternate-email{display:inline-flex;min-height:44px;border:0;padding:.25rem 0;font-size:.875rem;text-decoration:underline;text-underline-offset:.25rem}
.menu-toggle{min-height:44px;min-width:44px}
footer{display:flex;justify-content:space-between;gap:1rem;padding:2rem var(--pad);border-top:1px solid var(--line);color:#77736c;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}footer p{margin:0}
@media (max-width:760px){.site-header{padding-top:.85rem;padding-bottom:.85rem}.brand-name{display:none}.menu-toggle{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:1.5rem var(--pad);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero{padding-top:7.5rem}.hero:after{width:70vw;height:50vh}.hero-footer{align-items:flex-start;flex-direction:column}.hero-number{display:none}.section-heading,.portfolio-heading,.offer-grid,.about-grid{grid-template-columns:1fr}.section-heading{gap:1rem;margin-bottom:3rem}.service{grid-template-columns:2.5rem 1fr}.service div{grid-template-columns:1fr;gap:.75rem}.project-intro{align-items:flex-start;flex-direction:column}.photo-grid{grid-template-columns:1fr}.offer-grid{gap:2rem}.contact-grid{grid-template-columns:1fr}.contact h2{margin-bottom:3rem}footer{flex-direction:column}}
.restaurant-grid .photo-card:nth-child(7){grid-column:1/-1}.restaurant-grid .restaurant-addition{grid-column:auto;min-height:0;align-self:center}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
