@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600 900;font-display:swap;src:url('assets/heading.ttf')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/body.ttf')}
:root{--ink:#11100f;--paper:#eeeae2;--lilac:#c8a9e7;--muted:#aaa49f;--line:#ffffff25}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',sans-serif;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--lilac);outline-offset:6px}::selection{background:var(--lilac);color:var(--ink)}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;line-height:.87;letter-spacing:-.025em}h2{font-size:clamp(72px,10vw,150px)}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:600}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:14px}.skip:focus{top:10px}.scroll-progress{height:2px;position:fixed;top:0;left:0;background:var(--lilac);width:100%;transform:scaleX(0);transform-origin:left;z-index:100}.hero{height:100svh;min-height:760px;max-height:1200px;padding:0 3.2%;position:relative;isolation:isolate;overflow:clip}nav{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:800;letter-spacing:-.03em;white-space:nowrap}.brand span{color:var(--lilac);padding:0 2px}.nav-links{display:flex;gap:45px;font-size:12px}.nav-links a{transition:color .2s}.nav-links a:hover{color:var(--lilac)}.nav-location{font-size:10px;letter-spacing:.1em}.dot{display:inline-block;width:6px;height:6px;background:var(--lilac);border-radius:50%;margin-left:8px}.hero-kicker{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;margin-top:26px}.hero h1{font-size:22vw;position:relative;letter-spacing:-.025em;margin-top:9px;line-height:.95;color:var(--paper)}.heading-star{font-family:serif;font-size:6vw;vertical-align:top;position:absolute;right:-.1vw;top:.4vw;color:var(--lilac)}.hero-visual{position:absolute;top:27%;bottom:80px;width:47%;left:26.5%;z-index:2;display:flex;align-items:center;justify-content:center}.portrait-magnet{width:74%;height:100%;max-height:640px;will-change:transform;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.portrait-wrap{height:100%;border-radius:48% 48% 5px 5px;overflow:hidden;transform:rotate(-5deg);border:1px solid #c8a9e744;position:relative}.portrait-wrap img{height:100%;object-position:34% 38%;filter:saturate(.65)}.portrait-shade{position:absolute;inset:0;background:linear-gradient(transparent 70%,#11100f99)}.orbit{border:1px solid #c8a9e74d;border-radius:50%;position:absolute;width:115%;height:58%;transform:rotate(-32deg);z-index:-1}.floating-note{position:absolute;right:-12%;top:38%;font-size:15px;line-height:1.5;transform:rotate(8deg);z-index:4}.floating-note em{font-family:Georgia,serif;font-size:23px;color:var(--lilac)}.spark{position:absolute;color:var(--lilac);font-family:serif;animation:bob 5s ease-in-out infinite}.spark-one{font-size:110px;left:-3%;top:20%}.spark-two{font-size:70px;right:3%;bottom:8%;animation-delay:-2s}.photo-label{position:absolute;bottom:0;left:0;font-size:8px;letter-spacing:.15em;transform:rotate(-90deg);transform-origin:left center}.hero-bottom{position:absolute;bottom:35px;left:3.2%;right:3.2%;display:flex;justify-content:space-between;align-items:end;z-index:5}.hero-bottom p{font-size:15px;line-height:1.45}.hero-bottom p em{font-family:Georgia,serif;color:var(--lilac);font-size:25px}.pill{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;background:var(--lilac);color:var(--ink);border:1px solid var(--lilac);border-radius:100px;padding:19px 25px;font-size:12px;font-weight:600;transition:background .25s,transform .3s}.pill span{font-size:22px;line-height:1}.pill:hover{background:var(--paper);border-color:var(--paper)}.scroll-link{display:flex;flex-direction:column;gap:12px;align-items:center;font-size:8px;letter-spacing:.15em}.down{font-size:25px}.marquee{padding:95px 0 70px;overflow:hidden}.text-track{display:flex;white-space:nowrap;width:max-content;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(45px,6vw,80px);color:var(--lilac);gap:20px;margin-bottom:32px;animation:drift 35s linear infinite}.image-track{display:flex;gap:14px;width:max-content;will-change:transform;margin-bottom:14px}.image-track img{width:340px;height:190px;border-radius:12px;filter:saturate(.5)}.image-track img:nth-child(3n+2){object-position:50% 32%}.about{position:relative;padding:100px 7% 150px}.about-content{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;margin-top:60px;align-items:center}.about-photo{position:relative;transform:rotate(-6deg);padding:12px 12px 30px;background:var(--paper);color:var(--ink)}.about-photo img{aspect-ratio:1/1.1;filter:saturate(.6)}.about-photo>span:not(.photo-star){display:block;font-size:9px;text-align:center;letter-spacing:.1em;margin-top:18px}.photo-star{position:absolute;right:-35px;top:-40px;font-size:100px;color:var(--lilac)}.about h2{font-size:clamp(65px,8vw,120px);margin-bottom:35px}.about h2 span{color:var(--lilac)}.reveal-text{font-size:clamp(23px,2.4vw,36px);line-height:1.5;letter-spacing:-.035em}.reveal-text span{opacity:.2}.about-detail{font-size:13px;color:var(--muted);line-height:1.9;margin:24px 0}.text-link{display:inline-flex;justify-content:space-between;gap:55px;border-bottom:1px solid var(--paper);font-size:12px;padding:12px 0}.text-link span{color:var(--lilac)}.about-doodle{position:absolute;bottom:15px;left:43%;font-size:130px;color:var(--lilac);transform:rotate(15deg)}.journey{background:var(--paper);color:var(--ink);padding:65px 7% 110px;border-radius:45px 45px 0 0}.section-top{display:flex;justify-content:space-between;align-items:center}.small-star{font-size:60px}.journey h2{margin:40px 0 65px}.journey h2 em,.contact h2 em{font-style:normal;color:#7c5b94}.steps{margin-left:23%}.step{display:grid;grid-template-columns:80px 1fr 40px;gap:26px;align-items:center;border-top:1px solid #11100f30;padding:30px 0}.step-number{font-family:'Barlow Condensed',sans-serif;font-size:65px;font-weight:700}.step h3{text-transform:uppercase;font-size:20px;font-weight:500;margin-bottom:10px}.step p{font-size:13px;color:#5e5954;line-height:1.8;max-width:440px}.step>span:last-child,.step>a{font-size:35px}.records{padding:90px 5% 100px;position:relative;border-radius:40px 40px 0 0;margin-top:-35px;background:var(--ink)}.records-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px}.records-header h2{margin-top:25px}.records-header h2 span{color:var(--lilac)}.records-header p{font-size:13px;line-height:1.8;color:var(--muted)}.records-header a{color:var(--paper);border-bottom:1px solid}.stack{position:relative;padding-bottom:40px}.record-card{position:sticky;top:25px;border:1px solid #c7beb36b;background:#191716;border-radius:30px;padding:25px;transform-origin:center top;will-change:transform}.record-card.second{top:55px;margin-top:65px;background:#22201e}.card-heading{display:flex;gap:25px;align-items:center;margin-bottom:22px}.card-num{font-family:'Barlow Condensed',sans-serif;font-size:70px;font-weight:700;line-height:1}.card-heading .eyebrow{font-size:9px;color:var(--muted)}.card-heading h3{font-size:21px;font-weight:500;margin-top:7px}.image-open{margin-left:auto;background:transparent;border:1px solid #ffffff55;border-radius:40px;padding:12px 22px;font-size:11px;transition:background .2s}.image-open:hover{background:var(--paper);color:var(--ink)}.record-card>img{height:clamp(260px,36vw,560px);border-radius:18px;object-position:center;filter:saturate(.65)}.record-card>img.process-img{object-position:50% 40%}.card-footer{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;margin-top:17px;color:var(--muted)}.portfolio-link{display:flex;width:max-content;margin:25px auto 0;background:transparent;color:var(--paper);border-color:#ffffff50}.portfolio-link:hover{color:var(--ink)}.contact{background:var(--lilac);color:var(--ink);padding:45px 5% 55px;border-radius:40px 40px 0 0}.contact-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.1em}.contact h2{position:relative;margin:65px 0;font-size:clamp(80px,13vw,185px)}.contact h2 em{color:#72508b}.contact h2>span{position:absolute;right:8%;top:17%;font-family:serif;font-size:150px;animation:slow-spin 25s linear infinite}.contact-bottom{display:flex;align-items:center;justify-content:space-between}.contact-bottom p{font-size:13px;line-height:1.8}.contact .pill{background:var(--ink);color:var(--paper);border-color:var(--ink);padding:22px 30px}.contact .pill:hover{background:var(--paper);color:var(--ink)}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between}footer>div{display:flex;gap:30px;font-size:11px}footer>a:last-child{font-size:9px;letter-spacing:.1em}.lightbox{padding:0;border:0;background:#11100ff5;color:var(--paper);width:100vw;height:100svh;max-width:100vw;max-height:100svh}.lightbox::backdrop{background:#11100f}.lightbox img{height:90svh;width:95%;margin:5svh auto;object-fit:contain}.close-lightbox{position:absolute;right:25px;top:20px;background:var(--ink);border:1px solid var(--muted);padding:10px 20px;border-radius:25px}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .85s,transform .85s}.js .reveal.visible{opacity:1;transform:translateY(0)}.intro{animation:appear .9s both}.hero h1{animation-delay:.12s}.hero-bottom{animation-delay:.4s}@keyframes appear{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}@keyframes bob{50%{translate:0 -15px;rotate:8deg}}@keyframes drift{to{transform:translateX(-33.333%)}}@keyframes slow-spin{to{rotate:360deg}}
@media(min-width:1600px){.hero h1{font-size:350px}.hero{max-width:1800px;margin:auto}}@media(max-width:767px){nav{height:72px}.nav-links{gap:20px;font-size:11px}.nav-location{display:none}.brand{font-size:23px}.hero{min-height:710px;height:93svh;padding:0 5%}.hero-kicker{font-size:7px;margin-top:22px}.hero h1{font-size:21.7vw;margin-top:20px}.hero-visual{top:26%;bottom:145px;width:78%;left:11%}.portrait-magnet{width:80%;max-height:490px}.floating-note{right:-3%;font-size:10px;top:50%}.floating-note em{font-size:16px}.spark-one{font-size:65px;left:-2%}.spark-two{font-size:45px}.orbit{width:110%}.photo-label{display:none}.hero-bottom{bottom:30px;left:5%;right:5%;gap:20px}.hero-bottom p{font-size:12px}.hero-bottom p em{font-size:20px}.hero-bottom .pill{padding:16px 18px;font-size:11px;gap:18px}.scroll-link{display:none}.marquee{padding:55px 0 35px}.image-track img{width:230px;height:145px}.image-track{gap:10px;margin-bottom:10px}.about{padding:60px 7% 100px}.about-content{grid-template-columns:1fr;gap:60px;margin-top:45px}.about-photo{max-width:280px;margin:0 auto;width:80%}.about h2{font-size:85px}.about-copy{position:relative;z-index:1}.about-doodle{left:auto;right:6%;bottom:10px;font-size:80px}.reveal-text{font-size:27px}.journey{padding:35px 7% 85px;border-radius:28px 28px 0 0}.journey h2{font-size:19vw;margin:30px 0 40px}.eyebrow{font-size:9px}.small-star{font-size:45px}.steps{margin-left:0}.step{grid-template-columns:50px 1fr 22px;gap:16px;padding:25px 0}.step-number{font-size:48px}.step h3{font-size:16px}.step p{font-size:12px}.step>span:last-child,.step>a{font-size:25px}.records{padding:65px 5% 70px;border-radius:28px 28px 0 0}.records-header{display:block;margin-bottom:40px}.records-header h2{font-size:90px}.records-header p{margin-top:25px;font-size:12px}.record-card{padding:15px;border-radius:20px;top:15px}.record-card.second{top:35px;margin-top:40px}.card-heading{gap:12px;flex-wrap:wrap;margin-bottom:15px}.card-num{font-size:50px}.card-heading h3{font-size:16px}.image-open{font-size:9px;padding:9px 12px}.card-heading .eyebrow{font-size:7px}.record-card>img{height:350px;border-radius:12px}.record-card:first-child>img{object-position:40% center}.card-footer{font-size:6px}.portfolio-link{font-size:11px;padding:16px 22px}.contact{padding:30px 6% 40px;border-radius:28px 28px 0 0}.contact-top{gap:20px;font-size:7px}.contact-top .eyebrow{font-size:8px}.contact h2{font-size:20vw;margin:50px 0 35px}.contact h2>span{font-size:60px;right:0;top:25%}.contact-bottom{align-items:start;gap:25px;flex-direction:column}.contact-bottom p{font-size:12px}.contact .pill{padding:18px 22px}footer{flex-wrap:wrap;gap:30px;padding:30px 6%}footer>div{gap:20px}footer>a:last-child{width:100%;font-size:8px}.lightbox img{height:85svh;margin-top:10svh}}
html:not(.motion-enabled){scroll-behavior:auto}html:not(.motion-enabled) *,html:not(.motion-enabled) *::before,html:not(.motion-enabled) *::after{animation:none!important;transition:none!important}html:not(.motion-enabled) .reveal{opacity:1;transform:none}html:not(.motion-enabled) .reveal-text span{opacity:1!important}html:not(.motion-enabled) .image-track,html:not(.motion-enabled) .record-card,html:not(.motion-enabled) .portrait-magnet{transform:none!important}

/* Continuous photo gallery. */
.image-track{gap:0;animation:photo-loop 100s linear infinite reverse}.image-track.reverse{animation-direction:normal}.image-group{display:flex;gap:14px;padding-right:14px;flex:none}.gallery-photo{display:block;flex:none;padding:0;border:0;background:transparent;border-radius:12px;overflow:hidden;cursor:zoom-in}.gallery-photo img{transition:filter .25s}.gallery-photo:hover img,.gallery-photo:focus-visible img{filter:saturate(1)}.marquee.paused .image-track{animation-play-state:paused}.gallery-controls{display:flex;justify-content:space-between;align-items:center;padding:10px 5% 0;color:var(--muted);font-size:9px;letter-spacing:.08em}.gallery-controls button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:9px 14px;color:var(--paper);font-size:10px}.gallery-controls button:hover{border-color:var(--lilac)}@keyframes photo-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(max-width:767px){.image-group{gap:10px;padding-right:10px}.image-track{animation-duration:85s}.gallery-controls{font-size:7px;gap:15px}}html:not(.motion-enabled) .image-track{width:max-content;overflow:clip}html:not(.motion-enabled) .image-group[aria-hidden=true]{display:none}html:not(.motion-enabled) .gallery-controls button{display:none}

.motion-toggle{position:fixed;right:16px;bottom:16px;z-index:30;background:#11100fe8;color:var(--paper);border:1px solid #c8a9e780;border-radius:30px;padding:10px 16px;font-size:11px;box-shadow:0 3px 18px #0004}.motion-toggle[aria-pressed=false]{background:var(--lilac);color:var(--ink)}


/* The image floats above the live page; the native dialog keeps focus inside. */
.lightbox{background:transparent;color:var(--paper);padding:0;border:0;overflow:hidden;outline:none}.lightbox::backdrop{background:rgba(8,7,10,.78)}.lightbox[open]{display:grid;grid-template-columns:76px minmax(0,1fr) 76px;grid-template-rows:70px minmax(0,1fr);align-items:center;column-gap:18px;padding:0 3vw 30px}.lightbox-header{grid-column:1/-1;grid-row:1;display:flex;align-items:center;justify-content:space-between;align-self:stretch;gap:20px}.lightbox-count{font-size:12px;letter-spacing:.14em;color:var(--paper)}.lightbox .close-lightbox{position:static;display:flex;align-items:center;gap:20px;background:#11100f80;color:var(--paper);border:1px solid #ffffff55;border-radius:30px;padding:11px 18px;font-size:12px}.lightbox-figure{grid-column:2;grid-row:2;margin:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;pointer-events:none}.lightbox .lightbox-figure img{width:auto;height:auto;max-width:100%;max-height:calc(100svh - 175px);margin:0;object-fit:contain;border-radius:7px;box-shadow:0 15px 70px #0007;pointer-events:auto}.lightbox figcaption{font-size:12px;line-height:1.5;text-align:center;color:#e6dfec;max-width:580px}.lightbox-prev,.lightbox-next{grid-row:2;width:54px;height:54px;border:1px solid #ffffff70;border-radius:50%;background:#11100f80;color:var(--paper);font-size:27px;display:grid;place-items:center;justify-self:center;transition:background .2s,color .2s}.lightbox-prev{grid-column:1}.lightbox-next{grid-column:3}.lightbox button:hover{background:var(--lilac);color:var(--ink);border-color:var(--lilac)}.lightbox button:focus-visible{outline:2px solid var(--lilac);outline-offset:5px}@media(max-width:767px){.lightbox[open]{padding:0 14px 22px;grid-template-columns:48px minmax(0,1fr) 48px;grid-template-rows:65px minmax(0,1fr) 64px;column-gap:12px}.lightbox-header{grid-column:1/-1}.lightbox-figure{grid-column:1/-1;grid-row:2}.lightbox .lightbox-figure img{max-height:calc(100svh - 245px)}.lightbox figcaption{font-size:11px;padding:0 10px}.lightbox-prev,.lightbox-next{grid-row:3;width:46px;height:46px;font-size:24px}.lightbox-prev{grid-column:1}.lightbox-next{grid-column:3}.lightbox .close-lightbox{padding:10px 15px}}
/* Shared desktop content edges; section backgrounds remain full bleed. */
:root{--content-max:1600px;--content-gutter:clamp(24px,3.2vw,48px);--content-inset:max(var(--content-gutter),calc((100% - var(--content-max))/2))}
.marquee.hover-paused .image-track{animation-play-state:paused}
@media(min-width:768px){
.hero{max-width:none;margin:0;padding-inline:var(--content-inset)}
.hero-bottom{left:var(--content-inset);right:var(--content-inset)}
.hero-visual{width:min(752px,47%);left:50%;transform:translateX(-50%)}
.about,.journey,.records,.contact,footer{padding-inline:var(--content-inset)}
.about-content{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(45px,6vw,120px)}
.about-photo{width:100%;max-width:440px;justify-self:start}
.about-copy{min-width:0;max-width:680px}
.about .reveal-text{max-width:560px}
.about-doodle{left:calc(50% - 110px)}
}
/* Title and numbered steps share one row on desktop. */
@media(min-width:1024px){
.journey{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(48px,5vw,96px);row-gap:44px;align-items:start}
.journey>.section-top{grid-column:1/-1}
.journey>h2{grid-column:1;grid-row:2;margin:0;font-size:clamp(72px,7.5vw,132px)}
.journey>.steps{grid-column:2;grid-row:2;margin:0;min-width:0}
.journey .step{grid-template-columns:68px minmax(0,1fr) 32px;column-gap:22px}
}
