:root{
  --paper:#0c0b09;
  --ink:#ece3d2;
  --muted:#a89a80;
  --line:rgba(212,181,111,.22);
  --accent:#d4af6a;
  --accent-soft:#8a7239;
  --card:#161310;
  --max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:24px 4vw;background:rgba(12,11,9,.86);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:.25s}
.site-header.scrolled{border-bottom-color:var(--line)}
.logo{font-size:20px;letter-spacing:.18em;font-weight:600;color:var(--ink)}.logo span{font-family:"DM Serif Display",serif;font-size:26px;margin-left:3px;color:var(--accent)}
nav{display:flex;gap:32px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
nav a{opacity:.72;transition:.2s}nav a:hover{opacity:1;color:var(--accent)}
.header-cta{font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--accent);padding-bottom:5px;color:var(--accent)}
.header-cta span{margin-left:8px}
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:150px 7vw 70px;max-width:1500px;margin:auto}
.hero-kicker,.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.hero h1{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(76px,12vw,180px);line-height:.84;font-weight:400;letter-spacing:-.055em;margin:38px 0 90px;max-width:900px}
em{font-style:italic;color:var(--accent)}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;max-width:980px}
.hero-bottom p{max-width:430px;font-size:15px;line-height:1.7;color:var(--muted);margin:0}
.circle-link{width:64px;height:64px;border:1px solid var(--accent);color:var(--accent);border-radius:50%;display:grid;place-items:center;font-size:22px;transition:.25s}
.circle-link:hover{background:var(--accent);color:var(--paper)}
.intro,.work-section,.services-section,.about-section,.contact-section{max-width:var(--max);margin:auto;padding:120px 4vw}
.intro{display:grid;grid-template-columns:1fr 2.3fr;border-top:1px solid var(--line)}
.intro-copy{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:end}
h2{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(48px,6vw,90px);font-weight:400;line-height:.94;letter-spacing:-.04em;margin:0}
.intro-copy p,.section-heading>p{font-size:15px;line-height:1.75;color:var(--muted);max-width:390px;margin:0}
.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;margin-bottom:65px}
.section-heading h2{margin-top:25px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.project-wide,.project-tall{grid-column:span 1}
.project-image{position:relative;background:var(--card);aspect-ratio:1/1;overflow:hidden;border:1px solid var(--line);padding:10px}
.project-image img{border:1px solid rgba(212,181,111,.35)}
.project-wide .project-image,.project-tall .project-image{aspect-ratio:1/1}
.project img{transition:transform .7s cubic-bezier(.2,.65,.25,1)}
.project:hover img{transform:scale(1.035)}
.project-meta{display:flex;justify-content:space-between;padding:13px 2px 0;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.project-meta span:first-child{color:var(--accent)}
.services-section{border-top:1px solid var(--line)}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:70px}
.service{border-top:1px solid var(--line);padding:30px 15px 45px 0;min-height:230px}
.service:nth-child(even){padding-left:40px;border-left:1px solid var(--line)}
.service span{font-size:10px;color:var(--accent);letter-spacing:.12em}
.service h3{font-family:"DM Serif Display",Georgia,serif;font-size:40px;font-weight:400;margin:30px 0 14px}
.service p{font-size:14px;line-height:1.7;color:var(--muted);max-width:390px}
.about-section{border-top:1px solid var(--line)}
.about-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;margin-top:75px}
.about-copy{padding-top:10px}
.about-copy p{font-size:16px;line-height:1.8;color:var(--muted);max-width:500px}
.about-signature{margin-top:60px;font-size:12px;letter-spacing:.2em}
.about-signature small{font-size:8px;letter-spacing:.16em;color:var(--muted)}
.contact-section{min-height:75vh;border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.contact-main{margin-top:70px}
.contact-main h2{font-size:clamp(65px,9vw,130px)}
.contact-link{display:inline-flex;align-items:center;gap:35px;margin:65px 35px 0 0;padding-bottom:8px;border-bottom:1px solid var(--accent);color:var(--accent);font-size:11px;letter-spacing:.15em}
.contact-link span{font-size:18px}
.contact-footer{display:flex;justify-content:space-between;padding-top:35px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.15em;color:var(--muted)}
@media(max-width:1100px) and (min-width:801px){
  .portfolio-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
  .site-header{padding:18px 5vw}.site-header nav{display:none}.header-cta{font-size:9px}
  .hero{padding:125px 7vw 55px;min-height:92vh}.hero h1{font-size:21vw;margin:34px 0 70px}
  .hero-bottom{align-items:flex-end}.hero-bottom p{font-size:13px;max-width:75%}.circle-link{width:48px;height:48px;flex:none}
  .intro,.work-section,.services-section,.about-section,.contact-section{padding:85px 6vw}
  .intro,.intro-copy,.section-heading,.about-layout{display:block}
  .intro-copy{margin-top:45px}.intro-copy p,.section-heading>p{margin-top:30px}
  .portfolio-grid{grid-template-columns:1fr;gap:34px}
  .project-meta{font-size:8px}
  .services-grid{grid-template-columns:1fr;margin-top:45px}.service,.service:nth-child(even){padding:28px 0 35px;border-left:0}
  .service h3{font-size:34px}
  .about-copy{margin-top:35px}.about-signature{margin-top:45px}
  .contact-section{min-height:75vh}.contact-main{margin-top:55px}.contact-link{margin-top:40px;margin-right:20px}
  .contact-footer{gap:20px;flex-direction:column}
}

.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-top:30px}
.contact-details .contact-link{margin:0 0 22px 0}
.contact-links-secondary{display:flex;flex-wrap:wrap;gap:0 35px}
.contact-links-secondary .contact-link{margin-top:38px}
@media(max-width:800px){
  .contact-details .contact-link{font-size:10px;word-break:break-word}
  .contact-links-secondary{display:block}
}
