:root{
  --ink:#1b1717;--cream:#f7f2eb;--paper:#fffdf9;--muted:#716867;--line:#ded5cb;
  --accent:#8f6b57;--accent-dark:#6f5040;--white:#fff;
  --serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,calc(100% - 40px));margin:auto}
.site-header{position:absolute;top:0;left:0;width:100%;z-index:10;color:#fff}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.2)}
.brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.02em}
.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid currentColor;font-family:var(--serif);font-size:11px;letter-spacing:.08em}
.brand-name{font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:30px;font-size:13px}
.nav-links a{opacity:.9}.nav-links a:hover{opacity:1}
.nav-cta{border:1px solid rgba(255,255,255,.6);padding:9px 17px}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:25px}
.hero{min-height:760px;height:100vh;max-height:920px;position:relative;display:flex;align-items:center;color:#fff;background:
linear-gradient(90deg,rgba(24,18,17,.78),rgba(24,18,17,.28)),
url("https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=2000&q=85") center/cover}
.hero-content{padding-top:50px}
.eyebrow{font-size:11px;letter-spacing:.25em;font-weight:700;margin-bottom:20px}
.hero h1{font:600 clamp(58px,8vw,104px)/.98 var(--serif);letter-spacing:-.04em;max-width:800px}
.hero h1 em,h2 em{font-style:italic;font-weight:500}
.hero-copy{max-width:560px;margin:28px 0 34px;font-size:17px;color:rgba(255,255,255,.85)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;border:1px solid transparent;font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff}.btn-ghost:hover{background:#fff;color:var(--ink)}
.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.22em;opacity:.75}
.hero-scroll span{margin-left:12px;font-size:16px}
.section{padding:110px 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
h2{font:600 clamp(42px,5vw,67px)/1.08 var(--serif);letter-spacing:-.035em}
.intro{background:var(--cream)}
.intro h2{max-width:600px}.intro-text{max-width:510px;color:var(--muted);font-size:16px}.intro-text p+p{margin-top:18px}
.text-link{display:inline-block;margin-top:28px;color:var(--ink);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:5px}
.services{background:var(--paper)}
.section-heading{margin-bottom:55px}.section-heading h2{max-width:750px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{min-height:365px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.25s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(40,25,20,.08)}
.service-card.featured{background:var(--ink);color:#fff}
.service-number{font-size:11px;letter-spacing:.12em;opacity:.55}
.service-icon{font-size:28px;margin:58px 0 25px;font-family:var(--serif)}
.service-card h3{font:600 25px/1.15 var(--serif);margin-bottom:14px}
.service-card p{font-size:13px;color:var(--muted)}.featured p{color:#cfc6bf}
.service-tag{position:absolute;bottom:28px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;opacity:.65}
.statement{padding:120px 20px;text-align:center;background:#292020;color:#fff}
.statement p{font:500 clamp(36px,5vw,62px)/1.15 var(--serif);letter-spacing:-.03em}
.work{background:var(--cream)}
.row-heading{display:flex;justify-content:space-between;gap:50px;align-items:end}.muted{max-width:360px;color:var(--muted);font-size:14px}
.gallery{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-auto-rows:250px;gap:14px}
.gallery-item{position:relative;background-size:cover;background-position:center;overflow:hidden}
.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.65))}
.gallery-item span{position:absolute;bottom:20px;left:20px;color:#fff;z-index:1;font:500 19px var(--serif)}
.tall{grid-row:span 2}.wide{grid-column:span 2}
.img-one{background-image:url("https://images.unsplash.com/photo-1464366400600-7168b8af9bc3?auto=format&fit=crop&w=1200&q=85")}
.img-two{background-image:url("https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=1000&q=85")}
.img-three{background-image:url("https://images.unsplash.com/photo-1507504031003-b417219a0fde?auto=format&fit=crop&w=1000&q=85")}
.img-four{background-image:url("https://images.unsplash.com/photo-1507504031003-b417219a0fde?auto=format&fit=crop&w=1500&q=85")}
.img-five{background-image:url("https://images.unsplash.com/photo-1478146896981-b80fe463b330?auto=format&fit=crop&w=1000&q=85")}
.process{background:var(--paper)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.process-step{padding:35px 28px 20px 0;border-right:1px solid var(--line);margin-right:28px}
.process-step:last-child{border-right:0}.process-step>span{font-size:11px;color:var(--accent);letter-spacing:.12em}
.process-step h3{font:600 31px var(--serif);margin:40px 0 10px}.process-step p{font-size:13px;color:var(--muted)}
.testimonial{padding:110px 20px;background:var(--cream);text-align:center}
.quote-mark{font:100px/.7 var(--serif);color:var(--accent);height:70px}
blockquote{max-width:820px;margin:0 auto;font:500 clamp(28px,4vw,47px)/1.25 var(--serif);letter-spacing:-.02em}
.quote-author{margin-top:25px;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}
.contact{background:#292020;color:#fff}
.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.contact h2{max-width:600px}.contact-copy{color:#cfc6bf;max-width:470px;margin-top:25px}
.contact-form{display:grid;gap:17px}
.contact-form label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#cfc6bf}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;background:transparent;border:1px solid #625754;color:#fff;font:14px var(--sans);outline:none}
.contact-form select option{color:#111}.contact-form textarea{resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#b89b87}
.form-note{font-size:11px;color:#988b85}
footer{background:#171313;color:#bdb2ac;padding:45px 0 20px}
.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:35px;border-bottom:1px solid #332d2b}
.footer-brand{color:#fff;margin-bottom:15px}.footer-top p{font-size:12px;max-width:350px}
.footer-links{display:flex;gap:24px;font-size:12px}.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;padding-top:18px;font-size:10px;color:#766c67}
@media(max-width:900px){
  .nav-links{display:none;position:absolute;top:86px;left:0;right:0;background:#1b1717;padding:22px 20px;flex-direction:column;align-items:flex-start}
  .nav-links.open{display:flex}.menu-toggle{display:block}
  .service-grid{grid-template-columns:repeat(2,1fr)}.split,.contact-box{grid-template-columns:1fr;gap:45px}
  .process-grid{grid-template-columns:repeat(2,1fr)}.process-step{margin-bottom:25px}
  .gallery{grid-template-columns:1fr 1fr}.wide{grid-column:span 2}
}
@media(max-width:600px){
  .container{width:min(100% - 28px,1160px)}
  .hero{min-height:700px}.hero h1{font-size:58px}.hero-copy{font-size:15px}
  .section{padding:75px 0}.service-grid,.process-grid,.gallery{grid-template-columns:1fr}
  .gallery-item,.tall,.wide{grid-column:auto;grid-row:auto;min-height:270px}
  .row-heading,.footer-top,.footer-bottom{display:block}.muted{margin-top:20px}
  .footer-links{margin-top:25px;flex-wrap:wrap}.footer-bottom span+span{display:block;margin-top:8px}
}
