*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
    --warm-white:#f7f4ef;--cream:#e8e2d8;--stone:#b8b0a3;
    --bark:#8a7f72;--umber:#4a4138;--deep:#1e1a16;--ink:#111009;
    --serif:"Cormorant Garamond",Georgia,serif;
    --sans:"Jost","Helvetica Neue",sans-serif;
    --ease:cubic-bezier(0.25,0.1,0.25,1);
}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--warm-white);font-family:var(--sans);font-weight:300;overflow-x:hidden;cursor:none}

.cursor{position:fixed;width:7px;height:7px;background:var(--warm-white);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:difference}
.cursor-ring{position:fixed;width:30px;height:30px;border:1px solid rgba(247,244,239,.4);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s}
.cursor-ring.hover{width:52px;height:52px;border-color:rgba(247,244,239,.8)}

nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:28px 52px;display:flex;justify-content:space-between;align-items:center}
nav::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(17,16,9,.5) 0%,transparent 100%);pointer-events:none;z-index:-1}
.nav-logo{font-family:var(--sans);font-weight:200;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--warm-white);text-decoration:none}
.nav-links{display:flex;gap:40px;list-style:none}
.nav-links a{font-family:var(--sans);font-weight:300;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:var(--warm-white);text-decoration:none;opacity:.65;transition:opacity .3s}
.nav-links a:hover{opacity:1}

#hero{position:relative;height:100vh;overflow:hidden;display:flex;align-items:flex-end}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:brightness(.68);animation:heroZoom 2.6s var(--ease) forwards}
@keyframes heroZoom{from{transform:scale(1.1)}to{transform:scale(1)}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(17,16,9,.72) 0%,rgba(17,16,9,.05) 50%,transparent 75%)}
.hero-content{position:relative;z-index:2;padding:0 52px 76px;width:100%}
.hero-eyebrow{font-family:var(--sans);font-weight:200;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--stone);margin-bottom:18px;opacity:0;animation:fadeUp 1s .9s var(--ease) forwards}
h1.hero-title{font-family:var(--serif);font-weight:300;font-size:clamp(4rem,9vw,5rem);letter-spacing:.07em;line-height:1;color:var(--warm-white);opacity:0;animation:fadeUp 1.1s 1.1s var(--ease) forwards}
.hero-sub{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1rem,2vw,1.5rem);color:var(--cream);margin-top:16px;letter-spacing:.04em;opacity:0;animation:fadeUp 1s 1.3s var(--ease) forwards}
.hero-cta{margin-top:36px;opacity:0;animation:fadeUp 1s 1.6s var(--ease) forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

.btn-outline{display:inline-block;padding:14px 38px;border:1px solid rgba(247,244,239,.5);font-family:var(--sans);font-weight:300;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--warm-white);text-decoration:none;cursor:none;transition:background .4s,border-color .4s,color .4s}
.btn-outline:hover{background:var(--warm-white);border-color:var(--warm-white);color:var(--ink)}

.reveal{opacity:0;transform:translateY(32px);transition:opacity .95s var(--ease),transform .95s var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}
.d1{transition-delay:.12s}.d2{transition-delay:.26s}.d3{transition-delay:.4s}

.section-label{font-family:var(--sans);font-weight:200;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--bark);margin-bottom:36px}

#balance{display:grid;grid-template-columns:1fr 1fr;min-height:88vh}
.balance-image{overflow:hidden}
.balance-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--ease)}
.balance-image:hover img{transform:scale(1.04)}
.balance-content{background:var(--deep);display:flex;flex-direction:column;justify-content:center;padding:88px 80px}
.balance-quote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1.6;color:var(--warm-white);margin-bottom:48px}
.balance-body{font-family:var(--sans);font-weight:300;font-size:.875rem;line-height:1.95;color:var(--stone);max-width:400px}
.balance-body p+p{margin-top:1.2em}

#permission{background:var(--warm-white);color:var(--ink);padding:148px 0}
.permission-inner{max-width:660px;margin:0 auto;padding:0 52px;text-align:center}
.permission-label{font-family:var(--sans);font-weight:200;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--bark);margin-bottom:52px}
.permission-heading{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3.5vw,3.1rem);line-height:1.3;color:var(--umber);margin-bottom:44px}
.permission-body{font-family:var(--sans);font-weight:300;font-size:.9rem;line-height:2;color:#5a4f46}
.permission-body p+p{margin-top:1.4em}

#object{background:var(--ink);padding:116px 0}
.object-header{padding:0 52px;margin-bottom:64px}
.object-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--ink)}
.object-img-wrap{overflow:hidden;aspect-ratio:4/3;background:var(--deep)}
.object-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease),filter .6s;filter:brightness(.85)}
.object-img-wrap:hover img{transform:scale(1.05);filter:brightness(1)}
.object-details{padding:72px 52px 0;display:grid;grid-template-columns:1fr 1fr;gap:48px}
.object-text{font-family:var(--sans);font-weight:300;font-size:.875rem;line-height:1.95;color:var(--stone)}
.object-text p+p{margin-top:1em}
.edition-block{border-left:1px solid var(--umber);padding-left:40px}
.edition-title{font-family:var(--serif);font-weight:400;font-size:1.6rem;color:var(--cream);margin-bottom:24px}
.edition-specs{list-style:none}
.edition-specs li{font-family:var(--sans);font-weight:200;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bark);padding:11px 0;border-bottom:1px solid rgba(138,127,114,.2)}
.edition-specs li:last-child{border-bottom:none}

.divider{height:1px;background:var(--umber);opacity:.28;margin:0 52px}

#commission{display:grid;grid-template-columns:1fr 1fr;min-height:88vh}
.commission-content{background:var(--deep);order:1;display:flex;flex-direction:column;justify-content:center;padding:88px 80px}
.commission-image{overflow:hidden;order:2}
.commission-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--ease)}
.commission-image:hover img{transform:scale(1.04)}
.commission-heading{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,2.7vw,2.8rem);line-height:1.35;color:var(--warm-white);margin-bottom:40px}
.commission-body{font-family:var(--sans);font-weight:300;font-size:.875rem;line-height:1.95;color:var(--stone);max-width:390px;margin-bottom:44px}
.commission-body p+p{margin-top:1.2em}
.commission-note{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--cream);margin-bottom:48px;padding-left:22px;border-left:1px solid var(--bark);line-height:1.6}

#philosophy{position:relative;height:88vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
#philosophy img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:brightness(.3)}
.philosophy-overlay{position:absolute;inset:0;background:rgba(17,16,9,.22)}
.philosophy-content{position:relative;z-index:2;text-align:center;max-width:600px;padding:0 48px}
.philosophy-statement{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(1.5rem,2.8vw,2.6rem);line-height:1.65;color:var(--warm-white);margin-bottom:36px}
.philosophy-sub{font-family:var(--sans);font-weight:200;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--stone)}

footer{background:var(--ink);padding:52px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(74,65,56,.3)}
.footer-brand{font-family:var(--sans);font-weight:200;font-size:.65rem;letter-spacing:.24em;text-transform:uppercase;color:var(--bark)}
.footer-copy{font-family:var(--sans);font-weight:200;font-size:.6rem;letter-spacing:.1em;color:var(--umber)}

.modal-overlay{position:fixed;inset:0;background:rgba(17,16,9,.92);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s var(--ease);backdrop-filter:blur(6px)}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:var(--deep);border:1px solid rgba(74,65,56,.6);padding:68px;max-width:500px;width:calc(100% - 40px);position:relative;transform:translateY(24px);transition:transform .5s var(--ease)}
.modal-overlay.open .modal{transform:translateY(0)}
.modal-close{position:absolute;top:22px;right:26px;background:none;border:none;color:var(--stone);font-family:var(--sans);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;cursor:none;transition:color .3s}
.modal-close:hover{color:var(--warm-white)}
.modal-title{font-family:var(--serif);font-weight:300;font-size:1.9rem;color:var(--warm-white);margin-bottom:6px}
.modal-sub{font-family:var(--sans);font-weight:200;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bark);margin-bottom:48px}
.form-group{margin-bottom:30px}
.form-label{display:block;font-family:var(--sans);font-weight:200;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--bark);margin-bottom:10px}
.form-input,.form-select,.form-textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--umber);color:var(--warm-white);font-family:var(--sans);font-weight:300;font-size:.88rem;padding:10px 0;outline:none;transition:border-color .3s;cursor:none}
.form-select{-webkit-appearance:none}
.form-select option{background:var(--deep)}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-bottom-color:var(--stone)}
.form-textarea{resize:none;height:72px}
.form-submit{width:100%;padding:16px;background:transparent;border:1px solid rgba(247,244,239,.35);color:var(--warm-white);font-family:var(--sans);font-weight:300;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;cursor:none;transition:background .4s,border-color .4s,color .4s;margin-top:10px}
.form-submit:hover{background:var(--warm-white);border-color:var(--warm-white);color:var(--ink)}
.form-thanks{text-align:center;display:none;padding:32px 0}
.form-thanks p{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--cream);line-height:1.7}

@media(max-width:900px){
    nav{padding:20px 24px}.nav-links{gap:22px}
    #balance,#commission{grid-template-columns:1fr}
    .balance-content,.commission-content{padding:60px 32px}
    .commission-image{min-height:55vw;order:1}.commission-content{order:2}
    .balance-image{min-height:60vw}
    .object-details{grid-template-columns:1fr}
    .object-grid{grid-template-columns:1fr}
    .hero-content{padding:0 24px 52px}
    .permission-inner{padding:0 24px}
    .modal{padding:40px 28px}
    footer{flex-direction:column;gap:14px;text-align:center;padding:40px 24px}
    .divider{margin:0 24px}.object-header{padding:0 24px}.object-details{padding:52px 24px 0}
}
@media(max-width:560px){.nav-links li:nth-child(1),.nav-links li:nth-child(2){display:none}}