:root{--wine:#541914;--deep:#250b08;--maple:#a94331;--copper:#d79568;--ivory:#fbf6ed;--cream:#f1e6d8;--ink:#2b1b17;--muted:#78675f;--line:rgba(84,25,20,.16);--display:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;z-index:300;background:#fff;padding:10px 16px;transform:translateY(-140%)}.skip:focus{transform:none}.site-header{height:158px;position:fixed;inset:0 0 auto;z-index:80;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.35s}.site-header.scrolled{height:126px;background:#fbf6ede8;color:var(--wine);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand,.footer-brand{display:flex;align-items:center;gap:17px;font-size:.76rem;font-weight:600;letter-spacing:.2em;line-height:1}.brand img{width:120px;height:120px;object-fit:cover;border-radius:50%;border:1px solid #ffffff4a;box-shadow:0 10px 34px #1604035c}.site-header.scrolled .brand img{border-color:var(--line);box-shadow:0 10px 30px #54100d20}.brand small,.footer-brand span{display:block;font-size:.48rem;letter-spacing:.32em;color:var(--copper);margin-top:6px}.desktop-nav{display:flex;gap:34px;font-size:.7rem}.desktop-nav a{opacity:.82}.menu,.mobile-nav{display:none}.section{padding:clamp(100px,11vw,172px) max(24px,7vw)}.eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:.61rem;font-weight:600;margin:0}.maple{color:var(--maple)}.copper{color:var(--copper)}
.hero{height:100svh;min-height:760px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:0 max(24px,7vw) 10vh;color:#fff;background:linear-gradient(125deg,#2b0d0a,#6c2c22 58%,#bc7654)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#210604b5,transparent 64%),linear-gradient(0deg,#250b086b,transparent 52%)}.watercolour{position:absolute;inset:0;filter:blur(3px)}.watercolour i{position:absolute;border-radius:44% 56% 62% 38%;mix-blend-mode:screen;filter:blur(36px)}.watercolour i:first-child{width:60vw;height:70vh;right:-10vw;top:-14vh;background:#efc29c70;transform:rotate(-17deg)}.watercolour i:nth-child(2){width:35vw;height:50vh;right:18vw;top:28vh;background:#f3dfca4a;transform:rotate(24deg)}.watercolour i:last-child{width:24vw;height:42vh;right:-4vw;bottom:-8vh;background:#822c2378}.hero-stamp{position:absolute;z-index:1;right:8vw;top:25vh;font:400 clamp(6rem,14vw,14rem)/1 var(--display);color:#fff;opacity:.055;transform:rotate(-11deg)}.hero-copy{position:relative;z-index:3}.hero h1{font:400 clamp(5.4rem,12.7vw,13.6rem)/.75 var(--display);letter-spacing:-.065em;margin:30px 0 44px}.hero h1 em{font-style:normal;color:#efb58a}.hero-copy>p:last-child{font:400 clamp(1.1rem,1.7vw,1.55rem)/1.5 var(--display)}.hero-note{position:absolute;z-index:3;right:max(24px,5vw);top:46%;display:flex;flex-direction:column;text-align:right;text-transform:uppercase;letter-spacing:.17em;font-size:.52rem}.scroll-cue{position:absolute;z-index:3;right:max(24px,5vw);bottom:7vh;display:flex;align-items:center;gap:17px;text-transform:uppercase;letter-spacing:.16em;font-size:.55rem}.scroll-cue i,.closing a span{width:48px;height:48px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-style:normal}
.intro-grid{display:grid;grid-template-columns:1.15fr .66fr;gap:9vw;align-items:end}.intro h2,.companions-head h2,.social h2,.closing h2{font:400 clamp(3.7rem,7vw,7.5rem)/.96 var(--display);letter-spacing:-.05em;margin:28px 0 0;color:var(--wine)}.intro h2 em,.companions-head h2 em,.social h2 em,.closing h2 em{color:var(--maple);font-style:normal}.intro-grid>div,.companions-head>p:last-child,.social-grid>div,.closing-grid>div{color:var(--muted);font-size:.9rem}.intro-grid>div p+p,.social-grid p+p{margin-top:20px}.life-line{margin-top:90px;border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;color:var(--maple);text-transform:uppercase;letter-spacing:.18em;font-size:.52rem}.life-line i{height:1px;flex:1;margin:0 26px;background:var(--line)}
.companions{background:var(--deep)}.companions-head{color:#fff;display:grid;grid-template-columns:1fr 1.2fr .55fr;gap:5vw;align-items:end}.companions-head h2{color:#fff;margin:0}.companions-head h2 em{color:#efb58a}.companions-head>p:last-child{color:#bd9a8c}.portrait-grid{padding:0 max(24px,7vw) 9vw;display:grid;grid-template-columns:repeat(12,1fr);gap:34px}.companion{background:var(--cream);min-height:700px;display:grid;grid-template-rows:1.22fr .78fr}.companion:nth-child(1){grid-column:1/8}.companion:nth-child(2){grid-column:8/13;margin-top:120px}.companion:nth-child(3){grid-column:1/6;margin-top:-20px}.companion:nth-child(4){grid-column:6/13;margin-top:110px}.companion:nth-child(5){grid-column:3/11;margin-top:30px;grid-template-columns:1.08fr .92fr;grid-template-rows:1fr}.photo-slot{min-height:390px;position:relative;overflow:hidden;display:grid;place-content:center;text-align:center;color:#fff;background:radial-gradient(circle at 72% 23%,#efc7a5 0 7%,transparent 30%),linear-gradient(140deg,#bd7b5e,#63372f)}.photo-slot:after{content:"";position:absolute;inset:10%;border:1px solid #fff3;border-radius:46% 54% 42% 58%;transform:rotate(-8deg)}.simba .photo-slot{background:linear-gradient(140deg,#d49362,#7c4230)}.misty .photo-slot{background:linear-gradient(140deg,#9a8d86,#4e3934)}.miumiu .photo-slot{background:linear-gradient(140deg,#b9957f,#60453b)}.swan .photo-slot{background:linear-gradient(140deg,#5f5555,#1d1515)}.photo-slot span,.photo-slot small,.photo-slot b{position:relative;z-index:1}.photo-slot span{text-transform:uppercase;letter-spacing:.22em;font-size:.52rem}.photo-slot b{font:400 clamp(10rem,20vw,20rem)/.75 var(--display);opacity:.13}.photo-slot small{text-transform:uppercase;letter-spacing:.14em;font-size:.47rem}.companion-copy{position:relative;padding:50px clamp(28px,4.5vw,72px)}.number{position:absolute;right:40px;top:42px;color:var(--maple);font-size:.54rem;letter-spacing:.2em}.species{text-transform:uppercase;letter-spacing:.18em;font-size:.52rem;color:var(--maple);margin:0}.companion h3{font:400 clamp(3.8rem,7vw,7.3rem)/.85 var(--display);letter-spacing:-.05em;color:var(--wine);margin:22px 0}.companion-copy>p:not(.number):not(.species){color:var(--muted);font-size:.82rem;max-width:600px}.story{padding:12px 0;margin-top:15px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--maple);text-transform:uppercase;letter-spacing:.15em;font-size:.53rem;cursor:pointer}.story i{font-style:normal;margin-left:14px;font-size:1rem}.story:hover i{color:var(--wine)}
.social{position:relative;overflow:hidden;background:var(--wine);color:#fff}.social-grid{display:grid;grid-template-columns:1.2fr .58fr;gap:9vw;align-items:end}.social h2{color:#fff}.social h2 em{color:#efb58a}.social-grid>div{color:#d4b9ae}.paw{position:absolute;right:-4vw;top:-8vw;font:400 34vw/1 var(--display);color:#fff;opacity:.025}.closing{position:relative;overflow:hidden}.closing-wash{position:absolute;width:55vw;height:55vw;border-radius:50%;right:-18vw;top:-25vw;background:#cf78551a;filter:blur(22px)}.closing-grid{position:relative;display:grid;grid-template-columns:1.2fr .55fr;gap:8vw;align-items:end}.closing a{margin-top:35px;display:inline-flex;align-items:center;gap:18px;color:var(--wine);text-transform:uppercase;letter-spacing:.16em;font-size:.58rem}footer{background:var(--deep);color:#fff;padding:52px max(24px,7vw);display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand img{width:190px;height:190px;object-fit:cover;border-radius:50%;border:1px solid #ffffff24;box-shadow:0 16px 40px #0004}.footer-brand{gap:17px}footer p{font-size:.61rem;color:#a17b6e}.reveal{opacity:0;transform:translateY(22px);transition:.8s}.reveal.visible{opacity:1;transform:none}
.story-dialog{width:min(580px,calc(100% - 32px));border:0;padding:clamp(38px,6vw,72px);background:var(--ivory);color:var(--ink);box-shadow:0 30px 90px #1b06055e}.story-dialog::backdrop{background:#250b08bd;backdrop-filter:blur(6px)}.story-dialog h2{font:400 4.5rem/.9 var(--display);color:var(--wine);margin:24px 0}.story-dialog>p:not(.eyebrow){color:var(--muted)}.story-dialog small{display:block;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--maple);text-transform:uppercase;letter-spacing:.12em;font-size:.52rem}.dialog-close{position:absolute;right:22px;top:18px;border:0;background:none;color:var(--wine);font-size:2rem;cursor:pointer}
@media(max-width:900px){.desktop-nav{display:none}.menu{display:block;width:47px;height:47px;border:1px solid currentColor;border-radius:50%;background:none;color:inherit;position:relative}.menu span{position:absolute;width:15px;height:1px;background:currentColor;left:15px;top:18px}.menu span+span{top:25px}.menu b{position:absolute;clip:rect(0 0 0 0)}.mobile-nav{display:flex;position:fixed;inset:126px 0 auto;background:#fbf6ed;color:var(--wine);flex-direction:column;padding:25px;gap:18px;transform:translateY(-180%);transition:.3s}.mobile-nav.open{transform:none}.intro-grid,.social-grid,.closing-grid,.companions-head{grid-template-columns:1fr}.companions-head{gap:32px}.portrait-grid{display:block}.companion{margin:0 0 34px!important}.companion:nth-child(5){grid-template-columns:1fr;grid-template-rows:1.22fr .78fr}.life-line i{margin:0 12px}footer{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.site-header{height:116px}.site-header.scrolled{height:98px}.brand img{width:88px;height:88px}.brand span{font-size:.63rem}.mobile-nav{inset-block-start:98px}.hero{min-height:760px;padding-bottom:100px}.hero h1{font-size:4.6rem;margin:34px 0 44px}.hero-note{top:125px;left:22px;right:auto;text-align:left}.section{padding:95px 22px}.intro h2,.companions-head h2,.social h2,.closing h2{font-size:3.35rem}.life-line{display:grid;grid-template-columns:1fr 1fr;gap:16px}.life-line i{display:none}.portrait-grid{padding:0 22px 70px}.companion{min-height:0}.photo-slot{min-height:420px}.companion-copy{padding:46px 25px}.companion h3{font-size:4.6rem}.footer-brand img{width:158px;height:158px}footer{padding:44px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}
