:root{--text:#2a2216;--accent:#fc6231;--black:#1b1b1b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f7f0;color:var(--text);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}a[href]:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}a[href]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}p,h1,h2{margin:0}em{font-weight:400;color:var(--accent)}.page{position:relative;max-width:1728px;margin:auto;overflow:hidden;padding:47px 48px 83px}.decorations{position:absolute;inset:0;pointer-events:none}.line{position:absolute;max-width:none}.line-1{left:-186.5px;top:459.43px}.line-2{left:calc(66.666667% + 113px);top:575.58px}.line-3{left:-64.44px;top:1431.5px}.line-4{left:calc(33.333333% + 432px);top:2139.5px}.line-5{left:calc(33.333333% + 72.5px);top:4038px}.tablet-line{display:none}header,main,footer{position:relative}header{height:32px;display:flex;align-items:flex-start;justify-content:space-between;color:#2c2c2c}.brand{font:400 32px/32px 'DM Serif Display',serif;white-space:nowrap}nav{display:flex;justify-content:space-between;width:612px;padding-top:1.45px;font-size:22px;line-height:24px;font-weight:500;text-align:right}nav a{width:121px}.hero{margin-top:187.59px;margin-left:calc((100% - 48px)/3 + 24px);width:calc((100% - 48px)*2/3 + 24px)}h1{font:400 110px/107px 'DM Serif Display',serif;max-width:893px}.hero>p{font-size:28px;line-height:36px;max-width:597px;margin-top:40px}.works{margin-top:147px;display:flex;flex-direction:column;gap:97.4px;scroll-margin-top:32px}.project{min-width:0}.project-visual{height:650px;background:var(--black);border-radius:24px}.project-copy{padding:47.27px 56px 0}.project-copy h2{font-size:28px;line-height:32px;font-weight:700;max-width:410px}.project-copy p{font-size:20px;line-height:26px;max-width:386px;margin-top:18px}.tablet-copy,.mobile-copy{display:none}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.featured{display:grid;grid-template-columns:1fr 2fr;gap:24px;min-height:800px}.featured .project-visual{height:800px;grid-column:2;grid-row:1}.featured .project-copy{grid-column:1;grid-row:1;padding-top:121.14px}.first .project-copy p{max-width:410px}.featured.reverse{grid-template-columns:2fr 1fr}.featured.reverse .project-visual{grid-column:1}.featured.reverse .project-copy{grid-column:2;align-self:end;padding-top:0;padding-bottom:45px}.project-pair .project-copy{min-height:187.27px}footer{margin-top:205.45px;display:flex;justify-content:space-between;align-items:flex-start}footer h2{font:400 154px/152px 'DM Serif Display',serif;white-space:nowrap}.footer-links{display:flex;gap:72px;padding-top:98px;font-size:32px;line-height:32px;font-weight:500}.footer-links a:nth-child(-n+2){width:162px}.footer-links a:last-child{width:86px}
@media(max-width:1550px) and (min-width:1101px){body{background:#f8f7f0}.page{padding-top:48px}nav{width:611px}.hero{margin-top:191px}.works{margin-top:94px;gap:94px}.first .project-copy{padding:170px 0 0}.first .project-copy h2{max-width:353px}.first .project-copy p{margin-top:23px;max-width:393px}.project-copy{padding:42px 0 0}.project-pair .project-copy{min-height:180px}.reverse .project-visual{height:809px}.featured.reverse{min-height:809px}.featured.reverse .project-copy{padding:0 3px 75px 27px}.reverse h2{max-width:353px}.reverse .project-copy p{max-width:343px}.reverse .project-copy p{margin-top:18px}footer{margin-top:267px}.line-1{left:-222px;top:587.5px}.line-2{left:calc(66.666667% + 40px);top:483.5px}.line-3{left:-99.44px;top:1382.5px}.line-4{left:calc(33.333333% + 300px);top:2051.5px}.line-5{left:458px;top:4002px}}
@media(max-width:1100px){body{background:#f8f7f0}.page{padding:72px 48px}.brand{font-size:32px}header{height:32px;align-items:center}nav{width:433px;padding-top:0}.hero{margin:167px 0 0;width:100%}h1{font-size:82.777px;line-height:80.52px;max-width:672px}.hero>p{font-size:24px;line-height:30px;max-width:440px;margin-top:39px}.works{margin-top:80px;gap:64px}.project-pair{display:contents}.featured,.featured.reverse{display:flex;flex-direction:column;gap:0;min-height:0}.project-visual,.featured .project-visual,.reverse .project-visual{height:auto;aspect-ratio:672/608}.project-copy,.featured .project-copy,.featured.reverse .project-copy{padding:40px 0 0;align-self:stretch}.project-pair .project-copy{min-height:0}.project-copy h2{max-width:440px;font-size:28px;line-height:32px}.project-copy p,.first .project-copy p{max-width:384px;font-size:20px;line-height:26px;margin-top:19px}.desktop-copy{display:none}.tablet-copy{display:block}footer{margin-top:159px;display:block}footer h2{font-size:120.606px;line-height:119.04px}.footer-links{padding-top:64.96px}.line-1,.desktop-line{display:none}.tablet-line{display:block}.line-2{left:calc(33.333333% + 92px);top:469.5px}.line-t3{left:202.63px;top:3981.36px;transform:rotate(-22.92deg);transform-origin:center}.line-t4{left:calc(33.333333% + 66.3px);top:1934.5px}.line-t5{left:-186px;top:5623px}}
@media(max-width:650px){.page{padding:24px 16px 55px}.brand{display:none}header{height:24px}nav{font-size:20px;line-height:24px;width:100%;text-align:left;padding:0}nav a{width:auto}nav a:last-child{text-align:right}.hero{margin-top:73px}h1{font-size:64px;line-height:60px;max-width:358px}.hero>p{font-size:21px;line-height:26px;max-width:100%;margin-top:32px}.works{margin-top:73px;gap:56px}.project-visual,.featured .project-visual{aspect-ratio:358/390}.project-copy,.featured .project-copy,.featured.reverse .project-copy{padding-top:32px}.project-copy h2{font-size:24px;line-height:28px;max-width:100%}.project-copy p,.first .project-copy p{font-size:18px;line-height:24px;margin-top:12px;max-width:100%}.tablet-copy{display:none}.mobile-copy{display:block}.project:last-child{margin-top:0}footer{margin-top:112px}footer h2{font-size:120.606px;line-height:119.04px;white-space:normal;max-width:358px}.footer-links{padding-top:32px;gap:0;justify-content:space-between;font-size:24px;line-height:26px}.footer-links a:nth-child(-n+2),.footer-links a:last-child{width:auto}.decorations{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Exact wide-frame geometry, with fluid columns between supplied breakpoints. */
@media(min-width:1101px){.featured{grid-template-columns:calc((100% - 48px)/3) 1fr}.featured.reverse{grid-template-columns:1fr calc((100% - 48px)/3)}h1{width:893px;max-width:none}}
@media(min-width:1551px){.project-pair{grid-template-columns:calc(50% - 13px) 1fr}.works{gap:97.4px}.featured.reverse{margin-top:-.24px}.works>.project-pair:last-child{margin-top:-.54px}.first .project-copy{padding-right:14px}.featured.reverse .project-copy{padding-right:0}}
@media(min-width:1101px) and (max-width:1550px){.first .project-visual{width:calc(100% + 5px)}.featured.reverse{margin-top:-2px}}

/* Fluid sizing: typography and hero offset interpolate between frame widths. */
.page{--gutter:clamp(16px,calc(8.466vw - 17.016px),48px);padding-left:var(--gutter);padding-right:var(--gutter)}
.hero{--hero-offset:clamp(0px,calc(100vw - 989px),552px);margin-left:var(--hero-offset);width:calc(100% - var(--hero-offset));margin-top:clamp(73px,calc(24.868vw - 24px),191px)}
h1{width:100%;max-width:893px;font-size:clamp(64px,calc(44.627px + 4.9675vw),110px);line-height:.972727}
.hero>p{width:100%;max-width:597px;font-size:clamp(21px,calc(16.913px + 1.048vw),28px);line-height:1.285714;margin-top:clamp(32px,3.6vw,40px)}
footer{display:flex;flex-wrap:wrap;align-items:flex-end;gap:32px}
footer h2{width:auto;max-width:100%;font-size:clamp(72px,calc(55px + 5.73vw),154px);line-height:.987;white-space:nowrap}
.footer-links{padding-top:0;display:flex;flex-wrap:wrap;gap:clamp(24px,4.167vw,72px);font-size:clamp(20px,calc(16px + .926vw),32px);line-height:1.15;padding-bottom:clamp(0px,1.2vw,22px);max-width:100%}
.footer-links a:nth-child(-n+2),.footer-links a:last-child{width:auto}
nav{width:clamp(300px,43vw,612px);max-width:100%;gap:16px;flex-shrink:1}nav a{width:auto}
header{gap:24px}
@media(max-width:1100px){.hero>p{max-width:clamp(440px,calc(23.36vw + 260.6px),597px)}.project-copy p,.first .project-copy p{max-width:min(100%,384px)}}
@media(max-width:650px){nav{width:100%;font-size:clamp(18px,5.128vw,20px)}h1{font-size:clamp(48px,16.4103vw,76.915px);max-width:100%}.hero>p{max-width:100%}.footer-links{width:100%;justify-content:space-between;gap:12px;padding-bottom:0}.project-copy h2{font-size:clamp(21px,6.154vw,24px)}}
@media(max-width:650px){footer h2{font-size:min(clamp(64px,calc(55px + 5.73vw),154px),calc((100vw - 2 * var(--gutter)) * .235))}}
@media(min-width:1101px) and (max-width:1550px){.line-1{left:calc(-222px - max(0px,1440px - 100vw) * .75)}}

/* Keep the second phrase intact at every width. */
.hero-ending{white-space:nowrap}

/* Updated Figma Body and footer typography; fluid between supplied frames. */
.hero>p{font-size:clamp(20px,calc(10.857143px + 1.190476vw),28px);line-height:clamp(26px,calc(14.571429px + 1.488095vw),36px)}
.footer-links{font-size:clamp(24px,calc(19.428571px + .595238vw),28px);line-height:32px}
@media(max-width:768px){.hero>p{font-size:clamp(20px,calc(22.031746px - .26455vw),21px);line-height:26px}}
@media(max-width:650px){.footer-links{font-size:clamp(20px,6.153846vw,24px);line-height:26px}}



/* Compact spacing between project headings and descriptions. */
@media(min-width:651px){.project .project-copy p{margin-top:14px}}

/* Figma Text 2 and consistent eight-pixel spacing between sections. */
.page{--section-gap:120px;--caption-gap:48px;padding-top:48px;padding-bottom:80px}
.hero{margin-top:192px}
.hero>p{max-width:528px;font-size:clamp(20px,calc(15.428571px + .595238vw),24px);line-height:clamp(26px,calc(21.428571px + .595238vw),30px);margin-top:40px}
.works{margin-top:var(--section-gap);gap:var(--section-gap)}
.works>.featured.reverse,.works>.project-pair:last-child{margin-top:0}
.project-pair .project-copy{padding-top:var(--caption-gap);min-height:0}
footer{margin-top:var(--section-gap)}
@media(min-width:1101px){.first .project-copy{padding-top:120px}.featured.reverse .project-copy{padding-bottom:48px}}
@media(max-width:1100px){
 .page{--section-gap:64px;--caption-gap:40px;padding-top:72px;padding-bottom:72px}
 .hero{margin-top:160px}
 .hero>p{max-width:clamp(440px,calc(23.36vw + 260.6px),528px)}
 .project .project-copy,.featured .project-copy,.featured.reverse .project-copy{padding-top:var(--caption-gap)}
}
@media(max-width:650px){
 .page{--section-gap:56px;--caption-gap:32px;padding-top:24px;padding-bottom:56px}
 .hero{margin-top:72px}
 .hero>p{font-size:21px;line-height:26px;max-width:100%;margin-top:32px}
}

/* Header spacing from Figma 371:50875. */
@media(min-width:1101px){nav{width:425px;gap:72px;justify-content:flex-start}nav a:nth-child(1){width:121px}nav a:nth-child(2){width:94px}nav a:nth-child(3){width:66px}nav a{flex-shrink:0}}
.visual-cursor{position:fixed;left:0;top:0;width:28px;height:28px;border-radius:200px;border:3px solid var(--accent);box-sizing:border-box;background:var(--accent);pointer-events:none;z-index:1000;opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity .18s;will-change:transform}
.visual-cursor.is-visible{opacity:1}
.visual-cursor span{font:700 20px/23px Inter,Arial,sans-serif;color:var(--accent);white-space:nowrap;opacity:0;transform:scale(.85);transition:opacity .16s,transform .3s}
.visual-cursor.is-project{background:transparent}
.visual-cursor.is-project span{opacity:1;transform:scale(1)}
@media(hover:hover) and (pointer:fine){.custom-cursor,.custom-cursor a,.custom-cursor .project-visual{cursor:none}}
.project{transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .7s ease}
.project.reveal-pending{opacity:0;transform:translateY(32px)}
@media(prefers-reduced-motion:reduce){.visual-cursor{display:none}.project{transition:none}.project.reveal-pending{opacity:1;transform:none}}
@media(hover:none),(pointer:coarse){.visual-cursor{display:none}}
/* The first project opens the Lavka case study. */
.lavka-cover{display:flex;align-items:center;justify-content:center;gap:9%;padding:6%;overflow:hidden}.lavka-cover img{width:34%;max-height:88%;object-fit:contain;display:block}.lavka-cover:hover{text-decoration:none!important}
/* Match the first Lavka entry in Figma. */
.hero>p{font-family:Inter,Arial,sans-serif;font-weight:400;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.lavka-cover{gap:2.649007%;padding:8.055556%;border-radius:40px}
.lavka-cover img{width:31.567329%;max-height:none;height:auto;object-fit:contain;flex-shrink:0}
.first .project-copy h2{color:var(--black)}
.first .project-copy p.entry-meta{margin-top:16px;color:rgba(42,34,22,.8);opacity:.8}
.visual-cursor.is-over-back{opacity:0}
.scroll-reveal{transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .85s ease}
.scroll-reveal.reveal-pending{opacity:0;transform:translateY(40px)}
.scroll-reveal:focus-within{opacity:1;transform:none}
@media(max-width:650px){.lavka-cover{border-radius:24px}}
@media(prefers-reduced-motion:reduce){.scroll-reveal{transition:none}.scroll-reveal.reveal-pending{opacity:1;transform:none}}

/* Text follows the image with a softer, shorter rise. Each block reveals once. */
.scroll-reveal.text-reveal{transition-duration:.85s;transition-delay:.14s}
.scroll-reveal.text-reveal.reveal-pending{transform:translateY(24px)}
.scroll-reveal.text-reveal:focus-within{opacity:1;transform:none;transition-delay:0s}
@media(prefers-reduced-motion:reduce){
 .scroll-reveal.text-reveal{transition:none}
 .scroll-reveal.text-reveal.reveal-pending{opacity:1;transform:none}
}
/* Figma body typography: real Regular outlines and consistent macOS antialiasing. */
.hero>p,.project-copy p,.case-copy p,.case-copy li,.project-meta{
 font-family:Inter,Arial,sans-serif;font-weight:400;font-style:normal;font-synthesis:none;
 -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0;
}

/* A PDF download slot, inactive until the CV is supplied. */
.footer-links .cv-link{white-space:nowrap;width:auto}
.cv-link[aria-disabled="true"]{opacity:.55;cursor:default}
.cv-link small{font-size:.5em;vertical-align:middle;font-weight:400}
@media(max-width:650px){.footer-links{row-gap:24px;column-gap:20px}}
