 :root {
  --paper: #eeeae2;
  --paper-deep: #e4ded3;
  --ink: #292722;
  --muted: #777168;
  --line: rgba(41,39,34,.2);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-weight: 300; }
a { color: inherit; text-decoration: none; }
.site-header { height: 88px; padding: 0 7vw; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); position: relative; z-index: 5; }
.wordmark { font: 500 22px var(--sans); letter-spacing: .24em; }
.wordmark span { font: 400 9px var(--sans); vertical-align: top; margin-left: 3px; letter-spacing: 0; }
nav { display: flex; gap: 36px; font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
nav a, .site-footer a { transition: opacity .2s; }
nav a:hover, .site-footer a:hover { opacity: .55; }
nav .active { border-bottom: 1px solid var(--ink); padding-bottom: 5px; }
.hero { min-height: 650px; height: min(780px, calc(100vh - 88px)); position: relative; overflow: hidden; display: flex; align-items: center; padding: 0 12vw; }
.hero-art { position: absolute; inset: 0 0 0 39%; overflow: hidden; background: linear-gradient(135deg,#d9d2c6 0%,#c8bdae 45%,#e7e1d7 100%); }
.hero-art:after { content:""; position:absolute; inset:0; background: linear-gradient(90deg,var(--paper) 0%,rgba(238,234,226,.15) 48%,transparent 100%); }
.arch { position:absolute; border: 1px solid rgba(255,255,255,.55); border-bottom:0; border-radius: 50% 50% 0 0; transform: rotate(-13deg); }
.arch-one { width: 58%; height: 105%; left: 20%; top: 15%; background: linear-gradient(110deg,rgba(255,255,255,.34),rgba(130,116,97,.08)); box-shadow: 30px 10px 80px rgba(64,54,42,.1); }
.arch-two { width: 38%; height: 85%; left: 42%; top: 29%; border-width: 2px; }
.orb { position:absolute; width: 260px; height:260px; border-radius:50%; right:13%; top:13%; background: radial-gradient(circle at 32% 28%,#f4f0e8,#c2b7a7 70%,#a99d8d); box-shadow: 35px 50px 80px rgba(59,50,39,.2); }
.horizon { position:absolute; width:100%; height:1px; bottom:23%; background:rgba(255,255,255,.6); transform:rotate(-8deg); }
.hero-copy { position:relative; z-index:2; margin-top:-20px; }
.eyebrow { font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); margin:0 0 25px; }
.hero h1, .name-hero h1 { font:400 clamp(76px,12vw,158px)/.95 var(--serif); letter-spacing:-.065em; margin:0 0 28px; }
.hero h1 span, .name-hero h1 span { color:#9d8e7a; }
.hero-line { font:400 clamp(19px,2.2vw,27px)/1.5 var(--serif); margin:0 0 34px; }
.text-link { display:inline-flex; gap:24px; align-items:center; border-bottom:1px solid var(--ink); padding-bottom:9px; font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
.text-link span { font-size:15px; }
.hero-index { position:absolute; bottom:38px; right:7vw; font-size:9px; letter-spacing:.15em; color:var(--muted); }
.hero-index i { display:inline-block; width:42px; height:1px; background:var(--muted); vertical-align:middle; margin:0 12px; }
.section-pad { padding:120px 12vw; }
.intro { background:#e5dfd5; }
.intro-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:10%; align-items:end; }
.intro h2, .acquisition h2, .name-content h2 { font:400 clamp(35px,5vw,65px)/1.18 var(--serif); letter-spacing:-.035em; margin:0; }
h2 em { color:#8d806f; font-weight:400; }
.intro-grid > p { max-width:390px; font-size:14px; line-height:1.9; color:#625d54; margin:0 0 5px; }
.possibilities { display:grid; grid-template-columns:repeat(4,1fr); min-height:330px; }
.possibility-card { padding:28px 24px; display:flex; flex-direction:column; justify-content:space-between; min-height:310px; color:#f4f0e9; position:relative; overflow:hidden; }
.possibility-card:before { content:""; position:absolute; inset:0; opacity:.75; }
.possibility-card span, .possibility-card strong { position:relative; z-index:1; }
.possibility-card span { font-size:9px; letter-spacing:.18em; }
.possibility-card strong { font:400 30px/1.2 var(--serif); }
.card-beauty:before { background:linear-gradient(145deg,#9b8a78,#51483f); }
.card-fashion:before { background:linear-gradient(145deg,#b8aa98,#75675a); }
.card-objects:before { background:linear-gradient(145deg,#8c9189,#4d554e); }
.card-culture:before { background:linear-gradient(145deg,#a49b91,#62584f); }
.acquisition { display:grid; grid-template-columns:1fr .8fr; gap:12%; background:#dcd4c8; }
.acquisition-heading > p:last-child { max-width:350px; line-height:1.8; color:#625d54; font-size:13px; margin-top:28px; }
.enquiry-form { padding-top:5px; }
.field { margin-bottom:27px; }
.field label { display:block; font-size:9px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:10px; color:#6e675d; }
.field input, .field textarea { width:100%; border:0; border-bottom:1px solid rgba(41,39,34,.35); background:transparent; padding:10px 0 13px; border-radius:0; font:300 13px var(--sans); color:var(--ink); outline:none; resize:vertical; }
.field input:focus, .field textarea:focus { border-bottom-color:var(--ink); }
.field input::placeholder, .field textarea::placeholder { color:#91897e; }
.submit-button { width:100%; display:flex; justify-content:space-between; align-items:center; background:var(--ink); color:var(--paper); border:0; padding:18px 20px; text-transform:uppercase; letter-spacing:.16em; font:400 10px var(--sans); cursor:pointer; transition:background .2s; }
.submit-button:hover { background:#514b41; }
.form-note { font-size:10px; color:#777168; margin-top:16px; }
.site-footer { min-height:100px; padding:25px 7vw; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); font-size:10px; color:var(--muted); letter-spacing:.08em; }
.site-footer .wordmark { color:var(--ink); }
.name-hero { padding-top:120px; padding-bottom:100px; }
.name-hero h1 { font-size:clamp(90px,17vw,210px); margin:25px 0 12px; }
.name-deck { font:400 clamp(20px,3vw,32px) var(--serif); color:#6d655b; margin:0 0 70px; }
.name-rule { height:1px; background:var(--line); width:100%; margin-bottom:35px; }
.name-lead { font:400 clamp(21px,3vw,34px)/1.55 var(--serif); max-width:850px; margin:0; }
.name-body { display:grid; grid-template-columns:180px 1fr; gap:8%; border-top:1px solid var(--line); }
.name-aside { display:flex; gap:20px; color:#83796c; font-size:9px; letter-spacing:.18em; }
.name-aside p { margin:0; }
.name-content { max-width:720px; }
.name-content h2 { margin-bottom:32px; }
.name-content p { color:#625d54; font-size:14px; line-height:2; max-width:690px; }
.name-statement { padding:110px 12vw; background:#d9d1c5; text-align:center; }
.name-statement p { font:400 clamp(30px,5vw,58px)/1.35 var(--serif); margin:0 auto 35px; }
.name-statement span { font-size:9px; letter-spacing:.3em; }
.applications { background:#e5dfd5; }
.applications .text-link { margin-top:24px; }
@media (max-width:760px) {
  .site-header { height:72px; padding:0 6vw; }
  .wordmark { font-size:19px; }
  nav { gap:18px; font-size:9px; }
  .hero { min-height:690px; height:calc(100svh - 72px); align-items:flex-end; padding:0 8vw 105px; }
  .hero-art { inset:0; }
  .hero-art:after { background:linear-gradient(0deg,var(--paper) 0%,rgba(238,234,226,.72) 37%,rgba(238,234,226,.05) 100%); }
  .orb { width:170px; height:170px; right:8%; top:12%; }
  .arch-one { width:85%; left:8%; }
  .hero-copy { margin:0; }
  .hero h1 { font-size:clamp(78px,22vw,125px); }
  .hero-index { bottom:25px; right:8vw; }
  .section-pad { padding:78px 8vw; }
  .intro-grid, .acquisition { grid-template-columns:1fr; gap:35px; }
  .intro-grid > p { max-width:520px; }
  .possibilities { grid-template-columns:repeat(2,1fr); }
  .possibility-card { min-height:230px; padding:20px; }
  .possibility-card strong { font-size:25px; }
  .acquisition { gap:42px; }
  .site-footer { padding:25px 6vw; gap:15px; flex-wrap:wrap; }
  .site-footer > span { order:3; width:100%; }
  .name-hero { padding-top:90px; padding-bottom:75px; }
  .name-hero h1 { font-size:clamp(88px,23vw,150px); }
  .name-deck { margin-bottom:48px; }
  .name-body { grid-template-columns:1fr; gap:35px; }
  .name-statement { padding:85px 8vw; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
