
:root{--ink:#111;--paper:#f2eee6;--paper-2:#e7e0d4;--gold:#b49763;--muted:#6f6a62;--line:#d1c9bb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.5}a{color:inherit}
.sf-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:1.1rem clamp(1.2rem,4vw,4rem);background:rgba(242,238,230,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.sf-brand{font-weight:800;letter-spacing:.2em;text-decoration:none;font-size:.82rem}.sf-header nav{display:flex;gap:clamp(1rem,3vw,2.4rem)}.sf-header nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.sf-header nav a:hover{color:var(--gold)}
.sf-hero__copy{max-width:620px}.sf-hero{min-height:calc(100vh - 70px);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(4rem,8vw,8rem) clamp(1.2rem,5vw,5rem);background:#111;color:#f6f2ea}.sf-eyebrow{margin:0 0 1rem;color:var(--gold);font-size:.64rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.sf-hero h1{margin:0;font-size:clamp(4rem,9vw,9rem);line-height:.82;letter-spacing:-.07em}.sf-hero h1 em{font-family:Georgia,serif;font-weight:400}.sf-hero__lead{max-width:540px;margin:2rem 0;color:#c9c2b8;font-size:1.05rem}.sf-cta{display:inline-flex;gap:1rem;align-items:center;text-decoration:none;border:1px solid var(--gold);padding:.9rem 1.1rem;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.sf-cta:hover{background:var(--gold);color:#111}.sf-hero__visual{position:relative}.sf-hero__visual img{width:100%;max-height:72vh;object-fit:cover;display:block;filter:saturate(.7) contrast(1.05)}.sf-hero__visual span{position:absolute;bottom:1rem;left:1rem;padding:.45rem .6rem;background:rgba(0,0,0,.7);color:#fff;font-size:.55rem;letter-spacing:.12em}
.sf-details{padding:clamp(5rem,10vw,10rem) clamp(1.2rem,5vw,5rem)}.sf-details__inner{max-width:1200px;margin:auto}.sf-details h2,.sf-gallery h2,.sf-contact h2{margin:.2rem 0 2rem;font-size:clamp(2.7rem,6vw,6.5rem);line-height:.9;letter-spacing:-.06em}.sf-spec-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4rem 0 2rem}.sf-spec-grid>div{padding:1.4rem 1rem;border-right:1px solid var(--line)}.sf-spec-grid>div:last-child{border-right:0}.sf-spec-grid span{display:block;color:var(--muted);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.5rem}.sf-spec-grid strong{font-size:1.05rem;font-weight:600}.sf-details__copy{max-width:720px;color:var(--muted)}
.sf-gallery{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,5vw,5rem);background:var(--paper-2)}.sf-gallery__head{max-width:900px;margin:0 auto 3rem}.sf-gallery__head>p:last-child{color:var(--muted);max-width:680px}.sf-gallery__grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr;gap:1rem}.sf-gallery figure{margin:0;background:#d4cdc1}.sf-gallery figure:first-child{grid-row:span 2}.sf-gallery img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover;filter:saturate(.72) contrast(1.05)}.sf-gallery figcaption{padding:.7rem .9rem;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sf-contact{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;padding:clamp(5rem,10vw,10rem) clamp(1.2rem,5vw,5rem);background:#111;color:#f6f2ea}.sf-contact>div{max-width:900px}.sf-contact p:not(.sf-eyebrow){max-width:620px;color:#aaa39a}.sf-contact>a{border-bottom:1px solid var(--gold);padding-bottom:.6rem;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem}.sf-contact>a:hover{color:var(--gold)}
@media(max-width:900px){.sf-hero{grid-template-columns:1fr}.sf-hero__visual{order:-1}.sf-spec-grid{grid-template-columns:repeat(2,1fr)}.sf-spec-grid>div:nth-child(2n){border-right:0}.sf-gallery__grid{grid-template-columns:1fr}.sf-gallery figure:first-child{grid-row:auto}.sf-contact{grid-template-columns:1fr}}
@media(max-width:600px){.sf-header{align-items:flex-start}.sf-header nav{gap:.8rem}.sf-header nav a{font-size:.58rem}.sf-hero h1{font-size:clamp(3.6rem,18vw,6rem)}.sf-spec-grid{grid-template-columns:1fr}.sf-spec-grid>div{border-right:0;border-bottom:1px solid var(--line)}.sf-spec-grid>div:last-child{border-bottom:0}}
