@import url('https://fonts.googleapis.com/css2?family=Mrs+Saint+Delafield&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--paper:#f3f0e8;--ink:#24241f;--red:#de482f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header,main,footer{max-width:1600px;margin:auto}header{display:flex;align-items:center;padding:27px 5%;border-bottom:1px solid #bbb9af;gap:26px}.logo{font-size:35px;font-weight:700;letter-spacing:-3px}.logo span{font-size:12px;vertical-align:top;letter-spacing:0}.identity{font-size:9px;line-height:1.65;letter-spacing:1px}nav{margin-left:auto;display:flex;align-items:center;gap:35px;font-size:12px}sup{font-size:9px}.contact-link{border-bottom:1px solid;padding:8px 0}.hero{padding:28px 5% 0}.eyebrow{font-size:10px;letter-spacing:1.5px;display:flex;justify-content:space-between}h1{font-size:clamp(80px,12vw,184px);font-weight:500;letter-spacing:-.075em;line-height:.94;margin:60px 0 36px;position:relative}h1 em,h2 em{font-family:'Playfair Display',serif;font-weight:500;color:var(--red);letter-spacing:-.065em}h1 .asterisk{font-family:Arial;font-size:150px;color:var(--red);position:absolute;right:7%;top:8%;font-weight:400}.hero-bottom{display:flex;align-items:center;margin:0 0 45px;gap:10%}.issue{font-size:9px;line-height:1.8;min-width:145px;letter-spacing:1px}.hero-bottom p{max-width:390px;font-size:15px;line-height:1.6;margin:0}.round-link{margin-left:auto;width:53px;height:53px;display:grid;place-items:center;border:1px solid #77786c;border-radius:50%;font-size:25px}.archive-strip{border-top:1px solid #bbb9af;padding:14px 0;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}.collage{height:430px;position:relative;overflow:hidden;background:#d4d1c5;display:flex;align-items:center;justify-content:center;padding:35px;gap:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,#00000004 4px)}.paper{background:#e6dfcb;width:31%;padding:36px 22px;transform:rotate(-8deg);box-shadow:0 7px 15px #0002;z-index:2}.note{font-family:'Playfair Display',serif;font-size:32px;line-height:1.3}.note small{display:block;font-family:'DM Sans',sans-serif;font-size:7px;letter-spacing:1px;margin-top:50px}.photo{width:43%;height:330px;transform:rotate(4deg);background:#eae8dd;padding:12px 12px 30px;box-shadow:0 6px 20px #0003}.photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.25)}.photo span{font-size:7px;letter-spacing:1px}.orange-card{background:var(--red);color:#26251d;width:25%;height:280px;transform:rotate(-7deg);padding:25px;z-index:2;display:flex;flex-direction:column;justify-content:space-between}.orange-card>span{font-size:32px;line-height:.95;font-weight:700;letter-spacing:-2px}.orange-card b{font-size:65px;line-height:1}.orange-card small{font-size:8px;letter-spacing:1px}.stamp{position:absolute;bottom:28px;left:40%;border:2px solid #984534;color:#984534;border-radius:50%;padding:21px 10px;transform:rotate(-13deg);font-size:9px;text-align:center;z-index:3}.projects{padding:90px 5%}.section-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b7b5aa;padding-bottom:20px}.section-head h2{font-size:33px;font-weight:500;letter-spacing:-1.5px;margin:0}.section-head h2 span{font-size:14px;color:#777}.section-head p{font-size:8px;letter-spacing:1px;line-height:1.7}.filters{display:flex;gap:10px;padding:24px 0 30px}.filters button{border:1px solid #c3c0b5;border-radius:30px;background:transparent;padding:9px 18px;font-size:11px}.filters button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 28px}.project{border:0;background:none;padding:0;text-align:left}.project[hidden]{display:none}.art{height:380px;position:relative;overflow:hidden;transition:transform .3s}.project:hover .art{transform:translateY(-4px)}.art-one{background:#d74b32;color:#eee7d3;padding:30px}.tiny{font-size:8px;letter-spacing:1px}.big{font-family:'Playfair Display',serif;font-size:90px;line-height:.85;display:block;margin-top:35px;letter-spacing:-6px}.big i{padding-left:70px}.circle{position:absolute;right:35px;bottom:65px;border:1px solid #eee7d3;border-radius:50%;width:90px;height:90px;display:grid;place-items:center;font:italic 64px Georgia}.art-foot{position:absolute;bottom:24px;font-size:8px;letter-spacing:1px}.art-two{background:#a5aaa0;padding:40px 45px}.ui-window{height:350px;background:#eee9dd;box-shadow:0 12px 30px #0003;padding:22px;position:relative}.ui-top{font-family:Georgia;font-size:17px;border-bottom:1px solid #cac4b8;padding-bottom:12px;margin-bottom:24px}.ui-top span{float:right;font:7px Arial}.ui-window>small{font-size:6px;letter-spacing:1px}.ui-window>strong{display:block;font:32px/1.1 Georgia;margin-top:12px;position:relative;z-index:1}.vase{position:absolute;right:20px;top:85px;font-size:160px;color:#9b4e31;transform:rotate(-15deg)}.ui-caption{font-size:6px;letter-spacing:1px;position:absolute;bottom:40px}.ui-caption b{display:block;margin-top:8px;font-size:8px}.project-title{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.project-title h3{font-size:20px;letter-spacing:-.5px;font-weight:500;margin:0}.project-title>span{font-size:22px}.project>p{font-size:10px;color:#6e6c62;margin:8px 0}.project>p span{float:right;font-size:8px;letter-spacing:1px}.wide{grid-column:1/-1}.art-three{background:#272a25;color:#e5e4d5;height:360px;padding:30px}.art-three>span,.art-three>small{font-size:8px;letter-spacing:2px}.art-three strong{font-size:clamp(50px,10vw,140px);letter-spacing:-6px;display:block;line-height:.9;margin-top:33px;position:relative;z-index:1}.art-three strong span{display:block;font-size:.43em;letter-spacing:-2px;color:#c1c7a3}.art-three>small{position:absolute;bottom:25px}.orb{position:absolute;right:5%;top:25px;width:300px;height:300px;border:1px solid #7f8968;border-radius:50%;font-size:260px;color:#b2bc92;text-align:center;line-height:270px;transform:rotate(-20deg)}.approach{padding:75px 5%;border-top:1px solid #bbb9af;background:#e9e6dc}.approach-content{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;margin-top:35px}.approach h2{font-size:55px;font-weight:500;line-height:1.1;letter-spacing:-3px;margin:0}.about-text p{font-size:13px;line-height:1.8;margin:0 0 15px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:65px}.steps article{border-top:1px solid #b3b0a4;padding-top:17px}.steps span{font-size:10px;color:var(--red)}.steps h3{font-size:22px;font-weight:500;margin:18px 0 10px}.steps p{font-size:12px;line-height:1.7;max-width:250px}.contact{padding:90px 5%}.contact h2{font-size:clamp(52px,8vw,115px);line-height:1;letter-spacing:-5px;font-weight:500;margin:35px 0}.contact-bottom{display:flex;justify-content:space-between;align-items:center}.contact-bottom p{font-size:13px;line-height:1.7}.contact button{background:var(--red);border:0;color:#fff;padding:18px 25px;font-size:12px}.contact small{display:block;font-size:10px;margin-top:14px}#contact-note{max-width:550px;margin-top:30px}label{display:block;font-size:12px;margin:18px 0 8px}textarea{display:block;width:100%;font:14px 'DM Sans',sans-serif;padding:15px;background:transparent;border:1px solid #aaa;margin-bottom:12px}footer{border-top:1px solid #bbb9af;display:flex;align-items:center;justify-content:space-between;padding:25px 5%;font-size:8px;letter-spacing:1px}dialog{background:var(--paper);color:var(--ink);border:0;padding:55px;max-width:750px;width:90%}dialog::backdrop{background:#2229;backdrop-filter:blur(5px)}dialog h2{font:50px 'Playfair Display',serif;margin-bottom:20px}dialog p{font-size:14px;line-height:1.8}.close{position:absolute;right:20px;top:15px;border:0;background:none;font-size:23px}.dialog-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.dialog-columns h3{font-size:14px}.disclaimer{border-top:1px solid #bbb9af;padding-top:20px;font-size:10px!important}a:hover{color:var(--red)}:focus-visible{outline:2px solid var(--red);outline-offset:5px}@media(max-width:700px){header{padding:20px 6%;gap:16px}.identity{font-size:7px}nav{gap:12px}nav>a{font-size:10px}nav a:nth-child(2){display:none}.contact-link{max-width:90px}.hero{padding:25px 6% 0}.eyebrow{font-size:8px}.eyebrow span:last-child{display:none}h1{font-size:21vw;margin-top:45px}h1 .asterisk{font-size:60px;right:0;top:20%}.hero-bottom{gap:25px;align-items:start}.issue{display:none}.hero-bottom p{font-size:13px;max-width:260px}.round-link{min-width:40px;width:40px;height:40px}.archive-strip{font-size:6px}.archive-strip span:nth-child(2){display:none}.collage{height:280px;padding:10px}.paper{width:38%;padding:15px 12px}.note{font-size:20px}.note small{font-size:5px;margin-top:30px}.photo{width:43%;height:220px;padding:7px 7px 24px}.photo span{font-size:5px}.orange-card{width:30%;height:190px;padding:15px}.orange-card>span{font-size:22px;letter-spacing:-1px}.orange-card b{font-size:40px}.orange-card small{font-size:6px}.stamp{font-size:6px;bottom:15px;padding:15px 8px}.projects{padding:55px 6%}.section-head{align-items:start;gap:20px}.section-head h2{font-size:25px}.section-head p{font-size:6px;max-width:110px}.filters button{font-size:10px;padding:9px 14px}.project-grid{grid-template-columns:1fr;gap:30px}.wide{grid-column:auto}.art{height:340px}.art-three{height:280px}.art-three strong{font-size:65px;letter-spacing:-4px;margin-top:50px}.orb{width:220px;height:220px;font-size:190px;line-height:200px;right:-50px}.approach{padding:50px 6%}.approach-content{grid-template-columns:1fr;gap:25px}.approach h2{font-size:43px}.steps{gap:20px;margin-top:35px}.steps h3{font-size:17px}.steps p{font-size:10px}.contact{padding:60px 6%}.contact h2{letter-spacing:-3px}.contact-bottom{display:block}.contact-bottom button{margin-top:15px}footer{gap:20px;flex-wrap:wrap}footer>span:nth-child(3){display:none}dialog{padding:40px 25px}.dialog-columns{grid-template-columns:1fr;gap:0}dialog h2{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art{transition:none}}
/* Signature & choreography */
.signature{font-family:'Mrs Saint Delafield','Brush Script MT',cursive;font-weight:400;letter-spacing:-1px;white-space:nowrap;text-transform:lowercase}.logo.signature{font-size:39px;line-height:1}.signature .signature-dot{color:var(--red);font:inherit;vertical-align:baseline;display:inline-block;margin-left:2px}.splash{position:fixed;inset:0;z-index:1000;background:var(--paper);display:flex;flex-direction:column;justify-content:space-between;padding:40px 5%;transition:transform 1s cubic-bezier(.76,0,.24,1),visibility 1s;overflow:hidden}.splash::before{content:'';width:60vw;height:60vw;border:1px solid #d9d5c9;border-radius:50%;position:absolute;left:20%;top:50%;transform:translateY(-50%);pointer-events:none;animation:intro-ring 5s ease-out both}.splash-top,.splash-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;position:relative}.splash-bottom{align-items:center}.splash-bottom button{background:none;border:0;border-bottom:1px solid #aaa;padding:10px 0;font-size:10px}.splash-center{text-align:center;position:relative}.splash-signature{font-size:clamp(55px,10vw,150px);display:inline-block;position:relative;padding:0 10px 30px}.ink-word{display:inline-block;clip-path:inset(0 100% 0 0);animation:write-word 1.2s cubic-bezier(.25,.1,.45,1) forwards}.ink-word:nth-child(2){animation-delay:1s;animation-duration:1.4s}.ink-word:nth-child(3){animation-delay:2.2s;animation-duration:1s}.splash-signature .signature-dot{opacity:0;animation:ink-dot .4s 3.1s forwards}.signature-line{position:absolute;bottom:0;left:0;width:100%;height:45px;overflow:visible}.signature-line path{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linecap:round;stroke-dasharray:600;stroke-dashoffset:600;animation:underline 1s 2.9s ease-out forwards}.splash-center p{font-size:11px;letter-spacing:2px;opacity:0;animation:rise-in .8s 2.8s forwards}.intro-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--red);width:100%;transform-origin:left;animation:progress 4.3s linear both}.splash.leaving{transform:translateY(-102%);visibility:hidden}.intro-running{overflow:hidden}.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:100;background:var(--red);transform:scaleX(0);transform-origin:left;pointer-events:none}.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}body.intro-complete h1{animation:rise-in 1.1s both}body.intro-complete .hero-bottom{animation:rise-in 1s .2s both}.asterisk{animation:asterisk-turn 30s linear infinite}.round-link{transition:background .3s,color .3s,transform .3s}.round-link:hover{background:var(--red);border-color:var(--red);color:var(--paper);transform:rotate(-20deg)}.project .art{transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .5s}.project:hover .art{box-shadow:0 18px 30px #24241f18;transform:translateY(-7px)}.project .project-title>span{transition:transform .3s}.project:hover .project-title>span{transform:translate(4px,-4px)}.photo img{transition:transform 1.2s,filter 1.2s}.collage:hover .photo img{transform:scale(1.045);filter:grayscale(.3) sepia(.2)}.paper,.photo,.orange-card{transition:translate .6s}.collage:hover .paper{translate:-7px -6px}.collage:hover .orange-card{translate:7px -9px}.filters button{transition:background .25s,color .25s,transform .25s}.filters button:hover{transform:translateY(-2px)}.contact button{transition:background .25s,transform .25s}.contact button:hover{background:#b73623;transform:translateY(-3px)}nav a{position:relative}nav a::after{content:'';position:absolute;bottom:-5px;left:0;height:1px;background:var(--red);width:100%;transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover::after{transform:scaleX(1)}dialog[open]{animation:dialog-in .45s cubic-bezier(.2,.7,.2,1)}.project.filter-enter{animation:rise-in .55s both}.steps article:hover span{display:inline-block;transform:translateX(5px);transition:transform .3s}.steps article{transition:border-color .3s}.steps article:hover{border-color:var(--red)}
@keyframes write-word{to{clip-path:inset(0 -5% 0 0)}}@keyframes ink-dot{0%{opacity:0;transform:scale(.2)}70%{transform:scale(1.3)}100%{opacity:1;transform:scale(1)}}@keyframes underline{to{stroke-dashoffset:0}}@keyframes progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes rise-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-ring{from{opacity:0;scale:.85}to{opacity:1;scale:1}}@keyframes asterisk-turn{to{rotate:360deg}}@keyframes dialog-in{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:700px){.logo.signature{font-size:27px;letter-spacing:-1px}header .identity{display:none}header nav{gap:15px}.splash{padding:25px 6%}.splash-top{font-size:7px;letter-spacing:1px}.splash-signature{font-size:clamp(43px,11vw,80px);letter-spacing:-1px}.splash-center p{font-size:9px;letter-spacing:1px}.splash-bottom{font-size:7px;letter-spacing:1px}.signature-line{height:25px}.splash::before{width:95vw;height:95vw;left:2.5%}footer .logo.signature{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.motion-ready .reveal{opacity:1;transform:none}.ink-word{clip-path:none}.splash-signature .signature-dot,.splash-center p{opacity:1}.splash{display:none}.intro-running{overflow:auto}}

/* Actual portfolio pages and a finer handwritten signature. */
.signature{font-weight:400;-webkit-font-smoothing:antialiased;letter-spacing:0}.signature-line path{stroke-width:.7}.logo.signature{font-size:42px}.splash-signature{font-size:clamp(60px,11vw,160px)}.signature .signature-dot{font-family:'DM Sans',sans-serif;font-size:.55em;line-height:0;margin-left:4px}.portfolio-art{height:auto;aspect-ratio:1.414;background:#e6e3da;display:grid;place-items:center}.portfolio-art img{width:100%;height:100%;object-fit:contain;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.project:hover .portfolio-art img{transform:scale(1.035)}.view-project{position:absolute;bottom:18px;right:18px;background:var(--paper);padding:11px 16px;font-size:10px;opacity:0;translate:0 10px;transition:opacity .3s,translate .3s;box-shadow:0 3px 15px #0001}.project:hover .view-project,.project:focus-visible .view-project{opacity:1;translate:0 0}.filters{flex-wrap:wrap}dialog{max-width:1150px;max-height:90dvh;padding:45px;overscroll-behavior:contain}dialog>h2{margin:24px 0 12px}dialog .dialog-columns[hidden]{display:none}.project-pages{margin-top:30px;display:grid;gap:28px}.project-pages figure{margin:0}.project-pages img{display:block;width:100%;height:auto;background:white}.project-pages figcaption{font-size:9px;letter-spacing:1.5px;margin-top:12px;color:#777}.pdf-download{display:inline-block;font-size:12px;border-bottom:1px solid var(--red);padding:12px 0;margin-top:25px}.main-pdf{margin:0 0 25px}.close{position:sticky;top:0;float:right;z-index:2;background:var(--paper);border-radius:50%;width:36px;height:36px;right:0}.wide .portfolio-art{max-height:600px}.wide .portfolio-art img{object-fit:contain}.project:focus-visible .view-project{opacity:1}@media(max-width:700px){.logo.signature{font-size:30px}.splash-signature{font-size:12vw}.signature-line path{stroke-width:1}dialog{padding:25px 15px;width:96%;max-height:94dvh}.portfolio-art{height:auto}.project-pages{gap:20px}.view-project{opacity:1;translate:0 0;bottom:10px;right:10px;padding:8px 12px;font-size:9px}}
.concept-badge{position:absolute;top:16px;left:16px;background:var(--paper);color:var(--ink);padding:7px 10px;font-size:8px;letter-spacing:1.4px;border:1px solid #24241f22}.dialog-columns:not([hidden]){border-top:1px solid #b7b5aa;margin-top:25px;padding-top:15px}.portfolio-art img[src$=".svg"]{object-fit:cover}.project>p{line-height:1.7}.project>p>span{white-space:nowrap}@media(max-width:700px){.concept-badge{font-size:6px;top:10px;left:10px;padding:6px 8px}.project>p{font-size:9px}}
.portfolio-art:has(img[src$="-campaign.png"]){aspect-ratio:1.5}.portfolio-art img[src$="-campaign.png"]{object-fit:cover}.project-pages img[src$="-campaign.png"]{object-fit:contain;height:auto}
.project-summary{font-size:12px!important;line-height:1.7!important;max-width:90%;color:#59594f!important;margin-top:10px!important}.design-philosophy{border-top:1px solid #b7b5aa;padding-top:35px;margin-top:45px}.design-philosophy[hidden]{display:none}.design-philosophy blockquote{font-family:'Playfair Display',Georgia,serif;font-size:clamp(29px,4vw,47px);line-height:1.15;letter-spacing:-1px;margin:25px 0 35px;max-width:800px;color:var(--red)}.design-palette{display:flex;gap:16px;margin:30px 0 45px}.design-palette>div{flex:1}.design-palette span{display:block;height:70px;border:1px solid #24241f22}.design-palette p{font-size:10px;line-height:1.5}.philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 40px}.philosophy-grid article{border-top:1px solid #c8c4b8;padding-top:18px}.philosophy-number{font-size:10px;letter-spacing:2px;color:var(--red)}.philosophy-grid h3{font-size:20px;font-weight:500;letter-spacing:-.5px;margin:14px 0}.philosophy-grid p{font-size:13px;line-height:1.85}.design-applications{padding:25px 0;margin-top:30px;border-top:1px solid #b7b5aa}.design-applications h3{font-size:18px;font-weight:500}.design-applications>span{display:inline-block;border:1px solid #b7b5aa;border-radius:20px;padding:8px 12px;margin:0 7px 9px 0;font-size:11px}.design-note{font-size:11px!important;color:#6e6c62;border-top:1px solid #b7b5aa;padding-top:20px}.project-pages img{width:100%;height:auto!important}.portfolio-art{aspect-ratio:1.5}@media(max-width:700px){.philosophy-grid{grid-template-columns:1fr;gap:20px}.design-palette{gap:8px;flex-wrap:wrap}.design-palette>div{min-width:40%}.design-palette span{height:45px}.design-philosophy{padding-top:25px;margin-top:30px}.project>p>span{float:none;display:block;margin-top:5px}.project-summary{max-width:100%}.view-project{max-width:85%;font-size:8px}.philosophy-grid p{font-size:13px}}
.ui-preview{height:440px;background:#d6d9cd;display:flex;align-items:center;justify-content:space-between;padding:28px 25px;gap:15px}.ui-preview.petille{background:#efcd4f}.ui-preview.palimpseste{background:#b8b2c7}.ui-preview-caption{width:43%;align-self:center}.ui-preview-caption>span:first-child{font-size:8px;letter-spacing:2px}.ui-preview-caption>strong{display:block;font:36px/1.08 'Playfair Display',Georgia;letter-spacing:-1px;margin:20px 0}.ui-preview-caption p{font-size:10px;line-height:1.8}.ui-preview-cta{display:inline-block;margin-top:20px;font-size:8px;letter-spacing:1px;border-bottom:1px solid;padding-bottom:8px}.preview-phone{width:210px;flex-shrink:0;height:410px;background:#f7f3e9;border:6px solid #263b32;border-radius:26px;box-shadow:10px 18px 30px #0002;transform:rotate(5deg);overflow:hidden;position:relative;transition:transform .5s}.project:hover .preview-phone{transform:rotate(0) translateY(-5px)}.preview-status{font-size:6px;padding:10px 12px 4px}.preview-status span{float:right}.preview-brand{font:14px 'Playfair Display',Georgia;padding:8px 12px;border-bottom:1px solid #0001}.preview-content{padding:15px 12px}.preview-content>small{font-size:5px;letter-spacing:1px}.preview-content h4{font:23px/1.05 'Playfair Display',Georgia;letter-spacing:-.5px;margin:10px 0}.preview-content img{width:100%;height:130px;object-fit:cover;border-radius:3px}.preview-content p{font-size:7px;line-height:1.5}.preview-button{display:block;background:#263b32;color:#f7f3e9;font-size:7px;padding:10px;text-align:center;border-radius:4px;margin-top:12px}.preview-nav{position:absolute;bottom:0;left:0;right:0;background:#f7f3e9;font-size:6px;padding:10px;border-top:1px solid #0001}.petille .preview-phone{background:#fff8dd;border-color:#38293e}.petille .preview-brand{font:italic 900 17px Arial;color:#ad194d}.petille .preview-button{background:#ad194d}.palimpseste .preview-phone{background:#eeeae4;border-color:#2d2146}.palimpseste .preview-button{background:#2d2146}@media(max-width:1100px){.ui-preview{padding:20px 15px}.preview-phone{width:185px;height:390px}.ui-preview-caption>strong{font-size:27px}}@media(max-width:700px){.ui-preview{height:410px;padding:20px}.preview-phone{width:185px;height:380px}.ui-preview-caption{width:40%}.ui-preview-caption>strong{font-size:28px}.preview-content h4{font-size:21px}.preview-content img{height:115px}.ui-preview-caption p{font-size:9px}}@media(max-width:360px){.ui-preview{padding:15px 10px}.preview-phone{width:165px}.ui-preview-caption>strong{font-size:24px}}
.static-ui-card .portfolio-art{height:390px;aspect-ratio:auto;background:#e5e0d5;align-items:start;display:block;position:relative;border:1px solid #24241f15}.static-ui-card .portfolio-art img{width:100%;height:auto;min-height:100%;object-fit:cover;object-position:top;display:block;transition:transform .7s}.static-ui-card .portfolio-art:after{content:'';position:absolute;bottom:0;left:0;right:0;height:70px;background:linear-gradient(transparent,#24241f18);pointer-events:none}.static-ui-card .concept-badge{background:#252720;color:#f3f0e8;border:0;font-size:7px;letter-spacing:1.5px}.static-ui-card:hover .portfolio-art img{transform:translateY(-8px)}.project-pages img[src*="ui-maquette-"]{width:100%;height:auto!important;max-height:none}.static-ui-card .project-title h3{font-size:18px}@media(max-width:700px){.static-ui-card .portfolio-art{height:320px}.static-ui-card .project-title h3{font-size:17px}}@media(prefers-reduced-motion:reduce){.static-ui-card .portfolio-art img{transition:none}.static-ui-card:hover .portfolio-art img{transform:none}}
/* Editorial structure: a selection first, disciplines second. */
header{padding-top:24px;padding-bottom:24px}header nav{gap:30px}header nav a{font-size:11px}.hero{padding-top:25px}h1{font-size:clamp(80px,11.5vw,170px);margin-top:48px;margin-bottom:35px}.hero-bottom{margin-bottom:40px}.hero-curation{margin-top:35px}.curation-label{display:flex;justify-content:space-between;border-top:1px solid #b9b7aa;padding:14px 0;font-size:8px;letter-spacing:1.5px}.hero-contact-sheet{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}.hero-contact-sheet figure{margin:0;position:relative;background:#e0dace;overflow:hidden}.hero-contact-sheet img{height:240px;display:block;object-fit:cover;width:100%;transition:transform .8s}.hero-contact-sheet figure:last-child img{object-position:top;object-fit:cover}.hero-contact-sheet figcaption{position:absolute;bottom:12px;left:12px;right:12px;color:#fff;font-size:7px;letter-spacing:1.5px;text-shadow:0 2px 10px #000}.hero-contact-sheet figure:after{content:'';position:absolute;left:0;bottom:0;right:0;height:50px;background:linear-gradient(transparent,#0005);pointer-events:none}.hero-contact-sheet figcaption{z-index:1}.hero-contact-sheet figure:hover img{transform:scale(1.035)}.projects{padding-top:95px;padding-bottom:65px}.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:35px}.collection-heading .eyebrow{font-size:8px;letter-spacing:2px;color:#79776b}.collection-heading h2{font-size:clamp(36px,4.4vw,66px);line-height:1.05;letter-spacing:-2.5px;font-weight:500;margin:25px 0 0}.collection-heading h2 em{font-family:'Playfair Display',serif;color:#a94d37;font-weight:400;letter-spacing:-2px}.collection-heading>p{font-size:11px;line-height:1.9;margin:0;color:#747368;max-width:270px}.collection-guide{display:flex;align-items:center;gap:17px;padding:22px 0 28px;border-bottom:1px solid #bbb8ac;margin-top:25px;font-size:7px;letter-spacing:1.5px;color:#79776b}.collection-guide i{font-style:normal;font-size:16px;color:#bc5d43}.collection-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0 26px}.filters{padding:0;gap:6px;flex-wrap:wrap}.filters button{border:0;background:transparent;padding:10px 14px;border-radius:2px;color:#76756a;font-size:10px}.filters button sup{margin-left:5px;font-size:7px;color:inherit;opacity:.65}.filters button.active{background:#272a23;color:#f3f0e8}.filters button:hover{color:#b4452f}.filters button.active:hover{color:#f3f0e8}.collection-controls>#collection-status{font-size:8px;letter-spacing:.5px;color:#8c897c;white-space:nowrap;margin:0}.curated-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:42px 25px}.curated-grid>.project{grid-column:span 6;min-width:0}.curated-grid[data-view=selected]>.project:nth-child(1),.curated-grid[data-view=selected]>.project:nth-child(4),.curated-grid[data-view=selected]>.project:nth-child(5){grid-column:span 7}.curated-grid[data-view=selected]>.project:nth-child(2),.curated-grid[data-view=selected]>.project:nth-child(3),.curated-grid[data-view=selected]>.project:nth-child(6){grid-column:span 5}.curated-grid .portfolio-art{height:350px;aspect-ratio:auto;border:0}.curated-grid[data-view=selected] .portfolio-art{height:390px}.curated-grid .portfolio-art img{width:100%;height:100%;object-fit:cover}.curated-grid .project[data-project="23"] .portfolio-art img,.curated-grid .project[data-project="26"] .portfolio-art img{object-fit:contain;background:white}.curated-grid .project[data-project="0"] .portfolio-art{background:#f0cd40}.curated-grid .static-ui-card .portfolio-art img{height:auto;min-height:100%;object-fit:cover;object-position:top}.curated-grid .view-project{background:#f3f0e8;font-size:9px;padding:12px 16px;z-index:2}.project-details{padding-top:16px;border-top:1px solid #c8c5b8;margin-top:16px}.project-details .project-title{margin:0}.project-details .project-title h3{font-size:22px;letter-spacing:-.6px;font-weight:500}.project-details .project-title>span{font-size:20px}.project-details>p{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;color:#78766b;margin:7px 0 0;line-height:1.5}.project-details>p>span{font-size:7px;letter-spacing:1px;text-transform:uppercase;color:#938f81;white-space:nowrap}.collection-footer{display:flex;align-items:center;justify-content:space-between;padding:35px 0 25px;border-top:1px solid #c3c0b3;margin-top:42px}.collection-footer>span{font-size:8px;letter-spacing:1.5px;color:#8b8679}.collection-footer>button{padding:14px 0;border:0;border-bottom:1px solid #272a23;background:transparent;font-size:12px;text-align:left;min-width:240px;display:flex;justify-content:space-between;gap:30px}.collection-footer>button span{font-size:20px;line-height:1}.collection-footer>button[hidden]{display:none}.work-legend{display:flex;gap:30px;flex-wrap:wrap;margin-top:10px}.work-legend>span{font-size:8px;color:#8a8578;line-height:1.7}.work-legend i{display:inline-block;width:4px;height:4px;border-radius:50%;background:#847f72;margin-right:5px;vertical-align:middle}.work-legend>span:last-child i{background:#bd5c43}.approach{padding-top:75px;padding-bottom:65px}.approach h2{font-size:clamp(36px,4.7vw,62px);line-height:1.08;letter-spacing:-2.5px}.approach-content{grid-template-columns:1.1fr 1fr;gap:10%}.approach .eyebrow{font-size:8px;letter-spacing:2px;color:#817b6d}.about-text p{font-size:12px;line-height:1.9}.contact{padding-top:75px;padding-bottom:75px}.contact h2{font-size:clamp(50px,7.6vw,110px)}.related-project{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-top:1px solid #bbb8aa;border-bottom:1px solid #bbb8aa;margin:25px 0 0}.related-project:empty{display:none}.related-project>span{font-size:8px;letter-spacing:1px;color:#8d8879}.related-project>button{font-size:11px;border:0;border-bottom:1px solid #bb553d;padding:8px 0;background:none;white-space:nowrap}.related-project>button:hover{color:#bb553d}.curated-grid .project[hidden]{display:none}
@media(max-width:900px){.collection-controls{display:block}.collection-controls>#collection-status{margin-top:12px}.collection-heading>p{font-size:10px}.hero-contact-sheet img{height:190px}.curated-grid .portfolio-art,.curated-grid[data-view=selected] .portfolio-art{height:300px}.project-details .project-title h3{font-size:19px}.project-details>p{font-size:8px;display:block}.project-details>p>span{display:block;margin-top:5px}.collection-guide{font-size:6px}}
@media(max-width:700px){header{padding:20px 6%}header nav{gap:15px}header nav a{font-size:10px}.hero-contact-sheet{grid-template-columns:1.3fr 1fr;gap:8px}.hero-contact-sheet figure:last-child{display:none}.hero-contact-sheet img{height:170px}.hero-contact-sheet figcaption{font-size:5px;left:8px;bottom:10px;letter-spacing:.7px}.curation-label{font-size:6px;letter-spacing:1px;gap:25px}.curation-label>span:last-child{max-width:110px;text-align:right;line-height:1.5}.hero-curation{margin-top:20px}.projects{padding-top:60px;padding-bottom:40px}.collection-heading{display:block}.collection-heading h2{font-size:38px;letter-spacing:-1.7px;margin:18px 0}.collection-heading h2 em{letter-spacing:-1px}.collection-heading>p{font-size:11px;max-width:300px}.collection-guide{gap:9px;letter-spacing:.5px;font-size:5px;justify-content:space-between;padding:15px 0 20px;margin-top:15px}.collection-guide i{font-size:13px}.filters{gap:3px}.filters button{font-size:9px;padding:9px 10px}.filters button sup{margin-left:3px}.curated-grid{display:block}.curated-grid>.project{display:block;width:100%;margin-bottom:28px}.curated-grid>.project[hidden]{display:none}.curated-grid .portfolio-art,.curated-grid[data-view=selected] .portfolio-art{height:auto;aspect-ratio:1.35}.curated-grid .static-ui-card .portfolio-art{height:310px;aspect-ratio:auto}.project-details{padding-top:13px;margin-top:13px}.project-details .project-title h3{font-size:21px}.project-details>p{display:flex;font-size:9px}.project-details>p>span{display:inline-block;margin-top:0;font-size:6px}.collection-footer{margin-top:25px;padding-top:25px;align-items:start;gap:20px}.collection-footer>span{font-size:6px;max-width:90px;line-height:1.6}.collection-footer>button{font-size:10px;min-width:185px;padding-top:0}.work-legend{gap:8px;margin-top:15px}.work-legend>span{font-size:7px}.approach-content{grid-template-columns:1fr;gap:25px}.approach h2{font-size:39px;letter-spacing:-2px}.related-project{display:block;padding:15px 0}.related-project>span{display:block;font-size:7px;margin-bottom:7px}.related-project>button{font-size:11px}.contact{padding-top:55px;padding-bottom:55px}footer .logo.signature{font-size:27px}}
@media(prefers-reduced-motion:reduce){.hero-contact-sheet img{transition:none}.hero-contact-sheet figure:hover img{transform:none}}
/* Compact gallery: every project has the same visual weight. */
.hero-contact-sheet{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hero-contact-sheet img{height:125px}.hero-contact-sheet figcaption{font-size:6px}.hero-curation{margin-top:20px}.curation-label{font-size:7px;padding:12px 0}.projects{padding-top:65px}.collection-heading h2{font-size:38px;line-height:1.12;letter-spacing:-1.5px;margin-top:16px}.collection-heading h2 br{display:none}.collection-heading h2 em{font-family:inherit;font-style:normal;color:inherit;letter-spacing:-1.5px}.collection-heading>p{font-size:10px;max-width:260px}.collection-guide{display:none}.collection-controls{border-top:1px solid #c4c0b5;margin-top:25px;padding:17px 0 22px}.curated-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.curated-grid>.project,.curated-grid[data-view=selected]>.project:nth-child(n){grid-column:auto}.curated-grid .portfolio-art,.curated-grid[data-view=selected] .portfolio-art{height:auto;aspect-ratio:1.5}.curated-grid .static-ui-card .portfolio-art{height:auto;aspect-ratio:1.5}.project-details{border:0;padding-top:11px;margin:0}.project-details .project-title h3{font-size:16px;letter-spacing:-.3px}.project-details .project-title>span{font-size:15px}.project-details>p{display:block;font-size:8px;margin-top:5px}.project-details>p>span{display:block;font-size:6px;letter-spacing:.8px;margin-top:3px}.curated-grid .view-project{font-size:8px;padding:8px 10px;bottom:10px;right:10px}.collection-footer{margin-top:30px;padding:23px 0 15px}.collection-footer>button{font-size:11px;min-width:220px}.collection-heading .eyebrow{font-size:8px}.work-legend{margin-top:10px}.collection-heading{align-items:center}.curated-grid .project:hover .art{transform:translateY(-3px);box-shadow:0 5px 12px #0001}
@media(min-width:1450px){.curated-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.curated-grid[data-view=selected]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.curated-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 15px}.collection-heading h2{font-size:31px}.collection-heading>p{max-width:230px}}
@media(max-width:700px){.hero-contact-sheet{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.hero-contact-sheet figure:last-child{display:block}.hero-contact-sheet img{height:85px}.hero-contact-sheet figcaption{font-size:4px;letter-spacing:0;left:5px;bottom:6px;right:5px}.curation-label>span:last-child{max-width:145px}.curation-label{font-size:5px}.projects{padding-top:45px}.collection-heading h2{font-size:27px;letter-spacing:-1px;line-height:1.15;margin:13px 0}.collection-heading h2 em{letter-spacing:-1px}.collection-heading>p{font-size:10px}.collection-heading>p br{display:none}.collection-heading>p{max-width:100%}.collection-controls{margin-top:20px;padding-top:13px}.curated-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.curated-grid>.project{margin:0;min-width:0}.curated-grid .portfolio-art,.curated-grid[data-view=selected] .portfolio-art,.curated-grid .static-ui-card .portfolio-art{height:auto;aspect-ratio:1.35}.project-details .project-title h3{font-size:13px;line-height:1.25}.project-details .project-title>span{font-size:13px}.project-details>p{display:block;font-size:7px;line-height:1.6}.project-details>p>span{display:block;font-size:5px;margin-top:3px}.curated-grid .view-project{display:none}.collection-footer>span{font-size:5px;max-width:80px}.collection-footer>button{min-width:170px;font-size:9px}.filters button{padding:8px 9px;font-size:8px}.collection-controls>#collection-status{font-size:7px;margin-top:10px}}
.collection-subtitle{font-size:14px;font-weight:400;letter-spacing:0;color:#8b8578;margin-left:8px}@media(max-width:700px){.collection-subtitle{font-size:11px;margin-left:5px}}
/* A personal story, told with the user's own photographs. */
.personal-about{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.4fr);gap:60px;margin-top:32px;align-items:start}.personal-portrait{margin:0}.personal-portrait>img{display:block;width:100%;height:auto;aspect-ratio:1.04;object-fit:cover;object-position:center 35%;background:#b09d8b}.personal-portrait>figcaption{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #c3bcae;font-size:7px;letter-spacing:1px;color:#817b6c;line-height:1.7}.personal-portrait>figcaption>span:first-child{color:#49483e}.personal-story h2{font-size:clamp(32px,3.7vw,50px);line-height:1.1;letter-spacing:-2px;margin:0 0 23px}.personal-story .about-text{max-width:550px}.personal-story .about-text>p{font-size:12px;line-height:1.9;margin-bottom:15px}.childhood-story{display:grid;grid-template-columns:112px 1fr;gap:24px;border-top:1px solid #c6bfb0;margin-top:26px;padding-top:25px;align-items:start}.childhood-story figure{margin:0}.childhood-story figure>img{display:block;width:100%;height:auto;border:6px solid #f7f3e8;box-shadow:0 3px 9px #3e302414}.childhood-story figcaption{font-size:5px;letter-spacing:.8px;color:#918776;line-height:1.7;padding-top:10px}.story-overline{font-size:7px;letter-spacing:1.5px;color:#a8543c}.childhood-story h3{font:24px/1.15 'Playfair Display',Georgia;letter-spacing:-.5px;margin:10px 0 12px}.childhood-story p{font-size:11px;line-height:1.85;color:#777061;margin:0 0 10px}.approach>.steps{margin-top:45px}@media(max-width:1000px){.personal-about{gap:35px;grid-template-columns:.9fr 1.2fr}.personal-story h2{font-size:35px}.childhood-story{grid-template-columns:92px 1fr;gap:16px}.childhood-story h3{font-size:21px}.personal-portrait>figcaption{display:block;font-size:6px}.personal-portrait>figcaption>span{display:block}}@media(max-width:700px){.personal-about{grid-template-columns:1fr;gap:28px;margin-top:25px}.personal-portrait{max-width:360px}.personal-portrait>img{aspect-ratio:1.3;object-position:center 28%}.personal-portrait>figcaption{display:flex;font-size:6px}.personal-story h2{font-size:35px;margin-bottom:20px}.personal-story .about-text>p{font-size:12px}.childhood-story{grid-template-columns:95px 1fr;gap:18px;margin-top:22px;padding-top:22px}.childhood-story h3{font-size:22px}.childhood-story p{font-size:10px;line-height:1.8}.story-overline{font-size:6px}.approach>.steps{margin-top:30px}}
.related-project>a{font-size:11px;border-bottom:1px solid #bb553d;padding:8px 0;text-decoration:none}.related-project>a:hover{color:#bb553d}.curated-grid .project[data-type="internal"] .portfolio-art img{object-position:center}.curated-grid .project[data-project="1"] .portfolio-art img,.curated-grid .project[data-project="2"] .portfolio-art img,.curated-grid .project[data-project="3"] .portfolio-art img,.curated-grid .project[data-project="4"] .portfolio-art img{object-fit:contain;background:#f1ece3}.curated-grid .project[data-project="28"] .portfolio-art img,.curated-grid .project[data-project="31"] .portfolio-art img{object-fit:contain;background:white}@media(max-width:700px){.related-project>a{display:inline-block;font-size:10px}.filters{gap:4px}.filters button{font-size:8px;padding:8px}}
/* Skills and a single, clear explanation of AI in the creative process. */
.skills-section{padding:65px 5%;border-top:1px solid #c5bfb1}.skills-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}.skills-heading .eyebrow{font-size:8px;letter-spacing:2px;color:#817b6d}.skills-heading h2{font-size:38px;line-height:1.1;font-weight:500;letter-spacing:-1.5px;margin:18px 0 0}.skills-heading h2 em{font-family:'Playfair Display',Georgia;font-weight:400;color:#aa5039}.skills-heading>p{max-width:280px;font-size:11px;line-height:1.9;color:#797367;margin:0}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 45px}.skills-grid article{padding-top:19px;border-top:1px solid #c5bfb1}.skill-index{font-size:7px;letter-spacing:1.4px;color:#9a6b55}.skills-grid h3{font-size:19px;letter-spacing:-.4px;font-weight:500;margin:13px 0 12px}.skills-grid article>p{font-size:11px;line-height:1.9;color:#787266;max-width:460px;margin-bottom:15px}.skill-tools{display:flex;gap:6px;flex-wrap:wrap}.skill-tools>span{font-size:8px;padding:5px 9px;border:1px solid #d4cdbf;color:#6a6458;border-radius:2px}.skills-languages{display:flex;gap:25px;align-items:center;border-top:1px solid #c5bfb1;margin-top:30px;padding-top:17px}.skills-languages>span{font-size:7px;letter-spacing:1.5px;color:#9b907c}.skills-languages>p{font-size:10px;color:#756e60;margin:0}.skills-languages b{font-weight:400;color:#a8a08e;margin-left:7px}.ai-method{margin-top:35px;display:grid;grid-template-columns:.85fr 1.4fr;gap:50px;padding:28px;background:#e8e3d8;border-left:2px solid #b96c4b;scroll-margin-top:25px}.ai-method .eyebrow{font-size:7px;letter-spacing:1.5px;color:#94735d}.ai-method h3{font:27px/1.13 'Playfair Display',Georgia;letter-spacing:-.6px;font-weight:400;margin:15px 0 0}.ai-method p{font-size:11px;line-height:1.9;color:#777062;margin:0 0 12px}.ai-method p:last-child{margin-bottom:0}.ai-footer-link{font-size:8px;letter-spacing:.5px}.skills-section+.contact{border-top:1px solid #c5bfb1}@media(max-width:900px){.skills-grid{gap:25px}.ai-method{gap:30px;grid-template-columns:1fr 1.4fr;padding:25px}.ai-method h3{font-size:24px}header nav{gap:20px}}@media(max-width:700px){header{flex-wrap:wrap;gap:12px}header nav{width:100%;justify-content:space-between;margin-left:0;gap:12px}header nav>a{font-size:9px}header nav a:nth-child(2){display:block}header nav .contact-link{max-width:none}.skills-section{padding:45px 6%}.skills-heading{display:block;margin-bottom:25px}.skills-heading h2{font-size:31px;letter-spacing:-1px;margin:14px 0 17px}.skills-heading>p{font-size:11px;max-width:310px}.skills-grid{grid-template-columns:1fr;gap:25px}.skills-grid h3{font-size:18px}.skills-grid article>p{font-size:11px}.skill-tools>span{font-size:8px}.skills-languages{flex-wrap:wrap;gap:12px 20px;margin-top:25px}.skills-languages>span{width:100%;font-size:6px}.ai-method{grid-template-columns:1fr;gap:20px;padding:22px 18px;margin-top:28px}.ai-method h3{font-size:26px}.ai-method p{font-size:11px}.ai-footer-link{font-size:7px}}
/* The Alain Charles OFFI method, kept compact and readable. */
.creation-method{border-top:1px solid #c0b9a9;margin-top:45px;padding-top:32px;scroll-margin-top:30px}.method-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:28px}.method-heading .eyebrow{font-size:7px;letter-spacing:1.5px;color:#8d7e68}.method-heading h2{font-size:33px;line-height:1.12;letter-spacing:-1.1px;margin:17px 0 0}.method-heading h2 em{font-weight:400;letter-spacing:-1px}.method-heading>p{font-size:11px;line-height:1.9;color:#7e7361;max-width:290px;margin:0}.method-sequence{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;list-style:none;margin:0;padding:0}.method-sequence>li{display:flex;gap:17px;align-items:start;border-top:1px solid #cfc6b4;padding:20px 0 23px;min-width:0}.method-number{font-size:10px;color:#b46a49;line-height:1.6;min-width:19px;padding-top:2px}.method-sequence h3{font-size:16px;font-weight:500;letter-spacing:-.25px;margin:0 0 10px}.method-sequence p{font-size:11px;line-height:1.9;color:#7a705e;margin:0;max-width:460px}.method-sequence>li:last-child{grid-column:1/-1;max-width:750px}.method-sequence>li:last-child p{max-width:690px}.method-signoff{border-top:1px solid #c0b9a9;margin-top:3px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.method-signoff>span{font-size:6px;letter-spacing:1px;color:#a87a5d}.method-signoff>p{font:italic 17px/1.4 'Playfair Display',Georgia;color:#786d59;margin:0}@media(max-width:700px){.creation-method{margin-top:30px;padding-top:25px}.method-heading{display:block;margin-bottom:22px}.method-heading h2{font-size:29px;margin-top:14px}.method-heading>p{font-size:10px;margin-top:18px;max-width:290px}.method-sequence{grid-template-columns:1fr}.method-sequence>li{padding:18px 0;gap:14px}.method-sequence h3{font-size:16px}.method-sequence p{font-size:11px;line-height:1.85}.method-signoff{display:block}.method-signoff>span{font-size:5px;letter-spacing:.5px;line-height:1.8;display:block}.method-signoff>p{margin-top:12px;font-size:16px}}
/* Motion direction: typography, rhythm, light and transitions. */
.hero-line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}.hero-line>span{display:block}.hero h1{overflow:visible}body.intro-complete h1{animation:none}body.intro-complete .hero-line>span{animation:headline-unfold 1.2s cubic-bezier(.16,1,.3,1) both}body.intro-complete .hero-line:nth-child(2)>span{animation-delay:.16s}.hero h1 .asterisk{animation:asterisk-turn 28s linear infinite,asterisk-arrive 1.2s .35s both}.round-link{animation:scroll-invitation 2.8s 1.6s ease-in-out infinite}header{position:sticky;top:0;z-index:40;background:#f3f0e8ed;backdrop-filter:blur(14px);transition:background .4s,box-shadow .4s,border-color .4s}header.is-scrolled{background:#f3f0e8f7;box-shadow:0 5px 20px #24241f09;border-color:#bcb6a654}.logo.signature{position:relative}.logo.signature:after{content:'';height:1px;position:absolute;left:0;right:0;bottom:-5px;background:linear-gradient(90deg,transparent,#b75b42);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.logo.signature:hover:after{transform:scaleX(1)}.hero-contact-sheet figure{overflow:hidden}.hero-contact-sheet figure:nth-child(2){translate:0 calc(var(--photo-drift,0px) * -1)}.hero-contact-sheet figure:nth-child(3){translate:0 var(--photo-drift,0px)}.hero-contact-sheet figure{transition:translate .15s linear}.hero-contact-sheet figure>img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .8s}.hero-contact-sheet figure:hover>img{transform:scale(1.09);filter:saturate(1.15)}.kinetic-band{margin:45px 0 0;border-top:1px solid #c3b9a5;border-bottom:1px solid #c3b9a5;padding:16px 0;overflow:hidden;color:#9c4b36;background:#e9e3d7;user-select:none}.kinetic-track{display:flex;align-items:center;width:max-content;gap:35px;animation:kinetic-flow 38s linear infinite}.kinetic-track>span{font:italic 24px 'Playfair Display',Georgia;letter-spacing:-.3px;white-space:nowrap}.kinetic-track>i{font-style:normal;font-size:24px}.kinetic-band:hover .kinetic-track{animation-play-state:paused}.curated-grid .project{perspective:900px}.curated-grid .project .art{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;isolation:isolate}.curated-grid .project:hover .art{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-3px);box-shadow:0 14px 25px #3b302518}.curated-grid .project .art:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),#ffffff24,transparent 65%);opacity:0;transition:opacity .5s}.curated-grid .project.pointer-inside .art:before{opacity:1}.curated-grid .project .art>img{transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .7s}.curated-grid .project:hover .art>img{transform:scale(1.065);filter:saturate(1.08)}.curated-grid .static-ui-card:hover .art>img{transform:translateY(-8px) scale(1.015)}.project-details .project-title>span{transition:transform .4s,color .4s}.project:hover .project-details .project-title>span{transform:translate(4px,-4px) rotate(-8deg);color:#bb553b}.project-details .project-title h3{transition:color .35s}.project:hover .project-details .project-title h3{color:#ad5038}.motion-cursor{position:fixed;left:0;top:0;z-index:100;pointer-events:none;width:65px;height:65px;background:#f2eddfec;color:#934b34;border:1px solid #b8a48d;border-radius:50%;display:grid;place-items:center;opacity:0;scale:.6;transition:opacity .2s,scale .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 3px 15px #30231710}.motion-cursor>span{font-size:8px;letter-spacing:1px}.motion-cursor.cursor-project{opacity:1;scale:1}.filters button{position:relative;overflow:hidden;transition:background .35s,color .35s,box-shadow .35s,translate .35s}.filters button:after{content:'';position:absolute;bottom:0;left:12px;right:12px;height:1px;background:#b8583e;transform:scaleX(0);transform-origin:left;transition:transform .35s}.filters button:hover:after{transform:scaleX(1)}.filters button.active{box-shadow:0 3px 9px #24241f15}.personal-portrait{overflow:hidden}.personal-portrait>img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1),filter .9s}.personal-portrait:hover>img{transform:scale(1.045);filter:contrast(1.04)}.childhood-story figure{transition:rotate .6s,translate .6s}.childhood-story:hover figure{rotate:-3deg;translate:0 -4px}.creation-method{position:relative}.creation-method:after{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:#b56a49;transform:scaleX(var(--method-progress,0));transform-origin:left;transition:transform .2s linear;pointer-events:none}.method-number{display:inline-block;transition:color .4s,transform .4s}.method-sequence li h3{transition:color .4s}.method-sequence li.step-current .method-number{color:#a73f28;transform:translateX(3px)}.method-sequence li.step-current h3{color:#934a32}.method-sequence li{transition:border-color .5s}.method-sequence li:hover{border-color:#b16748}.method-sequence li:hover .method-number{transform:translateX(7px)}.skills-grid article{transition:border-color .4s,background .4s}.skills-grid article:hover{border-color:#b26d50}.skill-tools>span{transition:translate .35s,background .35s,color .35s,border-color .35s}.skill-tools>span:hover{translate:0 -3px;background:#d9cbbb;color:#6e3e2a;border-color:#c19f80}.ai-method{background-image:linear-gradient(110deg,#e8e3d8 35%,#eee6d6 50%,#e8e3d8 65%);background-size:240% 100%;animation:paper-light 12s ease-in-out infinite}.contact h2 em{display:inline-block;position:relative}.contact h2 em:after{content:'';position:absolute;left:0;right:0;bottom:-8px;border-bottom:1px solid #b45b41;transform:scaleX(.05);transform-origin:left;transition:transform 1s cubic-bezier(.2,.8,.2,1)}.contact:hover h2 em:after{transform:scaleX(1)}.contact button,header nav a,.round-link,#browse-all,.replay-signature{transition:translate .35s,transform .35s,background .35s,color .35s}.replay-signature{background:none;border:0;color:#7f725c;font:8px 'DM Sans',Arial;letter-spacing:.5px;padding:0;cursor:pointer}.replay-signature:hover{color:#b34c31}dialog[open]{animation:none}dialog::backdrop{animation:backdrop-in .5s ease both}.project-pages figure{overflow:hidden}.project-pages img{transition:filter .7s}.project-pages figure:hover img{filter:contrast(1.025)}
@keyframes headline-unfold{from{transform:translateY(115%) rotate(3deg);opacity:.1}to{transform:translateY(0) rotate(0);opacity:1}}@keyframes asterisk-arrive{from{opacity:0;scale:.3}to{opacity:1;scale:1}}@keyframes scroll-invitation{0%,70%,100%{translate:0 0}80%{translate:0 5px}90%{translate:0 -2px}}@keyframes kinetic-flow{to{transform:translateX(-50%)}}@keyframes paper-light{0%,100%{background-position:100% 0}50%{background-position:0 0}}@keyframes backdrop-in{from{background:#24241f00;backdrop-filter:blur(0)}to{background:#24241f99;backdrop-filter:blur(5px)}}
@media(max-width:700px){.kinetic-band{margin-top:28px;padding:12px 0}.kinetic-track{gap:22px}.kinetic-track>span{font-size:18px}.kinetic-track>i{font-size:18px}.hero-contact-sheet figure:nth-child(n){translate:0 0}header{position:relative}.hero-line{padding-bottom:.12em;margin-bottom:-.12em}.replay-signature{font-size:7px}.motion-cursor{display:none}.contact h2 em:after{bottom:-4px}}
@media(hover:none),(pointer:coarse){.motion-cursor{display:none}.curated-grid .project:hover .art{transform:none}.curated-grid .project:hover .art>img{transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){.hero-line>span,.hero h1 .asterisk,.round-link,.kinetic-track,.ai-method,dialog::backdrop{animation:none!important}.hero-contact-sheet figure:nth-child(n){translate:0 0}.motion-cursor{display:none}.curated-grid .project .art,.curated-grid .project:hover .art,.curated-grid .project:hover .art>img{transform:none!important}.personal-portrait:hover>img{transform:none}.childhood-story:hover figure{rotate:0deg;translate:0 0}.hero-line>span{opacity:1}.method-sequence li.step-current .method-number{transform:none}}
.kinetic-track{gap:0}.kinetic-track>*{margin-right:35px}@media(max-width:700px){.kinetic-track>*{margin-right:22px}}
.direct-contact{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#de482f;color:#fff;padding:19px 25px;font-size:13px;text-decoration:none;transition:background .3s,translate .35s,box-shadow .3s}.direct-contact>span:last-child{font-size:22px;line-height:1;transition:transform .3s}.direct-contact:hover{background:#ba3c27;color:#fff;box-shadow:0 6px 16px #b94a2820}.direct-contact:hover>span:last-child{transform:translate(3px,-3px)}@media(max-width:700px){.direct-contact{display:inline-flex;max-width:100%;font-size:12px;padding:17px 18px;margin-top:15px;gap:20px}.direct-contact>span:first-child{overflow-wrap:anywhere}}
