@import url('fonts.css');
@import url('theme-fonts.css?v=theme-1');
:root{color-scheme:light;--paper:#f2f1ee;--ink:#202120;--muted:#7c807c;--line:#c5c9c3;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{background:var(--paper);font:14px Manrope,Arial,sans-serif;color:var(--ink)}body{margin:0;min-height:100svh}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:1px solid #404943;outline-offset:5px}::selection{background:#c6cfc4}header{height:105px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.brand{display:flex;gap:5px;align-items:center;font-size:13px;letter-spacing:-.5px;font-weight:600}.brand>span:not(.brand-symbol){font-weight:400;font-size:11px;letter-spacing:-.2px}.brand-symbol{display:inline-grid;place-items:center;width:22px;height:25px;border:1px solid #636963;margin-right:7px;font-size:16px}.header-note{font-size:8px;font-weight:600;line-height:1.35;text-align:center;letter-spacing:.045em;border-bottom:1px solid #c7cbc5;padding-bottom:9px;min-width:140px}.text-button{border:0;background:none;min-height:44px;padding:9px 0;font-size:9px;color:#666e66;transition:color .25s ease}.text-button:hover{color:#161a15}.menu-toggle{display:flex;align-items:center;gap:20px}.menu-sign{font-size:18px;font-weight:400}.experience{position:relative;min-height:calc(100svh - 170px);display:grid;align-items:center;isolation:isolate;overflow:hidden}.wordmark{position:absolute;inset:0;margin:0;font-weight:800;font-size:clamp(100px,17vw,240px);letter-spacing:-.075em;line-height:.9;z-index:0;pointer-events:none;transition:opacity .6s ease}.wordmark span{position:absolute}.wordmark span:first-child{left:10%;top:20%}.wordmark span:last-child{right:9%;top:50%}.is-webgl .wordmark{opacity:0}.scene{grid-area:1/1;justify-self:center;position:relative;width:min(900px,83vw,calc(100svh - 95px));aspect-ratio:1;z-index:1;margin-top:-40px;margin-bottom:-45px;transition:transform 1.1s var(--ease)}.visual{position:absolute;inset:0}.model{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.1s ease;cursor:grab;touch-action:pan-y}.model:active{cursor:grabbing}.is-webgl .model{opacity:1}.scene-caption{position:absolute;bottom:9%;left:0;right:0;text-align:center;margin:0;font-size:8px;color:#838a81;opacity:0;transition:opacity .6s ease;pointer-events:none}.is-ready .scene-caption{opacity:1}.callouts{position:absolute;inset:0;pointer-events:none;z-index:3}.callout{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:0;background:none;box-shadow:none;color:#4d584e;font-family:inherit;font-size:9px;letter-spacing:.015em;padding:8px;min-height:44px;line-height:1.3;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .7s ease,color .3s ease}.callout small{display:none}.callout::after{content:"";display:block;height:1px;width:15px;background:currentColor;opacity:.32;margin:4px auto 0}.is-ready .callout{opacity:.8;pointer-events:auto}.is-ready .callout:hover,.is-ready .callout.is-selected,.is-ready .callout:focus-visible{opacity:1;color:#101710}.is-ready:not(.is-webgl) .callouts{display:none}.introduction{position:absolute;left:5.5vw;bottom:10%;z-index:5;display:flex;gap:14px;align-items:flex-start;max-width:260px;transition:opacity .5s ease}.author-mark{display:grid;place-items:center;width:39px;height:51px;border:1px solid #a5aaa1;font-size:25px;font-family:Georgia,serif;color:#656d61}.eyebrow{margin:0 0 7px;font-size:8px;color:#66715f;font-weight:600;letter-spacing:.08em}.introduction h2{font-size:14px;font-weight:500;line-height:1.2;letter-spacing:-.35px;margin:0 0 10px}.introduction p:not(.eyebrow){font-size:9px;line-height:1.7;color:#80877c;margin:0}.chapter-note{position:absolute;right:5.5vw;top:12%;z-index:5;text-align:right;font-size:8px;line-height:1.7;transition:opacity .5s ease}.chapter-note>span{font-size:7px;color:#92998d;letter-spacing:.05em}.chapter-note b{display:block;font-size:12px;font-weight:600;line-height:1.4;margin:10px 0 13px}.chapter-note small{color:#92998d;font-size:8px;line-height:1.8}.skip{position:absolute;right:5.5vw;bottom:5%;z-index:6}.skip[hidden]{display:none}.story{grid-area:1/1;position:relative;justify-self:end;width:min(340px,30vw);margin:0 6vw 3% 0;z-index:7;opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .7s var(--ease)}.story[hidden]{display:none}.has-section .story{opacity:1;transform:none}.has-section .scene{transform:translateX(-20vw) scale(.78)}.has-section .introduction,.has-section .chapter-note{opacity:0;pointer-events:none}.story-head{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding-top:8px;margin-bottom:26px}.section-index{font-size:9px;color:#717d6b;letter-spacing:.08em}.back{display:flex;align-items:center;gap:20px}.back>span{font-size:22px;font-weight:300}.story h2{font-size:clamp(29px,3.3vw,45px);font-weight:400;letter-spacing:-.055em;line-height:1.1;margin:0 0 25px}.story h2:focus{outline:none}.story-text{min-height:240px}.section-copy{font-size:13px;line-height:1.85;margin:0 0 17px;color:#444d43}.section-detail{font-size:11px;line-height:1.85;color:#7b8476;margin:0}.section-nav{border-top:1px solid var(--line);margin-top:25px;padding-top:16px;display:flex;gap:0 17px;flex-wrap:wrap}.section-nav button{border:0;background:none;color:#7c8675;font-size:9px;padding:9px 0;min-height:38px}.section-nav button[aria-pressed=true]{color:#192517}.scene-controls{height:65px;margin:0 5.5vw;border-top:1px solid #d5d9d0;display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#8a9383;position:relative;z-index:8;background:var(--paper)}.scene-controls p{margin:0}.replay{font-size:8px;min-width:145px;text-align:right}.replay:disabled{opacity:.35;cursor:default}.menu{width:min(430px,calc(100% - 36px));padding:25px 30px;background:var(--paper);border:1px solid #bcc3b5;color:var(--ink);max-height:85svh;overflow:auto}.menu::backdrop{background:#f2f1eedd}.menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.menu h2{font-size:25px;font-weight:400;letter-spacing:-.04em;margin:0}.menu-close{font-size:28px;font-weight:300;min-width:44px}.menu-nav{display:flex;flex-direction:column}.menu-nav button{display:flex;gap:20px;border:0;border-top:1px solid #cbd1c4;background:none;text-align:left;padding:17px 0;font-size:13px;min-height:52px}.menu-nav button span{font-size:8px;color:#8a9582;padding-top:4px}.menu>p{font-size:10px;line-height:1.8;color:#838e7b;margin:25px 0 0}.no-js{padding:30px 5vw;max-width:650px;line-height:1.8}
@media(max-width:1000px) and (min-width:701px){.scene{width:min(820px,88vw,calc(100svh - 95px))}.has-section .scene{transform:translateX(-20vw) scale(.7)}.story{width:34vw;margin-right:5vw}.introduction{max-width:220px}.chapter-note{top:5%}.wordmark{font-size:19vw}}
@media(max-width:700px){header{height:80px;padding:0 22px}.brand{font-size:12px}.brand>span:not(.brand-symbol){font-size:10px}.brand-symbol{width:19px;height:23px;margin-right:4px}.header-note{display:none}.menu-toggle{font-size:10px;gap:14px}.experience{min-height:calc(100svh - 140px);display:flex;flex-direction:column;overflow:visible;padding-bottom:28px}.scene{width:100%;aspect-ratio:1;margin:15px 0 0;flex-shrink:0;transition:none}.wordmark{font-size:23vw;height:390px}.wordmark span:first-child{left:0;top:13%}.wordmark span:last-child{right:0;top:42%}.introduction{position:relative;left:auto;bottom:auto;align-self:flex-start;margin:28px 25px 0;max-width:none;gap:14px}.introduction h2{font-size:18px;margin-bottom:10px}.introduction p:not(.eyebrow){font-size:11px}.introduction br{display:none}.author-mark{width:41px;height:56px}.chapter-note{display:none}.scene-caption{bottom:5%;font-size:8px}.callout{font-size:9px;padding:8px 5px}.callout::after{width:11px}.skip{position:relative;right:auto;bottom:auto;align-self:flex-end;margin:8px 22px 0}.has-section .scene{transform:none}.has-section .introduction{display:none}.story{width:auto;max-width:530px;align-self:stretch;margin:25px 27px 0;transform:none}.story-text{min-height:0}.story h2{font-size:34px}.section-copy{font-size:13px}.section-detail{font-size:11px}.section-nav button{font-size:10px;min-height:44px}.section-nav{gap:0 16px}.story-head{margin-bottom:20px}.back{font-size:10px}.scene-controls{height:60px;margin:0 22px;gap:12px}.scene-controls p{display:none}.replay{min-width:0;font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.scene{width:100%;height:min(800px,calc(100svh - 95px));aspect-ratio:auto}@media(max-width:1000px) and (min-width:701px){.scene{width:100%}}@media(max-width:700px){.scene{height:auto;aspect-ratio:1}}
/* A dedicated reading column keeps the 3D lettering out of the copy. */
.story{width:min(420px,35vw);margin:24px 5.5vw 24px 0;isolation:isolate;transform:none;transition:opacity .45s ease}
.story::before{content:"";position:absolute;inset:-100vh -10vw -100vh -32px;background:var(--paper);z-index:-1;pointer-events:none}
.story h2{font-size:clamp(30px,3.1vw,42px);line-height:1.15;letter-spacing:-.045em;overflow-wrap:break-word}
.story-text{min-height:270px}
.section-copy{font-size:15px;line-height:1.8;color:#323832}
.section-detail{font-size:13px;line-height:1.85;color:#616b5e}
.section-index{color:#5d6957}.section-nav button{font-size:11px;min-height:44px;color:#596650}
@media(min-width:701px){.has-section .scene{transform:translateX(-23vw) scale(.76)}.has-section .scene-caption{opacity:0}}
@media(max-width:1000px) and (min-width:701px){.story{width:38vw;margin-right:5vw}.story::before{left:-22px}.has-section .scene{transform:translateX(-25vw) scale(.68)}.story h2{font-size:32px}}
@media(max-width:700px){.story{width:auto;max-width:none;margin:25px 27px 0}.story::before{display:none}.story-text{min-height:235px}.story h2{font-size:34px}.section-copy{font-size:15px}.section-detail{font-size:13px}.section-nav{margin-top:12px}.has-section .scene{transform:none}}
/* Mobile composition: clear title, one sculpture, then touch navigation. */
@media(max-width:700px){
 header{height:70px;padding:0 22px}.brand{font-size:13px}.menu-toggle{font-size:11px}
 .experience{min-height:0;padding-bottom:30px;overflow:hidden;--word-shift:24px}
 .wordmark,.is-webgl .wordmark{position:relative;inset:auto;width:calc(100% - 44px);height:auto;min-height:65px;margin:12px 22px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;opacity:1;font-size:clamp(40px,15.7vw,88px);line-height:1;letter-spacing:-.065em;z-index:2;flex-shrink:0;transition:none}
 .wordmark span,.wordmark span:first-child,.wordmark span:last-child{position:static;inset:auto;display:block}
 .wordmark span:first-child{transform:translateX(var(--word-shift))}.wordmark span:last-child{transform:translateX(calc(-1 * var(--word-shift)))}
 .scene{width:100%;height:auto;aspect-ratio:auto;margin:0;display:flex;flex-direction:column}
 .visual{position:relative;inset:auto;width:100%;aspect-ratio:1;flex-shrink:0}
 .callouts{position:relative;inset:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;margin:0 22px;pointer-events:auto;border-top:1px solid #c5c9c3;border-bottom:1px solid #c5c9c3}
 .callout,.is-ready .callout{position:relative;left:auto;top:auto;transform:none;min-height:46px;width:100%;padding:11px 2px;font-size:11px;line-height:1.3;letter-spacing:0;white-space:normal;opacity:1;color:#4a5547;border-bottom:1px solid #dce0d7;pointer-events:auto;transition:color .25s ease,background-color .25s ease}
 .callout:nth-child(n+4){border-bottom:0}.callout::after{display:none}.callout:disabled{opacity:.4;cursor:wait}.callout.is-selected{color:#202720;background:#e3e7dd}.callout:active{background:#d9dfd2}
 .scene-caption{position:relative;inset:auto;margin:13px 22px 0;min-height:18px;font-size:10px;line-height:1.6;color:#737d6a;text-align:center;opacity:1}
 .introduction{margin:27px 24px 0;max-width:440px}.author-mark{display:none}.eyebrow{font-size:9px;margin-bottom:9px}.introduction h2{font-size:24px;letter-spacing:-.04em;margin-bottom:10px}.introduction p:not(.eyebrow){font-size:13px;line-height:1.8;color:#626c5b}
 .skip{margin:2px 22px 0;font-size:10px;min-height:34px}
 .story{margin:25px 24px 0}.story-text{min-height:205px}.story h2{font-size:32px}.story-head{margin-bottom:22px}.back{font-size:11px}.section-nav{gap:0 19px}.section-nav button{font-size:11px}
 .scene-controls{height:auto;min-height:90px;margin:0 22px;padding:10px 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.scene-controls>span{grid-column:1/-1;font-size:8px;padding:0 0 2px}.movement,.replay{font-size:10px;min-height:44px;min-width:0;text-align:left}.replay{text-align:right}
 .menu{padding:22px}.menu-nav button{font-size:15px;min-height:56px}.menu>p{font-size:12px}
}
@media(max-width:360px){.wordmark,.is-webgl .wordmark{width:calc(100% - 36px);margin-left:18px;margin-right:18px;font-size:15.4vw}.callouts{margin:0 18px;gap:0 8px}.callout{font-size:10px}.introduction,.story{margin-left:20px;margin-right:20px}}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.wordmark span:first-child,.wordmark span:last-child{transform:none}}
.header-links{display:flex;align-items:center;gap:27px;margin-left:auto;margin-right:45px;font-size:11px;color:#50594b}.header-links a:last-child{border-bottom:1px solid #818c78;padding-bottom:4px}.intro-link{display:inline-block;font-size:10px;margin-top:13px;border-bottom:1px solid #88937e;padding:0 0 5px}.portfolio-content{margin:0 5.5vw}.page-nav{display:flex;gap:30px;align-items:center;min-height:85px;border-bottom:1px solid var(--line);font-size:12px}.page-nav a:last-child{margin-left:auto}.portfolio-section{padding:65px 0 75px;border-bottom:1px solid var(--line);scroll-margin-top:25px}.section-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.04em;color:#737f69;margin-bottom:50px}.section-label span:last-child{letter-spacing:0}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-bottom:45px}.portfolio-section h2{font-size:clamp(38px,4.8vw,66px);font-weight:400;letter-spacing:-.055em;line-height:1.08;margin:0}.section-intro p,.request-intro>p{font-size:15px;line-height:1.85;max-width:480px;margin:4px 0 0;color:#505b48}.service-list{margin:10px 0 25px}.service-list article{display:grid;grid-template-columns:50px 1fr 1fr;gap:20px;border-top:1px solid #d5dacd;padding:25px 0}.row-number{font-size:9px;letter-spacing:.08em;color:#8a957f;padding-top:5px}.service-list h3,.process-list h3{font-size:23px;letter-spacing:-.035em;font-weight:400;line-height:1.3;margin:0}.service-list p,.process-list p{font-size:13px;line-height:1.85;color:#66715d;margin:0;max-width:450px}.plain-link{display:inline-block;border:0;background:none;border-bottom:1px solid #929b86;font-size:12px;line-height:1.4;padding:6px 0;color:#394631;text-align:left;cursor:pointer}.muted-copy{color:#7d8774!important;font-size:13px!important;margin-top:18px!important}.works .plain-link{margin-top:20px}.works .section-intro{margin-bottom:0}.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;list-style:none;padding:0;margin:55px 0 0}.process-list li{border-top:1px solid #cbd2c1;padding-top:19px}.process-list .row-number{display:block;margin-bottom:25px}.process-list h3{font-size:23px;margin-bottom:16px}.faq-layout,.request-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw}.faq-list{border-top:1px solid #cbd2c1}.faq-list details{border-bottom:1px solid #cbd2c1}.faq-list summary{list-style:none;cursor:pointer;display:flex;gap:22px;justify-content:space-between;align-items:center;padding:22px 0;font-size:15px;line-height:1.5;min-height:70px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:23px;font-weight:300;transition:transform .25s ease;flex-shrink:0}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>div{padding:0 26px 23px 0}.faq-list p{font-size:13px;line-height:1.9;color:#606d55;margin:0}.request-intro>p{font-size:14px;margin-top:24px;max-width:360px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px}.contact-links a{font-size:clamp(15px,1.7vw,22px);letter-spacing:-.03em;overflow-wrap:anywhere;border-bottom:1px solid #a3ad96;padding-bottom:4px}.request-intro .contact-pending{font-size:11px;color:#808b73}.request-form{display:flex;flex-direction:column;gap:23px;padding-top:5px}.request-form label{display:flex;flex-direction:column;gap:9px;font-size:11px;line-height:1.5;color:#68765d}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.request-form input:not([type=checkbox]),.request-form textarea,.request-form select{font:inherit;font-size:14px;font-weight:400;color:#25311d;background:transparent;border:0;border-bottom:1px solid #b7c0ab;border-radius:0;width:100%;padding:12px 0;min-height:46px;outline-offset:5px;box-shadow:none}.request-form textarea{resize:vertical;line-height:1.7;min-height:115px}.request-form input::placeholder,.request-form textarea::placeholder{color:#9aa48c}.request-form select{cursor:pointer}.request-form input:focus-visible,.request-form textarea:focus-visible,.request-form select:focus-visible{outline:1px solid #788a66;outline-offset:4px}.request-form .consent{display:flex;flex-direction:row;gap:10px;align-items:flex-start;color:#68765c;font-size:11px}.consent input{width:17px;height:17px;flex-shrink:0;margin:0;accent-color:#526846}.consent span{padding-top:0}.delivery-note{font-size:10px;line-height:1.8;color:#8c977e;margin:-8px 0 0;max-width:480px}.form-actions{display:flex;flex-wrap:wrap;gap:17px 25px;align-items:center}.action-button{border:1px solid #718162;background:transparent;color:#34432a;padding:15px 24px;min-height:50px;border-radius:0;font-size:13px;transition:background-color .25s ease,color .25s ease}.action-button:hover,.action-button:active{background:#34432a;color:#f2f1ee}.action-button:disabled{opacity:.45;cursor:default;background:transparent;color:#68775d}.form-status{font-size:12px;line-height:1.8;color:#526746;min-height:22px;margin:0}.form-status.is-error{color:#8f3f27}.site-footer{display:flex;align-items:center;justify-content:space-between;padding:30px 0 38px;font-size:11px;color:#7e8a70}.site-footer>a:first-child{font-size:15px;color:#424e36;letter-spacing:-.025em}.site-footer p{margin:0}.menu-pages{display:flex;flex-wrap:wrap;gap:16px 21px;padding-top:22px;margin-top:15px;border-top:1px solid #cbd1c4;font-size:12px}.price-line{display:block;font-size:12px;color:#35452a;margin-top:12px;line-height:1.7}.pricing-note{font-size:11px;line-height:1.85;color:#859078;max-width:600px;margin:0 0 18px}.mail-fallback{font-size:11px;line-height:1.8;color:#687a5a}.contact-confirmation{margin:0}
@media(max-width:1000px){.header-note{display:none}.header-links{gap:20px;margin-right:30px}.section-intro,.faq-layout,.request-layout{gap:5vw}.process-list{gap:25px}.service-list article{grid-template-columns:30px 1fr 1fr}.portfolio-section h2{font-size:44px}}
@media(max-width:700px){.header-links{display:none}.portfolio-content{margin:0 22px}.page-nav{gap:0;justify-content:space-between;min-height:67px;font-size:10px}.page-nav a{padding:15px 0;min-height:44px;display:flex;align-items:center}.page-nav a:last-child{margin-left:0}.portfolio-section{padding:35px 0 40px;scroll-margin-top:14px}.section-label{font-size:8px;margin-bottom:29px;gap:15px}.section-label span:last-child{font-size:8px;text-align:right}.section-intro{grid-template-columns:1fr;gap:24px;margin-bottom:29px}.portfolio-section h2{font-size:39px;letter-spacing:-.05em}.section-intro p,.request-intro>p{font-size:14px;line-height:1.85}.service-list article{grid-template-columns:23px 1fr;gap:10px 12px;padding:21px 0}.service-list h3{font-size:22px}.service-list p{grid-column:2;font-size:13px}.service-list{margin:0 0 20px}.price-line{font-size:12px;margin-top:9px}.pricing-note{font-size:11px}.process-list{grid-template-columns:1fr;gap:0;margin-top:30px}.process-list li{display:grid;grid-template-columns:23px 1fr;gap:12px;padding:22px 0}.process-list .row-number{margin:0}.process-list h3{font-size:22px;margin-bottom:10px}.process-list p{font-size:13px}.faq-layout,.request-layout{grid-template-columns:1fr;gap:28px}.faq-list summary{font-size:14px;padding:19px 0;min-height:65px}.faq-list details>div{padding-bottom:20px}.faq-list p{font-size:13px}.request-intro>p{margin-top:19px}.contact-links{margin-top:20px;gap:14px}.contact-links a{font-size:20px}.request-form{gap:20px}.form-pair{grid-template-columns:1fr;gap:20px}.request-form label{font-size:12px}.request-form input:not([type=checkbox]),.request-form textarea,.request-form select{font-size:16px;min-height:48px}.delivery-note{font-size:11px;line-height:1.75;margin:0}.consent span{font-size:12px;line-height:1.7}.consent input{margin-top:2px}.form-actions{align-items:stretch;flex-direction:column;gap:17px}.action-button{font-size:14px;min-height:52px}.form-actions .plain-link{align-self:flex-start;font-size:12px}.form-status{font-size:12px}.site-footer{display:grid;grid-template-columns:1fr auto;gap:15px;font-size:10px;padding:25px 0}.site-footer p{grid-column:1/-1;grid-row:2}.site-footer>a:first-child{font-size:15px}.intro-link{font-size:11px;margin-top:13px;min-height:32px}.menu-pages a{padding:5px 0;min-height:36px;display:flex;align-items:center}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.faq-list details[open]>div{animation:faq-in .28s ease both}@keyframes faq-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}}
.action-button:hover,.action-button:active{background:#e6522b;border-color:#e6522b;color:#fff9f2}.header-links a:hover,.page-nav a:hover,.plain-link:hover,.intro-link:hover,.contact-links a:hover{color:#c74624;border-color:#c74624}.action-button:disabled:hover{background:transparent;border-color:#718162;color:#68775d}
.price-line{letter-spacing:0;font-size:13px;font-weight:400;line-height:1.8}
/* Soft bubbles in the services and FAQ; the reading form stays flat. */
.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start;margin:20px 0 35px}
.service-list article{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;text-align:center;min-height:310px;padding:32px 26px;border:1px solid #c5cbbc99;border-radius:49% 45% 48% 44% / 44% 48% 43% 49%;background:radial-gradient(ellipse at 28% 20%,#ffffffd9 0%,#faf9f3a8 32%,#e7e9dfb3 78%,#e1e4d7b8 100%);box-shadow:inset 0 2px 3px #ffffffcf,inset -5px -8px 16px #d7ddcd38,0 12px 30px #48513b08;transition:transform .5s var(--ease),border-color .4s ease,box-shadow .4s ease;position:relative}
.service-list article:nth-child(2){border-radius:45% 49% 44% 47% / 49% 43% 48% 44%;margin-top:20px}
.service-list article:nth-child(3){border-radius:48% 43% 49% 45% / 45% 49% 44% 48%;margin-top:5px}
.service-list .row-number{padding:0;color:#8a977c;font-size:9px}.service-list h3{font-size:23px;line-height:1.3;max-width:100%}.service-list .price-line{margin-top:11px;font-size:12px;line-height:1.8;color:#687959}.service-list p{font-size:13px;line-height:1.8;max-width:255px;color:#626f55}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-list article:hover{transform:translateY(-6px);border-color:#c0b6a3;box-shadow:inset 0 2px 3px #ffffffed,inset -5px -8px 16px #d7ddcd38,0 17px 34px #48513b0d}}
.faq-list{border-top:0;display:flex;flex-direction:column;gap:10px}.faq-list details{border:1px solid #c7cfbc;border-radius:27px;padding:0 21px;transition:border-color .3s ease,background-color .3s ease}.faq-list details[open]{background:radial-gradient(ellipse at 15% 8%,#ffffffa8,#e8ecdf66);border-color:#abb99b}.faq-list summary{font-size:14px;min-height:66px;padding:19px 0}.faq-list details>div{padding:0 12px 23px 0}
@media(prefers-reduced-motion:no-preference){.bubble-waiting{opacity:0;transform:translateY(25px) scale(.96)}.bubble-visible{animation:bubble-arrive .8s cubic-bezier(.22,1,.36,1) backwards}.faq-list details[open]>div{animation:bubble-answer .35s ease both}@keyframes bubble-arrive{from{opacity:0;transform:translateY(25px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bubble-answer{from{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:none}}}
@media(max-width:1000px) and (min-width:701px){.service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-list article{min-height:300px;padding:30px 24px}.service-list article:last-child{grid-column:1/-1;width:calc(50% - 12px);justify-self:center;margin-top:0}}
@media(max-width:700px){.service-list{grid-template-columns:1fr;gap:19px;margin:8px 0 27px}.service-list article,.service-list article:nth-child(2),.service-list article:nth-child(3){width:100%;max-width:420px;justify-self:center;min-height:245px;margin-top:0;padding:27px 26px;gap:14px;box-shadow:inset 0 2px 3px #ffffffcf,0 8px 18px #48513b06}.service-list h3{font-size:22px}.service-list .price-line{font-size:12px;margin-top:8px}.service-list p{font-size:13px;max-width:255px}.faq-list details{padding:0 17px;border-radius:25px}.faq-list summary{font-size:14px;gap:14px;min-height:64px;padding:18px 0}.faq-list details>div{padding-right:0;padding-bottom:21px}.faq-list p{font-size:13px}}
.faq-list summary:focus-visible{outline:1px solid #e6522b;outline-offset:4px;border-radius:15px}
/* A clearer offer, with the flower retained as the hero illustration. */
.introduction{top:38%;bottom:auto;max-width:310px;display:block}.introduction .eyebrow{font-size:10px;line-height:1.5;color:#5b6652;margin-bottom:13px}.introduction h2{font-size:clamp(32px,3vw,42px);font-weight:400;line-height:1.08;letter-spacing:-.05em;margin:0 0 15px}.introduction .hero-description{font-size:14px!important;line-height:1.75!important;color:#4d5845!important;margin:0!important}.introduction .hero-terms{font-size:12px!important;line-height:1.6!important;color:#5c6b50!important;margin:14px 0 0!important}.intro-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:17px;padding:12px 21px;font-size:13px;line-height:1.4;border:1px solid #56624c;background:#f2f1ee;color:#283022;transition:background-color .25s ease,border-color .25s ease,color .25s ease}.intro-link:hover,.intro-link:active{background:#e6522b;border-color:#e6522b;color:#fff9f2}
.package-link{font-size:12px;line-height:1.5;color:#425238;border-bottom:1px solid #a9b49a;padding:4px 0;min-height:30px;display:inline-flex;align-items:center}.package-link:hover{color:#c74624;border-color:#c74624}.service-list article{min-height:340px}.service-list .price-line{color:#536346}.package-list{margin:0 0 24px;border-top:1px solid #c8d0bf}.package-list details{border-bottom:1px solid #c8d0bf;scroll-margin-top:24px}.package-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:65px;padding:18px 0;font-size:15px;line-height:1.6;cursor:pointer}.package-list summary::-webkit-details-marker{display:none}.package-list summary>span:last-child{font-size:24px;font-weight:300;flex-shrink:0;transition:transform .25s ease}.package-list details[open] summary>span:last-child{transform:rotate(45deg)}.package-list summary:focus-visible{outline:1px solid #e6522b;outline-offset:4px}.package-body{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:0 0 25px}.package-body ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.8;color:#48573d}.package-body p{font-size:12px;line-height:1.9;margin:0;color:#66765a;max-width:400px}.pricing-note{font-size:12px;color:#647355;line-height:1.9;max-width:800px}
@media(min-width:701px) and (max-width:1100px){.experience{display:flex;flex-direction:column;min-height:0;padding-bottom:18px}.introduction{position:relative;inset:auto;order:0;align-self:flex-start;margin:25px 5.5vw 10px;max-width:650px}.introduction h2{font-size:40px}.introduction h2 br{display:none}.introduction .hero-description{max-width:520px}.wordmark{position:absolute;inset:auto;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.scene{order:1;width:100%;height:650px;margin:0;flex-shrink:0}.chapter-note{display:none}.has-section .scene{transform:none}.has-section .introduction{display:none}.story{order:2;width:auto;max-width:none;margin:25px 5.5vw 15px;align-self:stretch;transform:none}.story::before{display:none}.story-text{min-height:200px}.skip{position:relative;inset:auto;order:3;align-self:flex-end;margin:0 5.5vw}.has-section .scene-caption{opacity:1}}
@media(max-width:700px){.introduction{position:relative;inset:auto;order:-1;align-self:stretch;max-width:none;margin:20px 24px 6px}.introduction .eyebrow{font-size:9px;margin-bottom:10px}.introduction h2{font-size:32px;line-height:1.08;margin-bottom:12px}.introduction h2 br{display:none}.introduction .hero-description{font-size:14px!important;line-height:1.65!important;max-width:430px}.introduction .hero-terms{font-size:12px!important;margin-top:10px!important}.intro-link{margin-top:14px;min-height:48px;font-size:14px;padding:12px 21px}.wordmark,.is-webgl .wordmark{margin-top:19px}.service-list article,.service-list article:nth-child(2),.service-list article:nth-child(3){min-height:275px}.package-list summary{font-size:14px;min-height:64px;padding:18px 0}.package-body{grid-template-columns:1fr;gap:18px;padding-bottom:22px}.package-body ul{font-size:13px;gap:8px}.package-body p{font-size:12px}.pricing-note{font-size:12px;line-height:1.85}.has-section .introduction{display:none}}
@media(prefers-reduced-motion:no-preference){.package-list details[open] .package-body{animation:faq-in .3s ease both}}
/* Warm paper, burnt orange and amber glass: one palette across the site. */
:root{--paper:#f7f2e9;--accent:#d74b22;--accent-dark:#a33316;--muted:#75695f;--line:#d8c9bb}
::selection{background:#efae85;color:#28201b}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent-dark)}
.brand-symbol{background:var(--accent);border-color:var(--accent);color:#fff8ef}
.accent-copy,.wordmark span:last-child{color:var(--accent)}
.introduction .eyebrow{display:flex;align-items:center;gap:9px;color:#795544}
.introduction .eyebrow::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:var(--accent)}
.introduction .hero-description{color:#5d5148!important}.introduction .hero-terms{color:#80513b!important}
.intro-link,.action-button{background:var(--accent);border:1px solid var(--accent);color:#fff9f2;border-radius:4px;transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.intro-link:hover,.intro-link:active,.action-button:hover,.action-button:active{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff9f2}
.action-button:disabled,.action-button:disabled:hover{background:#e5d8cb;border-color:#d9c7b6;color:#6a594c;opacity:.65}
.header-links a:last-child{color:var(--accent-dark);border-color:var(--accent)}
.chapter-note b{color:#a43c1d}.chapter-note span,.chapter-note small,.scene-caption{color:#796a5e}
.section-label>span:first-child,.process-list .row-number,.section-index{color:var(--accent-dark)}
.section-label>span:first-child::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:1px}
.page-nav{border-color:var(--line)}.page-nav a:last-child{color:var(--accent-dark)}
.portfolio-section{border-color:var(--line)}
.section-intro p,.request-intro>p,.section-copy{color:#584e45}.muted-copy,.section-detail{color:#76675b}
.service-list article{background:radial-gradient(ellipse at 28% 20%,#fffaf2 0%,#f8e5d1 44%,#efbd99 100%);border-color:#dcaa85;box-shadow:inset 0 2px 3px #ffffffbb,0 12px 30px #9f4b1809}
.service-list article:nth-child(2){background:radial-gradient(ellipse at 30% 15%,#c94b24 0%,#bd401c 64%,#ab3316 100%);border-color:#c54a24;color:#fffaf2;box-shadow:inset 0 2px 3px #ffc39c88,0 12px 30px #9f4b1812}
.service-list .row-number,.service-list .price-line,.service-list p{color:#70462e}
.service-list article:nth-child(2) .row-number,.service-list article:nth-child(2) .price-line,.service-list article:nth-child(2) p{color:#fff5e9}
.service-list article:nth-child(2) .package-link{color:#fffaf2;border-color:#ffd6b7}
.package-link{color:var(--accent-dark);border-color:#c7855f}
.package-list,.package-list details{border-color:var(--line)}.package-list details[open] summary{color:var(--accent-dark)}
.package-body ul,.package-body p,.pricing-note,.process-list p,.faq-list p{color:#6c5a4d}.package-body li::marker{color:var(--accent)}
.process-list li{border-color:#dcc6b1}.process-list .row-number{font-size:12px}
.faq-list details{border-color:#d7bfa9;background:#faf5ed}.faq-list details[open]{background:#f7e0cb;border-color:#ce8d61}
.faq-list summary span{color:var(--accent-dark)}
.request{position:relative;isolation:isolate;border-top-color:#d2a681}
.request::before{content:"";position:absolute;z-index:-1;inset:0 -5.5vw;background:#f1d7be;pointer-events:none}
.request-form label,.request-form .consent,.delivery-note{color:#70523f}
.request-form input:not([type=checkbox]),.request-form textarea,.request-form select{border-bottom-color:#b68b6b;color:#33271f}
.request-form input::placeholder,.request-form textarea::placeholder{color:#8a705e}
.request-form input:focus-visible,.request-form textarea:focus-visible,.request-form select:focus-visible{outline-color:var(--accent-dark)}
.consent input{accent-color:var(--accent-dark)}.contact-links a{color:var(--accent-dark);border-color:#bd784e}
.form-status{color:#614b36}.form-status.is-error{color:#992f19}
.site-footer,.site-footer>a:first-child{color:#78503b}
.plain-link{color:var(--accent-dark);border-color:#c7855f}
.section-nav button[aria-pressed=true],.is-ready .callout.is-selected{color:var(--accent-dark)}
.section-nav button{color:#79614f}.menu{border-color:#cba88a}.menu::backdrop{background:#f7f2e9ee}
@media(hover:hover){.service-list article:hover{border-color:#b96a3c;box-shadow:inset 0 2px 3px #ffffff88,0 17px 34px #9f4b1814}.header-links a:hover,.page-nav a:hover,.plain-link:hover,.contact-links a:hover,.package-link:hover{color:var(--accent-dark);border-color:var(--accent-dark)}}
@media(max-width:700px){.request::before{inset:0 -22px}.callouts{border-color:#d8c9bb}.callout{color:#715a48;border-bottom-color:#dfd1c2}.callout.is-selected,.is-ready .callout.is-selected{background:#efd0b3;color:#85310f}.callout:active{background:#eeb78d}.service-list article:nth-child(2){box-shadow:inset 0 2px 3px #ffc39c88,0 8px 18px #9f4b180c}}

/* Rounded controls and a short bubble response, with no layout animation. */
button,.intro-link,.package-link{border-radius:28px}
.intro-link,.action-button{border-radius:999px;padding-inline:25px}
.text-button{padding-inline:13px}.menu-toggle{border:1px solid #d8b69a;padding-inline:17px}
.menu-close{width:44px;padding:0;border:1px solid #d8b69a}
.section-nav{gap:8px}.section-nav button{border:1px solid #d8b69a;padding:8px 15px;border-radius:999px}.section-nav button[aria-pressed=true]{background:#efd0b3}
.menu-nav{gap:7px}.menu-nav button{border:1px solid #d8c9bb;border-radius:24px;padding:14px 18px}
.package-link{border:1px solid #c7855f;border-radius:999px;padding:8px 17px;min-height:40px}
.service-list article:nth-child(2) .package-link{border:1px solid #ffd6b7}
.package-list summary{border-radius:28px;padding-inline:14px}.package-body{padding-inline:14px}
.replay,.movement,.back,.skip{border:1px solid #d8c9bb;font-size:10px;padding:8px 13px;min-width:0}.scene-controls{gap:12px}.scene-controls .replay{min-width:0}.scene-controls p{margin-right:auto}
.faq-list summary{border-radius:28px}.form-actions [hidden]{display:none!important}
@media(max-width:700px){.callout,.is-ready .callout{border:1px solid #d8c9bb;border-radius:999px;padding:10px 9px}.callout:nth-child(n+4){border-bottom:1px solid #d8c9bb}.callouts{gap:8px;border:0}.movement,.replay{font-size:10px;text-align:center}.scene-controls{gap:10px}.scene-controls>span{padding-top:8px}.scene-controls .movement,.scene-controls .replay{padding:8px 10px}.package-list summary{padding-inline:10px}}
@media(max-width:1100px){.introduction .accent-copy::before{content:" ";white-space:pre}}
/* The full personal name retains the split title animation. */
.brand>span:not(.brand-symbol){font:inherit;letter-spacing:inherit}
.wordmark{font-size:clamp(70px,10vw,150px)}
@media(max-width:700px){.wordmark,.is-webgl .wordmark{font-size:clamp(26px,9.5vw,56px);gap:8px}}
/* An explicit visitor choice: light on first visit, graphite and amber on demand. */
header{gap:18px}.header-links{margin-left:auto}.theme-toggle{border:1px solid #d8b69a;white-space:nowrap;padding:10px 16px;font-size:11px;flex-shrink:0}.theme-toggle[aria-pressed=true]{background:#554231;border-color:#a17851;color:#f3eee3}
html[data-theme=dark]{color-scheme:dark;--paper:#20211f;--ink:#f3eee3;--muted:#c0baae;--line:#4d4b44;--accent:#ef9a54;--accent-dark:#ffc087;font-family:'Golos Text',Manrope,Arial,sans-serif}
html[data-theme=dark] ::selection{background:#ef9a54;color:#241b15}
html[data-theme=dark] :is(button,a,summary,input,textarea,select):focus-visible{outline-color:#ef9a54}
html[data-theme=dark] .brand-symbol{background:#ef9a54;border-color:#ef9a54;color:#241b15}
html[data-theme=dark] :is(.text-button,.header-links,.chapter-note span,.chapter-note small,.scene-caption,.scene-controls,.section-nav button,.section-label span:last-child,.site-footer,.site-footer>a:first-child){color:#c0baae}
html[data-theme=dark] :is(.text-button:hover,.header-links a:hover,.menu-nav button:hover,.section-nav button:hover){color:#f3eee3}
html[data-theme=dark] :is(.chapter-note b,.section-label>span:first-child,.section-index,.header-links a:last-child,.package-link,.plain-link,.contact-links a,.package-list details[open] summary){color:#ef9a54}
html[data-theme=dark] .introduction .eyebrow{color:#c0baae}
html[data-theme=dark] .introduction .hero-description{color:#c0baae!important}
html[data-theme=dark] .introduction .hero-terms{color:#efbc8b!important}
html[data-theme=dark] :is(.intro-link,.action-button){background:#ef9a54;border-color:#ef9a54;color:#241b15}
html[data-theme=dark] :is(.intro-link:hover,.intro-link:active,.action-button:hover,.action-button:active){background:#ffc087;border-color:#ffc087;color:#241b15}
html[data-theme=dark] :is(.action-button:disabled,.action-button:disabled:hover){background:#4b4238;border-color:#655445;color:#c0baae}
html[data-theme=dark] :is(.header-note,.scene-controls,.menu,.menu-toggle,.theme-toggle,.menu-close,.section-nav button,.menu-nav button,.menu-pages,.replay,.movement,.back,.skip,.package-list,.package-list details,.portfolio-section){border-color:#4d4b44}
html[data-theme=dark] :is(.section-copy,.section-detail,.section-intro p,.muted-copy,.request-intro>p,.package-body ul,.package-body p,.pricing-note,.faq-list p,.menu>p){color:#c0baae}
html[data-theme=dark] .service-list article{background:radial-gradient(ellipse at 28% 20%,#45433a,#302f29 75%);border-color:#605443;box-shadow:inset 0 2px 3px #ffffff10,0 12px 30px #00000016;color:#f3eee3}
html[data-theme=dark] .service-list article:nth-child(2){background:radial-gradient(ellipse at 28% 20%,#f3b375,#d88d4e 75%);border-color:#e8a266;color:#241b15}
html[data-theme=dark] .service-list :is(.row-number,.price-line,p){color:#d0c5b2}
html[data-theme=dark] .service-list article:nth-child(2) :is(.row-number,.price-line,p,.package-link){color:#3c2c1e;border-color:#755333}
html[data-theme=dark] .package-link,html[data-theme=dark] .plain-link,html[data-theme=dark] .contact-links a{border-color:#9d734b}
html[data-theme=dark] .faq-list details{background:#282924;border-color:#4d4b44}
html[data-theme=dark] .faq-list details[open]{background:#343129;border-color:#8d6843}
html[data-theme=dark] .faq-list summary span{color:#ef9a54}
html[data-theme=dark] .request::before{background:#2c2a24}
html[data-theme=dark] :is(.request-form label,.request-form .consent,.delivery-note,.mail-fallback){color:#c0baae}
html[data-theme=dark] :is(.request-form input:not([type=checkbox]),.request-form textarea,.request-form select){color:#f3eee3;border-bottom-color:#8a7761}
html[data-theme=dark] :is(.request-form input::placeholder,.request-form textarea::placeholder){color:#aba294}
html[data-theme=dark] .consent input{accent-color:#ef9a54}
html[data-theme=dark] .form-status{color:#e1cba6}html[data-theme=dark] .form-status.is-error{color:#ffad94}
html[data-theme=dark] .menu::backdrop{background:#161714e8}
html[data-theme=dark] .menu-nav button span{color:#c0baae}
html[data-theme=dark] .section-nav button[aria-pressed=true]{background:#554231;color:#f3eee3}
html[data-theme=dark] .callout{color:#3c2c1e}html[data-theme=dark] .is-ready .callout:is(:hover,.is-selected,:focus-visible){color:#231a12}
@media(min-width:701px) and (max-width:1200px){.header-note{display:none}.header-links{gap:20px;margin-right:0}}
@media(max-width:700px){header{display:grid;grid-template-columns:1fr auto;height:auto;padding-top:15px;padding-bottom:5px;gap:8px 12px}.brand{grid-column:1;grid-row:1}.menu-toggle{grid-column:2;grid-row:1}.theme-toggle{grid-column:1/-1;grid-row:2;justify-self:end;min-height:40px;font-size:11px}html[data-theme=dark] .callout,html[data-theme=dark] .is-ready .callout{color:#c0baae;border-color:#4d4b44}html[data-theme=dark] .callout:is(:active,.is-selected),html[data-theme=dark] .is-ready .callout.is-selected{background:#554231;color:#f3eee3;border-color:#a17851}}
html[data-theme=dark] .request-form input::placeholder,html[data-theme=dark] .request-form textarea::placeholder{color:#aba294;opacity:1}
/* Sculpted spheres: the text stays on a calm, readable front plane. */
.service-list{perspective:1100px;gap:34px;align-items:start;padding-bottom:30px}
.service-list article{--orb-glint:#fff9efb3;--orb-rim:#ffe8d4c9;--orb-floor:#70351333;isolation:isolate;aspect-ratio:1;min-height:0;padding:30px 28px;gap:12px;border-radius:50%;border:1px solid #ddb394;background:radial-gradient(circle at 30% 20%,#fffaf0 0%,#fbe5cf 30%,#eec6a3 61%,#bd7c4c 89%,#f5d1b2 100%);box-shadow:inset 2px 3px 5px #fff9eee8,inset -10px -18px 28px #8d401a42,inset 0 -2px 5px #fff2dfb3,0 17px 29px -18px #82421866;transform:translateZ(0);transition:transform 850ms var(--ease),border-color 450ms ease;overflow:visible}
.service-list article:nth-child(2){border-radius:50%;margin-top:24px;background:radial-gradient(circle at 29% 19%,#ffbd86 0%,#cd4b21 22%,#a93214 58%,#6f200e 90%,#e6743c 100%);border-color:#de6d3e;box-shadow:inset 2px 3px 6px #ffdfbda8,inset -12px -19px 31px #6b1d126b,inset 0 -2px 5px #ffba7f80,0 17px 29px -18px #86311a80;--orb-glint:#fff0dca8;--orb-rim:#ffcf9a9c;--orb-floor:#85341e42}
.service-list article:nth-child(3){border-radius:50%;margin-top:7px}
.service-list article::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;background:radial-gradient(ellipse 29% 12% at 34% 13%,var(--orb-glint),transparent 95%),radial-gradient(ellipse 26% 8% at 71% 87%,var(--orb-rim),transparent 95%);opacity:.9;transition:opacity 650ms ease,transform 850ms var(--ease)}
.service-list article::after{content:"";position:absolute;left:18%;right:18%;height:26px;bottom:-24px;border-radius:50%;background:radial-gradient(ellipse,var(--orb-floor),transparent 70%);pointer-events:none;z-index:-1;transform:translateZ(-1px)}
.service-list article>*{position:relative;z-index:1}
.service-list .row-number{font-size:10px;letter-spacing:.08em}.service-list h3{font-size:23px;line-height:1.25;max-width:255px}.service-list p{max-width:235px;line-height:1.7;margin:0}.service-list .price-line{font-size:12px;line-height:1.7;margin-top:10px}
.service-list .package-link{background:#fff6e940;box-shadow:inset 0 1px 1px #ffffff66;transition:background-color 400ms ease,color 400ms ease,border-color 400ms ease,transform 600ms var(--ease)}
.service-list article:nth-child(2) .package-link{background:#651e111a;box-shadow:inset 0 1px 1px #ffe1ba3b}
html[data-theme=dark] .service-list article{--orb-glint:#fff4d66b;--orb-rim:#d6b77d66;--orb-floor:#00000088;border-radius:50%;border-color:#716b55;background:radial-gradient(circle at 30% 21%,#77786a 0%,#45483e 27%,#30332b 61%,#131810 91%,#4e4d3b 100%);box-shadow:inset 2px 3px 5px #e9ecc357,inset -11px -19px 30px #060b096b,inset 0 -2px 5px #d8c89f3d,0 18px 30px -18px #00000099}
html[data-theme=dark] .service-list article:nth-child(2){--orb-glint:#fffce0cf;--orb-rim:#fff2beaa;--orb-floor:#00000099;border-radius:50%;border-color:#f4bd79;background:radial-gradient(circle at 28% 18%,#fff0c4 0%,#f4bf7b 27%,#dc9652 60%,#8c491e 91%,#efbe7e 100%);box-shadow:inset 2px 3px 6px #fff8d6cc,inset -12px -19px 29px #7139146b,inset 0 -2px 5px #fff0ae80,0 18px 30px -18px #00000099}
html[data-theme=dark] .service-list .package-link{background:#fff2c708;box-shadow:inset 0 1px 1px #f5dc9f26}
html[data-theme=dark] .service-list article:nth-child(2) .package-link{background:#fff5d71f;box-shadow:inset 0 1px 1px #fff6d159}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.service-list article:hover,.service-list article:focus-within{transform:translateY(-7px) rotateX(3deg) rotateY(-3deg);border-color:#bd875c}.service-list article:nth-child(2):hover{transform:translateY(-7px) rotateX(3deg) rotateY(3deg)}.service-list article:hover::before{opacity:1;transform:rotate(-5deg)}html[data-theme=dark] .service-list article:hover{border-color:#baa37b}.service-list .package-link:hover{transform:translateY(-1px);background:#fff4e25e}html[data-theme=dark] .service-list .package-link:hover{background:#fff0c31f}}
@media(min-width:701px) and (max-width:1000px){.service-list{gap:34px}.service-list article{min-height:0;padding:28px 25px}.service-list article:last-child{width:calc(50% - 17px)}}
@media(max-width:700px){.service-list{gap:43px;padding:0 5px 28px}.service-list article,.service-list article:nth-child(2),.service-list article:nth-child(3){width:100%;max-width:390px;min-height:0;margin:0;padding:26px 22px;gap:10px;border-radius:50%;aspect-ratio:1}.service-list h3{font-size:21px;max-width:230px}.service-list p{font-size:12px;line-height:1.6;max-width:220px}.service-list .price-line{font-size:11px;line-height:1.6;margin-top:8px}.service-list .row-number{font-size:9px}.service-list .package-link{min-height:40px;font-size:12px;padding:8px 16px}.service-list article::after{height:20px;bottom:-21px}}
@media(max-width:360px){.service-list article,.service-list article:nth-child(2),.service-list article:nth-child(3){padding:24px 17px;gap:8px}.service-list h3{font-size:19px}.service-list p{max-width:205px;font-size:12px}.service-list .price-line{font-size:10px}.service-list .package-link{padding:7px 14px;min-height:37px}}
/* One restrained motion language, with no perpetual movement below the flower. */
.intro-link,.action-button,.text-button,.callout,.section-nav button{transition:background-color 420ms ease,color 420ms ease,border-color 420ms ease,transform 650ms var(--ease)}
.faq-list details{transition:background-color 450ms ease,border-color 450ms ease}.faq-list summary span,.package-list summary>span:last-child{transition:transform 450ms var(--ease)}
.request-form :is(input:not([type=checkbox]),textarea,select){transition:border-color 400ms ease,color 400ms ease}
::view-transition-group(root){animation-duration:450ms;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-old(root),::view-transition-new(root){animation-duration:450ms;animation-timing-function:ease-in-out}
@media(prefers-reduced-motion:no-preference){.soft-waiting{opacity:0;transform:translateY(16px)}.soft-arrived{animation:soft-arrive 850ms var(--ease) both}.bubble-visible{animation:orb-arrive 1050ms var(--ease) backwards}.faq-list details[open]>div,.package-list details[open] .package-body{animation:answer-arrive 450ms var(--ease) both}.menu[open]{animation:menu-arrive 380ms var(--ease) both}@keyframes soft-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes orb-arrive{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateZ(0)}}@keyframes answer-arrive{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes menu-arrive{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none!important}.service-list article:hover{transform:none!important}}
.service-list article:hover{box-shadow:inset 2px 3px 5px #fff9eee8,inset -10px -18px 28px #8d401a42,inset 0 -2px 5px #fff2dfb3,0 17px 29px -18px #82421866}
.service-list article:nth-child(2):hover{box-shadow:inset 2px 3px 6px #ffdfbda8,inset -12px -19px 31px #6b1d126b,inset 0 -2px 5px #ffba7f80,0 17px 29px -18px #86311a80}
html[data-theme=dark] .service-list article:hover{box-shadow:inset 2px 3px 5px #e9ecc357,inset -11px -19px 30px #060b096b,inset 0 -2px 5px #d8c89f3d,0 18px 30px -18px #00000099}
html[data-theme=dark] .service-list article:nth-child(2):hover{box-shadow:inset 2px 3px 6px #fff8d6cc,inset -12px -19px 29px #7139146b,inset 0 -2px 5px #fff0ae80,0 18px 30px -18px #00000099}
/* Clear petal navigation, kept separate from the material of the flower. */
.callout,.is-ready .callout{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:10px 13px;font-size:12px;line-height:1.35;font-weight:500;letter-spacing:0;color:#453222;background:#fff9efef;border:1px solid #c6aa8a;border-radius:999px;box-shadow:0 3px 12px #38251614,inset 0 1px 0 #ffffffb3;opacity:0;transition:opacity 600ms ease,background-color 350ms ease,color 350ms ease,border-color 350ms ease,box-shadow 350ms ease}
.is-ready .callout{opacity:1}.callout::after{display:none}.callout::before{content:"";width:4px;height:4px;border-radius:50%;background:#c3542e;flex-shrink:0}
.is-ready .callout:is(:hover,:focus-visible){background:#fffdf7;color:#7c2c12;border-color:#b66c3c;box-shadow:0 4px 15px #38251626,inset 0 1px 0 #ffffffcc}
.is-ready .callout.is-selected{background:#c8431d;border-color:#c8431d;color:#fff8ed;box-shadow:0 4px 14px #8b361b26}.callout.is-selected::before{background:currentColor}
html[data-theme=dark] .callout,html[data-theme=dark] .is-ready .callout{color:#f3eee3;background:#282a25f5;border-color:#81735b;box-shadow:0 3px 12px #00000038,inset 0 1px 0 #fff3cf1a}
html[data-theme=dark] .callout::before{background:#ef9a54}
html[data-theme=dark] .is-ready .callout:is(:hover,:focus-visible){color:#fff7e8;background:#3b352b;border-color:#bf9664}
html[data-theme=dark] .is-ready .callout.is-selected{color:#241b15;background:#ef9a54;border-color:#ef9a54}.is-ready .callout.is-selected::before{background:currentColor}
@media(min-width:1101px){.has-section .callout{font-size:14px}}
@media(max-width:700px){.callouts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:3px 22px 0}.callout,.is-ready .callout{white-space:normal;min-height:48px;font-size:12px;padding:9px 10px;border:1px solid #c6aa8a;box-shadow:inset 0 1px 0 #ffffffa6}.callout:nth-child(n+4){border-bottom:1px solid #c6aa8a}.callout:disabled{opacity:.5}.is-ready .callout.is-selected{background:#c8431d;color:#fff8ed;border-color:#c8431d}html[data-theme=dark] .callout,html[data-theme=dark] .is-ready .callout{border-color:#81735b}html[data-theme=dark] .is-ready .callout.is-selected{color:#241b15;background:#ef9a54;border-color:#ef9a54}}
@media(max-width:360px){.callouts{margin-inline:18px;gap:8px}.callout,.is-ready .callout{font-size:11px;padding-inline:8px;gap:5px}}
/* Scroll controls the flower, while the document keeps native scrolling. */
.bloom-scroll{position:relative}
.scroll-bloom .scene-caption{opacity:1}
@media(min-width:1101px) and (prefers-reduced-motion:no-preference){.scroll-bloom .bloom-scroll{height:calc(var(--bloom-height,650px) + min(620px,75svh));padding-bottom:0}.scroll-bloom .bloom-scroll>.experience{position:sticky;top:0}}
@media(max-width:700px){.scroll-bloom .callout{opacity:.65;pointer-events:auto}.scroll-bloom.is-ready .callout{opacity:1}}


