@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=DM+Serif+Display:ital@0;1&family=DynaPuff:wght@700&family=Patrick+Hand&display=swap');
:root{--ink:#181818;--muted:#6d6d6d;--line:#dedede;--blue:#2448f5;--gutter:clamp(22px,3.5vw,64px);font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.site-header{height:82px;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font:30px/1 'DM Serif Display',Georgia,serif;letter-spacing:-.09em}.brand-dot{color:var(--blue)}.brand-name{font-size:12px;font-weight:700;line-height:1.25}.brand-name small{color:var(--muted);font-size:10px;font-weight:500}.header-note{font-size:12px;color:var(--muted)}
.hero{padding:clamp(22px,3vw,48px) var(--gutter) 0}.hero-frame{overflow:hidden;aspect-ratio:1672/941;border-radius:22px;background:#f5f5f5}.hero-frame img{width:100%;height:100%;object-fit:cover}.mobile-hero-type{display:none}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.hero-bottom p{margin:0}.scroll-glyph{display:inline-block;margin-left:12px;font-size:20px;color:var(--ink);line-height:.6}.section-shell{margin:0 var(--gutter)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1.5;margin:0;text-transform:uppercase}
.intro{display:grid;grid-template-columns:minmax(280px,31%) 1fr;gap:clamp(38px,6vw,110px);align-items:center;padding:clamp(95px,12vw,180px) 0}.archive-box{margin:0}.archive-box img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:24px}.archive-box figcaption{font-size:10px;letter-spacing:.12em;color:var(--muted);margin-top:14px}.intro-copy{max-width:880px}.intro-statement{font:400 clamp(48px,5.8vw,91px)/1.04 'DM Serif Display',Georgia,serif;letter-spacing:-.045em;margin:27px 0 35px}.intro-statement em{color:var(--blue);font-weight:400}.intro-aside{max-width:600px;font-size:17px;line-height:1.68;color:#4a4a4a;margin:0 0 20px}.intro-aside:last-child{margin-bottom:0}
.home-projects{padding:25px 0 130px;border-top:1px solid var(--ink)}.projects-head{display:grid;grid-template-columns:25% 1fr;gap:30px;margin-bottom:70px}.projects-head h2{font:400 clamp(54px,6.8vw,105px)/1 'DM Serif Display',Georgia,serif;letter-spacing:-.05em;margin:-8px 0 16px;max-width:1050px}.projects-head h2 i{color:var(--blue);font-weight:400}.projects-head>p:last-child{grid-column:2;margin:0;color:var(--muted);font-size:16px}.home-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-square{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:30px;overflow:hidden;border:1px solid rgba(0,0,0,.12);transition:transform .45s cubic-bezier(.2,.8,.2,1),border-radius .55s ease,box-shadow .45s ease}.project-square:hover{transform:translateY(-8px);border-radius:42px;box-shadow:0 12px 25px rgba(0,0,0,.07)}.project-square img{position:relative;z-index:1;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.project-square:hover img{transform:scale(1.055)}.rocco-square{background:#071b3b}.rocco-square img{width:85%;filter:brightness(0) invert(1)}.jacquemus-square{background:#fff}.jacquemus-square img{width:76%}.crib-square{background:#fff;flex-direction:column;gap:clamp(18px,2.5vw,36px)}.crib-square img{width:31%;height:auto}.crib-wordmark{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(22px,2.15vw,34px);font-weight:700;letter-spacing:-.045em;line-height:1;color:#111}
.site-footer{margin:0 var(--gutter);padding:25px 0 35px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.back-top:hover{color:var(--ink)}
.case-main{margin:0 var(--gutter);padding:45px 0 100px}.back-link{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:22px}.back-link:hover{color:var(--blue)}.case-cover{position:relative;display:flex;align-items:center;justify-content:center;min-height:clamp(440px,48vw,750px);border-radius:30px;overflow:hidden;border:1px solid var(--line)}.case-cover img{object-fit:contain}.rocco-case{background:#071b3b}.rocco-case img{width:min(76%,900px);filter:brightness(0) invert(1)}.jacquemus-case{background:#fff}.jacquemus-case img{width:min(75%,900px)}.crib-case{background:#fff;flex-direction:column;gap:clamp(22px,3vw,42px)}.crib-case img{width:clamp(155px,18vw,260px)}.crib-case .crib-wordmark{font-size:clamp(38px,5vw,74px)}.case-intro{display:grid;grid-template-columns:30% 1fr;gap:25px;border-bottom:1px solid var(--line);padding:95px 0 105px}.case-intro h2{font:400 clamp(54px,7vw,110px)/1.03 'DM Serif Display',Georgia,serif;letter-spacing:-.045em;max-width:1050px;margin:-12px 0 38px}.case-intro p:not(.eyebrow){font-size:19px;line-height:1.65;max-width:670px;margin:0}.case-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(25px,4vw,75px);padding:60px 0 120px}.case-columns p{font-size:16px;line-height:1.65;margin-top:24px;max-width:400px}.case-stats{display:flex;gap:25px;padding:45px 0;border-bottom:1px solid var(--line)}.case-stats>div{flex:1;padding-right:20px;border-right:1px solid var(--line)}.case-stats>div:last-child{border:0}.case-stats strong{display:block;font:400 clamp(50px,6vw,100px)/1 'DM Serif Display',Georgia,serif}.case-stats span{display:block;color:var(--muted);font-size:13px;margin-top:12px}.case-next{border-top:1px solid var(--ink);padding-top:35px;text-align:right}.text-link{display:inline-flex;gap:60px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:10px;font-size:14px;font-weight:700;transition:gap .25s,color .25s}.text-link:hover{gap:78px;color:var(--blue)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.home-logo-grid .project-square:nth-child(2){transition-delay:.08s}.home-logo-grid .project-square:nth-child(3){transition-delay:.16s}
@media(max-width:900px){.intro{grid-template-columns:35% 1fr;gap:35px}.intro-statement{font-size:clamp(44px,5.8vw,70px)}.home-logo-grid{gap:12px}.projects-head{grid-template-columns:1fr;gap:20px}.projects-head>p:last-child{grid-column:1}.case-intro{grid-template-columns:1fr;gap:35px}.case-columns{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.site-header{height:70px}.header-note{font-size:11px}.hero{padding:14px var(--gutter) 0}.hero-frame{height:570px;aspect-ratio:auto;border-radius:18px;position:relative}.hero-frame img{object-fit:cover;object-position:80% center}.mobile-hero-type{display:block;position:absolute;left:17px;bottom:17px;background:rgba(255,255,255,.93);border-radius:16px;padding:12px 17px 16px;font-family:'Comic Sans MS','Trebuchet MS',sans-serif;font-size:clamp(38px,10vw,52px);letter-spacing:-.09em;line-height:1.1;transform:rotate(-2deg)}.hero-bottom{font-size:10px}.intro{grid-template-columns:1fr;gap:42px;padding:90px 0}.archive-box{max-width:440px}.intro-statement{font-size:clamp(47px,11vw,70px)}.intro-aside{font-size:16px}.home-projects{padding-bottom:100px}.projects-head{margin-bottom:38px}.projects-head h2{font-size:clamp(54px,12vw,78px)}.home-logo-grid{grid-template-columns:1fr;gap:14px}.project-square{border-radius:24px;max-height:520px}.case-main{padding-top:25px}.case-cover{min-height:400px;border-radius:24px}.case-intro{padding:60px 0}.case-intro h2{font-size:58px}.case-intro p:not(.eyebrow){font-size:16px}.case-columns{grid-template-columns:1fr;gap:30px;padding:50px 0 85px}.case-columns p{font-size:15px;margin-top:12px}.case-stats{display:grid;grid-template-columns:1fr 1fr}.case-stats>div{border:0}.case-stats strong{font-size:54px}.site-footer{gap:14px;flex-wrap:wrap}.site-footer span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important}}

/* The opening portrait is a full-page editorial cover; the projects retain their own identities below. */
.editorial-hero{position:relative;isolation:isolate;min-height:min(960px,calc(100svh - 82px));overflow:hidden;background:#f6f6f0;padding:26px var(--gutter) 28px;display:flex;flex-direction:column}
.hero-topline,.hero-bottomline{position:relative;z-index:3;display:flex;justify-content:space-between;gap:20px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hero-topline{padding-bottom:16px;border-bottom:1px solid rgba(24,24,24,.28)}
.hero-bottomline{margin-top:auto;padding-top:18px;border-top:1px solid rgba(24,24,24,.28)}
.editorial-copy{position:relative;z-index:2;width:48%;padding:clamp(50px,7vh,95px) 0 100px;pointer-events:none}
.arrival-line{font-size:clamp(19px,2.1vw,31px);line-height:1.15;margin:0 0 7px;letter-spacing:-.045em}
.editorial-copy h1{font-size:clamp(135px,19vw,310px);font-weight:500;letter-spacing:-.105em;line-height:.82;margin:0 0 3px;white-space:nowrap}
.hero-period{color:#0b5a46}
.hero-surname{font-size:clamp(45px,5.6vw,90px);line-height:.98;letter-spacing:-.078em;margin:0 0 clamp(42px,6vh,85px)}
.hero-roles{display:flex;flex-direction:column;gap:1px;font-size:clamp(21px,2.55vw,38px);font-weight:400;line-height:1.09;letter-spacing:-.052em}
.hero-roles span:first-child{font-weight:700}
.triptych-wrap{position:absolute;z-index:1;right:clamp(-45px,1.2vw,25px);bottom:36px;width:min(56vw,820px);display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.triptych-wrap img{display:block;width:100%;height:auto;max-height:min(88vh,870px);object-fit:contain;object-position:bottom}
.editorial-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 76% 77%,rgba(22,68,47,.045),transparent 32%)}
.cursor-sticker{position:fixed;z-index:9999;pointer-events:none;display:block;width:clamp(58px,5vw,76px);height:clamp(58px,5vw,76px);padding:4px;border:1px solid rgba(20,20,20,.8);border-radius:11px;background:#fff;overflow:hidden;will-change:transform,opacity;animation:sticker-flicker 650ms cubic-bezier(.17,.72,.25,1) both}
.cursor-sticker img{display:block;width:100%;height:100%;object-fit:contain}
@keyframes sticker-flicker{0%{opacity:0;transform:translate(-50%,-42%) rotate(var(--sticker-rotation)) scale(.55)}18%{opacity:1;transform:translate(-50%,-50%) rotate(var(--sticker-rotation)) scale(1)}60%{opacity:.92}100%{opacity:0;transform:translate(-50%,-85%) rotate(var(--sticker-rotation)) scale(.92)}}
.intro{min-height:780px;grid-template-columns:minmax(280px,36%) 1fr;gap:clamp(50px,7vw,130px)}
.intro-statement{font-size:clamp(50px,5.45vw,88px)}
.intro-aside{max-width:690px}
@media(max-width:900px){.editorial-hero{min-height:850px}.editorial-copy{width:56%;padding-top:85px}.editorial-copy h1{font-size:clamp(120px,18vw,190px)}.triptych-wrap{width:60vw;right:-15px;bottom:48px}.intro{min-height:0;grid-template-columns:34% 1fr;gap:36px}}
@media(max-width:650px){.editorial-hero{min-height:0;padding:18px var(--gutter) 20px}.hero-topline,.hero-bottomline{font-size:10px;letter-spacing:.08em}.editorial-copy{width:100%;padding:58px 0 0}.arrival-line{font-size:22px}.editorial-copy h1{font-size:clamp(116px,28vw,180px)}.hero-surname{font-size:clamp(48px,13vw,75px);margin-bottom:30px}.hero-roles{font-size:clamp(22px,5.3vw,28px);gap:0}.triptych-wrap{position:relative;right:auto;bottom:auto;width:calc(100% + 28px);margin:26px -14px 0}.triptych-wrap img{max-height:none;width:100%}.hero-bottomline{margin-top:14px}.intro{min-height:0;grid-template-columns:1fr;gap:40px;padding:94px 0}.intro-statement{font-size:clamp(49px,11vw,69px)}.cursor-sticker{display:none}}
@media(prefers-reduced-motion:reduce){.cursor-sticker{display:none}}

/* Portfolio cover, cutout cursor trail, and the Caucasus chapter. */
.hero-topline{align-items:center;min-height:48px}
.portfolio-logo{display:block;width:64px;height:auto;max-height:27px;object-fit:contain}
.hero-location{margin:26px 0 0;font-size:13px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.hero-bottomline{justify-content:flex-end}
.cursor-sticker{width:var(--sticker-size,74px);height:var(--sticker-size,74px);padding:0;border:0;border-radius:0;background:transparent;overflow:visible;object-fit:contain;animation:sticker-drift 850ms cubic-bezier(.16,.72,.27,1) both;filter:drop-shadow(0 3px 5px rgba(0,0,0,.11))}
@keyframes sticker-drift{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--sticker-rotation)) scale(.4)}14%{opacity:1;transform:translate(-50%,-50%) rotate(var(--sticker-rotation)) scale(1.07)}35%{opacity:1;transform:translate(-50%,-50%) rotate(var(--sticker-rotation)) scale(1)}72%{opacity:.96}100%{opacity:0;transform:translate(calc(-50% + var(--drift-x)),calc(-50% + var(--drift-y))) rotate(calc(var(--sticker-rotation) + 7deg)) scale(.86)}}
.intro{position:relative;isolation:isolate;overflow:hidden;margin:0;padding:105px var(--gutter);min-height:890px;grid-template-columns:minmax(0,46%) minmax(0,1fr);gap:clamp(25px,4vw,70px);background:#fafaf7}
.intro::before{content:"";position:absolute;inset:0 auto 0 0;width:59%;z-index:0;background:url('/assets/caucasus-mountain.jpg') left center/cover no-repeat}
.intro::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,transparent 27%,rgba(250,250,247,.24) 40%,rgba(250,250,247,.91) 55%,#fafaf7 69%)}
.mountain-note,.intro-copy{position:relative;z-index:1}
.mountain-note{grid-column:1;align-self:end;margin:0;color:#fff;text-shadow:0 1px 9px rgba(0,0,0,.55);font-size:11px;font-weight:700;line-height:1.7;letter-spacing:.14em;text-transform:uppercase}
.mountain-note span{display:block;letter-spacing:.04em;text-transform:none;font-weight:500;font-size:13px}
.intro-copy{grid-column:2;max-width:730px}
.intro-statement{font-size:clamp(48px,5vw,80px)}
.intro-statement em{color:#aa3745}
.projects-head{display:flex;flex-direction:column;align-items:center;gap:15px;text-align:center;margin:0 auto 62px}
.projects-head h2{margin:0 auto;max-width:900px;color:#b52b40;font-size:clamp(54px,6.5vw,98px);line-height:1.02}
.projects-head h2 i{color:#ed4b56}
.projects-head>p:last-child{margin:0}
.home-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1130px;margin:auto;gap:20px}
.rocco-square,.rocco-case{background:#4c050c}
.rocco-square img{width:76%;filter:none}
.rocco-case img{width:min(68%,850px);filter:none}
.crib-square{gap:0}
.crib-square .crib-logo{width:81%;height:auto;max-height:85%;object-fit:contain}
.crib-case .crib-logo{width:min(68%,650px);max-height:70%;object-fit:contain}
.noem-square{background:#f7eeeb;flex-direction:column;gap:0}
.noem-square .noem-mark{width:46%;mix-blend-mode:multiply}
.noem-wordmark{font:400 clamp(48px,6vw,84px)/1 'DM Serif Display',Georgia,serif;letter-spacing:.1em;color:#40232c;margin-top:-8px}
.noem-square:hover .noem-wordmark{color:#b52b40}
@media(max-width:900px){.intro{grid-template-columns:minmax(0,43%) minmax(0,1fr);gap:20px;padding:85px var(--gutter);min-height:780px}.intro-statement{font-size:clamp(44px,5.7vw,62px)}.intro::after{background:linear-gradient(90deg,transparent 25%,rgba(250,250,247,.68) 43%,#fafaf7 59%)}}
@media(max-width:650px){.portfolio-logo{width:61px;max-height:26px}.hero-topline{min-height:39px}.hero-location{font-size:11px;margin-top:22px}.cursor-sticker{display:none}.intro{display:block;min-height:0;padding:423px var(--gutter) 95px}.intro::before{width:100%;height:398px;background-position:center 26%;background-size:cover}.intro::after{top:305px;bottom:auto;height:100px;background:linear-gradient(transparent,#fafaf7)}.mountain-note{position:absolute;top:350px;left:var(--gutter);color:#fff}.intro-statement{font-size:clamp(47px,11vw,69px)}.projects-head{margin-bottom:42px}.projects-head h2{font-size:clamp(52px,11vw,78px)}.home-logo-grid{grid-template-columns:1fr;gap:15px}.noem-wordmark{font-size:clamp(52px,15vw,72px)}.crib-square .crib-logo{width:83%}}

/* NOEM campaign case study. */
.noem-main{margin:0 var(--gutter);padding:45px 0 110px}
.noem-titleplate{position:relative;min-height:390px;padding:46px clamp(30px,6vw,100px) 50px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:30px 30px 0 0;background:#f7eeeb;overflow:hidden}
.noem-titleplate .noem-mark{width:76px;height:76px;object-fit:contain;mix-blend-mode:multiply;margin-bottom:10px}
.noem-titleplate h1{margin:0;font:400 clamp(96px,16vw,235px)/.9 'DM Serif Display',Georgia,serif;letter-spacing:.08em;color:#37202b}
.noem-titleplate p{margin:20px 0 0;font:400 clamp(21px,2.4vw,35px)/1.2 'DM Serif Display',Georgia,serif;font-style:italic;color:#a63a50}
.noem-campaign{margin:0;overflow:hidden;border-radius:0 0 30px 30px;background:#ebe3dd}
.noem-campaign img{width:100%;height:auto;display:block}
.noem-campaign figcaption{padding:12px 20px;text-align:right;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6d5960;background:#f7eeeb}
.noem-intro{display:grid;grid-template-columns:27% 1fr;gap:30px;padding:95px 0 105px;border-bottom:1px solid var(--line)}
.noem-intro h2{max-width:920px;margin:-12px 0 30px;font:400 clamp(55px,7vw,110px)/1.02 'DM Serif Display',Georgia,serif;letter-spacing:-.05em;color:#422631}
.noem-intro p:not(.eyebrow){max-width:740px;margin:0;font-size:19px;line-height:1.68}
.noem-feature{display:grid;grid-template-columns:minmax(0,42%) 1fr;gap:clamp(30px,7vw,115px);align-items:center;padding:100px 0}
.noem-feature img{width:100%;max-height:750px;object-fit:cover;border-radius:30px}
.noem-feature blockquote{margin:0;font:400 clamp(42px,5vw,78px)/1.08 'DM Serif Display',Georgia,serif;letter-spacing:-.035em;color:#a63a50}
.noem-feature blockquote span{display:block;margin-top:30px;font:600 12px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#4d3e42}
.noem-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,70px);padding:48px 0 95px;border-top:1px solid var(--line)}
.noem-columns p{font-size:16px;line-height:1.7;max-width:390px;margin:20px 0 0}
@media(max-width:800px){.noem-intro{grid-template-columns:1fr;gap:30px}.noem-feature{gap:30px}.noem-feature blockquote{font-size:clamp(39px,5vw,60px)}}
@media(max-width:650px){.noem-main{padding-top:25px}.noem-titleplate{min-height:300px;border-radius:24px 24px 0 0}.noem-titleplate h1{font-size:clamp(78px,20vw,122px)}.noem-titleplate p{font-size:21px}.noem-campaign{border-radius:0 0 24px 24px}.noem-intro{padding:70px 0}.noem-intro h2{font-size:clamp(48px,11vw,68px)}.noem-intro p:not(.eyebrow){font-size:16px}.noem-columns{grid-template-columns:1fr;gap:25px;padding-bottom:70px}.noem-columns p{margin-top:10px}}
.noem-titleplate .noem-mark{width:145px;height:145px;margin:-25px 0 -18px}
.noem-campaign{aspect-ratio:2.08}
.noem-campaign img{width:100%;height:100%;object-fit:cover;object-position:center}
.noem-artwork-intro{display:grid;grid-template-columns:27% 1fr;gap:30px;align-items:start;padding:80px 0 40px}
.noem-artwork-intro>p:last-child{max-width:800px;margin:0;font:400 clamp(27px,3.4vw,46px)/1.18 'DM Serif Display',Georgia,serif;letter-spacing:-.025em;color:#422631}
.noem-artwork-scroll{margin:0 0 20px;overflow-x:auto;border-radius:25px;background:#f5f1ee;scrollbar-width:thin}
.noem-artwork-scroll img{width:100%;height:auto;display:block}
@media(max-width:650px){.noem-titleplate .noem-mark{width:110px;height:110px;margin:-10px 0 -10px}.noem-artwork-intro{grid-template-columns:1fr;gap:17px;padding:65px 0 30px}.noem-artwork-intro>p:last-child{font-size:32px}.noem-artwork-scroll{border-radius:16px;margin-bottom:14px}.noem-artwork-scroll img{min-width:830px}}

/* The final invitation. */
.contact-invite{min-height:100svh;padding:55px var(--gutter);display:grid;place-items:center;background:#f2f1ea;overflow:hidden}
.invite-artwork{position:relative;width:min(720px,100%);margin:auto}
.invite-artwork>img{display:block;width:100%;height:auto}
.invite-card-details,.invite-envelope-details{position:absolute;left:14%;right:14%;display:flex;flex-direction:column;align-items:center;text-align:center;font-family:'Courier New',Courier,monospace;font-weight:600;color:#1c1b1a;letter-spacing:.035em}
.invite-card-details{top:53%;font-size:clamp(10px,1.15vw,15px);line-height:1.05}
.invite-envelope-details{top:72%;gap:10px;font-size:clamp(11px,1.35vw,17px);line-height:1.05}
.invite-envelope-details a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;padding:0 0 3px;white-space:nowrap}
.invite-envelope-details a:hover,.invite-envelope-details a:focus-visible{border-bottom-color:currentColor}
@media(max-width:650px){.contact-invite{min-height:0;padding:45px 8px}.invite-artwork{width:min(460px,100%)}.invite-card-details{font-size:clamp(9px,2vw,11px)}.invite-envelope-details{font-size:clamp(10px,2.4vw,13px);gap:6px}}

/* A chapter on perspective between the mountain and the work. */
.creation-chapter{padding:48px var(--gutter) 125px;background:#fff}
.creation-topline{display:flex;justify-content:space-between;gap:20px;padding:0 0 18px;border-bottom:1px solid #b7b7b7;font-size:11px;font-weight:700;letter-spacing:.14em}
.creation-grid{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:clamp(45px,7vw,115px);align-items:start}
.creation-portrait{position:relative;margin:45px 0 0;aspect-ratio:.71;border-radius:28px;overflow:hidden;background:#f7f7f7}
.creation-portrait img{width:100%;height:100%;object-fit:cover;object-position:center}
.creation-portrait figcaption{position:absolute;top:27%;left:24%;font-size:clamp(18px,2vw,30px);font-weight:700;letter-spacing:.02em;transform:rotate(-6deg)}
.creation-copy{padding-top:clamp(80px,9vw,135px)}
.creation-copy h2{max-width:740px;margin:0 0 40px;font:400 clamp(68px,7.7vw,116px)/.95 'DM Serif Display',Georgia,serif;letter-spacing:-.055em}
.creation-copy h2 em{font-weight:400;color:#b52b40}
.creation-copy p{max-width:650px;margin:0 0 24px;font-size:18px;line-height:1.65;color:#4a4a4a}
.creation-copy .creation-lead{max-width:680px;margin-bottom:35px;font:400 clamp(27px,3.1vw,47px)/1.18 'DM Serif Display',Georgia,serif;letter-spacing:-.025em;color:#181818}
.creation-sea{width:min(42%,360px);min-width:220px;margin:45px 0 0 auto}
.creation-sea img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:22px}
.creation-sea figcaption{margin-top:10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6d6d6d}
@media(max-width:900px){.creation-grid{gap:35px}.creation-copy{padding-top:75px}.creation-copy h2{font-size:clamp(57px,7vw,76px)}.creation-copy p{font-size:16px}.creation-copy .creation-lead{font-size:clamp(25px,3.2vw,34px)}}
@media(max-width:650px){.creation-chapter{padding:40px var(--gutter) 95px}.creation-topline{font-size:9px}.creation-grid{grid-template-columns:1fr;gap:35px}.creation-portrait{margin:35px 0 0;aspect-ratio:.8;border-radius:23px}.creation-portrait figcaption{font-size:22px}.creation-copy{padding-top:0}.creation-copy h2{font-size:clamp(62px,14vw,85px);margin-bottom:30px}.creation-copy p{font-size:16px}.creation-copy .creation-lead{font-size:31px}.creation-sea{width:65%;min-width:0;margin-top:40px}}

/* The source sky sits behind a centered Caucasus silhouette without a fade. */
.hero-ellipsis{display:inline-block;margin-left:.05em;color:#e63f4b;letter-spacing:-.12em}
.intro{align-items:center;background:#d5e0e5;min-height:920px;padding-block:90px}
.intro::before,.intro::after{content:none}
.intro-landscape{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.intro-sky{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 30%}
.intro-mountain{position:absolute;left:2.5%;bottom:-3%;width:50%;height:84%;max-width:none;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply}
.intro-copy{position:relative;z-index:1;grid-column:2;max-width:700px;padding:clamp(26px,3.5vw,50px);border-radius:28px;background:rgba(249,249,246,.94)}
.intro-statement{margin:19px 0 24px;font-size:clamp(43px,4.65vw,73px)}
.intro-aside{font-size:clamp(15px,1.25vw,17px);line-height:1.58;margin-bottom:16px;color:#303b3e}
.intro-plate-statement{margin:26px 0 0;text-align:right;color:#ae3948;font:italic 400 clamp(24px,2.6vw,38px)/1.06 'DM Serif Display',Georgia,serif}
.mountain-note{z-index:1;align-self:end;text-shadow:0 2px 8px rgba(0,0,0,.65)}

/* Water from the provided reference fills the creation chapter. */
.creation-chapter{min-height:900px;padding:40px var(--gutter) 115px;background:#aebbc3 url('/assets/creation-water.jpg') center center/cover no-repeat}
.creation-topline{border-color:rgba(23,35,41,.55)}
.creation-title{max-width:720px;margin:45px auto 34px;text-align:center;font:700 clamp(32px,3vw,40px)/1.1 'DynaPuff','Arial Rounded MT Bold','Trebuchet MS',sans-serif;letter-spacing:-.055em;color:#191f22;text-wrap:balance}
.creation-grid{gap:clamp(32px,5vw,78px);align-items:center}
.creation-portrait{margin:0;aspect-ratio:.72;border-radius:26px}
.creation-copy{padding:clamp(25px,3.4vw,50px);border-radius:25px;background:rgba(250,250,247,.92)}
.creation-copy .creation-lead{font-size:clamp(29px,3vw,43px)}
.creation-sea{width:min(38%,290px);margin-top:25px}
@media(max-width:900px){.intro{min-height:840px;grid-template-columns:minmax(0,42%) minmax(0,1fr);padding-block:55px}.intro-mountain{left:0;width:52%;height:80%}.intro-copy{padding:30px}.intro-statement{font-size:clamp(40px,5vw,57px)}.intro-aside{font-size:15px}.creation-copy{padding:30px}.creation-title{margin-block:40px 30px}}
@media(max-width:650px){.intro{display:block;min-height:0;padding:405px var(--gutter) 70px}.intro-sky{object-position:center 20%}.intro-mountain{top:35px;left:-2%;bottom:auto;width:104%;height:385px;object-fit:contain;object-position:center bottom}.mountain-note{top:318px;left:var(--gutter)}.intro-copy{padding:24px;border-radius:21px}.intro-statement{font-size:clamp(43px,11vw,62px)}.intro-plate-statement{font-size:28px}.creation-chapter{padding:35px var(--gutter) 80px;background-position:center}.creation-title{font-size:clamp(32px,8.5vw,40px);margin:35px auto 28px}.creation-grid{gap:24px}.creation-portrait{aspect-ratio:.92;border-radius:20px}.creation-copy{padding:25px;border-radius:20px}.creation-copy .creation-lead{font-size:29px}.creation-copy p{font-size:16px}.creation-sea{width:56%;min-width:0}}

/* Refined editorial photography and the freestanding collage portrait. */
.intro{background:#d7e0e4}
.intro-landscape{background:url('/assets/about-caucasus-editorial.png') center center/cover no-repeat}
.intro-copy{background:rgba(250,250,247,.92)}
.creation-chapter{background:#64615c url('/assets/creation-metal-editorial.png') center center/cover no-repeat}
.creation-topline{color:#fbf9f3;border-color:rgba(255,255,255,.7);text-shadow:0 1px 3px rgba(0,0,0,.35)}
.creation-title{width:max-content;max-width:100%;padding:12px 23px 15px;border-radius:16px;background:#f9f8f4}
.creation-portrait{aspect-ratio:auto;max-width:550px;border-radius:0;overflow:visible;background:transparent;align-self:end}
.creation-portrait img{width:100%;height:auto;object-fit:contain;object-position:bottom;filter:drop-shadow(5px 10px 9px rgba(0,0,0,.15))}
.creation-copy{background:rgba(250,250,247,.94)}

/* Compact, softly shifting project tiles and a footer-sized invitation. */
.home-projects{padding:55px 0 85px}
.home-logo-grid{max-width:980px;gap:18px}
.project-square{aspect-ratio:1.28;border-radius:36px 43px 37px 42px;box-shadow:0 5px 20px rgba(24,24,24,.045);transition:transform .5s cubic-bezier(.2,.8,.2,1),border-radius .55s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease}
.project-square:hover{transform:translateY(-7px) scale(1.012);border-radius:53px 37px 49px 35px;box-shadow:0 20px 38px rgba(24,24,24,.12)}
.rocco-square img{width:62%}
.jacquemus-square img{width:68%}
.crib-square{background:#fff}
.crib-square .crib-logo{width:65%;max-height:90%;filter:grayscale(1) contrast(1.1)}
.noem-square{background:#fff;gap:0}
.noem-square .noem-mark{width:54%;max-width:270px;filter:grayscale(1) contrast(1.18);mix-blend-mode:multiply}
.contact-invite{min-height:0;padding:25px var(--gutter) 22px;border-top:1px solid #dedbd4}
.invite-artwork{width:min(320px,100%)}
.invite-card-details{font-size:clamp(9px,.8vw,11px)}
.invite-envelope-details{font-size:clamp(10px,.9vw,12px);gap:6px}
@media(max-width:650px){.intro{padding-top:390px}.intro-landscape{height:410px;bottom:auto;background-position:37% center}.mountain-note{top:315px}.creation-chapter{background-position:45% center}.creation-portrait{width:min(82%,430px);margin:0 auto}.creation-portrait img{width:100%}.creation-title{padding:10px 16px 12px}.home-projects{padding:45px 0 65px}.home-logo-grid{gap:14px}.project-square{aspect-ratio:1.28;border-radius:29px 34px 31px 36px;max-height:none}.rocco-square img{width:64%}.crib-square .crib-logo{width:66%}.noem-square .noem-mark{width:55%}.contact-invite{padding:20px 10px}.invite-artwork{width:min(300px,100%)}.invite-card-details{font-size:9px}.invite-envelope-details{font-size:10px;gap:5px}}

/* Hand-painted greeting and unboxed writing on the butterfly wing. */
.arrival-line{margin:0 0 18px;color:#ed1c0c;font:700 14px/1.2 'DynaPuff','Arial Rounded MT Bold','Trebuchet MS',sans-serif;letter-spacing:.045em;text-transform:uppercase;transform:rotate(-1deg);transform-origin:left center}
.creation-chapter{min-height:830px;background:#e6c894 url('/assets/creation-butterfly-editorial.png') center center/cover no-repeat}
.creation-topline{color:#372621;border-color:rgba(55,38,33,.62);text-shadow:none}
.creation-title{width:auto;max-width:720px;padding:0;border-radius:0;background:transparent;color:#31231e;margin:50px auto 15px;text-shadow:0 1px 2px rgba(255,245,216,.42)}
.creation-grid{grid-template-columns:minmax(0,48%) minmax(0,1fr);min-height:650px;gap:0;align-items:center}
.creation-copy{grid-column:2;justify-self:end;max-width:620px;padding:0;background:transparent;border-radius:0}
.creation-copy .creation-lead{font-size:clamp(34px,3.6vw,55px);line-height:1.12;color:#281d1a;margin-bottom:35px;text-shadow:0 1px 2px rgba(255,245,216,.45)}
.creation-copy p{font-size:clamp(17px,1.45vw,20px);font-weight:500;line-height:1.56;color:#30231e;text-shadow:0 1px 2px rgba(255,245,216,.45)}
@media(max-width:900px){.creation-grid{grid-template-columns:minmax(0,44%) minmax(0,1fr)}.creation-copy .creation-lead{font-size:clamp(31px,4vw,42px)}}
@media(max-width:650px){.arrival-line{font-size:14px;margin-bottom:16px}.creation-chapter{min-height:0;padding:32px var(--gutter) 85px;background-position:74% center}.creation-title{font-size:clamp(32px,8.5vw,40px);margin:45px auto 75px}.creation-grid{display:block;min-height:0}.creation-copy{max-width:100%;margin:0;padding:0}.creation-copy .creation-lead{font-size:clamp(31px,8vw,40px);margin-bottom:30px}.creation-copy p{font-size:17px;line-height:1.55}}

/* Larger greeting, hand-drawn name, and bright creation typography. */
.arrival-line{font-size:clamp(35px,3.2vw,40px);line-height:1.05;margin-bottom:20px;letter-spacing:-.025em}
.editorial-copy{padding-top:clamp(32px,4.5vh,65px);padding-bottom:65px}
.editorial-copy h1,.hero-surname{font-family:'Patrick Hand','Comic Sans MS',cursive;font-weight:400;letter-spacing:-.055em}
.editorial-copy h1{font-size:clamp(135px,18.5vw,285px);line-height:.77;margin-bottom:10px}
.hero-surname{font-size:clamp(65px,7vw,105px);line-height:.88;margin-bottom:clamp(30px,4vh,55px)}
.creation-chapter{background-image:linear-gradient(90deg,rgba(30,18,22,.40) 0%,rgba(31,19,24,.58) 48%,rgba(30,18,22,.70) 100%),url('/assets/creation-butterfly-editorial.png')}
.creation-topline{color:#fff;border-color:rgba(255,255,255,.7)}
.creation-title{max-width:1000px;margin:52px auto 5px;color:#fff;font-size:clamp(66px,7.3vw,112px);font-weight:700;line-height:1.03;text-shadow:0 3px 12px rgba(22,13,17,.42)}
.creation-grid{grid-template-columns:minmax(0,45%) minmax(0,1fr);min-height:610px}
.creation-copy{grid-column:2;justify-self:center;max-width:660px;margin-right:clamp(0px,2.5vw,42px);text-align:center}
.creation-copy .creation-lead{color:#fff;font:700 clamp(33px,3.5vw,52px)/1.12 'DM Sans',Arial,sans-serif;letter-spacing:-.045em;text-shadow:0 2px 8px rgba(22,13,17,.45)}
.creation-copy p{color:#fff;font-weight:700;font-size:clamp(17px,1.5vw,20px);line-height:1.56;text-shadow:0 2px 7px rgba(22,13,17,.45)}
@media(max-width:900px){.editorial-copy h1{font-size:clamp(130px,18vw,190px)}.hero-surname{font-size:clamp(65px,7vw,82px)}.creation-grid{grid-template-columns:minmax(0,40%) minmax(0,1fr)}.creation-copy .creation-lead{font-size:clamp(32px,4vw,42px)}}
@media(max-width:650px){.arrival-line{font-size:clamp(35px,9vw,40px);margin-bottom:18px}.editorial-copy{padding-top:45px;padding-bottom:0}.editorial-copy h1{font-size:clamp(118px,30vw,170px)}.hero-surname{font-size:clamp(61px,16vw,82px);margin-bottom:28px}.creation-chapter{background-image:linear-gradient(rgba(30,18,22,.66),rgba(30,18,22,.72)),url('/assets/creation-butterfly-editorial.png')}.creation-title{font-size:clamp(56px,12vw,76px);margin:50px auto 65px}.creation-grid{display:block;min-height:0}.creation-copy{margin:0 auto;text-align:center}.creation-copy .creation-lead{font-size:clamp(32px,8.3vw,40px)}.creation-copy p{font-size:17px}}

/* Buttercream opening, vivid wing, and a final chapter for the toolkit. */
.site-header{border-bottom:0}
.editorial-hero{background:#fffbe4}
.editorial-hero::after{content:none}
.projects-head h2{color:#171717}
.projects-head h2 i{color:#641727}
.creation-chapter{background:#a75526 url('/assets/creation-butterfly-vivid.png') center center/cover no-repeat}
.creation-title,.creation-copy .creation-lead,.creation-copy p{text-shadow:0 2px 7px rgba(21,12,14,.75),0 0 2px rgba(21,12,14,.7)}
.tools-chapter{position:relative;isolation:isolate;min-height:900px;padding:clamp(38px,4.5vw,70px) var(--gutter) 65px;background:#393c29 url('/assets/tools-glove-editorial.png') center center/cover no-repeat;overflow:hidden;color:#fff}
.tools-topline{width:48%;margin-left:auto;padding:0 0 15px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.75);font-size:11px;font-weight:700;letter-spacing:.14em}
.tools-column{position:relative;width:48%;max-width:680px;margin:42px 0 0 auto}
.tools-column h2{margin:0 0 25px;color:#fff;font:700 clamp(76px,8vw,118px)/.88 'DynaPuff','Arial Rounded MT Bold',sans-serif;letter-spacing:-.065em;text-shadow:0 2px 10px rgba(0,0,0,.24)}
.tools-column h2 span{display:block;margin:16px 0 0;font:italic 400 clamp(24px,2.8vw,42px)/1 'DM Serif Display',Georgia,serif;letter-spacing:-.03em}
.tools-list p{display:grid;grid-template-columns:30px 1fr;column-gap:14px;margin:0;padding:13px 0 14px;border-bottom:1px solid rgba(255,255,255,.36)}
.tools-list p>span{grid-row:1 / span 2;padding-top:4px;font-size:10px;font-weight:700;letter-spacing:.1em}
.tools-list strong{font-size:clamp(23px,2vw,31px);font-weight:700;line-height:1.04;letter-spacing:-.045em}
.tools-list small{grid-column:2;margin-top:5px;font-size:11px;font-weight:500;line-height:1.25;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.tools-coda{position:relative;margin-top:24px;min-height:135px;padding:12px 145px 0 0}
.tools-coda>span{display:block;margin-bottom:8px;font-size:10px;font-weight:700;letter-spacing:.14em}
.tools-coda strong{display:block;font:italic 400 clamp(29px,3vw,45px)/1.04 'DM Serif Display',Georgia,serif}
.tools-coda img{position:absolute;right:18px;bottom:-12px;width:105px;height:auto;transform:rotate(-17deg);filter:drop-shadow(0 5px 7px rgba(0,0,0,.28))}
@media(max-width:900px){.tools-chapter{min-height:820px}.tools-topline,.tools-column{width:52%}.tools-column h2{font-size:clamp(72px,8vw,90px)}.tools-list strong{font-size:23px}.tools-coda img{width:90px}}
@media(max-width:650px){.editorial-hero{background:#fffbe4}.creation-chapter{background:#a75526 url('/assets/creation-butterfly-vivid.png') 74% center/cover no-repeat}.creation-title,.creation-copy .creation-lead,.creation-copy p{text-shadow:0 2px 8px rgba(24,10,15,.85),0 0 2px rgba(24,10,15,.75)}.tools-chapter{min-height:0;padding:22px var(--gutter) 55px;background:#34352b}.tools-chapter::before{content:"";position:absolute;top:0;left:0;right:0;height:365px;background:url('/assets/tools-glove-editorial.png') 25% center/cover no-repeat}.tools-topline{position:relative;z-index:1;width:100%;margin:0;color:#26251d;border-color:rgba(38,37,29,.65);text-shadow:0 1px 2px rgba(255,255,255,.45);font-size:9px}.tools-column{z-index:1;width:100%;margin:325px 0 0}.tools-column h2{font-size:clamp(68px,19vw,95px);margin-bottom:26px}.tools-column h2 span{font-size:30px}.tools-list p{padding:13px 0}.tools-list strong{font-size:25px}.tools-list small{font-size:10px}.tools-coda{min-height:120px;padding-right:105px}.tools-coda strong{font-size:31px}.tools-coda img{right:2px;bottom:0;width:78px}}

/* A clean paper opening and an original telephone hung from the header. */
.site-header{position:relative;z-index:5;background:#fff}
.hanging-phone{position:absolute;top:-2px;left:55%;height:clamp(410px,44vw,585px);width:auto;max-width:none;transform:translateX(-50%);pointer-events:none;user-select:none;z-index:1}
.site-header .brand,.site-header .header-note{position:relative;z-index:2}
.editorial-hero{background:#fff}
.arrival-line{max-width:520px;margin-bottom:17px;color:#b92322;font:400 clamp(27px,2.6vw,38px)/1.03 'Patrick Hand','Comic Sans MS',cursive;letter-spacing:-.02em;text-transform:none;transform:none}
.arrival-line span{display:block;color:#171717;font-size:.78em;line-height:1.08}

/* Light italic editorial type lets the butterfly photograph remain vivid. */
.creation-chapter{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:75px var(--gutter) 90px;background:#a75526 url('/assets/creation-butterfly-vivid.png') center center/cover no-repeat}
.creation-topline{display:none}
.creation-title{width:100%;max-width:1200px;margin:0 auto 42px;padding:0;color:#fff;text-align:center;font:italic 400 clamp(78px,8.8vw,142px)/.98 'DM Serif Display',Georgia,serif;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 2px 6px rgba(38,16,12,.48)}
.creation-grid{display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);gap:0;align-items:center;min-height:0;flex:1}
.creation-copy{grid-column:2;justify-self:center;width:100%;max-width:610px;margin:0;text-align:center;padding:0;background:none}
.creation-copy .creation-lead{max-width:none;margin:0 0 30px;color:#fff;font:italic 400 clamp(32px,3.4vw,51px)/1.17 'DM Serif Display',Georgia,serif;letter-spacing:-.02em;text-shadow:0 2px 6px rgba(38,16,12,.6)}
.creation-copy p{max-width:none;margin:0 0 18px;color:#fff;font:italic 400 clamp(17px,1.55vw,21px)/1.55 'DM Sans',Arial,sans-serif;letter-spacing:0;text-shadow:0 2px 6px rgba(38,16,12,.62)}

/* Project cards reveal a small invitation at the pointer. */
.noem-square .noem-mark{width:65%;max-width:320px}
.project-cursor-hint{position:fixed;left:0;top:0;z-index:9998;padding:8px 12px;background:#fff;color:#1a1716;border:1px solid rgba(24,24,24,.7);border-radius:999px;font:500 12px/1 'DM Sans',Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;pointer-events:none;opacity:0;transform:translate(17px,17px) scale(.92);transition:opacity .18s ease,transform .18s ease;white-space:nowrap}
.project-cursor-hint.is-active{opacity:1;transform:translate(17px,17px) scale(1)}
.project-square:focus-visible::after{content:'Click me';position:absolute;z-index:3;bottom:17px;left:50%;transform:translateX(-50%);padding:8px 12px;background:#fff;border-radius:999px;font:500 12px/1 'DM Sans',Arial,sans-serif;text-transform:uppercase;white-space:nowrap}

.tools-column h2{font:400 clamp(94px,10vw,150px)/.78 'Patrick Hand','Comic Sans MS',cursive;letter-spacing:-.055em}
.contact-invite{background:#fff}

@media(max-width:900px){.hanging-phone{left:63%;height:390px}.creation-title{font-size:clamp(67px,9vw,95px)}.creation-grid{grid-template-columns:35% 65%}.creation-copy .creation-lead{font-size:clamp(30px,4.3vw,43px)}}
@media(max-width:650px){.hanging-phone{top:-3px;left:auto;right:2px;height:245px;transform:none}.editorial-hero{background:#fff}.arrival-line{max-width:72%;font-size:clamp(28px,7.8vw,36px);margin-bottom:24px}.arrival-line span{font-size:.74em}.editorial-copy{padding-top:44px}.creation-chapter{min-height:100svh;padding:76px var(--gutter) 82px;background-position:68% center}.creation-title{font-size:clamp(57px,13vw,82px);line-height:1.02;margin:0 auto 55px}.creation-grid{display:block;min-height:0;flex:0}.creation-copy{width:100%;max-width:520px;margin:0 auto;text-align:center}.creation-copy .creation-lead{font-size:clamp(29px,8vw,39px);margin-bottom:28px}.creation-copy p{font-size:16px;line-height:1.5}.noem-square .noem-mark{width:65%}.tools-column h2{font-size:clamp(80px,22vw,110px)}.project-cursor-hint{display:none}}
@media(prefers-reduced-motion:reduce){.project-cursor-hint{transition:none}}

/* Show the supplied NOEM campaign in its original colour and at native size. */
.noem-titleplate{background:#f7eeeb;border:0}
.noem-titleplate h1{color:#37202b}
.noem-titleplate p,.noem-feature blockquote{color:#a63a50}
.noem-intro h2,.noem-artwork-intro>p:last-child{color:#422631}
.noem-titleplate .noem-mark{filter:none;mix-blend-mode:multiply}
.noem-campaign{aspect-ratio:auto;padding:18px var(--gutter) 45px;background:#ebe3dd;border:0;display:flex;justify-content:center}
.noem-campaign img{width:100%;max-width:830px;height:auto;object-fit:contain;filter:none}
.noem-artwork-scroll{background:#f5f1ee;border:0}
.noem-artwork-scroll img{filter:none}
.noem-campaign figcaption{background:#f7eeeb;color:#6d5960}
.noem-feature blockquote span{color:#4d3e42}

/* Luka’s Crib opens with a personal note, then the original campaign decks. */
.crib-note-page{margin:0 var(--gutter);padding:42px 0 90px}
.crib-letter{max-width:910px;margin:0 auto;padding:clamp(35px,5vw,80px);background:#fff;border:1px solid #171717;border-radius:20px;text-align:center}
.crib-letter-logo{width:clamp(170px,20vw,245px);height:auto;margin:0 auto 26px}
.crib-letter-kicker{margin:0;color:#595959;font:400 12px/1.3 'DM Sans',Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em}
.crib-letter h1{margin:8px 0 28px;color:#151515;font:400 clamp(53px,6vw,85px)/.98 'Patrick Hand','Comic Sans MS',cursive;letter-spacing:-.05em}
.crib-letter-copy{max-width:690px;margin:0 auto;text-align:left}
.crib-letter-copy p{margin:0 0 20px;font:italic 400 clamp(20px,2vw,27px)/1.38 'DM Serif Display',Georgia,serif}
.crib-letter-signature{margin:35px 0 28px;font:italic 400 clamp(23px,2.4vw,32px)/1.18 'DM Serif Display',Georgia,serif}
.crib-letter-signature span{display:inline-block;margin-top:14px;font:400 clamp(28px,3.3vw,43px)/1 'Patrick Hand','Comic Sans MS',cursive}
.crib-enter-link{display:inline-flex;align-items:center;gap:24px;padding:14px 20px;background:#181818;color:#fff;border:1px solid #181818;border-radius:999px;font:500 13px/1 'DM Sans',Arial,sans-serif;letter-spacing:.035em;transition:background .2s,color .2s,gap .2s}
.crib-enter-link:hover{background:#fff;color:#181818;gap:34px}
.crib-portfolio-page{margin:0 var(--gutter);padding:32px 0 95px}
.crib-portfolio-nav{display:flex;justify-content:space-between;gap:20px}
.crib-portfolio-intro{display:grid;grid-template-columns:minmax(190px,28%) 1fr;gap:clamp(28px,5vw,90px);align-items:center;min-height:430px;padding:35px 0 75px;border-bottom:1px solid #171717}
.crib-portfolio-intro img{width:min(100%,280px);height:auto;justify-self:center}
.crib-portfolio-intro h1{margin:12px 0 25px;font:700 clamp(48px,5.8vw,88px)/.98 'DM Sans',Arial,sans-serif;letter-spacing:-.065em}
.crib-portfolio-intro h1 em{font:italic 400 .83em/1 'DM Serif Display',Georgia,serif;letter-spacing:-.04em}
.crib-portfolio-intro p:not(.eyebrow){max-width:570px;margin:0 0 22px;font:400 16px/1.55 'DM Sans',Arial,sans-serif}
.crib-pdf-link{display:inline-block;border-bottom:1px solid currentColor;padding:4px 0;font:500 13px/1.4 'DM Sans',Arial,sans-serif}
.crib-pdf-link:hover{opacity:.55}
.crib-deck-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:48px 0 22px}
.crib-deck-heading span{font-size:11px;letter-spacing:.13em}
.crib-deck-heading h2{margin:0;font:400 clamp(35px,4vw,58px)/1 'DM Serif Display',Georgia,serif}
.crib-slide{margin:0 0 30px}
.crib-slide a{display:block;overflow:hidden;border:1px solid #e5e5e5;border-radius:12px}
.crib-slide img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#fff}
.crib-slide figcaption{margin:7px 0 0;text-align:right;font-size:10px;letter-spacing:.12em;color:#686868}
.crib-visual-system{margin:85px 0 95px;border-top:1px solid #171717;border-bottom:1px solid #171717}
.crib-visual-system summary{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:25px 0;cursor:pointer;list-style:none}
.crib-visual-system summary::-webkit-details-marker{display:none}
.crib-visual-system summary span{font-size:11px;letter-spacing:.12em}
.crib-visual-system summary strong{font:400 clamp(29px,4vw,55px)/1.1 'DM Serif Display',Georgia,serif}
.crib-visual-system summary span:last-child{font-size:29px}
.crib-visual-system[open] summary span:last-child{transform:rotate(45deg)}
.crib-visual-inner{max-width:1300px;margin:0 auto;padding:20px 0 45px}
.crib-visual-inner>p{max-width:600px;line-height:1.5}
.crib-visual-inner>.crib-pdf-link{margin-bottom:35px}
@media(max-width:650px){.noem-campaign{padding:10px 10px 28px}.noem-campaign img{max-width:100%}.crib-note-page{padding-top:20px}.crib-letter{padding:35px 23px;border-radius:15px}.crib-letter h1{font-size:58px}.crib-letter-copy p{font-size:20px}.crib-portfolio-intro{grid-template-columns:1fr;min-height:0;gap:10px;padding:25px 0 55px}.crib-portfolio-intro img{width:200px;justify-self:start}.crib-portfolio-intro h1{font-size:clamp(45px,12vw,65px)}.crib-deck-heading{padding-top:38px}.crib-slide{margin-bottom:20px}.crib-visual-system{margin:65px 0}.crib-visual-system summary{align-items:flex-start}.crib-visual-system summary strong{font-size:30px}}

/* Final spacing and type refinements. */
.home-header{justify-content:flex-end}
.hanging-phone{left:0;top:-2px;height:clamp(385px,42vw,540px);transform:none}
.editorial-copy{margin-left:clamp(265px,25vw,360px);width:calc(51% - 90px)}
.hero-ellipsis{margin-left:.12em;color:#b92322;font:400 .85em/1 'DM Serif Display',Georgia,serif;letter-spacing:.04em;white-space:nowrap}
.creation-chapter{position:relative;display:block;min-height:100svh;padding:0 var(--gutter) 80px}
.creation-title{position:absolute;top:50svh;left:50%;transform:translate(-50%,-50%);width:calc(100% - 2 * var(--gutter));margin:0}
.creation-grid{min-height:0;padding-top:68svh}
.tools-column h2{font-size:clamp(78px,7vw,110px)}
.invite-artwork{width:min(390px,100%)}
.invite-envelope-details{font-size:clamp(13px,1.25vw,16px);gap:8px}
.invite-envelope-details a{border-bottom-color:currentColor;padding-bottom:3px}
.crib-square,.crib-square:hover{border-radius:30px}
.crib-letter-logo{aspect-ratio:1;object-fit:contain;padding:15px;background:#fff;border:1px solid #e8e8e8;border-radius:24px}
@media(max-width:900px){.hanging-phone{left:0;height:385px}.editorial-copy{margin-left:265px;width:calc(62% - 135px)}.creation-grid{padding-top:68svh}}
@media(max-width:650px){.hanging-phone{left:0;right:auto;height:205px;transform:none}.editorial-copy{margin-left:0;width:100%;padding-top:165px}.creation-chapter{padding:0 var(--gutter) 82px}.creation-title{top:50svh;width:calc(100% - 2 * var(--gutter));margin:0}.creation-grid{display:block;padding-top:73svh}.tools-column h2{font-size:clamp(64px,16vw,83px)}.invite-artwork{width:min(350px,100%)}.invite-envelope-details{font-size:clamp(12px,3vw,14px)}.crib-square,.crib-square:hover{border-radius:26px}}

/* The telephone hangs beside the opening, while a blank paper awaits Luka's new note. */
.home-header{justify-content:flex-end}
.hanging-phone{left:clamp(265px,30vw,430px);top:-2px;height:220px;transform:none}
.editorial-copy{margin-left:0;width:48%;padding-top:205px}
.intro{display:flex;justify-content:flex-end;align-items:center;min-height:900px;padding:65px var(--gutter)}
.intro-landscape{inset:0;background-position:center center}
.intro-plate{position:relative;z-index:1;flex:none;width:min(57vw,740px);margin:0 1% 0 0}
.intro-plate img{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 19px rgba(12,25,35,.23))}
.mountain-note{position:absolute;left:var(--gutter);bottom:32px;z-index:2}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.hanging-phone{left:29vw;height:190px}.editorial-copy{margin-left:0;width:56%;padding-top:185px}.intro{min-height:760px;padding:55px var(--gutter)}.intro-plate{width:min(62vw,590px)}}
@media(max-width:650px){.hanging-phone{left:auto;right:7%;height:145px;top:-2px}.editorial-copy{margin-left:0;width:100%;padding-top:120px}.intro{min-height:0;padding:95px var(--gutter) 70px;display:flex;justify-content:center}.intro-landscape{height:100%;bottom:0;background-position:35% center}.intro-plate{width:min(94vw,530px);margin:0}.mountain-note{left:var(--gutter);bottom:25px;top:auto}}

/* A compact opening, handwritten note, and centered creation statement. */
.site-header.home-header{height:54px}
.hanging-phone{top:-74px;left:clamp(265px,30vw,430px);height:270px}
.editorial-copy{padding-top:115px}
.arrival-line{font-size:clamp(42px,3.8vw,54px);line-height:.98;margin-bottom:22px}
.arrival-line span{font-size:.51em;line-height:1.18;margin-top:6px}
.intro-paper-note{position:absolute;z-index:2;left:32%;top:25%;width:38%;height:46%;display:flex;align-items:center;justify-content:center;margin:0;padding:0 2%;box-sizing:border-box;overflow:hidden;color:#25211e;text-align:center;font:400 clamp(12px,1.25vw,18px)/1.2 'Patrick Hand','Comic Sans MS',cursive;letter-spacing:.003em;transform:rotate(-.4deg)}
.creation-chapter{min-height:760px;height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:70px var(--gutter) 80px}
.creation-title{position:static;top:auto;left:auto;transform:none;width:100%;max-width:1200px;margin:0 auto;font-size:clamp(64px,7vw,108px)}
.creation-grid{display:flex;justify-content:center;align-items:center;width:100%;min-height:0;padding:0;flex:0}
.creation-copy{grid-column:auto;justify-self:auto;width:min(100%,720px);max-width:720px;margin:0 auto;text-align:center}
@media(max-width:900px){.hanging-phone{top:-55px;left:29vw;height:230px}.editorial-copy{padding-top:115px}.creation-chapter{min-height:700px}.intro-paper-note{font-size:clamp(11px,1.35vw,14px)}}
@media(max-width:650px){.site-header.home-header{height:54px}.hanging-phone{top:-42px;left:auto;right:7%;height:190px}.editorial-copy{padding-top:108px}.arrival-line{font-size:clamp(37px,10vw,48px);max-width:100%}.arrival-line span{font-size:.52em}.intro{padding:90px var(--gutter) 70px}.intro-plate{width:520px;max-width:none;flex:0 0 520px}.intro-paper-note{font-size:12px;line-height:1.15}.creation-chapter{min-height:0;gap:32px;padding:85px var(--gutter) 90px}.creation-title{font-size:clamp(52px,12vw,72px)}.creation-grid{display:flex;padding:0}.creation-copy{width:100%;max-width:520px}}

/* Paper texture and the NAMI portfolio. */
.editorial-hero{background:#eeeae0 url('/assets/hero-paper-reference.jpg') center center/100% 100% no-repeat}
.editorial-hero::after{content:none}
.hanging-phone{height:315px;top:-96px}
.triptych-wrap{width:min(61vw,880px)}
.nami-square{background:#e9e4d9}
.nami-square img{width:100%;height:100%;object-fit:cover;object-position:center center}
.nami-portfolio{background:#f8f7f3;padding:38px var(--gutter) 80px}
.nami-portfolio-head{max-width:1120px;margin:0 auto 32px;display:flex;justify-content:space-between;align-items:end;gap:24px}
.nami-portfolio-head h1{margin:10px 0 6px;font:400 clamp(54px,8vw,100px)/.95 'DM Serif Display',Georgia,serif;letter-spacing:-.055em}
.nami-portfolio-head p:last-child{margin:0;color:#555;font-size:15px}
.nami-pages{max-width:1200px;margin:0 auto;display:grid;gap:24px}
.nami-pages figure{margin:0;background:#fff;box-shadow:0 8px 24px rgba(30,25,22,.07);border-radius:18px;overflow:hidden}
.nami-pages img{width:100%;height:auto}
.nami-pages figcaption{padding:9px 15px;text-align:right;color:#666;font-size:10px;letter-spacing:.12em}
.nami-return{max-width:1200px;margin:55px auto 0;text-align:right}
@media(max-width:900px){.hanging-phone{height:265px;top:-70px}.triptych-wrap{width:65vw}}
@media(max-width:650px){.editorial-hero{background-size:cover;background-position:center}.hanging-phone{height:220px;top:-54px}.triptych-wrap{width:calc(100% + 28px)}.nami-portfolio{padding:25px 12px 55px}.nami-portfolio-head{display:block;padding:0 8px}.nami-pages{gap:14px}.nami-pages figure{border-radius:11px}}

/* The restrained grey NAMI identity and clean monochrome project marks. */
.nami-square{background:#aaa9ab}
.nami-square img{width:100%;height:100%;object-fit:cover;object-position:center}
.nami-identity-cover{background:#aaa9ab}
.nami-identity-cover img{max-height:760px;object-fit:contain}
.crib-square{background:#fafaf6}
.crib-square .crib-logo{width:72%;max-height:86%;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1) contrast(1.08)}
.noem-square{background:#fff;display:flex;align-items:center;justify-content:center}
.noem-square .noem-mark{display:block;width:78%;max-width:310px;height:auto;max-height:88%;margin:auto;object-fit:contain;object-position:center;filter:grayscale(1) contrast(1.1)}
.hanging-phone{left:clamp(245px,27vw,395px);height:340px;top:-105px;transform:translate3d(0,var(--phone-drift,0px),0);will-change:transform}
@media(max-width:900px){.hanging-phone{left:26vw;height:285px;top:-75px}.crib-square .crib-logo{width:74%}.noem-square .noem-mark{width:80%}}
@media(max-width:650px){.hanging-phone{left:auto;right:9%;height:230px;top:-58px;transform:none}.crib-square .crib-logo{width:72%}.noem-square .noem-mark{width:78%}}
@media(prefers-reduced-motion:reduce){.hanging-phone{transform:none;will-change:auto}}

/* Quiet project marks and a scroll-responsive paper invitation. */
.rocco-square img{width:55%}
.jacquemus-square img{width:58%}
.crib-square .crib-logo{width:62%}
.nami-square img{width:84%;height:84%;object-fit:contain}
.noem-square .noem-mark{width:64%;max-width:260px;margin:auto;position:relative;left:-4%;filter:grayscale(1) contrast(12);mix-blend-mode:multiply}
.hanging-phone{opacity:var(--phone-opacity,1);pointer-events:none}
.invite-artwork{overflow:hidden;isolation:isolate}
.invite-letter-image{position:relative;z-index:1;transform:translateY(var(--letter-shift,25%));transform-origin:bottom center;will-change:transform}
.invite-envelope-front{position:absolute;inset:0;width:100%;height:auto;z-index:2;clip-path:polygon(0 47%,50% 65%,100% 47%,100% 100%,0 100%);pointer-events:none}
.invite-card-details{z-index:1;transform:translateY(var(--letter-text-shift,180%));will-change:transform}
.invite-envelope-details{z-index:3}
.contact-invite{padding:55px var(--gutter) 22px}
@media(max-width:650px){.rocco-square img{width:56%}.jacquemus-square img{width:60%}.crib-square .crib-logo{width:65%}.nami-square img{width:86%}.noem-square .noem-mark{width:63%}.hanging-phone{transform:translate3d(0,var(--phone-drift,0px),0)}.contact-invite{padding:48px 10px 20px}}
@media(prefers-reduced-motion:reduce){.hanging-phone,.invite-letter-image,.invite-card-details{transform:none;opacity:1;will-change:auto}}

.nami-note-page{min-height:calc(100svh - 82px);display:grid;place-items:center;padding:55px var(--gutter) 80px;background:#aaa9ab;color:#fff}
.nami-note{width:min(780px,100%);padding:clamp(30px,6vw,75px);background:#f9f9f7;color:#242424;border-radius:20px;box-shadow:0 20px 65px rgba(21,19,21,.13);transform:rotate(-1deg)}
.nami-note .eyebrow{font-family:'Patrick Hand',cursive;font-size:clamp(17px,2vw,23px);letter-spacing:.02em;font-weight:400;text-transform:none}
.nami-note h1{font:400 clamp(55px,8vw,90px)/.96 'DM Serif Display',Georgia,serif;letter-spacing:-.06em;margin:25px 0 35px}
.nami-note p:not(.eyebrow){font:italic 400 clamp(20px,2.4vw,29px)/1.45 'DM Serif Display',Georgia,serif;margin:0 0 22px}
.nami-note .signature{font-family:'Patrick Hand',cursive;font-size:25px;margin:35px 0 38px}
.nami-note .text-link{font-style:normal}
@media(max-width:650px){.nami-note-page{min-height:calc(100svh - 70px);padding:28px 18px 65px}.nami-note{transform:none;padding:30px 25px}.nami-note h1{margin:20px 0 30px}.nami-note p:not(.eyebrow){font-size:21px}}

/* NAMI's supplied portfolio is displayed as the original PDF, with its native type and pages. */
.nami-pdf-page{background:#fff;padding:22px var(--gutter) 48px}
.nami-pdf-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1440px;margin:auto;padding:4px 0 18px}
.nami-pdf-nav .back-link{margin:0}
.nami-pdf-nav .text-link{gap:16px}
.nami-pdf-frame{display:block;width:min(100%,1440px);height:calc(100svh - 155px);min-height:620px;border:0;margin:0 auto;background:#fff}
.nami-pdf-fallback{max-width:1440px;margin:13px auto 0;font-size:13px;color:#555}
.nami-pdf-fallback a{text-decoration:underline}
@media(max-width:650px){.nami-pdf-page{padding:15px 12px 28px}.nami-pdf-nav{align-items:flex-start}.nami-pdf-nav .text-link{font-size:12px;gap:5px}.nami-pdf-frame{height:calc(100svh - 145px);min-height:480px}}

/* Full-bleed reading of the supplied NAMI pages, outside a PDF viewer. */
.nami-web-portfolio{background:#fff;padding:20px var(--gutter) 75px}
.nami-web-nav{max-width:1440px;margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#57575a;font-size:12px;letter-spacing:.08em}
.nami-web-nav .back-link{margin:0;letter-spacing:0}
.nami-web-pages{max-width:1440px;margin:auto;display:grid;gap:28px}
.nami-web-pages figure{margin:0;background:#fff}
.nami-web-pages img{display:block;width:100%;height:auto;aspect-ratio:841.89/595.276;object-fit:contain}
.nami-web-pages figcaption{text-align:right;color:#777;font-size:11px;letter-spacing:.1em;padding:6px 2px 0}
.nami-web-return{display:block;max-width:1440px;margin:45px auto 0;text-align:right;font-size:14px;text-decoration:underline}
.crib-square,.crib-square:hover{background:#fafaf6}
.crib-square .crib-logo,.crib-square:hover .crib-logo{filter:grayscale(1) contrast(4);mix-blend-mode:multiply}
@media(max-width:650px){.nami-web-portfolio{padding:14px 10px 45px}.nami-web-pages{gap:16px}.nami-web-nav{font-size:10px}.nami-web-pages figcaption{font-size:10px}}

/* The opening greeting has a soft, staggered handwritten pulse. */
.arrival-line{font-size:clamp(55px,5.5vw,82px);line-height:.9;max-width:none;margin-bottom:22px;white-space:nowrap}
.hello-word{display:inline-block;color:#b92322;animation:hello-arrive .85s cubic-bezier(.18,.8,.25,1.25) both}
.hello-o{display:inline-block;transform-origin:center 75%;animation:hello-pop 2.7s ease-in-out infinite}
.hello-o:nth-child(1){animation-delay:.18s}.hello-o:nth-child(2){animation-delay:.32s}.hello-o:nth-child(3){animation-delay:.46s}.hello-o:nth-child(4){animation-delay:.6s}.hello-o:nth-child(5){animation-delay:.74s}
.arrival-line .arrival-its{display:block;color:#171717;font-size:.37em;line-height:1.2;margin-top:9px;white-space:normal}
@keyframes hello-arrive{0%{opacity:0;transform:translateY(-14px) scale(.92)}70%{opacity:1;transform:translateY(2px) scale(1.035)}100%{opacity:1;transform:none}}
@keyframes hello-pop{0%,13%,33%,100%{transform:translateY(0) scale(1)}22%{transform:translateY(-6px) scale(1.16)}27%{transform:translateY(-2px) scale(.95)}}
@media(max-width:900px){.arrival-line{font-size:clamp(47px,6vw,65px)}}
@media(max-width:650px){.arrival-line{font-size:clamp(45px,11.5vw,62px);max-width:100%;margin-bottom:20px}.arrival-line .arrival-its{font-size:.43em;margin-top:6px}}
@media(prefers-reduced-motion:reduce){.hello-word,.hello-o{animation:none}}

/* Keep the greeting horizontal and give the portrait its own side of the page. */
.editorial-hero{background:#f2eadf;min-height:calc(100svh - 54px)}
.editorial-copy{width:53%;max-width:53%;padding-top:clamp(130px,17vh,210px)}
.arrival-line{font-size:clamp(62px,6.2vw,92px);white-space:nowrap}
.arrival-line .hello-word,.arrival-line .hello-o{display:inline-block;vertical-align:baseline}
.call-line{font-size:clamp(44px,4.65vw,70px)!important;letter-spacing:-.065em!important;white-space:nowrap;max-width:100%}
.triptych-wrap{right:0;bottom:0;width:47%;height:calc(100% - 30px);align-items:flex-end;justify-content:flex-end}
.triptych-wrap img{width:100%;height:100%;max-height:100%;object-fit:contain;object-position:right bottom}
@media(max-width:1000px){.editorial-copy{width:54%;max-width:54%;padding-top:155px}.arrival-line{font-size:clamp(56px,6vw,72px)}.call-line{font-size:clamp(40px,4.4vw,54px)!important}.triptych-wrap{width:45%}}
@media(max-width:650px){.editorial-hero{min-height:0}.editorial-copy{width:100%;max-width:100%;padding-top:105px}.arrival-line{font-size:clamp(46px,10.4vw,62px);white-space:nowrap}.call-line{font-size:clamp(25px,6.7vw,44px)!important;white-space:nowrap}.triptych-wrap{position:relative;width:calc(100% + 28px);height:auto;right:auto;bottom:auto;margin:25px -14px 0}.triptych-wrap img{height:auto;max-height:none;object-fit:contain}}

/* The book photograph continues across the education page in a pale beige wash. */
.education-chapter{position:relative;isolation:isolate;overflow:hidden;background:#efe3d2;min-height:780px;display:flex;align-items:center}
.education-books{position:absolute;inset:0;z-index:-1;display:block;margin:0}
.education-books img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 54%;mix-blend-mode:normal;filter:brightness(1.09) saturate(.7);opacity:.68}
.education-chapter::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#efe3d2 0%,rgba(239,227,210,.98) 32%,rgba(239,227,210,.83) 51%,rgba(239,227,210,.17) 82%);pointer-events:none}
.education-copy{position:relative;z-index:1;width:54%;max-width:700px}
@media(max-width:750px){.education-chapter{min-height:850px;align-items:flex-start}.education-copy{width:100%;padding-top:20px}.education-books img{object-position:58% bottom;opacity:.55}.education-chapter::before{background:linear-gradient(180deg,#efe3d2 0%,rgba(239,227,210,.97) 38%,rgba(239,227,210,.55) 68%,rgba(239,227,210,.08) 100%)}}

/* A wide, type-led introduction inspired by Luka's supplied reference. */
.editorial-copy{width:100%;max-width:none;margin:0;padding-top:clamp(75px,9vh,120px);padding-bottom:55px;color:#4b322b}
.arrival-line{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(72px,7.7vw,128px);font-weight:400;line-height:.93;letter-spacing:-.07em;white-space:nowrap;margin:0 0 20px;color:#4b322b}
.arrival-line .hello-word,.arrival-line .hello-o{font-size:1em;line-height:inherit;margin:0;color:inherit}
.call-line{font-family:'DM Sans',Arial,sans-serif!important;font-size:clamp(66px,7.3vw,120px)!important;font-weight:400!important;line-height:.99!important;letter-spacing:-.075em!important;white-space:nowrap;margin:0 0 45px!important;color:#4b322b;max-width:none}
.call-line span{font-weight:600}
.hero-roles{max-width:410px;color:#4b322b;font-size:clamp(20px,2vw,28px)}
.hero-location{color:#4b322b}
.triptych-wrap{z-index:1;width:min(60vw,820px)}
.editorial-copy{z-index:2}
@media(max-width:1000px){.arrival-line{font-size:clamp(62px,8vw,90px)}.call-line{font-size:clamp(49px,7.1vw,75px)!important}.editorial-copy{padding-top:90px}.triptych-wrap{width:58vw}}
@media(max-width:650px){.editorial-copy{width:100%;padding-top:115px;padding-bottom:0}.arrival-line{font-size:clamp(46px,11.5vw,68px);margin-bottom:20px}.call-line{font-size:clamp(31px,7.2vw,48px)!important;margin-bottom:30px!important;letter-spacing:-.055em!important}.hero-roles{font-size:clamp(20px,5vw,26px)}.triptych-wrap{width:calc(100% + 28px)}}

.education-chapter{min-height:720px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,46%);align-items:center;gap:clamp(28px,6vw,100px);padding:clamp(55px,7vw,105px) var(--gutter);background:#e8d6bf;color:#49372d}
.education-copy{max-width:680px;margin-left:clamp(0px,3vw,50px)}
.education-copy .eyebrow{font-weight:500;color:#6b5141}
.education-copy h2{font:400 clamp(62px,7vw,112px)/.96 'DM Sans',Arial,sans-serif;letter-spacing:-.07em;margin:40px 0 75px}
.education-record{display:grid;grid-template-columns:92px 1fr;gap:24px;align-items:baseline;border-top:1px solid rgba(73,55,45,.42);padding:20px 0}
.education-record:last-child{border-bottom:1px solid rgba(73,55,45,.42)}
.education-record span{font-size:15px}
.education-record p{font-size:clamp(19px,2vw,28px);line-height:1.25;letter-spacing:-.035em;margin:0}
.education-books{margin:0;align-self:stretch;display:grid;place-items:center}
.education-books img{width:100%;height:100%;max-height:720px;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:750px){.education-chapter{grid-template-columns:1fr;gap:10px;padding:65px var(--gutter) 55px}.education-copy{margin:0}.education-copy h2{font-size:clamp(55px,12vw,85px);margin:25px 0 50px}.education-books img{max-height:520px}.education-record{grid-template-columns:67px 1fr;gap:15px}}
@media(prefers-reduced-motion:reduce){.hello-word,.hello-o{animation:none}}

/* Let Luka sit below the call line, inside the copy column and clear of the portraits. */
.editorial-copy{width:49%;max-width:680px;padding-top:clamp(85px,11vh,145px)}
.call-line{width:100%;max-width:100%;font-size:clamp(40px,4.1vw,64px)!important;line-height:1.04!important;letter-spacing:-.06em!important;white-space:normal;margin-bottom:30px!important}
.call-line span{display:block;width:max-content;max-width:100%;font-size:clamp(108px,11.2vw,175px);line-height:.88;margin-top:clamp(38px,6vh,72px);letter-spacing:-.078em;font-weight:600}
.triptych-wrap{width:min(60vw,820px)}
@media(max-width:1000px){.editorial-copy{width:48%;max-width:48%;padding-top:clamp(80px,11vh,120px)}.call-line{font-size:clamp(38px,4.4vw,48px)!important}.call-line span{font-size:clamp(100px,12vw,130px)}}
@media(max-width:650px){.editorial-copy{width:100%;max-width:100%;padding-top:105px}.call-line{font-size:clamp(32px,7vw,43px)!important;margin-bottom:30px!important}.call-line span{font-size:clamp(96px,26vw,145px);margin-top:26px}.triptych-wrap{width:calc(100% + 28px)}}

/* My Background uses the supplied flower across the page and a cutout paper sticker. */
.education-chapter{min-height:max(760px,100svh);grid-template-columns:minmax(0,1fr) minmax(260px,39%);gap:clamp(30px,5vw,90px);background:#edce83 url('/assets/golden-bloom-wide.webp') center center/cover no-repeat;color:#402e25}
.education-chapter::before{display:none}
.education-copy{width:100%;max-width:720px;margin-left:clamp(0px,2vw,34px)}
.education-copy .eyebrow{color:#604839}
.education-copy h2{max-width:680px;font-size:clamp(62px,7vw,112px);line-height:.94;margin:36px 0 clamp(60px,8vh,95px)}
.education-record{border-color:rgba(64,46,37,.48)}
.education-sticker{position:relative;z-index:1;justify-self:center;align-self:center;width:min(100%,450px);margin:0;transform:rotate(5deg);filter:drop-shadow(12px 20px 12px rgba(66,44,18,.24))}
.education-sticker img{display:block;width:100%;height:auto}
@media(max-width:750px){.education-chapter{min-height:100svh;grid-template-columns:1fr;gap:10px;padding:64px var(--gutter) 50px;background-position:52% center}.education-copy{width:100%;margin:0}.education-copy h2{font-size:clamp(58px,12vw,82px);margin:24px 0 48px}.education-sticker{width:min(58vw,285px);margin:0 5% 0 auto;transform:rotate(6deg)}}

/* Show the supplied yellow mark in place of the word, with its white paper keyed away. */
.projects-heart{position:relative;display:inline-block;width:1.25em;height:1em;vertical-align:-.18em;overflow:hidden;line-height:0;isolation:isolate}
.projects-heart img{position:absolute;display:block;max-width:none;width:2.85em;height:auto;left:-.80em;top:-2.03em;filter:url(#heart-white-key);mix-blend-mode:multiply}

/* The supplied horseshoe and wordmark sit directly on ROCCO's old burgundy. */
.rocco-square,.rocco-case{background:#3a2321;border-color:rgba(46,49,21,.32)}
.rocco-horizontal-mark{display:block;flex:none;width:76%;aspect-ratio:1200/380;background:#f5efe7;-webkit-mask:url('/assets/rocco-horseshoe-wordmark.svg') center/contain no-repeat;mask:url('/assets/rocco-horseshoe-wordmark.svg') center/contain no-repeat;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.rocco-square:hover{box-shadow:0 16px 32px rgba(46,49,21,.21)}
.rocco-square:hover .rocco-horizontal-mark{transform:translateY(-2px) scale(1.035)}
.rocco-case .rocco-horizontal-mark{width:min(76%,850px)}

/* Cream paper and a small inked flower sit behind and beside the closing letter. */
.contact-invite{position:relative;isolation:isolate;background:#f7f4ec}
.contact-invite::before{content:"";position:absolute;inset:0;background:url('/assets/footer-floral-paper.webp') right center/cover no-repeat;opacity:.22;pointer-events:none;z-index:0}
.contact-invite .invite-artwork{position:relative;z-index:2}
.footer-flower-mark{position:absolute;z-index:1;left:calc(50% - 300px);top:47%;width:95px;height:auto;transform:translateY(-50%) rotate(-7deg);pointer-events:none}
@media(max-width:650px){.footer-flower-mark{left:max(5px,calc(50% - 224px));top:48%;width:56px}}

/* One small, tactile press on project links only. */
.project-square.is-popping{transform:translateY(-2px) scale(.975);transition-duration:.12s}
@media(prefers-reduced-motion:reduce){.project-square.is-popping{transform:none}}

/* The second chapter glides automatically and follows horizontal mouse movement. */
.home-projects{position:relative;height:auto;margin:0;padding:0;border:0;background:#f6f2ee;overflow:clip}
.projects-stage{position:relative;box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:100svh;min-height:650px;padding:clamp(42px,5svh,65px) 0 25px;overflow:hidden}
.projects-head{position:relative;z-index:10;display:block;flex:none;width:100%;margin:0;padding:0 var(--gutter);text-align:center;pointer-events:none}
.projects-head .eyebrow{margin:0 0 12px;color:#756f68}
.projects-head h2{max-width:1200px;margin:0 auto;font:400 clamp(50px,5.4vw,83px)/1.02 'DM Serif Display',Georgia,serif;letter-spacing:-.055em;color:#231f1c}
.home-logo-grid{position:relative;flex:1;display:block;width:100%;max-width:none;min-height:0;margin:0;overflow:hidden;perspective:1300px;perspective-origin:center center}
.home-logo-grid .project-square{position:absolute;top:50%;left:50%;display:flex;flex:none;width:clamp(290px,36vw,525px);height:min(57svh,570px);max-height:none;aspect-ratio:auto;border-radius:48px 53px 47px 55px;box-shadow:0 26px 55px rgba(41,31,27,.16);backface-visibility:hidden;will-change:transform;transition:border-radius .35s ease,box-shadow .35s ease,filter .35s ease}
.home-logo-grid .project-square:hover{border-radius:58px 44px 56px 45px;box-shadow:0 32px 65px rgba(41,31,27,.22);filter:brightness(1.025)}
.home-logo-grid .project-square:focus-visible{outline:3px solid #9b3931;outline-offset:6px}
.home-logo-grid .rocco-square{background:#3a2321}
.home-logo-grid .jacquemus-square{background:#faf8f2}
.home-logo-grid .crib-square{background:#fafaf6}
.home-logo-grid .noem-square{background:#fff}
.home-logo-grid .nami-square{background:#aaa9ab}
.home-logo-grid .nami-square img{width:86%;height:86%;object-fit:contain}
.projects-progress{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;margin:0;padding:5px var(--gutter) 0;color:#514a43;font:500 12px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.projects-progress .projects-count{font-variant-numeric:tabular-nums}
.projects-progress .mobile-hint{display:none}
.projects-motion-toggle{padding:8px 12px;border:1px solid #c9c0b7;border-radius:999px;background:transparent;color:inherit;font:inherit;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .2s ease}
.projects-motion-toggle:hover{background:#e8e0d8}
.projects-motion-toggle:focus-visible{outline:2px solid #9b3931;outline-offset:3px}
.home-logo-grid .project-square.is-popping{filter:brightness(.94)}
@media(max-width:700px),(pointer:coarse),(prefers-reduced-motion:reduce){
  .home-projects{height:auto;overflow:visible}
  .projects-stage{position:relative;height:auto;min-height:0;padding:65px 0 42px;overflow:hidden}
  .projects-head{padding:0 var(--gutter);margin-bottom:22px}
  .projects-head h2{font-size:clamp(47px,10vw,72px)}
  .home-logo-grid{display:flex;flex:none;gap:14px;min-height:0;max-width:none;padding:18px 10vw 24px;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;perspective:none}
  .home-logo-grid::-webkit-scrollbar{display:none}
  .home-logo-grid .project-square,.home-logo-grid .project-square:hover{position:relative;top:auto;left:auto;flex:0 0 min(80vw,480px);width:min(80vw,480px);height:min(58svh,520px);min-height:340px;max-height:none;aspect-ratio:auto;transform:none!important;opacity:1!important;pointer-events:auto!important;scroll-snap-align:center;border-radius:36px;filter:none}
  .projects-progress{padding:0 var(--gutter)}
  .projects-progress .desktop-hint{display:none}
  .projects-progress .mobile-hint{display:inline}
  .projects-motion-toggle{display:none}
}
@media(max-width:700px){.home-logo-grid .project-square,.home-logo-grid .project-square:hover{min-height:310px;height:min(53svh,470px)}}

/* Project artwork opens directly, with only a compact navigation row. */
.brand-portfolio-page{padding:20px var(--gutter) 60px;background:#f1eee7}
.brand-portfolio-nav{max-width:1600px;margin:0 auto 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#51443c;font-size:14px}
.brand-portfolio-nav .back-link{margin:0}
.brand-portfolio-pages{max-width:1600px;margin:auto;display:grid;gap:24px}
.brand-portfolio-frame{margin:0}
.brand-portfolio-frame img{display:block;width:100%;height:auto}
.jacquemus-portfolio-page{background:#f3efe4}
.rocco-slide-art{position:relative}
.rocco-reference-link{position:absolute;border-radius:50%}
.rocco-reference-link:hover{box-shadow:inset 0 0 0 2px rgba(58,35,33,.4)}
.rocco-reference-link:focus-visible{outline:3px solid #3a2321;outline-offset:2px}
.brand-portfolio-return{display:block;max-width:1600px;margin:35px auto 0;text-align:right;font-size:14px;text-decoration:underline}
.education-record{grid-template-columns:110px minmax(0,1fr)}
.education-record>span{white-space:nowrap}
.education-record small{display:block;margin-top:8px;font-size:clamp(16px,1.4vw,20px);line-height:1.35;letter-spacing:0}
@media(max-width:750px){.education-record{grid-template-columns:84px minmax(0,1fr);gap:16px}}
@media(max-width:650px){.brand-portfolio-page{padding:14px 10px 40px}.brand-portfolio-pages{gap:16px}.brand-portfolio-nav{gap:14px;font-size:14px}}
