@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,400;9..144,500&family=Manrope:wght@400;500;600&display=swap');
:root { --burgundy:#6d263d; --deep:#381724; --cream:#f8f3e9; --lavender:#b7a3be; --ink:#32282b; --line:rgba(56,23,36,.18); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--cream); color:var(--ink); font-family:Manrope,sans-serif; font-size:16px; line-height:1.65; }
.site-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:96px; padding:16px clamp(24px,6vw,88px); position:absolute; inset:0 0 auto; z-index:2; background:var(--cream); border-bottom:1px solid rgba(109,38,61,.16); }
.wordmark { grid-column:2; color:var(--burgundy); text-align:center; text-decoration:none; line-height:.85; letter-spacing:.09em; font-family:'Cormorant Garamond',serif; font-size:51px; font-style:normal; font-weight:700; }.wordmark small { display:block; margin-top:11px; font:500 11px/1 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.13em; }.site-header .button { grid-column:3; justify-self:end; }
.button { display:inline-block; padding:14px 23px; border:1px solid var(--burgundy); color:var(--cream); background:var(--burgundy); text-decoration:none; font-size:13px; font-weight:600; transition:.2s ease; }.button:hover { background:transparent; color:var(--burgundy); }.button-small { padding:10px 16px; font-size:12px; }
.hero { min-height:770px; padding:170px clamp(24px,11vw,166px) 94px; background:#eadfe2; display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:center; overflow:hidden; }.eyebrow { margin:0 0 18px; color:var(--burgundy); font:500 14px/1.3 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:Fraunces,serif; font-weight:400; line-height:1.05; } h1 { max-width:640px; font-size:clamp(54px,7vw,100px); color:var(--deep); letter-spacing:-.045em; margin-bottom:28px; } h2 { font-size:clamp(40px,5vw,70px); letter-spacing:-.045em; margin-bottom:27px; color:var(--deep); } h3 { font-size:25px; margin-bottom:10px; }.lead { max-width:530px; font-size:20px; line-height:1.55; }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; margin-top:35px; }.text-link { color:var(--burgundy); text-decoration:none; font-size:14px; font-weight:600; }.text-link span { margin-left:7px; }.hero-photo { background:transparent; }.hero-photo img { width:100%; height:510px; display:block; object-fit:cover; object-position:50% 5%; border-radius:49% 49% 0 0; }.hero-photo p { margin:14px 0 0; color:var(--burgundy); text-align:center; font:500 14px/1.2 'DM Mono',monospace; letter-spacing:.08em; }
.section { padding:125px clamp(24px,11vw,166px); }.intro { max-width:950px; }.intro p:last-child { max-width:710px; font-size:19px; }.approach { background:#f0e9dc; display:grid; grid-template-columns:.7fr 1.3fr; gap:100px; }.approach-photo { width:100%; height:300px; margin-top:42px; display:block; object-fit:cover; object-position:50% 53%; }.steps { list-style:none; padding:0; margin:0; }.steps li { display:grid; grid-template-columns:55px 1fr; gap:18px; padding:26px 0; border-top:1px solid var(--line); }.steps span { color:var(--burgundy); font:11px 'DM Mono',monospace; }.steps p { margin-bottom:0; max-width:500px; }
.who { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start; background:#e2d5e3; }.who h2 { font-size:clamp(38px,4.5vw,63px); }.who > div > p:last-child { max-width:485px; font-size:18px; }.people { list-style:none; padding:0; margin:7px 0 0; }.people li { border-top:1px solid rgba(56,23,36,.24); padding:21px 0; display:grid; grid-template-columns:26px 1fr; gap:10px; font:400 21px/1.35 Fraunces,serif; color:var(--deep); }.people li:last-child { border-bottom:1px solid rgba(56,23,36,.24); }.people span { color:var(--burgundy); font:14px/1.7 'DM Mono',monospace; }
.experience { min-height:610px; padding:100px clamp(24px,11vw,166px); background:var(--deep); color:#eee4dc; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; overflow:hidden; }.experience h2 { color:#f9f0e6; max-width:590px; }.experience-copy p:last-child { max-width:560px; font-size:18px; }.experience .eyebrow { color:#d7b2b7; }.glow { width:min(38vw,440px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,#c94138 0%,#9f282d 23%,#692131 50%,transparent 70%); filter:blur(1px); opacity:.95; }
.about { display:grid; grid-template-columns:.7fr 1.3fr; gap:100px; background:#fbf7ef; }.about-mark { min-height:430px; overflow:hidden; background:var(--burgundy); }.about-mark img { width:100%; height:100%; display:block; object-fit:cover; object-position:51% 51%; transform:scale(1.28); }.about-copy h2 { max-width:690px; }.about-copy p:not(.eyebrow) { max-width:760px; font-size:17px; }
.visit { text-align:center; }.visit > h2 { max-width:680px; margin-inline:auto; }.visit-grid { display:grid; grid-template-columns:repeat(3,1fr); max-width:970px; margin:63px auto 50px; text-align:left; }.visit-grid > div { padding:3px 35px 8px; border-left:1px solid var(--line); }.visit-grid > div:first-child { border:0; }.visit-grid h3 { font-size:22px; }.visit-grid p { margin:0; }.visit-grid a,footer a { color:var(--burgundy); } footer { border-top:1px solid var(--line); padding:25px clamp(24px,6vw,88px); display:flex; justify-content:space-between; font-size:12px; color:#6f6265; }
@media (max-width:760px) { .site-header { grid-template-columns:1fr auto 1fr; padding-inline:18px; }.wordmark { font-size:35px; }.wordmark small { font-size:8px; }.site-header .button { padding:8px 10px; font-size:10px; }.hero { min-height:auto; padding-top:145px; padding-bottom:70px; grid-template-columns:1fr; gap:48px; }.hero-photo img { height:400px; }.approach,.who,.experience,.about { grid-template-columns:1fr; gap:36px; }.section { padding-top:84px; padding-bottom:84px; }.experience { min-height:0; }.glow { width:230px; }.about-mark { min-height:270px; }.visit-grid { grid-template-columns:1fr; gap:25px; margin:43px auto; }.visit-grid > div { padding:0; border:0; } }
