/* Brand world: the yellow, blush and rose of the original Instagram identity. */
body{background-color:var(--paper)}
.site-header{color:var(--ink);background:linear-gradient(90deg,#fff2bccf,#ffd4efcf);position:absolute}
:root[data-mood=dusk] .site-header{background:linear-gradient(90deg,#281c31dd,#453048dd)}
.header-actions{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:20px}
.header-cta{grid-column:auto;border-color:var(--line);color:var(--ink)}
.header-business{font-size:10px;min-height:44px;white-space:nowrap;border-bottom:1px solid var(--line)}
.site-header nav{gap:17px;font-size:10px}
.hero{height:auto;min-height:900px;max-height:none;padding:143px 0 35px;color:var(--ink);background:radial-gradient(ellipse at 8% 30%,#fff3aee6,transparent 58%),radial-gradient(ellipse at 91% 48%,#ffbceec9,transparent 59%),linear-gradient(115deg,#fff1cb,#f9d3e8 64%,#ecd4f6);isolation:isolate;overflow:hidden}
.hero::after{display:none}
:root[data-mood=dusk] .hero{background:radial-gradient(ellipse at 19% 62%,#79506770,transparent 58%),radial-gradient(ellipse at 83% 48%,#74427870,transparent 58%),linear-gradient(125deg,#261b31,#352138 63%,#282141)}
.hero-welcome{position:relative;inset:auto;max-width:600px;text-align:center;margin:0 auto;padding-inline:20px}
.hero-welcome h1{font-size:clamp(37px,3.5vw,54px);line-height:1.08;margin:19px 0 16px;letter-spacing:-.025em}
.hero-welcome h1 em{color:var(--rose)}
.hero-welcome>p:last-of-type{font:17px/1.5 var(--serif);margin-inline:auto;max-width:500px}
.hero-world{top:98px;right:4%;z-index:3}
.world-switch{color:var(--ink)}
.world-switch button{min-height:44px;font-size:10px}
.world-stage{position:relative;width:min(1100px,100%);height:490px;margin:5px auto 0;isolation:isolate;touch-action:pan-y pinch-zoom}
.world-stage::before{content:'';position:absolute;left:15%;right:15%;top:8%;bottom:12%;border:1px solid #aa6c9e25;border-radius:50%;transform:rotate(-15deg);pointer-events:none;z-index:-1}
.world-stage::after{content:'';position:absolute;inset:8% 13% 12%;border-radius:50%;background:radial-gradient(ellipse at 71% 46%,#fff2b880,transparent 48%);opacity:0;transition:opacity .7s;pointer-events:none;z-index:-1}
:root[data-mood=dusk] .world-stage::after{opacity:1}
.world-fallback{position:absolute;inset:0;width:100%;height:calc(100% - 80px);object-fit:contain;z-index:0;transition:opacity .35s}
#world-canvas{position:absolute;inset:0;width:100%;height:calc(100% - 80px);opacity:0;touch-action:pan-y pinch-zoom;cursor:grab;transition:opacity .5s}
#world-canvas:active{cursor:grabbing}
.world-ready #world-canvas{opacity:1}
.world-ready .world-fallback{opacity:0;pointer-events:none}
.world-caption{position:absolute;left:4%;bottom:64px;max-width:245px;pointer-events:none}
.world-caption>.eyebrow{font-size:8px}
#world-status{font:italic 16px/1.4 var(--serif);margin-top:8px;color:var(--muted)}
.world-controls{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;z-index:3}
.world-controls>button{min-height:44px;padding:10px 14px;border:1px solid var(--line);background:var(--panel);font-size:10px;display:flex;align-items:center;gap:15px}
#world-left,#world-right{width:44px;padding:0;justify-content:center;border-radius:50%;font-size:20px}
#meet-courier[aria-pressed=true]{background:var(--pink);border-color:var(--rose)}
.hero-actions{display:flex;justify-content:center;gap:15px;padding:25px 20px 0;margin:0}
.hero-actions .button{min-width:218px;min-height:51px;letter-spacing:.015em}
.hero-bottom{position:relative;inset:auto;display:flex;justify-content:space-between;align-items:center;margin:30px 4% 0;padding-top:18px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.hero-bottom>a{font-size:10px;min-height:44px;display:flex;align-items:center}
.hero-bottom>span{font:italic 18px var(--serif)}
.invitation-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;width:100%;min-width:0}
.invitation-photos figure{min-width:0}
.invitation-photos img{width:100%;height:auto;object-fit:contain}
.invitation-table{margin-top:100px;overflow:hidden}
.invitation-people{margin:0}
.invitation-photos figcaption{font-size:8px;line-height:1.5;margin-top:11px}
.invitation-photos figcaption>em{display:block;font:italic 16px/1.3 var(--serif);margin-top:6px}
.invitation-photos figcaption>span{font-size:7px;letter-spacing:.025em}
.atelier{padding-block:50px 90px;border-bottom:0;background:linear-gradient(130deg,#fff2bf70,transparent 50%,#f8c8e050)}
:root[data-mood=dusk] .atelier{background:linear-gradient(130deg,#e9a7d00b,transparent 45%,#8d63af19)}
.atelier-heading{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:30px;align-items:start;margin-bottom:35px}
.atelier-heading h2{font-size:39px}
.atelier-heading>p:last-child{font:italic 18px/1.4 var(--serif);justify-self:end;max-width:240px}
.atelier-content{padding-top:0}
.journey{margin-bottom:70px;background:var(--table);border:1px solid var(--line)}
.table-scene{transform:perspective(1000px) rotateX(10deg) rotateY(var(--table-y,0deg)) scale(.64);transform-origin:100% 0;transition:transform .5s}
.scene-paper{transform:translateZ(35px) rotate(calc(7deg - var(--p)*3deg))}
.coffee{transform:translateZ(50px) rotate(17deg)}
:root[data-mood=dusk] .journey-sticky{background:radial-gradient(ellipse at 50% 50%,#cf938118,transparent 70%)}
:root[data-mood=dusk] .object-display{background:radial-gradient(ellipse at 50% 35%,#8c5a66,var(--panel));border:1px solid var(--line)}
:root[data-mood=dusk] .signature-paper,:root[data-mood=dusk] .canvas-frame{box-shadow:0 0 45px #ffbdc31a}
.paint-desk{perspective:900px}
.canvas-frame{transform:rotateY(var(--desk-y,0deg));transition:transform .4s}
.moment-open{transform:perspective(1100px) rotateX(var(--photo-x,0deg)) rotateY(var(--photo-y,0deg));transition:transform .35s ease;transform-style:preserve-3d}
.photo-expand{transform:translateZ(20px)}
.business{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:11%;align-items:center;padding-block:85px;background:linear-gradient(120deg,#fff2bd99,#f8d3e575 55%,#ead8f299);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
:root[data-mood=dusk] .business{background:linear-gradient(120deg,#453446,#432b43 55%,#342c48)}
.section-anchor{position:absolute;top:0}
.business h2{font-size:clamp(35px,3.6vw,55px);line-height:1.12;margin:23px 0 27px}
.business h2 em{color:var(--rose)}
.business-copy>p:not(.eyebrow){font:19px/1.5 var(--serif);max-width:440px;margin-top:19px}
.business-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:28px}
.business-actions .button{min-height:53px;min-width:250px}
.business-actions .editorial-link{font-size:20px}
.business-types{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:30px 0 0;padding:0;font-size:9px;text-transform:uppercase;letter-spacing:.055em;line-height:1.8}
.business-photo{margin:0;min-width:0}
.business-photo>img{width:100%;height:auto;object-fit:contain}
.business-photo>figcaption{font-size:8px;display:flex;align-items:baseline;gap:15px;line-height:1.5;margin-top:13px}
.business-photo>figcaption em{font:italic 17px/1.3 var(--serif)}
.footer-actions{display:flex;gap:30px;justify-content:center;flex-wrap:wrap}
.footer-actions .editorial-link{font-size:20px}
.mobile-actions{display:none}
.world-illustrated.courier-arrived .world-fallback{animation:illustrated-visit 1s ease both}
@keyframes illustrated-visit{0%{transform:translateX(0)}45%{transform:translateX(-14px) rotate(-1deg)}100%{transform:translateX(0)}}
@media(max-width:1250px) and (min-width:761px){.site-header{grid-template-columns:1fr auto 1fr;gap:17px}.site-header nav{gap:12px;font-size:9px;flex-wrap:wrap;max-width:290px}.header-actions{gap:12px}.header-business{font-size:9px}.header-cta{font-size:10px;gap:12px}.hero-welcome h1{font-size:45px}.world-stage{height:470px}.world-caption{max-width:190px;left:5%}.table-scene{transform:perspective(1000px) rotateX(10deg) rotateY(var(--table-y,0deg)) scale(.52);top:70px}.business{gap:7%}.business h2{font-size:42px}}
@media(max-width:760px){
 .site-header{position:absolute;background:linear-gradient(90deg,#fff2bfc2,#ffcbeac2)}
 .header-actions{gap:0;grid-column:3;grid-row:1}
 .header-business{display:none}
 .header-cta{font-size:10px;gap:7px}
 .site-header nav{font-size:24px;gap:0;background:linear-gradient(120deg,var(--paper),var(--pink));max-width:none;flex-wrap:nowrap}
 .hero{min-height:0;height:auto;padding:149px 0 20px;background:radial-gradient(ellipse at 4% 45%,#fff2aff0,transparent 74%),radial-gradient(ellipse at 94% 50%,#ffbceeb8,transparent 74%),linear-gradient(120deg,#fff3cd,#f8d9ed)}
 .hero-world{top:87px;right:5%;left:5%;display:flex;justify-content:center}
 .world-switch{font-size:10px;gap:4px}
 .world-switch>span:first-child{font-size:17px}
 .hero-welcome{position:relative;inset:auto;margin:0 auto;padding-inline:20px;max-width:500px}
 .hero-welcome h1{font-size:clamp(34px,8.8vw,44px);line-height:1.08;margin:17px 0 15px}
 .hero-welcome .eyebrow{font-size:8px}
 .hero-welcome>p:last-of-type{font-size:17px;max-width:350px;margin-inline:auto;line-height:1.5}
 .hero-welcome>p:last-of-type br{display:none}
 .world-stage{height:390px;width:100%;margin-top:-5px}
 .world-stage::before{inset:15% 2% 13%;transform:rotate(-9deg)}
 .world-stage::after{inset:15% 1% 10%}
 .world-caption{left:6%;right:6%;max-width:none;bottom:54px;text-align:center}
 .world-caption>.eyebrow{display:none}
 #world-status{font-size:15px;margin:0}
 .world-controls{gap:7px;bottom:0;max-width:92%}
 .world-controls>button{font-size:10px;padding:10px;gap:8px}
 #meet-courier{white-space:normal;text-align:center;line-height:1.3;min-width:178px}
 #world-left,#world-right{width:44px;flex-shrink:0}
 .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:23px 5% 0}
 .hero-actions .button{min-width:0;padding:12px;font-size:11px;gap:9px;min-height:59px;line-height:1.4;align-items:center;text-align:left}
 .hero-actions .button span{font-size:17px}
 .hero-bottom{position:relative;inset:auto;margin:23px 5% 0;gap:10px;padding-top:13px;flex-wrap:wrap}
 .hero-bottom>a{font-size:9px;min-height:44px;gap:0}
 .hero-bottom>a:last-child{margin-left:auto}
 .hero-bottom>span{font-size:16px;order:3;width:100%;text-align:center}
 .invitation-photos{gap:12px;max-width:580px;margin-inline:auto}
 .invitation-table{margin-top:45px}
 .invitation-photos figcaption>em{font-size:16px}
 .invitation-photos figcaption>span{font-size:6px}
 .invitation-photos .invitation-people img{aspect-ratio:auto}
 .atelier{padding-top:35px;padding-bottom:55px}
 .atelier-heading{display:block;margin-bottom:28px}
 .atelier-heading h2{font-size:34px;margin:18px 0}
 .atelier-heading>p:last-child{font-size:18px;max-width:300px}
 .atelier-content{padding-top:0}
 .journey{margin-bottom:45px}
 .table-scene{transform:perspective(1000px) rotateX(10deg) scale(.41);transform-origin:50% 50%;left:50%;right:auto;top:180px}
 .business{display:flex;flex-direction:column;gap:39px;padding:55px 5%;align-items:stretch}
 .business h2{font-size:38px;margin:21px 0 24px}
 .business-copy>p:not(.eyebrow){font-size:19px;max-width:520px}
 .business-actions{margin-top:25px;gap:17px}
 .business-actions .button{min-width:0;width:100%;font-size:12px;min-height:54px;padding:15px 19px}
 .business-actions .editorial-link{font-size:20px}
 .business-types{font-size:8px;gap:9px 15px;margin-top:28px}
 .business-photo{max-width:520px;width:100%;align-self:center}
 .business-photo>figcaption{display:block}
 .business-photo>figcaption em{display:block;margin-top:7px;font-size:17px}
 .footer-actions{display:flex;flex-direction:column;align-items:center;gap:18px}
 .footer-actions .editorial-link{font-size:19px}
 .mobile-actions{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:5%;right:5%;z-index:9;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);box-shadow:0 5px 22px #281c3140;transform:translateY(160%);opacity:0;pointer-events:none;transition:transform .25s,opacity .25s}
 .mobile-actions .mobile-seat,.mobile-actions .mobile-business{position:static;inset:auto;display:flex;justify-content:space-between;align-items:center;gap:9px;transform:none;opacity:1;pointer-events:inherit;box-shadow:none;min-height:56px;padding:12px 15px;font-size:11px;border-radius:0;white-space:normal;text-align:left}
 .mobile-actions .mobile-seat{background:var(--rose);color:var(--rose-contrast)}
 .mobile-actions .mobile-business{background:var(--panel);color:var(--ink)}
 .mobile-actions button>span{font-size:18px}
 .past-hero .mobile-actions{transform:none;opacity:1;pointer-events:auto}
 .modal-open .mobile-actions{transform:translateY(160%);opacity:0;pointer-events:none}
 .site-footer{padding-bottom:108px}
}
@media(max-width:380px){.world-stage{height:365px}.hero-welcome h1{font-size:34px}.hero-welcome>p:last-of-type{font-size:16px}.hero-actions .button{font-size:10px;padding:12px 10px}.world-controls{gap:5px}#meet-courier{min-width:163px;font-size:9px}.table-scene{transform:perspective(1000px) rotateX(10deg) scale(.35);top:165px}.business h2{font-size:34px}.mobile-actions .mobile-seat,.mobile-actions .mobile-business{font-size:10px;padding-inline:12px}}
@media(orientation:landscape) and (max-height:600px){.hero{min-height:0}.past-hero .mobile-actions{display:none}}
@media(prefers-reduced-motion:reduce){.world-stage.courier-arrived .world-fallback{animation:none}#world-canvas,.moment-open,.canvas-frame,.table-scene{transition:none}.moment-open{transform:none}.table-scene{--table-y:0deg}}
