.stage{position:relative;z-index:1;height:100vh;height:100svh;width:100%;overflow:hidden}.bg{position:fixed;inset:0;z-index:0;background-size:cover;background-position:center;opacity:0;transition:opacity 2.2s ease;animation:kenburns 52s ease-in-out infinite alternate;will-change:transform,opacity}.bg.show{opacity:1}@keyframes kenburns{0%{transform:scale(1.02) translate(0)}to{transform:scale(1.09) translate(-1.5%,-1%)}}.scrim{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,rgba(10,8,6,.55) 0%,rgba(10,8,6,.12) 38%,transparent 60%),linear-gradient(to top,rgba(10,8,6,.5) 0%,transparent 32%),linear-gradient(to bottom,rgba(10,8,6,.5) 0%,rgba(10,8,6,.16) 9%,transparent 20%)}.copy{position:absolute;left:clamp(1.4rem,5vw,3.5rem);top:50%;transform:translateY(-50%);z-index:5;max-width:min(46vw,30rem)}.copy h1{font-family:Fraunces,serif;font-weight:320;font-size:clamp(3rem,8vw,6.4rem);line-height:.98;text-shadow:0 2px 30px rgba(0,0,0,.45)}.copy p{font-weight:300;line-height:1.7;margin-top:1.2rem;max-width:38ch;opacity:.92;text-shadow:0 1px 16px rgba(0,0,0,.5)}.actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}@media(max-width:720px){.copy{max-width:none;right:clamp(1.4rem,6vw,2.5rem)}.copy p{max-width:36ch}.actions{flex-direction:column;align-items:stretch;max-width:240px}.actions .cta{width:100%;text-align:center;white-space:normal}}.cta{display:inline-block;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;border:1px solid rgba(255,255,255,.7);padding:.85rem 1.5rem;text-decoration:none;color:#fff;transition:background .3s,color .3s,border-color .3s}.cta:hover,.cta.solid{background:#fff;color:var(--ink);border-color:#fff}.cta.solid:hover{background:transparent;color:#fff;border-color:#ffffffb3}.down{position:absolute;left:50%;transform:translate(-50%);bottom:1.9rem;z-index:6;white-space:nowrap;display:flex;flex-direction:row;align-items:center;gap:.7rem;padding:.8rem 1.6rem;border:1px solid #fff;background:#fff;border-radius:999px;color:var(--ink);text-decoration:none;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;transition:background .3s,color .3s,border-color .3s}.down:hover{background:transparent;color:#fff;border-color:#ffffffb3}.down svg{width:18px;height:18px}.caption{position:absolute;right:clamp(1.4rem,5vw,3.5rem);bottom:clamp(2.4rem,8vh,5rem);z-index:5;text-align:right;font-size:.78rem;opacity:.85;letter-spacing:.04em;text-shadow:0 1px 12px rgba(0,0,0,.6)}.caption .t{font-family:Fraunces,serif;font-style:italic;font-size:1.05rem;opacity:1}@media(max-width:820px){.caption{display:none}}.about{position:relative;z-index:2;background:var(--paper);color:var(--ink);padding:clamp(5rem,12vh,9rem) clamp(1.4rem,6vw,4rem)}.about-grid{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:minmax(190px,300px) 1fr;grid-template-areas:"img head" "img body";gap:0 clamp(2rem,5vw,4.5rem);align-items:center}.about-head{grid-area:head;text-align:left}.about-body{grid-area:body}.about-img{grid-area:img;position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--paper2);box-shadow:0 26px 54px -32px #281e1480}.about-img img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}.about-img .credit{position:absolute;left:0;bottom:0;right:0;padding:.7rem .85rem;color:#fff;font-size:.7rem;font-style:italic;font-family:Fraunces,serif;background:linear-gradient(transparent,#0f0b078c)}.about-head h2{font-family:Fraunces,serif;font-weight:330;font-size:clamp(2.5rem,5vw,4rem);line-height:1;margin-bottom:.35rem}.about-head h2 em{font-style:italic;color:var(--accent)}.about-body p{color:#4a443c;font-weight:300;line-height:1.9;font-size:1.02rem;margin-bottom:1.1rem;max-width:56ch}.about-body .sig{font-family:Fraunces,serif;font-style:italic;font-size:1.5rem;color:var(--ink);margin:1.6rem 0 1.2rem}.about-body .more{display:inline-block;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px;text-decoration:none}@media(max-width:820px){.about-grid{grid-template-columns:1fr;grid-template-areas:"head" "img" "body";gap:1.4rem}.about-head{text-align:center}.about-img{width:min(280px,80%);justify-self:center}.about-body{margin-top:.8rem}.about-body .more{display:block;width:fit-content;margin:1.1rem auto 0}.about{padding-bottom:clamp(2.6rem,6vh,4rem)}}.selected{position:relative;z-index:2;background:var(--paper2);color:var(--ink);padding:clamp(4.5rem,11vh,8rem) clamp(1.4rem,6vw,4rem)}.works{max-width:1150px;margin:0 auto;column-count:3;column-gap:1.7rem}.work{break-inside:avoid;display:block;text-decoration:none;color:inherit;margin-bottom:1.9rem}.work .ph{overflow:hidden;background:var(--paper);box-shadow:0 20px 44px -28px #281e1480}.work img{width:100%;height:auto;display:block;transition:transform .9s ease;filter:saturate(1.04)}.work:hover img{transform:scale(1.04)}.work .label{margin-top:.7rem}.work .label .t{font-family:Fraunces,serif;font-style:italic;font-size:1.15rem}.work .label .m{display:block;font-size:.76rem;color:var(--muted);margin-top:.15rem}@media(max-width:900px){.works{column-count:2}}@media(max-width:560px){.works{column-count:1}}.sel-cta{text-align:center;margin-top:clamp(2.4rem,6vh,3.6rem)}.sel-cta a{display:inline-block;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);padding:.85rem 1.7rem;border-radius:999px;text-decoration:none;transition:background .3s,color .3s}.sel-cta a:hover{background:var(--ink);color:var(--paper)}.offer-head{text-align:center;margin-bottom:clamp(2.5rem,6vh,4rem)}.offer-head h2{font-family:Fraunces,serif;font-weight:330;font-size:clamp(2.2rem,4.4vw,3.2rem);line-height:1;margin-bottom:.35rem}.offer{position:relative;z-index:2;background:var(--paper);color:var(--ink);padding:clamp(4.5rem,11vh,8rem) clamp(1.4rem,6vw,4rem)}.cards{max-width:870px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.card{position:relative;text-decoration:none;color:#fff;border-radius:3px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 18px 40px -26px #0009}.card img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease;filter:saturate(1.04)}.card:hover img{transform:scale(1.05)}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 34%,#0f0b07cc)}.card .cap{position:absolute;left:1.1rem;right:1rem;bottom:1.05rem;z-index:2}.card .cap h3{font-family:Fraunces,serif;font-weight:420;font-size:1.35rem;margin-bottom:.25rem}.card .cap .desc{font-size:.76rem;opacity:.85;font-weight:300;line-height:1.4}@media(max-width:820px){.cards{grid-template-columns:1fr;max-width:440px;gap:1.1rem}.card{aspect-ratio:16/9}}.divider{position:relative;z-index:2;min-height:64vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;clip-path:inset(0)}.divider-bg{position:fixed;inset:0;z-index:0;background-size:cover;background-position:center 42%}.divider:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(#0e0b0885,#0e0b0866)}.divider .d{position:relative;z-index:2;max-width:min(620px,92%);padding:0 1.4rem}.divider .eyebrow{display:block;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:#e9dcc8;margin-bottom:1.1rem}.divider h2{font-family:Fraunces,serif;font-weight:320;font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.08;margin-bottom:1rem;text-shadow:0 2px 30px rgba(0,0,0,.4)}.divider p{color:#f1e9db;font-weight:300;line-height:1.7;font-size:1.02rem;max-width:48ch;margin:0 auto 1.9rem;text-shadow:0 1px 16px rgba(0,0,0,.5)}.divider .row2{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}.divider .btn-light,.divider .btn-ghost{display:inline-block;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;padding:.85rem 1.6rem;border-radius:999px;text-decoration:none;transition:background .3s,color .3s,border-color .3s}.divider .btn-light{border:1px solid #fff;background:#fff;color:var(--ink)}.divider .btn-light:hover{background:transparent;color:#fff}.divider .btn-ghost{border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff}.divider .btn-ghost:hover{border-color:#fff;background:#ffffff1f}@media(max-width:820px){.divider{min-height:auto;padding:clamp(4.5rem,13vh,6.5rem) 0}.divider .row2{flex-direction:column;align-items:stretch;max-width:260px;margin:0 auto}.divider .btn-light,.divider .btn-ghost{width:100%;text-align:center;white-space:normal}}
