:root{--paper:#f5f0e6;--cream:#e8dfcc;--espresso:#281a15;--coffee:#533d30;--muted:#766352;--butter:#e9df9f;--line:#281a152b;--sans:'Bricolage Grotesque',Arial,sans-serif;--body:'Manrope',Arial,sans-serif;--serif:'Bodoni Moda',Georgia,serif;--ease:cubic-bezier(.16,1,.3,1);--gutter:5vw;color-scheme:light;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;scrollbar-color:var(--coffee) var(--cream)}body{margin:0;background:var(--paper);color:var(--espresso);font:15px/1.65 var(--body);overflow-x:clip}::selection{background:var(--butter);color:var(--espresso)}body.menu-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}button:disabled{cursor:default}button,input,textarea{caret-color:var(--coffee)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}img{display:block;width:100%;height:100%;object-fit:cover}button{border:0;background:none}p,h1,h2,h3{margin:0}em,.italic{font-family:var(--serif);font-weight:500}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.section-pad{padding-left:var(--gutter);padding-right:var(--gutter)}.skip-link{position:fixed;left:20px;top:15px;z-index:150;background:var(--butter);padding:10px 20px;transform:translateY(-160%)}.skip-link:focus{transform:none}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--butter);transform:scaleX(0);transform-origin:left;z-index:102;pointer-events:none}.site-header{position:absolute;inset:0 0 auto;z-index:60;padding:25px var(--gutter);display:flex;align-items:center;justify-content:space-between;color:var(--paper);height:90px;border-bottom:1px solid #f5f0e62c;transition:background .3s,color .3s,transform .4s}.site-header.is-fixed{position:fixed;background:var(--paper);color:var(--espresso);border-color:var(--line);height:76px;box-shadow:0 8px 25px #281a1505}.site-header.is-hidden{transform:translateY(-105%)}.brand{font-family:var(--sans);font-size:33px;line-height:1;font-weight:600;letter-spacing:-.04em}.brand-dot{color:var(--butter)}.is-fixed .brand-dot{color:var(--coffee)}.desktop-nav{display:flex;gap:35px;margin-left:60px;font-size:12px}.desktop-nav a,.text-link{position:relative;min-height:44px;display:inline-flex;align-items:center}.desktop-nav a:after{content:'';position:absolute;bottom:8px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:32px}.text-link{gap:20px;font-size:12px}.text-link svg{width:17px;transition:transform .4s var(--ease)}.text-link:hover svg{transform:translate(3px,-3px)}.menu-toggle{width:44px;height:44px;display:grid;align-content:center;gap:6px;padding:11px}.menu-toggle span{display:block;height:1px;width:24px;background:currentColor;transition:transform .4s var(--ease)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.menu-open .site-header{position:fixed;background:var(--espresso);color:var(--paper);border-color:#f5f0e633}.menu-panel{position:fixed;z-index:50;inset:0;background:var(--espresso);color:var(--paper);padding:155px var(--gutter) 40px;clip-path:inset(0 0 100%);transition:clip-path .65s var(--ease);display:flex;flex-direction:column;justify-content:space-between;visibility:hidden}.menu-panel.is-open{clip-path:inset(0);visibility:visible}.menu-panel nav{width:100%;max-width:1100px}.menu-panel nav a{font:clamp(38px,5.8vw,88px)/1.15 var(--sans);letter-spacing:-.035em;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f5f0e633;padding:12px 0;transition:color .3s,padding .4s}.menu-panel nav a:hover{color:var(--butter);padding-left:15px}.menu-panel nav span{font:12px var(--body)}.menu-bottom{display:flex;justify-content:space-between;font-size:12px}.menu-bottom a{display:flex;gap:20px}.menu-bottom svg{width:16px}.opening{display:none;position:fixed;z-index:120;inset:0;background:var(--paper);color:var(--espresso);padding:var(--gutter);flex-direction:column;justify-content:center;pointer-events:none}.js:not(.entered):not(.reduced-motion) .opening{display:flex;animation:curtain-out .95s 1.05s var(--ease) both}.opening-line{display:flex;justify-content:center;gap:2vw;font:clamp(55px,7vw,110px)/1.2 var(--sans);letter-spacing:-.04em;overflow:hidden}.opening-line>span{animation:opening-type .8s var(--ease) both}.opening-line>span:nth-child(2){animation-delay:.13s}.opening-line>span:nth-child(3){animation-delay:.26s}.opening-bottom{position:absolute;bottom:6vh;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:11px}.opening-bottom>span:first-child{font-family:var(--sans);font-weight:600;letter-spacing:.1em}.opening-rule{position:absolute;bottom:4vh;left:var(--gutter);right:var(--gutter);height:1px;background:var(--espresso);transform-origin:left;animation:load-line 1s var(--ease) both}.hero-scroll{height:145svh;background:var(--paper);position:relative}.hero-poster{height:100svh;min-height:740px;position:sticky;top:0;background:var(--espresso);color:var(--paper);overflow:hidden;transform:scale(var(--cover-scale,1));border-radius:var(--cover-radius,0px);will-change:transform}.hero-photo{position:absolute;inset:0;transform:scale(var(--photo-scale,1.06));object-position:center;filter:brightness(.79);will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#1c100c80 0%,#1c100c05 65%)}.hero-topline{position:absolute;top:115px;opacity:var(--topline-opacity,1);left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.035em;color:#e5d7c5}.local-time{font-variant-numeric:tabular-nums;margin-left:14px}.hero-heading{position:absolute;left:var(--gutter);top:22%;width:62%;transform:translateY(var(--hero-text-y,0px));will-change:transform}.hero-heading h1{font:500 clamp(76px,8.6vw,152px)/.92 var(--sans);letter-spacing:-.04em}.hero-heading h1 .line{display:block;overflow:hidden;padding-bottom:.15em;margin-bottom:-.15em}.hero-heading h1 .line>span{display:block}.hero-heading h1 em{letter-spacing:-.03em}.hero-heading p{font-size:13px;line-height:1.8;color:#e3d5c6;margin:25px 0 19px;max-width:340px}.js:not(.reduced-motion) .hero-heading h1 .line>span{animation:hero-enter 1.2s var(--ease) both;animation-delay:1.2s}.js:not(.reduced-motion) .hero-heading h1 .line:nth-child(2)>span{animation-delay:1.36s}.round-link{display:inline-flex;align-items:center;gap:25px;font-size:12px;line-height:1.5}.round-icon{width:57px;height:57px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;transition:background .4s,color .4s,transform .4s var(--ease)}.round-link:hover .round-icon{background:var(--butter);border-color:var(--butter);color:var(--espresso);transform:rotate(45deg)}.round-link:active .round-icon{transform:scale(.95)}.hero-side-note{position:absolute;right:var(--gutter);top:48%;font-size:11px;text-align:right;color:#e3d5c6;display:flex;flex-direction:column;align-items:flex-end;gap:25px;transform:translateY(var(--hero-side-y,0px))}.small-rule{height:1px;width:70px;background:#e3d5c65a}.scroll-invitation{display:flex;gap:20px;align-items:center;font-size:10px}.scroll-invitation svg{width:16px;height:30px;animation:arrow-bob 2.5s ease-in-out infinite}.hero-masthead{position:absolute;bottom:3.6vh;left:3.6vw;right:3.6vw;font:600 19.5vw/.76 var(--sans);letter-spacing:-.04em;text-align:center;white-space:nowrap;transform:translateY(var(--masthead-y,0px));will-change:transform;pointer-events:none}.perspective{position:relative;overflow:hidden;padding-top:80px;padding-bottom:80px;min-height:980px}.section-line{display:flex;justify-content:space-between;gap:24px;font-size:11px;line-height:1.5;border-top:1px solid var(--line);padding-top:18px}.section-line svg{width:14px;height:14px;margin-left:15px;vertical-align:middle}.manifesto{font:500 clamp(58px,6.4vw,104px)/1.1 var(--sans);letter-spacing:-.04em;max-width:1200px;margin:90px 0 70px;text-wrap:balance}.reading-word{color:var(--espresso);opacity:var(--word-opacity,1);transition:opacity .08s}.perspective-bottom{display:grid;grid-template-columns:1.1fr 1.65fr .7fr;gap:6vw;align-items:start}.perspective-note{font:20px/1.5 var(--sans)}.perspective-copy{font-size:13px;max-width:500px;line-height:1.9}.perspective-copy p+p{margin-top:18px}.underlined-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid currentColor;padding:9px 0;min-height:44px;font-size:11px}.underlined-link svg{width:18px;transition:transform .4s var(--ease)}.underlined-link:hover svg{transform:translateX(6px)}.perspective-copy .underlined-link{margin-top:18px}.audience-list{display:flex;flex-direction:column;gap:10px;font-size:13px}.audience-list span{padding-bottom:10px;border-bottom:1px solid var(--line)}.perspective-word{font:500 10vw/.95 var(--sans);letter-spacing:-.04em;white-space:nowrap;color:#cdbca2;margin-top:110px;transform:translateX(var(--perspective-x,0px));will-change:transform}.creative-section{padding-top:85px;padding-bottom:115px;background:#e9e1d2}.services-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin:75px 0 65px}.services-heading h2{font:500 clamp(58px,5.8vw,95px)/1.02 var(--sans);letter-spacing:-.04em}.services-heading>p{max-width:260px;font-size:12px;line-height:1.9;margin-bottom:6px}.services-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:10vw;align-items:start}.service-visual{position:sticky;top:115px;max-width:520px}.service-image-frame{position:relative;height:570px;overflow:hidden;background:#c6b49a}.service-image-frame img{object-position:center;transition:opacity .25s,transform .8s var(--ease)}.service-image-frame img.is-changing{opacity:0;transform:scale(1.04)}.image-stamp{position:absolute;left:25px;bottom:25px;font:600 clamp(30px,3.5vw,54px)/.9 var(--sans);letter-spacing:-.035em;color:var(--paper);text-shadow:0 2px 30px #281a1540}.visual-footer{display:flex;justify-content:space-between;margin-top:15px;font-size:10px;color:var(--coffee)}.service-row{border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row h3{font-weight:400}.service-row button{padding:23px 0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;font:400 clamp(24px,2.45vw,39px)/1.13 var(--sans);letter-spacing:-.025em;transition:padding .4s var(--ease),color .3s}.service-row button>svg{height:20px;width:20px;transition:transform .4s var(--ease)}.service-row button:hover{padding-left:10px;color:var(--coffee)}.service-row button[aria-expanded=true]>svg{transform:rotate(45deg)}.service-body{max-width:410px;padding-bottom:28px;font-size:12px;line-height:1.9;color:var(--coffee)}.service-body[hidden]{display:none}.service-body a{display:inline-flex;align-items:center;gap:20px;margin-top:16px;min-height:36px;border-bottom:1px solid #533d3050;font-size:11px}.service-body svg{width:15px;height:15px}.soul-section{position:relative;height:100svh;min-height:780px;background:var(--espresso);color:var(--paper);overflow:hidden;display:flex;align-items:center;padding:var(--gutter)}.soul-copy{z-index:2;position:relative;pointer-events:none}.soul-copy h2{font:400 clamp(48px,5.4vw,85px)/1.08 var(--sans);letter-spacing:-.04em}.soul-copy p{margin-top:30px;color:#e3d5c6;font-size:12px;line-height:1.8}.ribbon-stage{position:absolute;width:65%;height:85%;right:-3%;top:8%;overflow:hidden}.ribbon-fallback{object-position:70% center;opacity:.65;mix-blend-mode:lighten;transition:opacity .8s}.ribbon-stage[data-webgl=ready] .ribbon-fallback{opacity:0}.ribbon-stage canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .8s}.ribbon-stage[data-webgl=ready] canvas{opacity:1}.ribbon-hint{position:absolute;right:11%;bottom:4%;font-size:10px;color:#c8b6a2}.soul-bottom{position:absolute;bottom:40px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#c8b6a2;border-top:1px solid #f5f0e62b;padding-top:20px}.journal-scroll{height:250svh;position:relative;background:var(--paper)}.journal-sticky{height:100svh;min-height:850px;position:sticky;top:0;overflow:hidden;padding-top:115px}.journal-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:45px}.journal-heading h2{font:500 clamp(54px,5vw,82px)/.95 var(--sans);letter-spacing:-.04em;position:relative}.journal-heading em{font-size:1.12em}.journal-dot{display:none;position:absolute;right:-30px;bottom:4px;width:13px;height:13px;border-radius:50%;background:var(--coffee)}.journal-intro{width:32%;max-width:340px;font-size:12px}.journal-intro p{line-height:1.85;margin-bottom:10px}.journal-controls{display:flex;gap:8px;align-items:center;margin-top:19px}.journal-controls button{width:37px;height:37px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .3s,color .3s}.journal-controls button:hover{background:var(--espresso);color:var(--paper)}.journal-controls button svg{width:16px}.journal-prev svg{transform:rotate(180deg)}.journal-controls span{margin-left:12px;font-size:10px;color:var(--muted)}.journal-window{width:100%;overflow:hidden}.journal-track{display:flex;gap:34px;width:max-content;padding:0 var(--gutter);transform:translateX(var(--journal-x,0px));will-change:transform}.journal-card{width:clamp(290px,30vw,470px);flex-shrink:0;display:block}.journal-card-low{padding-top:48px}.journal-image{position:relative;height:clamp(300px,26vw,410px);overflow:hidden;background:var(--cream)}.journal-image>img{transition:transform .8s var(--ease)}.journal-card:hover img{transform:scale(1.035)}.journal-card h3{font:500 24px/1.2 var(--sans);letter-spacing:-.02em;margin-top:18px}.journal-card>p{font-size:10px;line-height:1.7;max-width:325px;margin-top:8px;color:var(--coffee)}.card-tag{position:absolute;left:18px;bottom:18px;padding:7px 11px;background:var(--paper);color:var(--espresso);font-size:9px}.card-arrow{position:absolute;top:15px;right:15px;width:36px;height:36px;border-radius:50%;background:var(--paper);color:var(--espresso);display:grid;place-items:center;transform:translateY(-60px);transition:transform .5s var(--ease)}.card-arrow svg{width:17px}.journal-card:hover .card-arrow,.journal-card:focus-visible .card-arrow{transform:none}.journal-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:30px;font-size:9px;color:var(--coffee)}.journal-progress{width:150px;height:1px;background:var(--line);overflow:hidden}.journal-progress i{display:block;width:25%;height:100%;background:var(--coffee);transform:translateX(var(--journal-indicator,0%))}.journal-page{font-variant-numeric:tabular-nums}.collaborate{background:var(--butter);display:flex;align-items:center;justify-content:space-between;gap:80px;padding-top:75px;padding-bottom:75px}.collaborate>p{font:400 clamp(35px,4.2vw,64px)/1.1 var(--sans);letter-spacing:-.035em}.collaborate .round-link{flex-shrink:0}.collaborate .round-icon{width:72px;height:72px}.collaborate .round-link:hover .round-icon{background:var(--espresso);border-color:var(--espresso);color:var(--butter)}.contact{padding-top:65px;padding-bottom:25px;background:var(--espresso);color:var(--paper);position:relative;overflow:hidden}.contact-top{display:flex;justify-content:space-between;font-size:10px;color:#c8b6a2;border-top:1px solid #f5f0e62b;padding-top:20px}.contact h2{font:400 clamp(68px,7.5vw,120px)/1 var(--sans);letter-spacing:-.04em;margin:75px 0 60px}.contact h2 em{font-size:1.07em}.contact-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:10vw;align-items:start}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #f5f0e663;padding:10px 0 24px;font:400 clamp(20px,2.25vw,37px)/1.2 var(--sans);letter-spacing:-.025em}.contact-email svg{width:34px;height:34px;transition:transform .4s var(--ease)}.contact-email:hover svg{transform:translate(5px,-5px)}.contact-options{display:grid;gap:6px;max-width:320px}.contact-options a{display:flex;gap:15px;justify-content:space-between;align-items:center;min-height:42px;font-size:12px}.contact-options svg{width:16px;height:16px;color:#c8b6a2}.contact-options a:hover{color:var(--butter)}.contact-masthead{font:600 19vw/.8 var(--sans);letter-spacing:-.04em;text-align:center;white-space:nowrap;margin:105px -1.4vw 45px;color:#d7c8b1;transform:translateY(var(--footer-y,0px));will-change:transform}.site-footer{border-top:1px solid #f5f0e62b;padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#c8b6a2;gap:24px}.site-footer>a,.motion-toggle{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:9px}.site-footer svg{width:15px;height:15px}.motion-indicator{width:5px;height:5px;border-radius:50%;background:var(--butter)}.motion-toggle[aria-pressed=true] .motion-indicator{background:#c8b6a2}.credits{margin-top:10px;max-width:650px;font-size:9px;color:#c8b6a2}.credits summary{cursor:pointer;display:inline-block;min-height:30px}.credits p{line-height:1.8}.credits a{text-decoration:underline;text-underline-offset:3px}.pointer-label{position:fixed;left:0;top:0;z-index:80;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:var(--butter);color:var(--espresso);font-size:10px;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.5);transition:opacity .2s,transform .25s var(--ease)}.pointer-label.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}

.revisit .hero-heading h1 .line>span{animation-delay:.1s!important}.revisit .hero-heading h1 .line:nth-child(2)>span{animation-delay:.22s!important}
@keyframes curtain-out{0%{clip-path:inset(0)}100%{clip-path:inset(0 0 100%);visibility:hidden}}@keyframes opening-type{from{transform:translateY(130%) rotate(4deg)}to{transform:none}}@keyframes load-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes hero-enter{from{transform:translateY(120%)}to{transform:none}}@keyframes arrow-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
.reduced-motion html{scroll-behavior:auto}.reduced-motion .opening{display:none!important}.reduced-motion .hero-scroll{height:100svh}.reduced-motion .hero-poster,.reduced-motion .hero-photo,.reduced-motion .hero-heading,.reduced-motion .hero-side-note,.reduced-motion .hero-masthead,.reduced-motion .perspective-word,.reduced-motion .contact-masthead{transform:none!important;will-change:auto}.reduced-motion .journal-scroll{height:auto}.reduced-motion .journal-sticky{position:relative;height:auto;min-height:0;padding-bottom:55px}.reduced-motion .journal-window{overflow-x:auto}.reduced-motion .journal-track{transform:none;will-change:auto}.reduced-motion .reading-word{opacity:1!important}.reduced-motion *{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reduced-motion .pointer-label{display:none}.reduced-motion .ribbon-stage canvas{display:none}.reduced-motion .ribbon-stage .ribbon-fallback{opacity:.65!important}
@media(max-width:1150px){.desktop-nav{gap:24px;margin-left:20px}.hero-heading{top:23%;width:70%}.hero-side-note{top:52%}.hero-heading h1{font-size:9vw}.services-layout{gap:7vw}.service-image-frame{height:500px}.journal-sticky{min-height:800px}.journal-image{height:320px}.perspective-bottom{gap:4vw}.contact-layout{gap:6vw}}
/* Mobile is intentionally a later design phase. This fallback keeps content accessible. */
@media(max-width:760px){:root{--gutter:6vw}.desktop-nav{display:none}.hero-poster{min-height:720px}.hero-heading{top:25%;width:90%}.hero-heading h1{font-size:14vw}.hero-heading p{font-size:12px}.hero-topline{top:110px;font-size:9px}.hero-side-note{top:auto;bottom:23%;font-size:10px}.hero-side-note>span,.hero-side-note .small-rule{display:none}.hero-masthead{font-size:19.4vw;bottom:7vh}.perspective{min-height:0;padding-top:60px;padding-bottom:65px}.manifesto{font-size:9vw;margin:55px 0 40px}.perspective-bottom{grid-template-columns:1fr;gap:30px}.audience-list{flex-direction:row}.audience-list span{flex:1}.perspective-word{margin-top:60px;font-size:11vw}.services-heading{display:block;margin:50px 0 35px}.services-heading h2{font-size:10vw}.services-heading>p{margin-top:24px;max-width:360px}.services-layout{grid-template-columns:1fr;gap:30px}.service-visual{position:relative;top:0;max-width:none}.service-image-frame{height:55vh}.service-row button{font-size:30px}.service-row button br{display:none}.creative-section{padding-top:60px;padding-bottom:60px}.soul-section{height:80vh;min-height:650px;align-items:flex-start;padding-top:75px}.soul-copy h2{font-size:9vw}.ribbon-stage{width:100%;height:65%;top:auto;bottom:0;right:-15%}.soul-copy p{max-width:180px}.soul-bottom{font-size:8px}.journal-scroll{height:auto}.journal-sticky{position:relative;height:auto;min-height:0;padding-bottom:50px}.journal-heading{display:block}.journal-heading h2{font-size:13vw}.journal-intro{width:100%;margin-top:30px}.journal-window{overflow-x:auto;scroll-snap-type:x mandatory}.journal-track{transform:none!important;gap:20px}.journal-card{width:76vw;scroll-snap-align:center}.journal-image{height:90vw}.journal-card-low{padding-top:35px}.journal-bottom{gap:20px}.journal-progress{display:none}.journal-bottom>span:first-child{max-width:240px}.collaborate{gap:30px;align-items:flex-start;flex-direction:column;padding-top:55px;padding-bottom:55px}.collaborate>p{font-size:8vw}.contact-top{font-size:9px}.contact h2{font-size:12vw;margin:60px 0 45px}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-email{font-size:5.2vw}.contact-masthead{font-size:19vw;margin-top:75px;margin-bottom:30px}.site-footer{flex-wrap:wrap}.menu-panel{padding-top:140px}.menu-panel nav a{font-size:9vw}.menu-bottom{font-size:10px;gap:30px}.opening-line{font-size:10vw;gap:3vw}.opening-bottom>span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.opening{display:none!important}}

/* ── Instagram language: sparkles, stripes, grid paper, narrow serif ── */
:root{--ig-serif:'Instrument Serif',Georgia,serif;--type:'Courier Prime','Courier New',monospace;--stripe:#ece1cc;--tan:#a8865a;--gold:#c9a24f}
.spark{position:absolute;width:18px;height:18px;fill:var(--espresso);stroke:none;pointer-events:none;animation:twinkle 3.6s ease-in-out infinite}
.spark.gold{fill:var(--gold);width:22px;height:22px;animation-delay:-1.4s}
.grid-paper,.habits{background-color:#fbf7ef;background-image:linear-gradient(#281a150c 1px,transparent 1px),linear-gradient(90deg,#281a150c 1px,transparent 1px);background-size:26px 26px}
.stripes,.feed-wall,.receipt-section{background:repeating-linear-gradient(90deg,#f8f2e7 0 34px,var(--stripe) 34px 68px)}
.creative-section{background-color:#ece4d5;background-image:linear-gradient(#281a1508 1px,transparent 1px),linear-gradient(90deg,#281a1508 1px,transparent 1px);background-size:32px 32px}
.services-heading{position:relative}
.head-spark{left:-2px;top:-34px}
.journal-spark{position:absolute;right:-34px;bottom:10px;width:20px;height:20px}
.contact-spark{right:var(--gutter);top:70px}
.collaborate{background:repeating-linear-gradient(90deg,var(--butter) 0 40px,#efe6b4 40px 80px)}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(.72) rotate(20deg)}}

/* Don't / Do */
.habits{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center;padding-top:120px;padding-bottom:120px;overflow:hidden}
.habits .s1{left:5vw;top:60px}.habits .s2{left:46%;bottom:80px}.habits .s3{right:8vw;top:90px}
.habits h2{font:400 clamp(56px,5.6vw,92px)/.95 var(--ig-serif);letter-spacing:-.02em;max-width:760px}
.habits h2 em{font-family:var(--ig-serif);font-style:italic;font-weight:400;color:var(--tan)}
.habits-intro{margin-top:22px;font-size:14px;color:var(--coffee)}
.habit-switch{display:inline-flex;align-items:center;gap:16px;margin-top:30px;padding:10px 6px;font:700 18px/1 var(--sans)}
.sw-track{position:relative;width:74px;height:40px;border-radius:999px;background:#d9d1c4;transition:background .45s var(--ease);box-shadow:inset 0 2px 6px #281a1522}
.sw-knob{position:absolute;left:4px;top:4px;width:32px;height:32px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #281a1533;transition:transform .55s var(--ease)}
.habit-switch[aria-checked=true] .sw-track{background:#3fae6a}
.habit-switch[aria-checked=true] .sw-knob{transform:translateX(34px)}
.sw-label{transition:opacity .4s}
.habit-switch[aria-checked=true] .sw-dont,.habit-switch[aria-checked=false] .sw-do{opacity:.35}
.habit-lists{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.habit-list{list-style:none;margin:0;padding:22px;border-radius:14px;background:#fff;box-shadow:0 18px 34px -24px #281a1555;display:grid;gap:14px;font-size:14px;line-height:1.5;transition:opacity .5s,filter .5s,transform .6s var(--ease)}
.habit-list li{position:relative;padding-left:30px}
.habit-list li:before{content:'';position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:#f0a640 no-repeat center/11px}
.dont li:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.do li:before{background-color:#3fae6a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.habits[data-mode=dont] .do,.habits[data-mode=do] .dont{opacity:.32;filter:grayscale(1);transform:scale(.97)}
.habits-phone{justify-self:center;width:300px;aspect-ratio:9/19;background:#151010;border-radius:46px;padding:11px;box-shadow:0 40px 70px -36px #281a1599,inset 0 0 0 2px #3a302c;transform:rotate(3deg)}
.phone-screen{height:100%;border-radius:36px;background:#fff;overflow:hidden;padding:40px 8px 0}
.phone-bar{display:flex;justify-content:space-between;padding:0 6px 10px;font:600 12px var(--body)}
.phone-bar span{color:var(--muted)}
.phone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.phone-grid img{aspect-ratio:4/5;height:auto;transition:transform .7s var(--ease),filter .7s,opacity .7s}
.habits[data-mode=dont] .phone-grid img{filter:saturate(1.8) hue-rotate(-25deg) contrast(1.3)}
.habits[data-mode=dont] .phone-grid img:nth-child(3n+1){transform:rotate(-7deg) scale(.86)}
.habits[data-mode=dont] .phone-grid img:nth-child(3n+2){transform:translateY(10px) scale(.8);opacity:.45}
.habits[data-mode=dont] .phone-grid img:nth-child(4n){transform:rotate(9deg) scale(.9);filter:grayscale(1)}
.habits[data-mode=do] .phone-grid img{filter:sepia(.18) saturate(.95)}

/* Feed wall (replaces the ribbon) */
.feed-wall{position:relative;height:100vh;min-height:860px;overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:100%;align-items:center}
.feed-wall .s1{left:5vw;top:18%}.feed-wall .s2{left:38%;bottom:16%}.feed-wall .s3{left:44%;top:12%}
.feed-copy{position:relative;z-index:2}
.feed-copy h2{font:400 clamp(58px,5.4vw,92px)/.95 var(--ig-serif);letter-spacing:-.02em}
.feed-copy h2 em{font-family:var(--ig-serif);font-weight:400;color:var(--tan)}
.feed-copy p{margin:26px 0 18px;font-size:14px;line-height:1.8;color:var(--coffee)}
.feed-cols{position:relative;height:100%;overflow:hidden;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-right:var(--gutter);mask-image:linear-gradient(transparent,#000 9%,#000 91%,transparent)}
.feed-col{display:flex;flex-direction:column;gap:18px;transform:translateY(var(--y,0px));will-change:transform}
.feed-col.c1{--y:var(--feed-a,-120px)}.feed-col.c2{--y:var(--feed-b,-520px);margin-top:-40px}.feed-col.c3{--y:var(--feed-c,-260px)}
.post{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;color:var(--espresso);box-shadow:0 22px 34px -22px #281a1577;transition:transform .5s var(--ease),box-shadow .5s}
.post:hover{transform:scale(1.04);box-shadow:0 30px 50px -24px #281a1599;z-index:2}
.post>img{position:absolute;inset:0}
.post.photo:after{content:'';position:absolute;inset:0;background:linear-gradient(#0000 25%,#1c100c99)}
.post p{position:relative;z-index:1;margin:0}
.post-logo{position:absolute;left:12px;top:11px;display:flex;align-items:center;gap:5px;font:500 7px/1.15 var(--body);letter-spacing:.12em;text-transform:uppercase}
.post-logo b{font:400 22px/1 var(--ig-serif);letter-spacing:0}
.post-handle{position:absolute;z-index:1;left:0;right:0;bottom:10px;text-align:center;font:400 10px var(--ig-serif)}
.post-handle.light,.photo .post-handle{color:#f5f0e6cc}
.post-corner{position:absolute;right:12px;bottom:10px;font:500 7px var(--body);text-transform:uppercase;letter-spacing:.08em}
.p-bold{padding:28% 14px 0;font:700 clamp(17px,1.45vw,23px)/1.05 var(--sans);letter-spacing:-.03em}
.p-bold span{color:var(--tan)}
.p-bold.dark{padding-top:20%}
.p-bold.light{color:#f5f0e6;padding-top:12%}
.p-bold .sel{display:inline;color:var(--espresso);background:#d8e4f7;box-shadow:0 0 0 2px #d8e4f7}
.p-note{padding:10px 14px 0;font:italic 400 13px/1.3 var(--ig-serif);color:var(--coffee)}
.p-serif{padding:22% 14px 0;font:400 clamp(20px,1.7vw,28px)/1 var(--ig-serif)}
.p-serif i{color:var(--tan)}
.p-serif.small{padding-top:8px;font-size:17px}
.p-big{font:700 clamp(28px,2.4vw,40px)/1 var(--sans);letter-spacing:-.04em;color:var(--gold);padding-top:8px}
.bracket{background:#e2cfa8;padding:2px 6px;font-size:.8em}
.center{text-align:center}
.p-overlay{position:absolute!important;left:14px;right:14px;top:22%;text-align:center;color:#fff;font:400 clamp(19px,1.6vw,26px)/1.02 var(--ig-serif);text-shadow:0 2px 14px #0005}
.p-overlay i{color:#f3e3a3}
.p-overlay.script{font-size:clamp(24px,2vw,34px)}
.p-overlay.low{top:auto;bottom:16%}
.p-pill{position:absolute;z-index:1;left:50%;top:16%;transform:translateX(-50%);padding:5px 12px;border:1px solid #f5f0e6aa;border-radius:999px;color:#f5f0e6;font:400 13px var(--ig-serif);white-space:nowrap}
.mini-receipt{position:absolute;left:16%;right:16%;top:44%;background:#fff;padding:10px;display:grid;gap:4px;font:700 6.5px/1.3 var(--type);box-shadow:0 8px 16px -8px #0004}
.pill-row{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);display:flex;border-radius:999px;background:#fff;box-shadow:0 3px 10px #281a1520;font:500 9px var(--body)}
.pill-row span{padding:6px 10px;border-left:1px solid #eee}
.pill-row span:first-child{border:0}
.stripes.gold{background:repeating-linear-gradient(90deg,#f6efe2 0 22px,#d9b880 22px 44px)}
.stripes.gold .p-bold{margin:16% 12px 0;padding:18px 10px;background:#f8f2e7f0;border-radius:6px;font-size:clamp(15px,1.25vw,20px)}
.p-btn{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);white-space:nowrap;background:var(--espresso);color:#fff;border-radius:999px;padding:7px 14px;font:700 10px var(--body)}
.espresso{background:#3b251b}
.dark-grid{position:absolute;left:12px;right:12px;bottom:36px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dark-grid img{aspect-ratio:3/4;height:auto}

/* Brand Identity Receipt */
.receipt-section{position:relative;height:230vh}
.receipt-sticky{position:sticky;top:0;height:100vh;min-height:760px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;overflow:hidden}
.receipt-sticky .s1{left:6vw;top:22%}.receipt-sticky .s2{left:44%;top:70%}.receipt-sticky .s3{right:8vw;bottom:14%}
.receipt-copy h2{font:400 clamp(64px,6.2vw,104px)/.92 var(--ig-serif);letter-spacing:-.02em}
.receipt-copy h2 em{font-family:var(--ig-serif);font-weight:400}
.receipt-copy p{max-width:380px;margin:24px 0 30px;font-size:14px;line-height:1.8;color:var(--coffee)}
.printer{position:relative;justify-self:center;width:min(440px,100%);height:100%;padding-top:calc(76px + 5vh)}
.printer-body{position:relative;z-index:2;height:64px;border-radius:14px;background:linear-gradient(#e9e6e1,#b9b4ad 70%,#9b958e);box-shadow:0 18px 30px -18px #0007,inset 0 2px 0 #fff9}
.printer-body:after{content:'';position:absolute;left:8%;right:8%;bottom:14px;height:6px;border-radius:4px;background:#2b2522;box-shadow:inset 0 2px 3px #000}
.printer-light{position:absolute;right:20px;top:14px;width:8px;height:8px;border-radius:50%;background:#3fae6a;box-shadow:0 0 8px #3fae6a;animation:blink 1.2s steps(2) infinite}
.printer-slot{position:relative;margin:-24px 9% 0;height:calc(100% - 76px - 5vh - 40px);overflow:hidden;padding:0 8px}
.receipt{background:#fffefb;padding:30px 22px 26px;font:400 12px/1.55 var(--type);color:#1d1714;box-shadow:0 20px 34px -18px #281a1588;clip-path:inset(0 0 var(--hide,90%) 0);transform:translateY(var(--feed-shift,0px));-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%}
.receipt p{margin:0}
.r-head{text-align:center;font-weight:700;letter-spacing:.12em;line-height:1.6}
.r-date{font-weight:400;letter-spacing:.08em}
.r-rule{border-top:1.5px dashed #1d171488;margin:12px 0!important}
.r-line{display:flex;gap:6px;align-items:baseline}
.r-line span{flex-shrink:0}
.r-line:after{content:'';order:1;flex:1;border-bottom:2px dotted #1d171466;transform:translateY(-3px)}
.r-line b,.r-line i{order:2;font-weight:700}
.r-line i{font-weight:400;font-style:italic}
.r-sub{font-weight:700;letter-spacing:.14em;margin-bottom:4px!important}
.r-total{font-weight:700;font-size:13px;letter-spacing:.04em}
.r-barcode{display:block;height:46px;margin:16px 0 10px;background:repeating-linear-gradient(90deg,#1d1714 0 2px,#0000 2px 4px,#1d1714 4px 5px,#0000 5px 8px,#1d1714 8px 11px,#0000 11px 12px,#1d1714 12px 13px,#0000 13px 16px)}
.r-foot{text-align:center;font-size:11px}
@keyframes blink{50%{opacity:.25}}

.reduced-motion .spark{animation:none}
.reduced-motion .receipt-section{height:auto}
.reduced-motion .receipt-sticky{position:relative;height:auto;padding-top:100px;padding-bottom:100px}
.reduced-motion .receipt{clip-path:none}
.reduced-motion .printer-slot{height:auto}
.reduced-motion .feed-col{transform:none}
.phone-profile{display:flex;gap:10px;align-items:center;padding:4px 6px 10px}
.avatar{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:#fbf6ee;border:1px solid #e6dccb;display:grid;place-items:center;font:400 30px/1 var(--ig-serif)}
.bio{font:400 9px/1.4 var(--body);color:#333}
.bio b{display:block;font-weight:700;color:#111}
.highlights{display:flex;justify-content:space-between;padding:0 4px 12px}
.highlights span{display:grid;justify-items:center;gap:4px;font:500 7.5px var(--body)}
.highlights i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:400 9px var(--ig-serif);font-style:normal;color:#6b5848;border:1.5px solid #e2d8c8;background:repeating-linear-gradient(90deg,#fbf6ee 0 4px,#efe4d0 4px 8px)}
.highlights i.plain{background:#fbf3e3}

/* Real Instagram posts */
.post.ig{aspect-ratio:3/4}
.post.ig img{position:absolute;inset:0}
.phone-grid img{aspect-ratio:3/4}
.phone-profile{display:flex;gap:10px;align-items:center;padding:2px 6px 8px}
.phone-profile .avatar{flex-shrink:0;width:58px;height:58px;border:0;background:none}
.stats{display:grid;gap:5px;min-width:0}
.ig-name{font:600 9.5px/1.25 var(--body);color:#111}
.ig-stats{display:flex;gap:9px;font:400 8.5px var(--body);color:#333}
.ig-stats b{font-weight:700;color:#111}
.phone-screen .bio{margin:0;padding:0 6px 10px;font:400 8.5px/1.45 var(--body);color:#222}
.highlights span{display:grid;justify-items:center;gap:3px;font:500 7px var(--body)}
.highlights img{width:34px;height:34px;border-radius:50%;box-shadow:0 0 0 1.5px #e2d8c8}

/* Services art: real Instagram posts at their own 3:4 ratio */
.service-image-frame{height:auto!important;aspect-ratio:3/4;box-shadow:0 26px 44px -28px #281a1588}
.service-visual{max-width:470px}
.visual-footer a:hover{color:var(--espresso)}
.service-image-frame{aspect-ratio:4/5}

.made-with{display:inline-flex;align-items:center;white-space:pre}
.made-with .heart{width:12px;height:12px;margin:0 1px;fill:var(--butter);stroke:none;animation:beat 1.6s ease-in-out infinite}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(1)}}
.reduced-motion .made-with .heart{animation:none}
