@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--bg:#0b1917;--panel:#11231f;--text:#eee9d9;--muted:#abb8a9;--gold:#edac75;--line:#ffffff24;color-scheme:dark;font-family:'DM Sans',sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}em{font-weight:400;color:var(--gold)}button{border:0}header{position:absolute;z-index:5;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:30px 5%;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:12px;align-items:center;font-size:13px;font-weight:600;letter-spacing:3px;line-height:1.25}.brand-symbol{font-size:42px;font-weight:400;color:var(--gold)}nav{display:flex;gap:36px;font-size:14px}nav a:hover,footer a:hover{color:var(--gold)}.bag-button{background:none;font-size:14px;display:flex;gap:14px;align-items:center}.bag-button span{border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;width:28px;height:28px;color:var(--gold)}.hero{height:820px;min-height:700px;max-height:1100px;position:relative;overflow:hidden;background:#09201d}.forest{position:absolute;inset:-3%;background:linear-gradient(90deg,#071310dc 0%,#07131055 53%,#08181422),linear-gradient(0deg,#0b1917 0%,transparent 35%),url('forest.png') center 52%/cover;animation:forest-drift 24s ease-in-out infinite alternate}.hero-copy{position:relative;z-index:2;padding:205px 0 0 8%;width:57%}.eyebrow{font-size:12px;line-height:1.8;letter-spacing:2.3px;font-weight:500}.hero .eyebrow{color:#ced6c6;display:flex;align-items:center;gap:12px}.eyebrow>span{width:24px;height:1px;background:var(--gold)}h1{font-size:clamp(90px,8.8vw,145px);line-height:.9;letter-spacing:-4px;margin:27px 0}.intro{font-size:17px;line-height:1.8;color:#e0e6d7}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:14px 27px;font-size:14px;font-weight:500;letter-spacing:.2px;border:1px solid var(--gold);background:none}.solid{background:var(--gold);color:#17221c}.button:hover{background:#ffc08c;color:#152019}.hero-copy .button{margin-top:27px}.portal-stage{position:absolute;left:57%;top:24%;width:35%;aspect-ratio:1;perspective:900px;z-index:1}.portal{position:absolute;inset:6%;transform-style:preserve-3d;animation:portal-turn 22s linear infinite}.portal i{position:absolute;border:1px solid #eaba71bd;border-radius:50%;inset:0;box-shadow:0 0 25px #e9a46c28,inset 0 0 25px #e9a46c28}.portal i:nth-child(1){border-width:2px;transform:rotateY(35deg)}.portal i:nth-child(2){transform:rotateY(80deg) rotateX(20deg)}.portal i:nth-child(3){transform:rotateX(70deg) rotateZ(30deg)}.portal i:nth-child(4){inset:12%;border-style:dashed;transform:rotateY(-25deg)}.portal-core{position:absolute;inset:31%;border-radius:50%;background:radial-gradient(circle,#ffe6bc40,transparent 65%);filter:blur(10px);transform:translateZ(40px)}.orbit-caption{position:absolute;bottom:-38px;width:100%;text-align:center;color:#e0c2a0;font-size:12px;letter-spacing:3px}#embers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.hero-bottom{position:absolute;z-index:2;bottom:38px;left:8%;right:5%;display:flex;justify-content:space-between;align-items:flex-end;font-size:12px;line-height:1.7;color:#bcc7b4}.scroll-note{font-size:12px;letter-spacing:2px}.scroll-note span{display:inline-block;margin-left:14px;color:var(--gold)}.quiet{background:transparent;border-bottom:1px solid #bfc7b36b;padding:5px 0;font-size:12px}.section{padding:90px 8%}.section-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:35px}.section-top .eyebrow{color:var(--gold);margin-bottom:15px}h2{font-size:clamp(46px,5vw,72px);line-height:1.05;letter-spacing:-1px}.section-top>p{font-size:16px;line-height:1.7;color:var(--muted);padding-bottom:6px}.filters{display:flex;gap:10px;margin:30px 0;flex-wrap:wrap}.filters button{background:transparent;padding:11px 19px;border:1px solid var(--line);border-radius:100px;font-size:14px;color:var(--muted)}.filters button.active{background:#dbe4d0;color:#14211b;border-color:#dbe4d0}.filters small{font-size:12px;margin-left:6px;opacity:.7}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.product{min-width:0}.product-visual{aspect-ratio:1.04;background:#1b2821;position:relative;overflow:hidden;border:1px solid #e1c39b20;width:100%;display:block;isolation:isolate}.product-visual .product-image{position:absolute;inset:0;background:url('products.png') var(--position) center/300% 100% no-repeat;transition:transform .8s;will-change:transform}.product-visual:hover .product-image{transform:scale(1.07) rotate(-2deg)}.product-visual:after{content:'View piece';position:absolute;bottom:20px;left:20px;background:#0c1915d9;border:1px solid #eed5b751;padding:9px 14px;font-size:12px;letter-spacing:1px}.product-visual .index{position:absolute;top:17px;left:20px;font-size:12px;color:#eadbc5;z-index:1}.product-info{padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.product h3{font-size:31px}.product p{margin-top:6px;font-size:14px;color:var(--muted)}.add{flex-shrink:0;font-size:25px;width:43px;height:43px;border:1px solid var(--line);border-radius:50%;background:transparent}.add:hover{background:var(--gold);color:#132018}.catalog-note{margin-top:25px;color:var(--muted);font-size:12px}.teachings{border-top:1px solid var(--line);background:#10201c}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.lesson{background:none;text-align:left;padding:30px;min-height:205px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s}.lesson:hover{background:#1a332b}.lesson-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);letter-spacing:1px}.lesson-number{color:var(--gold)}.lesson h3{font-size:31px;line-height:1.1;margin-top:26px}.lesson p{font-size:14px;line-height:1.6;color:var(--muted);margin-top:10px}.intention{padding-top:100px;padding-bottom:100px;text-align:center;background:radial-gradient(ellipse at 50% 20%,#314d3638,transparent 65%)}.intention>.eyebrow{color:var(--gold);margin-bottom:26px}.intention h2{font-size:clamp(40px,4.5vw,66px)}.intention-bottom{max-width:850px;margin:35px auto 0;display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:50px;color:var(--muted);font-size:15px;line-height:1.8}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:last-child{font-size:12px;color:var(--muted)}dialog{border:1px solid #78908070;background:#10231e;color:var(--text);padding:48px;max-width:650px;width:calc(100% - 30px);max-height:90dvh;overflow-y:auto}dialog::backdrop{background:#020d0bd9;backdrop-filter:blur(8px)}.close{position:absolute;right:14px;top:10px;font-size:32px;background:none;width:40px;height:40px;color:var(--muted)}dialog .eyebrow{color:var(--gold);margin-bottom:15px}dialog h2{font-size:48px;margin-bottom:20px}dialog p{line-height:1.8;font-size:16px;color:#c5d0bf}dialog .button{margin-top:25px}dialog .detail-picture{height:240px;background:url('products.png') var(--position) center/300% 100%;margin:0 0 25px}.detail-label{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);font-size:13px!important}.lesson-steps{padding-left:22px;margin:25px 0}.lesson-steps li{padding:0 0 15px 8px;line-height:1.7;color:#d5ddce}.reflection{padding:20px;background:#20372b;border-left:2px solid var(--gold)}.reflection b{display:block;color:var(--gold);font-size:12px;letter-spacing:1px;margin-bottom:9px}.bag-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:20px 0}.bag-row h3{font-size:27px}.quantity{display:flex;align-items:center;gap:14px}.quantity button{width:35px;height:35px;background:#253c30;border:1px solid var(--line)}.basket-note{font-size:14px!important;margin-top:25px}.button:disabled{opacity:.4;cursor:default}.empty{padding:30px 0}.timer{font-variant-numeric:tabular-nums;margin-top:15px;display:flex;gap:15px;align-items:center}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);z-index:20;padding:14px 25px;border:1px solid #a8b99a;background:#dbe4d0;color:#17251c;opacity:0;pointer-events:none;transition:.25s;font-size:14px;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.skip{position:fixed;top:-100px;left:20px;z-index:50;background:var(--gold);color:#10231e;padding:15px}.skip:focus{top:10px}.paused *{animation-play-state:paused!important}.paused .product-image{transition:none}@keyframes portal-turn{0%{transform:rotateX(12deg) rotateY(-25deg) rotateZ(-15deg)}50%{transform:rotateX(-12deg) rotateY(25deg) rotateZ(15deg)}100%{transform:rotateX(12deg) rotateY(-25deg) rotateZ(-15deg)}}@keyframes forest-drift{from{transform:scale(1)}to{transform:scale(1.07) translateX(-.5%)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:1600px){.hero{height:950px}.hero-copy{padding-top:235px}}@media(max-width:900px){header{padding:20px 5%}nav{gap:17px}nav a{font-size:12px}.hero{height:760px}.hero-copy{padding-left:6%;padding-top:190px;width:72%}.hero h1{font-size:110px}.hero .eyebrow{font-size:10px;letter-spacing:1.3px}.portal-stage{left:58%;top:30%;width:40%;opacity:.7}.hero-bottom{left:6%}.section{padding:65px 6%}.section-top{align-items:flex-start}.section-top>p{max-width:230px;font-size:14px}.products{gap:16px}.product h3{font-size:27px}.product p{font-size:12px}.lesson{padding:24px}.lesson-grid{grid-template-columns:repeat(2,1fr)}footer>p{display:none}}@media(max-width:600px){header{gap:10px}.brand{font-size:10px;letter-spacing:2px;gap:7px}.brand-symbol{font-size:32px}nav{gap:16px}nav a{font-size:12px}nav a:last-child{display:none}.bag-button{font-size:0;gap:0}.bag-button span{font-size:12px}.hero{height:770px;min-height:0}.hero-copy{width:100%;padding:143px 7% 0}.hero h1{font-size:91px;letter-spacing:-2px;margin:25px 0}.hero .eyebrow{font-size:10px;letter-spacing:1px}.intro{font-size:15px}.portal-stage{width:190px;left:auto;right:-12px;top:450px;opacity:.7}.orbit-caption{display:none}.hero-bottom{left:7%;right:7%;bottom:27px}.hero-bottom p{font-size:11px}.scroll-note{display:none}.hero-copy .button{margin-top:24px}.section{padding:58px 7%}.section-top{display:block;margin-bottom:24px}.section-top>p{margin-top:20px}.section h2{font-size:49px}.products{grid-template-columns:1fr;gap:35px}.product-visual{aspect-ratio:1.2}.product h3{font-size:34px}.product p{font-size:14px}.filters{gap:7px}.filters button{padding:9px 12px;font-size:12px}.lesson-grid{grid-template-columns:1fr}.lesson{min-height:175px}.lesson h3{margin-top:20px}.intention h2{font-size:41px}.intention-bottom{grid-template-columns:1fr;gap:22px}.intention{text-align:left}footer{padding:28px 7%}footer>a:last-child{max-width:120px;line-height:1.7}dialog{padding:45px 23px 28px}dialog h2{font-size:40px}}
.product-visual .product-image,dialog .detail-picture{background-size:280% auto;background-position:var(--position) 64%;}dialog .detail-picture{background-size:210% auto;}
.sound-control{margin-top:22px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:380px}.sound-control button{background:none;padding:5px 0;font-size:14px;display:flex;align-items:center;gap:8px}.sound-control button>span:first-child{color:var(--gold);font-size:23px}.sound-control label{font-size:12px;color:var(--muted)}.sound-control input{width:65px;accent-color:var(--gold)}.sound-control small{font-size:12px;color:var(--muted);flex-basis:100%;margin-top:-5px}.sound-control button[aria-pressed=true]>span:first-child{animation:sound-pulse .8s ease-in-out infinite alternate}@keyframes sound-pulse{to{opacity:.4;transform:scale(.85)}}@media(max-width:600px){.sound-control{max-width:300px;gap:10px}.hero{height:810px}.portal-stage{top:505px;right:-30px;width:160px}.hero-bottom{bottom:24px}}

.product-visual.real-photo{aspect-ratio:1.48}.catalog-photo{width:100%;height:100%;object-fit:contain;display:block;transition:transform .6s}.real-photo:hover .catalog-photo{transform:scale(1.035)}.product-visual .index{background:#0b1917d9;padding:6px 9px;left:12px;top:12px;font-size:10px;letter-spacing:1px}.product-visual:after{bottom:12px;left:12px}.products{row-gap:40px}.product h3{font-size:29px}.gallery-main{display:block;width:100%;height:auto;max-height:350px;object-fit:contain;margin:0 0 12px}.gallery-tabs{display:flex;gap:10px}.gallery-tabs button{background:transparent;border:1px solid var(--line);padding:10px 14px;font-size:14px}.gallery-tabs button[aria-pressed=true]{background:var(--gold);color:#10231e}.photo-caption{font-size:12px!important;margin:10px 0 25px!important}.catalog-download{margin-top:50px;padding:28px;border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px}.catalog-download .eyebrow{color:var(--gold)}.catalog-download h3{font-size:32px;margin:8px 0}.catalog-download p:not(.eyebrow){font-size:14px;color:var(--muted)}.catalog-download a{flex-shrink:0}.photo-story{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;border-top:1px solid var(--line)}.photo-story img{width:100%;height:auto}.photo-story .eyebrow{color:var(--gold);margin-bottom:20px}.photo-story p:not(.eyebrow){margin:22px 0;line-height:1.8;color:var(--muted)}@media(max-width:900px){.products{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-story{gap:30px}.catalog-download{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.products{grid-template-columns:1fr}.photo-story{grid-template-columns:1fr}.catalog-download{padding:23px}.catalog-download .button{width:100%;font-size:12px}.product-visual .index{font-size:12px}}

.hero-3d-link{display:inline-block;margin-left:20px;border-bottom:1px solid var(--gold);font-size:14px;padding:8px 0;color:var(--gold)}.studio{background:radial-gradient(ellipse at 50% 55%,#284b3d 0%,#10231e 48%,#0b1917 85%);border-bottom:1px solid var(--line)}.model-tabs{display:flex;gap:12px;flex-wrap:wrap}.model-tabs button,.model-toolbar button{border:1px solid var(--line);background:#0d211cc7;padding:12px 20px;font-size:14px;border-radius:30px}.model-tabs button[aria-pressed=true]{background:var(--gold);color:#10231e}#instrument-stage{height:460px;width:100%;cursor:grab;touch-action:pan-y;position:relative;outline-offset:-4px}#instrument-stage:active{cursor:grabbing}#instrument-stage canvas{display:block;position:absolute;inset:0}.model-loading{position:absolute;inset:45% 0 auto;text-align:center;color:var(--muted)}#instrument-stage[data-ready=true] .model-loading{display:none}.model-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.model-toolbar>p{font-size:18px;color:var(--gold)}.model-toolbar>div{display:flex;gap:10px}.model-note{font-size:12px;color:var(--muted);margin-top:18px;line-height:1.7}.skins-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-top:1px solid var(--line);background:#142820}.skin-illustration{height:430px;background:#142820 url('products.png') 50% 72%/270% auto no-repeat;position:relative}.skin-illustration span{position:absolute;left:18px;right:18px;bottom:18px;padding:10px;background:#0b1917db;font-size:12px;line-height:1.7;color:var(--muted)}.skins-section .eyebrow{color:var(--gold);margin-bottom:18px}.skins-section p:not(.eyebrow){line-height:1.8;margin-top:20px;color:var(--muted)}.skins-section ul{padding-left:20px;color:var(--muted);font-size:15px;line-height:1.8;margin:20px 0}.skin-note{font-size:12px}.gallery-tabs{flex-wrap:wrap}@media(max-width:700px){.skins-section{grid-template-columns:1fr;gap:30px}.skin-illustration{height:300px}.model-toolbar{align-items:flex-start;flex-direction:column}#instrument-stage{height:350px}.hero-3d-link{margin:12px 0 0;display:block;width:fit-content}.hero{height:870px}.model-tabs{gap:8px}.model-tabs button{padding:10px 13px;font-size:12px}}

/* Moonlit woodland surrounding the interactive instruments. */
.studio{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#0b1917 0%,#09191491 25%,#07191285 68%,#0b1917 100%),url('forest.png') center 62%/cover no-repeat}.studio:before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 50% 62%,#edac7520,transparent 45%),linear-gradient(100deg,#09251b60,transparent 55%);pointer-events:none}.studio:after{content:'';position:absolute;z-index:-1;left:-20%;right:-20%;bottom:15%;height:34%;background:radial-gradient(ellipse,#b0d2bd1c,transparent 66%);filter:blur(25px);animation:woodland-mist 18s ease-in-out infinite alternate;pointer-events:none}.studio .section-top>p,.model-note{color:#d0dacb}.model-toolbar{padding:15px 20px;border:1px solid #e5c99a25;border-radius:8px;background:#081b17bb;backdrop-filter:blur(8px)}.teachings{background:linear-gradient(#0b1917ed,#10201cf0),url('forest.png') center/cover}.lesson{background:#10231e55}.intention{background:linear-gradient(#0b1917dc,#0b1917e8),url('forest.png') center bottom/cover}@keyframes woodland-mist{from{transform:translateX(-5%)}to{transform:translateX(8%)}}

.instrument-story{max-width:630px;margin:-12px auto 32px;text-align:center;position:relative}.instrument-story>span{font-size:11px;letter-spacing:3px;color:var(--gold)}.instrument-story p{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;line-height:1.4;margin:12px 0 17px;text-shadow:0 2px 12px #071914}.instrument-story a{font-size:12px;border-bottom:1px solid #edac7580;padding-bottom:5px;color:#eadac0}.studio .section-top h2{font-size:clamp(44px,4.8vw,69px)}

.developer-note{font-size:10px;line-height:1.6;color:#718278;text-align:center;padding:0 7% 18px;margin:0;background:var(--bg)}

.closing-notes{max-width:1100px;margin:auto;padding:0 5% 30px;color:#718278;font-size:10px;line-height:1.7}.closing-notes p{margin:6px 0}

.skin-illustration{background:#142820 url('photos/harps-skin-4863.jpg') center/contain no-repeat}
