:root{--paper:#f7f4ed;--ink:#25251f;--muted:#78776d;--line:#dedbd1;--sage:#dce6d7;--rose:#efd9d3;--lilac:#e6e0f0;--yellow:#f2e6bd;--green:#53644e;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100% - 1300px)/2));border-bottom:1px solid #e9e6dd;position:sticky;top:0;background:#f7f4edee;backdrop-filter:blur(12px);z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:500;letter-spacing:-.04em;font-size:17px}.brand b{font-weight:700}.brand img{display:block;height:62px;width:auto;object-fit:contain}nav{display:flex;gap:34px;color:#68675e;font-size:13px}nav a:hover,.text-link:hover{color:#899b7e}.nav-cta{font-size:12px;padding:12px 18px;border:1px solid #c9c6bc;border-radius:999px}.nav-cta span{margin-left:13px}.menu{display:none;border:0;background:none;font-size:20px}.hero{min-height:610px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%;padding-top:38px;padding-bottom:54px}.eyebrow,.section-label{font:10px var(--mono);letter-spacing:.12em;color:#828176}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow i,.live-dot{width:8px;height:8px;border-radius:50%;background:#8ba67e;display:inline-block;box-shadow:0 0 0 4px #8ba67e24}.hero h1{font-size:clamp(50px,6.2vw,82px);line-height:.98;letter-spacing:-.065em;margin:24px 0 22px;font-weight:600}.hero h1 em,h2 em{font-family:var(--serif);font-weight:600;color:#73876c;letter-spacing:-.045em}.lead{font-size:16px;line-height:1.75;color:#67675e;max-width:480px}.hero-actions{display:flex;align-items:center;gap:24px;margin:30px 0 30px}.button{display:inline-flex;align-items:center;gap:28px;padding:15px 20px;border-radius:40px;font-size:12px;font-weight:600;transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #25251f20}.dark{background:#292a25;color:#fff}.text-link{font-size:12px;font-weight:600;color:#55564e}.text-link span{margin-left:8px}.hero-note{font-size:11px;color:#818076;display:flex;align-items:center;gap:11px}.avatars{display:flex;padding-left:4px}.avatars i{font-style:normal;background:#e4d4c6;border:2px solid var(--paper);width:25px;height:25px;border-radius:50%;display:grid;place-items:center;margin-left:-5px;color:#695950}.avatars i:nth-child(2){background:#d6e1d1}.avatars i:nth-child(3){background:#e5dded}.hero-art{height:430px;position:relative;display:flex;align-items:center;justify-content:center}.hero-photo{height:380px;width:min(370px,85%);background:#e8e4da;border-radius:48% 48% 42% 42% / 40% 40% 30% 30%;overflow:hidden;position:relative;transform:rotate(3deg);box-shadow:0 18px 50px #776f5b18}.hero-photo img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.photo-tag{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#f7f4eddf;padding:9px 14px;border-radius:20px;font:9px var(--mono);letter-spacing:.1em}.hero-sticker{position:absolute;background:#e4eadc;border-radius:50%;width:105px;height:105px;display:grid;place-content:center;text-align:center;font:italic 16px var(--serif);line-height:1.1;z-index:2;box-shadow:0 8px 20px #69685b20}.hero-sticker b{font:16px var(--sans);color:#819477;margin-top:5px}.sticker-a{left:0;top:45px;transform:rotate(-12deg)}.sticker-b{right:2px;bottom:38px;background:#f0e4cb;transform:rotate(9deg)}.sparkle{position:absolute;color:#94a685}.s1{font-size:32px;right:22px;top:27px}.s2{font-size:22px;left:22px;bottom:46px;color:#d6aa91}.ticker{overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);padding:16px 0;font:10px var(--mono);letter-spacing:.15em;color:#74746a}.ticker-track{display:flex;width:max-content;will-change:transform;animation:marquee 44s linear infinite}.ticker-group{display:flex;align-items:center;flex:none}.ticker-group>span{display:inline-block}.ticker i{font-style:normal;color:#97a78d;margin:0 30px}@keyframes marquee{to{transform:translateX(-50%)}}@media(hover:hover){.ticker:hover .ticker-track{animation-play-state:paused}}}.intro{display:grid;grid-template-columns:1fr 1.3fr .75fr;gap:6%;padding:112px 0 124px;align-items:start}.intro h2,.section-head h2,.bench-heading h2,.materials h2,.closing h2{font:600 clamp(34px,4vw,52px)/1.12 var(--sans);letter-spacing:-.055em;margin:15px 0 22px}.intro p,.bench-heading p,.materials-copy>p{font-size:14px;line-height:1.85;color:#737268}.intro>div:nth-child(2)>p{max-width:520px;margin-bottom:24px}.intro-aside{align-self:center;justify-self:end;width:clamp(168px,16vw,205px);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transform:rotate(7deg);background:#e9e4d2;padding:22px;border-radius:50%;text-align:center}.intro-aside .doodle{font-size:30px;color:#a0ad91}.intro-aside p{font:italic 18px/1.5 var(--serif);color:#55574c;margin:0}.intro-aside em{color:#87947c}.workshops{background:#efede5;padding:83px 0 96px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px}.section-head h2{margin:14px 0 0}.section-head>p{font-size:12px;line-height:1.7;color:#77766c;margin:0 0 5px}.workshop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.workshop-card{position:relative;background:#f8f6f0;border-radius:5px;padding:10px 10px 18px;min-width:0;transition:transform .3s,box-shadow .3s;cursor:pointer}.workshop-card:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:0 12px 28px #4d4d3b16}.workshop-image{height:190px;position:relative;overflow:hidden;background:#e9e4d9;border-radius:3px}.workshop-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.workshop-card:hover img{transform:scale(1.05)}.workshop-image .number{position:absolute;top:10px;left:10px;background:#f7f4eddf;border-radius:20px;padding:6px 9px;font:9px var(--mono)}.workshop-image .badge{position:absolute;bottom:10px;right:10px;font:9px var(--mono);background:#dce6d7;padding:7px 9px;border-radius:20px}.workshop-card h3{font:600 17px var(--serif);margin:15px 5px 4px}.workshop-card p{margin:0 5px;color:#89877c;font-size:10px}.workshop-card:after{content:'↗';position:absolute;right:18px;bottom:19px;font-size:13px;color:#8b9982}.bench-section{padding:100px 0 108px;background:#f7f4ed}.bench-heading{display:flex;justify-content:space-between;align-items:end;margin:10px 0 34px}.bench-heading h2{margin:4px 0 0}.bench-heading p{width:320px;margin:0 0 6px}.bench{border:1px solid #d9d6cc;background:#eeece4;border-radius:10px;overflow:hidden;box-shadow:0 15px 40px #4b493917}.bench-top{height:45px;background:#292a26;color:#c9cbbf;display:flex;justify-content:space-between;align-items:center;padding:0 18px;font:9px var(--mono);letter-spacing:.08em}.bench-top .live-dot{width:7px;height:7px;margin-right:9px;background:#91b383}.bench-count{color:#929386}.bench-count b{color:#cfdbb9}.bench-main{display:grid;grid-template-columns:142px 1fr 230px;gap:15px;padding:18px;min-height:395px}.object-tabs{display:flex;flex-direction:column;gap:6px}.object-tab{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid transparent;background:transparent;border-radius:5px;text-align:left;font:11px var(--sans);color:#77766c;cursor:pointer;transition:.2s}.object-tab:hover{background:#f8f6ef}.object-tab.active{background:#fffdf7;border-color:#d6d2c7;color:#2b2c27;box-shadow:0 2px 6px #38372d0c}.object-tab img{width:39px;height:39px;object-fit:cover;border-radius:3px;background:#eeece5}.canvas-wrap{background:#f8f6ef;border:1px solid #dedbd2;border-radius:5px;padding:12px 15px 10px;display:flex;flex-direction:column;min-height:350px}.canvas-note{font:8px var(--mono);letter-spacing:.11em;color:#99978b;display:flex;justify-content:space-between}.canvas-note span{letter-spacing:0}.canvas{flex:1;min-height:275px;position:relative;display:grid;place-items:center;cursor:crosshair;overflow:hidden;background-image:radial-gradient(#d8d5cb .7px,transparent .7px);background-size:15px 15px}.canvas>img{max-height:245px;max-width:72%;width:auto;object-fit:contain;filter:drop-shadow(0 10px 10px #47433018);transition:opacity .22s,transform .3s;mix-blend-mode:multiply;user-select:none;pointer-events:none}.canvas:hover>img{transform:scale(1.025)}.canvas-caption{display:flex;justify-content:space-between;border-top:1px solid #ebe9e1;padding-top:9px;font-size:10px;color:#494a43}.canvas-caption span:last-child{color:#aaa89d;font:8px var(--mono)}.gems{position:absolute;inset:0;pointer-events:none}.gem{position:absolute;transform:translate(-50%,-50%);animation:pop .25s cubic-bezier(.2,1.6,.4,1);font-size:17px;line-height:1;text-shadow:0 1px 2px #3335;filter:drop-shadow(0 2px 2px #3335)}@keyframes pop{from{transform:translate(-50%,-50%) scale(0) rotate(-30deg)}to{transform:translate(-50%,-50%) scale(1) rotate(0)}}.canvas-sparkle{position:absolute;right:17%;top:20%;font-size:22px;color:#d5b36c;animation:twinkle 2s ease-in-out infinite}.toolbox{background:#f8f6ef;border:1px solid #dcd9cf;border-radius:5px;padding:16px 14px;display:flex;flex-direction:column}.tool-title{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:.08em;color:#88877b}.tool-title span:last-child{color:#aaa89d}.toolbox>p{font-size:10px;color:#88867c;line-height:1.5;margin:11px 0 13px}.gem-colors{display:flex;flex-wrap:wrap;gap:8px}.color{width:25px;height:25px;border-radius:50%;border:2px solid #f8f6ef;box-shadow:0 0 0 1px #d2cfc5;cursor:pointer;transition:transform .2s}.color.active{box-shadow:0 0 0 2px #58644f;transform:scale(1.08)}.tool-divider{height:1px;background:#e4e1d8;margin:15px 0}.shape-options{display:flex;gap:5px}.shape{flex:1;display:grid;place-items:center;gap:3px;padding:7px 1px;border:1px solid transparent;border-radius:3px;background:#f0eee7;color:#7d7b70;font-size:13px;cursor:pointer}.shape.active{background:#fff;border-color:#d2cfc5;color:#4e5b47}.shape small{font:8px var(--sans)}.tool-hint{display:flex;gap:10px;background:#e8ecdf;padding:10px;border-radius:4px;color:#596452}.tool-hint>span{font-size:19px}.tool-hint p{font-size:9px;line-height:1.5;margin:0;color:#777b6d}.tool-hint b{font-size:10px;color:#4f5d48}.reset{margin-top:auto;border:0;background:transparent;text-align:left;padding:13px 0 0;font:10px var(--sans);color:#88867c;cursor:pointer}.reset:hover{color:#3b4437}.bench-foot{border-top:1px solid #dcd9cf;padding:12px 18px;display:flex;justify-content:space-between;font:9px var(--mono);color:#8b897d}.bench-foot b{color:#b77e72}.materials{padding-top:118px;padding-bottom:120px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.materials h2{margin:17px 0}.material-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:27px;font-size:11px;color:#69695f}.material-list span::first-letter{color:#91a184}.materials-photos{height:355px;position:relative;display:flex;align-items:center;justify-content:center}.mat-main{width:78%;height:285px;object-fit:cover;border-radius:4px;transform:rotate(3deg);box-shadow:0 12px 28px #39372d19}.mat-small{position:absolute;width:135px;height:125px;object-fit:cover;bottom:5px;left:0;border:8px solid var(--paper);box-shadow:0 8px 20px #39372d20;transform:rotate(-8deg);background:#fff}.mat-caption{position:absolute;top:4px;right:3%;font:8px var(--mono);letter-spacing:.1em;color:#868477;transform:rotate(5deg)}.closing{position:relative;overflow:hidden;text-align:center;padding:91px 24px 98px;background:#dce6d7}.closing .section-label{color:#697563}.closing h2{font-size:clamp(38px,5.2vw,62px);margin:17px 0}.closing h2 em{color:#72836b}.closing p{font-size:12px;color:#6d7568;margin:0 0 25px}.light{background:#f9f7f0;color:#303129}.closing-flower,.closing-star{position:absolute;font-size:96px;color:#b2c0a8;opacity:.7}.closing-flower{left:12%;top:23%}.closing-star{right:12%;bottom:17%;font-size:68px;color:#c2a88f}footer{min-height:86px;display:flex;align-items:center;justify-content:space-between;padding:20px max(32px,calc((100% - 1180px)/2));background:#f7f4ed}footer>span,footer>a:last-child{font:9px var(--mono);color:#8b897f}footer>a:last-child:hover{color:#4d5947}
@media(max-width:900px){.hero{gap:2%;min-height:550px}.hero-art{height:370px}.hero-photo{height:320px}.workshop-grid{grid-template-columns:repeat(3,1fr)}.bench-main{grid-template-columns:120px 1fr 205px;gap:10px;padding:12px}.object-tab{font-size:10px;padding:7px 4px}.object-tab img{width:32px;height:32px}.intro{grid-template-columns:.8fr 1.4fr .7fr;gap:4%}.materials{gap:5%}}
@media(max-width:650px){.brand img{height:53px}.wrap{width:calc(100% - 36px)}.nav{height:64px;padding:0 18px}.nav nav,.nav-cta{display:none}.menu{display:block}.hero{grid-template-columns:1fr;padding-top:55px;padding-bottom:48px;gap:12px}.hero h1{font-size:58px}.hero-art{height:330px}.hero-photo{width:260px;height:300px}.sticker-a{left:5%;top:15px;width:88px;height:88px;font-size:13px}.sticker-b{right:6%;bottom:5px;width:87px;height:87px;font-size:14px}.eyebrow{font-size:8px}.lead{font-size:14px}.hero-actions{gap:15px}.button{padding:14px 16px;gap:19px}.intro{grid-template-columns:1fr 1fr;padding:75px 0}.intro>.section-label{grid-column:1/-1}.intro>div:nth-child(2){grid-column:1/-1}.intro-aside{grid-column:2;grid-row:3;margin-top:8px;width:160px;padding:18px}.intro-aside p{font-size:15px}.workshops{padding:65px 0 70px}.section-head{display:block}.section-head>p{margin-top:15px}.section-head h2,.bench-heading h2,.materials h2{font-size:38px}.workshop-grid{grid-template-columns:repeat(2,1fr);gap:10px}.workshop-card{padding:7px 7px 15px}.workshop-image{height:145px}.workshop-card h3{font-size:15px;margin-top:12px}.workshop-card p{font-size:9px}.workshop-card:after{bottom:17px;right:12px}.bench-section{padding:70px 0}.bench-heading{display:block;margin-bottom:23px}.bench-heading p{width:auto;margin-top:14px}.bench-main{grid-template-columns:1fr;gap:10px}.object-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.object-tab{display:grid;justify-items:center;gap:3px;text-align:center;font-size:8px;padding:5px 1px}.object-tab img{width:35px;height:35px}.canvas-wrap{min-height:350px}.canvas{min-height:275px}.canvas>img{max-width:75%;max-height:240px}.toolbox{display:grid;grid-template-columns:1fr;min-height:230px}.gem-colors{gap:10px}.shape-options{max-width:260px}.tool-hint{margin-top:5px}.reset{padding-top:12px}.bench-foot{font-size:8px;padding:10px}.materials{padding:76px 0;grid-template-columns:1fr;gap:24px}.materials-photos{height:290px}.mat-main{height:240px}.mat-small{width:115px;height:108px}.material-list{gap:10px;font-size:10px}.closing{padding:75px 18px}.closing-flower{font-size:60px;left:5%;top:10%}.closing-star{font-size:42px;right:5%;bottom:10%}footer{padding:20px 18px;gap:12px;flex-wrap:wrap}footer>span{order:3;width:100%;text-align:center;font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Large, tactile 3D workbench */
.bench-section .wrap{width:min(1400px,calc(100% - 48px))}.bench-main{grid-template-columns:150px minmax(0,1fr) 235px;gap:14px;min-height:590px}.canvas-wrap{min-height:545px}.canvas{min-height:455px;cursor:grab;touch-action:none;background-color:#f8f6ef}.canvas.dragging{cursor:grabbing}.canvas #workbench3d{display:block;width:100%;height:100%;outline:0}.canvas-sparkle{pointer-events:none;z-index:2}.canvas-loading{position:absolute;inset:0;display:grid;place-items:center;color:#77766c;font:11px var(--mono);background:#f8f6ef}.canvas-loading[hidden]{display:none}.canvas-note>span{display:flex;align-items:center;gap:9px}.canvas-note small{font:8px var(--sans);letter-spacing:0;color:#8e8c80}.zoom-controls{display:flex;align-items:center;gap:8px}.zoom-controls button{border:1px solid #d8d5cb;background:#fffdf8;border-radius:50%;width:23px;height:23px;line-height:18px;color:#65665d;font-size:16px;cursor:pointer}.zoom-controls button:hover{background:#e6ebde}.zoom-controls b{min-width:34px;text-align:center;font:8px var(--mono);color:#77766c}.object-tab img{object-fit:contain;background:transparent}.object-tab.active img{background:transparent}.toolbox{min-height:545px}
@media(max-width:900px){.bench-main{grid-template-columns:120px minmax(0,1fr) 205px;min-height:530px}.canvas-wrap{min-height:495px}.canvas{min-height:405px}}
@media(max-width:650px){.bench-section .wrap{width:calc(100% - 24px)}.bench-main{grid-template-columns:1fr;min-height:0}.canvas-wrap{min-height:420px}.canvas{min-height:340px}.toolbox{min-height:230px}.canvas-note small{font-size:7px}}
#canvasTools[hidden]{display:none}.canvas-tools{margin-bottom:2px}.mode-options,.finish-options{display:flex;gap:6px}.mode,.finish{border:1px solid #dedbd1;background:#f2f0e9;color:#65645b;border-radius:5px;cursor:pointer;transition:.18s}.mode{flex:1;padding:9px 6px;font:10px var(--sans)}.mode.active{background:#e4eadc;border-color:#aab79c;color:#46533f}.paint-label{display:flex;justify-content:space-between;margin:12px 0 5px;font:9px var(--sans);color:#77766c}.paint-label output{font:9px var(--mono)}#paintSize{width:100%;accent-color:#829477;margin:0 0 10px}.paint-colors{display:flex;gap:8px;flex-wrap:wrap}.paint-color{width:20px;height:20px;border-radius:50%;border:2px solid #f8f6ef;background:var(--paint);box-shadow:0 0 0 1px #d2cfc5;cursor:pointer}.paint-color.active{box-shadow:0 0 0 2px #58644f;transform:scale(1.08)}.clear-paint{margin-top:10px;background:transparent;border:0;padding:4px 0;color:#8a776f;font:9px var(--sans);text-align:left;cursor:pointer}.finish-title{margin-top:14px}.finish{flex:1;display:flex;align-items:center;gap:7px;padding:7px 6px;text-align:left}.finish.active{background:#fff;border-color:#aab79c;box-shadow:0 0 0 1px #aab79c}.finish-swatch{width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:grid;place-items:center}.matte-swatch{background:radial-gradient(circle at 35% 30%,#f5d0d2,#d68b97);box-shadow:inset 0 1px 3px #75505a55}.sparkle-swatch{background:radial-gradient(circle at 32% 27%,#fff 0 7%,#f7d877 10% 30%,#dba94c 62%,#987034);box-shadow:inset 0 1px 2px #fff9,0 1px 3px #6e5a3b55;color:#fff;font-size:11px}.finish b,.finish small{display:block}.finish b{font:600 9px var(--sans)}.finish small{font:7px var(--sans);color:#88867c;margin-top:2px}#workbench3d.painting-mode{cursor:crosshair;touch-action:none}

#gemSize{width:100%;accent-color:#829477;margin:0 0 10px}.gem-size-label{margin-top:12px}

.zoom-controls #panToggle{width:auto;height:25px;padding:0 9px;border-radius:14px;font:9px var(--sans);white-space:nowrap}.zoom-controls #panToggle.active{background:#dce6d7;border-color:#aab99f;color:#3e5038}.canvas.panning{cursor:move}.canvas.dragging{cursor:grabbing}

.ticker + .intro{margin-top:24px}
