*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--cream:#f2ede4;--sand:#dcc8aa;--black:#1b1a17;--red:#c1273d;--line:rgba(242,237,228,.15);--muted:rgba(242,237,228,.62)}
html{scroll-behavior:smooth;background:var(--black)}
body{font-family:"DM Sans",sans-serif;background:var(--black);color:var(--cream);overflow-x:hidden}
a,button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.skip-link{position:fixed;top:-80px;left:20px;z-index:200;background:var(--cream);color:var(--black);padding:12px 18px}.skip-link:focus{top:18px}
.site-header{position:fixed;inset:0 0 auto;z-index:50;min-height:76px;padding:12px 52px;display:flex;align-items:center;justify-content:space-between;background:rgba(27,26,23,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(242,237,228,.08)}
.logo img{height:50px;width:auto;display:block}.desktop-nav{display:flex;align-items:center;gap:28px}.desktop-nav a{color:var(--cream);font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;opacity:.62}.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{opacity:1}.desktop-nav a[aria-current="page"]{border-bottom:1px solid var(--sand);padding-bottom:4px}.desktop-nav .nav-cta{opacity:1;border-bottom:1px solid var(--red);padding-bottom:4px}.mobile-menu{display:none}
.eyebrow{font-size:10px;letter-spacing:.29em;text-transform:uppercase;color:var(--sand)}
.hero{min-height:100vh;padding:150px 6vw 80px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(54px,8vw,130px);align-items:center;position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 32%,rgba(193,39,61,.12),transparent 27%),linear-gradient(125deg,#1b1a17 0%,#0a0a09 70%);z-index:-1}
.hero-copy{max-width:900px}.hero h1{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(62px,8.4vw,128px);line-height:.82;margin-top:34px;letter-spacing:-.035em}.hero h1 span{display:block}.hero h1 em{display:block;color:var(--sand);font-size:.55em;line-height:1.1;margin-top:24px;font-weight:300}.byline{text-transform:uppercase;letter-spacing:.28em;font-size:9px;color:rgba(242,237,228,.44);margin-top:20px}.hero-lede{max-width:680px;font-family:"Cormorant Garamond",serif;font-size:clamp(24px,2.4vw,36px);font-weight:300;line-height:1.3;margin:38px 0;color:rgba(242,237,228,.76)}
.button{display:inline-flex;align-items:center;gap:22px;border:0;background:var(--red);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:10px;padding:16px 24px;cursor:pointer}.button::after{content:"→"}.button:hover{background:#a51f34}
.hero-frame{height:min(69vh,700px);border:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(150deg,#393129,#080807 65%)}.hero-frame::before{content:"";position:absolute;inset:-15% 15% 18% -65%;background:linear-gradient(100deg,transparent 30%,rgba(242,237,228,.17) 51%,transparent 68%);transform:rotate(-16deg);filter:blur(7px)}.hero-frame::after{content:"";position:absolute;width:54%;aspect-ratio:1;border:1px solid rgba(220,200,170,.22);border-radius:50%;right:-18%;top:15%}.frame-light{position:absolute;left:13%;bottom:12%;width:2px;height:46%;background:linear-gradient(transparent,var(--red),transparent)}.frame-count{position:absolute;top:28px;right:28px;font-size:9px;letter-spacing:.22em;color:rgba(242,237,228,.4)}.hero-frame p{position:absolute;left:34px;bottom:34px;font-family:"Cormorant Garamond",serif;font-size:clamp(29px,3.1vw,48px);line-height:1.05}
.portfolio{padding:130px 6vw;background:#0b0b0a}.section-head{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1fr);gap:7vw;align-items:end;margin-bottom:60px}.section-head .eyebrow{grid-column:1/-1}.section-head h2{font-family:"Cormorant Garamond",serif;font-size:clamp(52px,6.6vw,96px);font-weight:300;line-height:.9}.section-head h2 em{font-weight:300;color:var(--sand)}.section-head>p:last-child{font-size:14px;font-weight:300;line-height:1.8;color:var(--muted);max-width:640px}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:48px}.filter{border:1px solid rgba(242,237,228,.2);background:transparent;color:rgba(242,237,228,.62);padding:12px 17px;text-transform:uppercase;letter-spacing:.12em;font-size:9px;cursor:pointer}.filter:hover,.filter.is-active{background:var(--cream);color:var(--black);border-color:var(--cream)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.project-card{min-width:0;background:var(--black);padding-bottom:32px;transition:opacity .35s}.project-card[hidden]{display:none}.project-cover{display:block;width:100%;aspect-ratio:16/10;border:0;position:relative;overflow:hidden;text-align:left;color:var(--cream);cursor:pointer;background:#111}.project-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 32%,rgba(0,0,0,.82));transition:opacity .3s}.project-cover:hover::after{opacity:.8}.cover-art{position:absolute;inset:0;transition:transform .8s ease}.project-cover:hover .cover-art{transform:scale(1.025)}.cover-desert{background:radial-gradient(circle at 65% 30%,rgba(220,200,170,.85) 0 2%,transparent 3%),linear-gradient(145deg,transparent 40%,rgba(193,39,61,.27) 41% 42%,transparent 43%),linear-gradient(115deg,#0c0b0a,#63452e 52%,#110d0a)}.cover-whale{background:linear-gradient(rgba(12,16,18,.18),rgba(4,7,8,.62)),url("images/portfolio/sel-la-baleine.png") center/cover no-repeat,#24323a}.cover-alba{background:linear-gradient(rgba(12,8,4,.12),rgba(8,5,3,.63)),url("images/portfolio/alba.png") center/cover no-repeat,#5f4633}.cover-coming{background:radial-gradient(circle at 70% 30%,rgba(193,39,61,.22),transparent 19%),repeating-linear-gradient(90deg,transparent 0 70px,rgba(242,237,228,.025) 71px),linear-gradient(145deg,#27231e,#070707)}
.cover-index{position:absolute;z-index:2;top:22px;left:24px;font-size:9px;letter-spacing:.18em}.cover-title{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;font-family:"Cormorant Garamond",serif;font-size:clamp(38px,5vw,70px);font-weight:300;line-height:.9}.project-meta{padding:26px 26px 0}.project-topline{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.project-category{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--sand)}.status{white-space:nowrap;font-size:8px;letter-spacing:.15em;text-transform:uppercase;border:1px solid rgba(220,200,170,.3);padding:6px 8px;color:rgba(242,237,228,.62)}.project-intention{font-family:"Cormorant Garamond",serif;font-size:24px;line-height:1.25;font-weight:300;margin:18px 0 24px;color:rgba(242,237,228,.82)}.project-action{background:none;border:0;color:var(--cream);font-size:9px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid var(--red);padding:0 0 6px;cursor:pointer}
.orientation{padding:110px 6vw 130px;background:var(--cream);color:var(--black)}.orientation-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;border-top:1px solid rgba(27,26,23,.16);border-left:1px solid rgba(27,26,23,.16)}.orientation-card{min-height:250px;padding:34px;display:flex;flex-direction:column;color:inherit;text-decoration:none;border-right:1px solid rgba(27,26,23,.16);border-bottom:1px solid rgba(27,26,23,.16);transition:background .25s}.orientation-card:hover{background:#e8dece}.orientation-card span,.orientation-card small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:rgba(27,26,23,.54)}.orientation-card strong{font-family:"Cormorant Garamond",serif;font-size:clamp(34px,4vw,56px);font-weight:300;line-height:1;margin:auto 0 18px}.orientation-card small{line-height:1.6}
footer{padding:52px 6vw;background:#070707;display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--line);gap:30px}footer img{height:44px;width:auto}footer p{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,237,228,.36);margin-top:15px}footer nav{display:flex;flex-wrap:wrap;gap:22px}footer a{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:rgba(242,237,228,.54);text-decoration:none}
.project-dialog{width:min(960px,calc(100% - 32px));max-height:90vh;margin:auto;border:1px solid rgba(242,237,228,.17);background:#11110f;color:var(--cream);padding:0;grid-template-columns:1.1fr .9fr;overflow:auto}.project-dialog[open]{display:grid}.project-dialog::backdrop{background:rgba(0,0,0,.84);backdrop-filter:blur(6px)}.dialog-close{position:absolute;top:14px;right:16px;z-index:4;width:42px;height:42px;border:1px solid rgba(242,237,228,.25);background:rgba(0,0,0,.45);color:var(--cream);font-size:25px;cursor:pointer}.dialog-visual{min-height:560px;background:#171512}.dialog-copy{padding:70px 48px}.dialog-category{font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:var(--sand)}.dialog-copy h2{font-family:"Cormorant Garamond",serif;font-size:clamp(48px,6vw,78px);font-weight:300;line-height:.9;margin:22px 0}.dialog-status{display:inline-block;font-size:8px;letter-spacing:.15em;text-transform:uppercase;border:1px solid rgba(220,200,170,.3);padding:7px 9px;margin-bottom:28px}.dialog-copy>p:not(.dialog-category,.dialog-note){font-family:"Cormorant Garamond",serif;font-size:27px;line-height:1.28;color:rgba(242,237,228,.82)}.dialog-note{font-size:12px;line-height:1.7;color:rgba(242,237,228,.5);margin:24px 0}.dialog-link{margin-top:8px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.desktop-nav{gap:16px}.hero{grid-template-columns:1fr;padding-top:140px}.hero-frame{height:500px}.section-head{grid-template-columns:1fr}.project-dialog[open]{grid-template-columns:1fr}.dialog-visual{min-height:360px}}
@media(max-width:760px){.site-header{min-height:68px;padding:10px 20px}.logo img{height:44px}.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{list-style:none;width:44px;height:44px;border:1px solid rgba(242,237,228,.2);display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary{background:var(--cream);color:var(--black)}.mobile-menu nav{position:fixed;top:68px;left:0;right:0;display:flex;flex-direction:column;padding:14px 20px 22px;background:rgba(27,26,23,.99);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mobile-menu nav a{padding:13px 0;border-bottom:1px solid var(--line);color:var(--cream);text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.15em}.hero{padding:120px 20px 70px;gap:46px}.hero h1{font-size:clamp(54px,17vw,80px)}.hero-lede{font-size:25px}.hero-frame{height:430px}.portfolio{padding:90px 20px}.project-grid{grid-template-columns:1fr}.filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.filter{white-space:nowrap}.orientation{padding:82px 20px 96px}.orientation-grid{grid-template-columns:1fr}footer{padding:46px 20px;align-items:flex-start;flex-direction:column}.dialog-copy{padding:48px 24px}.dialog-visual{min-height:290px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.cover-art{transition:none}}
