@font-face{font-family:Manrope;src:url('assets/manrope-variable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--paper:#faf9f5;--ink:#16392f;--muted:#68746c;--green:#173b30;--line:#dce2d9;--accent:#d9e8b7;--serif:Georgia,'Times New Roman',serif;color-scheme:light;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}button,input,textarea{font:inherit}button,a,label,input{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,.upload:has(+input:focus-visible){outline:3px solid #778b3c;outline-offset:5px}img{display:block;max-width:100%}button{border:0;background:none}svg{width:24px;height:24px}h1,h2,h3,p{margin:0}button,a,summary{transition:background .18s,color .18s,box-shadow .18s}section{scroll-margin-top:30px}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:20px;z-index:50;padding:14px;background:white}.skip-link:focus{top:10px}.announcement{height:35px;background:var(--green);color:#ebf0e4;display:flex;gap:18px;align-items:center;justify-content:center;font-size:12px;letter-spacing:.035em}.announcement span{color:#d9e8b7;font-size:20px}.header{max-width:1440px;margin:auto;height:100px;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:32px;letter-spacing:-1.5px;display:inline-flex;align-items:center;gap:10px}.brand svg{height:31px;width:31px;fill:none;stroke:currentColor;stroke-width:1.8}.brand-dot{color:#8f9e65;margin-left:-9px}.header nav{display:flex;gap:32px;font-size:13px;font-weight:600}.header nav a{padding:12px 0}.header nav a:hover{color:#829750}.header nav .active{border-bottom:1px solid var(--ink)}.header-inquiry{display:flex;gap:13px;align-items:center;font-size:13px;font-weight:600}.header-inquiry svg{width:22px}.product{max-width:1440px;margin:auto;padding:48px 5.2% 58px;display:grid;grid-template-columns:1.12fr 1fr;gap:6.3%;align-items:start}.gallery-column{min-width:0}.gallery{height:610px;position:relative;overflow:hidden;background:#c0b59e;border-radius:5px}.gallery>img{width:100%;height:100%;object-fit:cover;object-position:48% center;transition:transform .7s,object-position .7s}.gallery.detail>img{transform:scale(1.6);object-position:54% 65%}.gallery::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0b201999);pointer-events:none}.gallery-badge{position:absolute;left:23px;top:24px;padding:10px 15px;border-radius:2px;background:#fcfbf1ed;font-size:12px;font-weight:600;display:flex;gap:8px;align-items:center}.gallery-badge>span{font-size:19px}.gallery-arrow{z-index:2;position:absolute;top:50%;transform:translateY(-50%);border:1px solid #ffffff66;background:#faf9f51c;backdrop-filter:blur(8px);color:#fff;border-radius:50%;height:40px;width:40px;font-size:21px}.gallery-arrow:hover{background:#fff;color:var(--ink)}.gallery-arrow.prev{left:18px}.gallery-arrow.next{right:18px}.gallery-bottom{position:absolute;bottom:25px;left:26px;right:26px;display:flex;justify-content:space-between;color:white;font-size:13px;z-index:2}.gallery-bottom>span:first-child{font-family:var(--serif);font-style:italic;font-size:22px}.gallery-bottom>span:last-child{letter-spacing:2px;font-size:11px}.thumbnails{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.thumbnail{height:92px;overflow:hidden;position:relative;border:2px solid transparent;border-radius:3px;padding:0;background:#e8ebdf}.thumbnail>img{height:100%;width:100%;object-fit:cover}.thumbnail .detail-thumbnail{transform:scale(1.7)}.thumbnail>span:not(.photo-symbol){position:absolute;bottom:0;left:0;right:0;padding:6px 3px;background:#112b23b8;color:#fff;font-size:10px}.thumbnail.selected{border:2px solid var(--green);box-shadow:0 0 0 3px var(--paper) inset}.thumbnail.your-photo{border:1px dashed #a7b295}.thumbnail.your-photo.selected{border:2px solid var(--green)}.your-photo>span:not(.photo-symbol){background:transparent;color:var(--ink);bottom:7px}.photo-symbol{font-size:32px;position:absolute;left:0;right:0;top:10px;font-weight:200}.image-note{text-align:center;font-size:10px;color:#657268;margin-top:15px}.configuration{padding-top:5px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;display:flex;gap:8px;align-items:center}.eyebrow>span{font-size:20px;font-weight:400}h1{font-size:clamp(38px,3.5vw,52px);line-height:1.08;letter-spacing:-2px;margin:19px 0 18px;font-weight:700}h1 em{font-family:var(--serif);font-weight:400;font-size:1.1em;letter-spacing:-1.7px}.intro{font-size:14px;line-height:1.8;color:var(--muted);max-width:470px}.mini-benefits{display:flex;gap:19px;margin:21px 0 29px;padding-bottom:24px;border-bottom:1px solid var(--line);font-size:10px;white-space:nowrap}.mini-benefits>span{display:flex;gap:6px;align-items:center}.mini-benefits>span>span{font-size:17px}fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}legend,.upload-heading{font-size:12px;font-weight:650;margin-bottom:12px;padding:0;display:flex;gap:10px;align-items:center}legend>span,.step-number{font-size:10px;color:#889180;font-weight:500}.choice-group{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.choice-group label{position:relative;cursor:pointer}.choice-group input{position:absolute;opacity:0;width:1px;height:1px}.choice-group label>span{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid var(--line);border-radius:3px;height:63px;font-size:19px;font-weight:650;gap:5px;transition:background .2s,border-color .2s}.choice-group small{font-size:10px;font-weight:400;color:var(--muted)}.choice-group input:checked+span{border-color:var(--green);background:#edf0e4;box-shadow:inset 0 0 0 .5px var(--green)}.choice-group input:focus-visible+span{outline:3px solid #829750;outline-offset:3px}.choice-group label:hover>span{background:#f0f2e9}.sizes label>span{font-size:13px;height:56px}.upload-heading .optional{margin-left:auto;font-size:10px;font-weight:400;color:var(--muted)}.upload{border:1px dashed #b6c1ac;display:flex;align-items:center;gap:12px;padding:14px;background:#f3f4ec;cursor:pointer;border-radius:3px}.upload:hover{background:#e9efde}.upload>svg{width:24px;flex-shrink:0}.upload strong{display:block;font-size:11px;font-weight:600;overflow-wrap:anywhere}.upload small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.upload-plus{margin-left:auto;font-size:22px;font-weight:300}.privacy-note{font-size:10px;line-height:1.65;color:var(--muted);margin-top:9px}.text-button{font-size:11px;text-decoration:underline;padding:6px 0}.purchase-row{margin-top:24px;border-top:1px solid var(--line);padding-top:19px;display:flex;justify-content:space-between;align-items:end}.purchase-row small{display:block;font-size:9px;letter-spacing:1.2px;color:var(--muted);margin-bottom:5px}.purchase-row strong{font-size:22px;font-weight:650;letter-spacing:-.7px}.no-obligation{font-size:10px;color:var(--muted);padding-bottom:4px}.primary-button{background:var(--green);border:1px solid var(--green);color:#fff;border-radius:3px;display:flex;justify-content:space-between;align-items:center;width:100%;padding:17px 21px;font-size:13px;font-weight:600;margin-top:17px;min-height:52px}.primary-button:hover{background:#28523e}.primary-button>span{font-size:20px;font-weight:400}.under-button{text-align:center;font-size:9px;line-height:1.7;color:var(--muted);margin-top:11px}.configuration-summary{font-size:10px;color:var(--muted);text-align:center;margin-top:6px}.story-strip{background:#e9eddc;max-width:1290px;margin:0 auto;display:flex;align-items:center;gap:35px;padding:35px 6%;border-top:1px solid #dee4cf;border-bottom:1px solid #dee4cf}.star{font-size:58px;font-weight:200;color:#627740}.story-strip p{font-size:21px;line-height:1.5;font-family:var(--serif)}.story-strip strong{font-weight:400;font-style:italic}.strip-note{margin-left:auto;font-size:12px;color:#62705f;line-height:1.8}.story-strip svg{width:95px;height:65px;stroke:#768852;fill:none;stroke-width:1.5}.how-section{max-width:1290px;margin:auto;padding:72px 5.8% 66px}.section-heading{text-align:center}h2{font-size:37px;font-family:var(--serif);font-weight:400;letter-spacing:-1px;line-height:1.16}.section-heading .eyebrow{justify-content:center;margin-bottom:15px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:48px}.steps article{border-top:1px solid #cfd7c7;padding-top:22px}.step-index{font-size:12px;letter-spacing:1px;color:#7d8a67}.steps h3{font-size:17px;font-weight:600;margin:15px 0 10px}.steps p{font-size:13px;line-height:1.9;color:var(--muted)}.faq-section{max-width:1140px;margin:0 auto 76px;padding-top:50px;border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.faq-section .eyebrow{margin-bottom:20px}.contact-link{display:inline-flex;gap:22px;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-top:25px}.faqs details{border-bottom:1px solid var(--line);padding:20px 0}.faqs details:first-child{padding-top:4px}summary{list-style:none;display:flex;justify-content:space-between;gap:16px;cursor:pointer;font-size:13px;font-weight:550;line-height:1.6}summary::-webkit-details-marker{display:none}summary>span{font-size:22px;font-weight:300;line-height:1}details[open] summary>span{transform:rotate(45deg)}details p{font-size:13px;line-height:1.8;color:var(--muted);padding:15px 24px 0 0}.footer{background:#123126;color:#eef0e4;padding:41px max(5.2%,calc((100% - 1290px)/2)) 21px}.footer-top{display:flex;align-items:center;gap:55px;padding-bottom:34px}.footer-top .brand{font-size:39px}.footer-top p{font-size:12px;color:#b7c4b6;line-height:1.8}.footer-top>a:last-child{margin-left:auto;font-size:13px}.footer-bottom{border-top:1px solid #ffffff23;display:flex;justify-content:space-between;gap:20px;padding-top:22px;font-size:10px;color:#b7c4b6}.footer-bottom nav{display:flex;gap:23px}.footer a:hover{color:#d9e8b7}.personal-preview{position:absolute;inset:0;background:#e3e6d6;display:grid;place-items:center;padding:60px 30px}.personal-preview>img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;box-shadow:0 15px 45px #14201a22}.puzzle-grid{position:absolute;inset:60px 30px;pointer-events:none;background-image:linear-gradient(#ffffff30 1px,transparent 1px),linear-gradient(90deg,#ffffff30 1px,transparent 1px);background-size:10% 10%;mix-blend-mode:overlay}.gallery.own-photo .gallery-badge{background:#fff9}.gallery.own-photo .gallery-bottom{color:var(--ink)}.gallery.own-photo::after{display:none}.gallery.own-photo .gallery-arrow{background:#16392f88}dialog{border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);padding:39px;width:min(530px,calc(100% - 28px));max-height:90dvh;overflow:auto;box-shadow:0 25px 100px #061b2650}dialog::backdrop{background:#071e1bcc;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:12px;top:10px;font-size:28px;min-width:36px;min-height:36px}dialog .eyebrow{font-size:9px;margin:4px 0 20px}dialog h2{font-size:32px;margin-bottom:15px}dialog>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted)}.inquiry-summary{padding:19px;margin:22px 0;background:#e9eddc;border:1px solid var(--line);font-size:14px;font-weight:600}.message-label{font-size:11px;display:block;margin-bottom:9px}.message-label>span{color:var(--muted)}textarea{width:100%;resize:vertical;border:1px solid #c7d1bf;border-radius:3px;padding:13px;background:white;font-size:12px;color:var(--ink);line-height:1.6}.copy-button{width:100%;text-decoration:underline;font-size:12px;padding:13px}.dialog-fineprint{font-size:10px!important}.dialog-fineprint a{text-decoration:underline}#copy-status{font-size:11px}.noscript{position:fixed;bottom:0;background:#fff5bf;border:1px solid #d5c879;padding:20px;width:100%;z-index:30}.legal-main{max-width:820px;margin:65px auto 90px;padding:0 28px;min-height:55vh}.legal-main h1{font-family:var(--serif);font-weight:400;font-size:48px;margin:22px 0 30px}.legal-main h2{font-family:Manrope,Arial,sans-serif;font-size:20px;font-weight:600;letter-spacing:-.4px;margin:35px 0 13px}.legal-main p,.legal-main li,.legal-main address{font-size:16px;line-height:1.85;color:#536359;font-style:normal}.legal-main p+p{margin-top:16px}.legal-main a:not(.back-link){text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.back-link{font-size:13px}.legal-main ul{padding-left:22px}.legal-main .legal-note{background:#edf0e4;border-left:3px solid #849664;padding:18px 22px;font-size:14px;margin-top:25px}.legal-header{max-width:none;padding:0 max(5.2%,calc((100% - 1140px)/2))}.legal-footer .footer-bottom{flex-wrap:wrap}
@media(min-width:1600px){.gallery{height:660px}.product{padding-top:60px;padding-bottom:70px}.configuration{padding-top:14px}}
@media(max-width:1050px){.header{height:85px}.header nav{gap:19px;font-size:11px}.product{gap:4%;padding-left:4%;padding-right:4%}.gallery{height:600px}.mini-benefits{gap:12px;font-size:9px}.configuration h1{font-size:38px}.faq-section{margin-left:6%;margin-right:6%;gap:40px}.gallery-badge{font-size:10px;padding:8px 10px;left:17px}.intro{font-size:13px}.choice-group small{font-size:9px}.footer-bottom>span:last-child{display:none}}
@media(max-width:760px){.announcement{font-size:10px;height:31px;gap:13px}.header{height:76px;padding:0 6%}.brand{font-size:29px}.brand svg{width:26px;height:26px}.header nav{display:none}.header-inquiry{font-size:11px}.product{display:flex;flex-direction:column;padding:22px 5% 38px;gap:32px}.gallery-column,.configuration{width:100%}.gallery{height:auto;aspect-ratio:1.2;border-radius:4px}.gallery>img{position:absolute;inset:0}.gallery-badge{top:16px;left:16px;font-size:10px}.gallery-bottom{bottom:20px;left:20px;right:20px}.gallery-bottom>span:first-child{font-size:20px}.thumbnails{gap:9px;margin-top:10px}.thumbnail{height:70px}.thumbnail>span:not(.photo-symbol){font-size:9px}.photo-symbol{top:1px;font-size:28px}.image-note{font-size:9px;margin-top:10px}.configuration{padding:0 2%}.eyebrow{font-size:9px;letter-spacing:1.6px}.configuration h1{font-size:45px;margin-top:15px;margin-bottom:17px;letter-spacing:-1.9px}.intro{font-size:14px}.mini-benefits{font-size:10px;gap:17px;margin:21px 0 26px;padding-bottom:23px}legend,.upload-heading{font-size:13px}.choice-group label>span{height:65px;font-size:21px}.choice-group small{font-size:10px}.sizes label>span{font-size:14px;height:60px}.upload strong{font-size:12px}.upload small{font-size:10px}.upload{padding:16px 12px}.privacy-note{font-size:11px}.purchase-row strong{font-size:25px}.purchase-row small{font-size:9px}.primary-button{font-size:14px;min-height:56px}.under-button{font-size:10px}.configuration-summary{font-size:11px}.story-strip{padding:28px 7%;gap:20px}.star{font-size:41px}.story-strip p{font-size:19px}.strip-note,.story-strip svg{display:none}.how-section{padding:49px 7%}.section-heading{text-align:left}.section-heading .eyebrow{justify-content:flex-start}h2{font-size:34px}.steps{grid-template-columns:1fr;gap:24px;margin-top:29px}.steps article{padding-top:18px}.steps h3{margin:9px 0 8px}.steps p{font-size:14px}.faq-section{display:block;margin:0 7% 50px;padding-top:40px}.faq-section h2 br{display:none}.faq-section .eyebrow{margin-bottom:15px}.contact-link{margin-top:19px}.faqs{margin-top:35px}.faqs summary{font-size:14px}.faqs p{font-size:14px}.footer{padding:33px 7% 24px}.footer-top{gap:22px;flex-wrap:wrap}.footer-top .brand{font-size:34px}.footer-top p{font-size:11px}.footer-top>a:last-child{width:100%;margin-left:0}.footer-bottom{flex-direction:column;font-size:11px;gap:18px}.footer-bottom nav{gap:23px;flex-wrap:wrap}.legal-main{margin:40px auto 55px;padding:0 7%}.legal-main h1{font-size:39px}.legal-header .header-inquiry{font-size:12px}.legal-main h2{font-size:19px}.personal-preview{padding:52px 22px}.puzzle-grid{inset:52px 22px}dialog{padding:29px 22px}dialog .eyebrow{font-size:8px}dialog h2{font-size:29px}dialog>p:not(.eyebrow){font-size:13px}.message-label{font-size:12px}textarea{font-size:14px}}
.intro,.steps p,.faqs p,dialog>p:not(.eyebrow){font-size:16px}
.header nav,.header-inquiry,legend,.upload-heading,.sizes label>span,.upload strong,.primary-button,.contact-link,summary,.copy-button,.message-label,textarea{font-size:14px}
.announcement,.eyebrow,.gallery-badge,.gallery-bottom>span:last-child,.thumbnail>span:not(.photo-symbol),.image-note,.mini-benefits,.choice-group small,.upload small,.privacy-note,.optional,.upload-heading .optional,.purchase-row small,.no-obligation,.under-button,.configuration-summary,.strip-note,.footer-top p,.footer-bottom,.dialog-fineprint,.step-number,legend>span,dialog .eyebrow,#copy-status{font-size:12px}
.mini-benefits{flex-wrap:wrap;gap:10px 17px}.dialog-fineprint{font-size:12px!important}.thumbnail>span:not(.photo-symbol){line-height:1.25}.upload-heading{flex-wrap:wrap}.configuration .eyebrow{letter-spacing:1.3px}.purchase-row{gap:12px}.no-obligation{text-align:right}
@media(max-width:400px){.header-inquiry{font-size:12px}.configuration h1{font-size:39px}.choice-group{gap:6px}.choice-group small{font-size:12px;line-height:1.25;text-align:center}.choice-group label>span{height:78px}.sizes label>span{height:66px}.thumbnail>span:not(.photo-symbol){font-size:11px}.purchase-row strong{font-size:22px}.announcement{font-size:11px}.eyebrow{font-size:11px}.mini-benefits{gap:9px 13px}.footer-bottom nav{gap:17px}}
.theme-toggle{border:1px solid var(--line);width:44px;height:44px;min-width:44px;border-radius:50%;display:grid;place-items:center;margin-left:22px}.theme-toggle:hover{background:#82975020}.theme-toggle svg{width:20px;height:20px}.sun-icon{display:none}.header nav{margin-left:auto}.header-inquiry{margin-left:24px}.legal-header .theme-toggle{margin-left:auto}.gallery-arrow{min-height:44px;min-width:44px}.dialog-close{min-height:44px;min-width:44px}.mobile-request{display:none}.legal-main .theme-toggle{margin-left:0}
:root[data-theme="dark"]{--paper:#10251e;--ink:#eef1e6;--muted:#b2bfb1;--green:#c6dfac;--line:#375044;--accent:#d9e8b7;color-scheme:dark}
[data-theme="dark"] .sun-icon{display:block}[data-theme="dark"] .moon-icon{display:none}
[data-theme="dark"] .announcement{background:#091c16;color:#d9e8c9}[data-theme="dark"] .header{border-color:#2a4336}[data-theme="dark"] .brand-dot{color:#c6dfac}[data-theme="dark"] .gallery-badge{color:#16392f}[data-theme="dark"] .gallery{background:#26372b}[data-theme="dark"] .gallery-arrow:hover{background:#c6dfac;color:#10251e}[data-theme="dark"] .choice-group input:checked+span{background:#2e4936;border-color:#c6dfac;box-shadow:inset 0 0 0 .5px #c6dfac}[data-theme="dark"] .choice-group label:hover>span{background:#253e2e}[data-theme="dark"] .upload{background:#1a3226;border-color:#67815d}[data-theme="dark"] .upload:hover{background:#254331}[data-theme="dark"] .primary-button{background:#c6dfac;border-color:#c6dfac;color:#142c20}[data-theme="dark"] .primary-button:hover{background:#d8ecc4}[data-theme="dark"] .story-strip{background:#20382a;border-color:#39513b}[data-theme="dark"] .star,[data-theme="dark"] .step-index{color:#bdd29f}[data-theme="dark"] .strip-note{color:#b2bfb1}[data-theme="dark"] .story-strip svg{stroke:#bdd29f}[data-theme="dark"] .thumbnail{background:#294032}[data-theme="dark"] .thumbnail.selected{border-color:#c6dfac}[data-theme="dark"] .thumbnail.your-photo{border-color:#789166}[data-theme="dark"] .image-note{color:#b2bfb1}[data-theme="dark"] .steps article{border-color:#375044}[data-theme="dark"] .footer{background:#091c16}[data-theme="dark"] .inquiry-summary{background:#263f2e}[data-theme="dark"] textarea{background:#0c1f18;color:#eef1e6;border-color:#51664e}[data-theme="dark"] textarea::placeholder{color:#9faa9f}[data-theme="dark"] .personal-preview{background:#294032}[data-theme="dark"] .gallery.own-photo .gallery-bottom{color:#eef1e6}[data-theme="dark"] .legal-main p,[data-theme="dark"] .legal-main li,[data-theme="dark"] .legal-main address{color:#b8c5b7}[data-theme="dark"] .legal-main .legal-note{background:#233c2d}[data-theme="dark"] .skip-link{background:#243c2c}
@media(max-width:1050px) and (min-width:761px){.header{padding:0 4%}.header nav{gap:14px;font-size:12px}.header-inquiry{font-size:12px;margin-left:17px}.theme-toggle{margin-left:17px}.brand{font-size:28px}}
@media(max-width:760px){body:has(.mobile-request){padding-bottom:calc(88px + env(safe-area-inset-bottom))}.header{gap:12px}.header .theme-toggle{margin-left:auto}.header-inquiry{margin-left:0}.header-inquiry span{display:none}.header-inquiry{min-width:44px;min-height:44px;justify-content:center}.legal-header .header-inquiry{font-size:12px;min-width:0}.mobile-request{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:8;padding:13px max(5%,env(safe-area-inset-left)) calc(13px + env(safe-area-inset-bottom));gap:14px;align-items:center;justify-content:space-between;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -4px 22px #071b1410}.mobile-request strong{display:block;font-size:13px;font-weight:600}.mobile-request>div>span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.mobile-request button{background:#173b30;color:white;border-radius:3px;padding:14px 19px;min-height:48px;font-size:14px;display:flex;gap:18px;align-items:center}.mobile-request button>span{font-size:21px}[data-theme="dark"] .mobile-request button{background:#c6dfac;color:#10251e}textarea{font-size:16px}dialog{max-height:calc(100dvh - 32px);padding-bottom:calc(26px + env(safe-area-inset-bottom))}.copy-button{min-height:44px}.footer-bottom nav a{padding:10px 0}.footer-bottom nav{gap:10px 23px}.faq-section h2 br::after{content:' '}.gallery-badge{font-size:11px}.mini-benefits{line-height:1.65}.noscript{bottom:90px}}
@media(max-width:360px){.header{padding:0 5%;gap:7px}.brand{font-size:26px}.brand svg{width:25px}.configuration h1{font-size:35px}.purchase-row strong{font-size:21px}.purchase-row{align-items:start}.no-obligation{max-width:88px}.legal-header .header-inquiry{max-width:128px;text-align:right}.mobile-request button{padding:12px 15px;gap:12px}.mobile-request strong{font-size:12px}.gallery-badge{font-size:10px}.announcement{font-size:10px;gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Display preferences */
:root[data-accent="forest"]{--green:#173b30;--accent:#d9e8b7;--soft:#edf0e4;--accent-contrast:#fff}
:root[data-accent="ocean"]{--green:#185d86;--accent:#a9d9f3;--soft:#e5f2f8;--accent-contrast:#fff}
:root[data-accent="berry"]{--green:#8a3157;--accent:#f0b6ce;--soft:#f8e8ef;--accent-contrast:#fff}
:root[data-accent="gold"]{--green:#8a5a0a;--accent:#f1cf7a;--soft:#f8efd9;--accent-contrast:#fff}
.display-controls{display:flex;align-items:center;gap:9px;margin-left:22px}.display-controls .theme-toggle{margin-left:0}.language-select{height:44px;min-width:58px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);padding:0 27px 0 13px;font-size:12px;font-weight:750;cursor:pointer}.palette-picker{position:relative}.palette-picker>summary{list-style:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;cursor:pointer}.palette-picker>summary::-webkit-details-marker{display:none}.palette-picker>summary:hover,.theme-toggle:hover,.language-select:hover{background:var(--soft)}.palette-dots{display:flex}.palette-dots i{width:8px;height:18px;display:block}.palette-dots i:first-child{background:#185d86;border-radius:9px 0 0 9px}.palette-dots i:nth-child(2){background:#8a3157}.palette-dots i:last-child{background:#c99324;border-radius:0 9px 9px 0}.palette-menu{position:absolute;z-index:20;top:52px;left:50%;transform:translateX(-50%);display:flex;gap:7px;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:999px;box-shadow:0 13px 35px #0002}.palette-menu button{width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.palette-menu button span{width:22px;height:22px;border-radius:50%;display:block;border:2px solid #fff;box-shadow:0 0 0 1px #0002}.palette-menu [data-color="forest"] span{background:#2d735e}.palette-menu [data-color="ocean"] span{background:#2884b8}.palette-menu [data-color="berry"] span{background:#b84b79}.palette-menu [data-color="gold"] span{background:#c99324}.palette-menu button.selected{box-shadow:0 0 0 2px var(--ink)}
.choice-group input:checked+span{background:var(--soft)}.upload:hover{background:var(--soft)}.primary-button{color:var(--accent-contrast)}.primary-button:hover{filter:brightness(1.14)}.mobile-request button{background:var(--green);color:var(--accent-contrast)}.brand-dot{color:var(--green)}

:root[data-theme="dark"]{--paper:#18191b;--ink:#f4f4f2;--muted:#b7b7b4;--line:#3b3d41;--soft:#292b2f;color-scheme:dark}
[data-theme="dark"] body{background:#18191b}[data-theme="dark"] .announcement,[data-theme="dark"] .footer{background:#111214;color:#f0f0ed}[data-theme="dark"] .announcement span,[data-theme="dark"] .footer a:hover{color:var(--accent)}[data-theme="dark"] .header{border-color:#34363a}[data-theme="dark"] .brand-dot{color:var(--accent)}[data-theme="dark"] .gallery{background:#282a2e}[data-theme="dark"] .gallery-arrow:hover{background:var(--accent);color:#17181a}[data-theme="dark"] .choice-group input:checked+span{background:#2b2d31;border-color:var(--accent);box-shadow:inset 0 0 0 .5px var(--accent)}[data-theme="dark"] .choice-group label:hover>span{background:#24262a}[data-theme="dark"] .upload{background:#222428;border-color:#5b5e64}[data-theme="dark"] .upload:hover{background:#2a2c30}[data-theme="dark"] .primary-button{background:var(--green);border-color:var(--green);color:var(--accent-contrast)}[data-theme="dark"] .story-strip{background:#202225;border-color:#36383c}[data-theme="dark"] .star,[data-theme="dark"] .step-index{color:var(--accent)}[data-theme="dark"] .strip-note{color:#b7b7b4}[data-theme="dark"] .story-strip svg{stroke:var(--accent)}[data-theme="dark"] .thumbnail{background:#24262a}[data-theme="dark"] .thumbnail.selected,[data-theme="dark"] .thumbnail.your-photo.selected{border-color:var(--accent)}[data-theme="dark"] .thumbnail.your-photo{border-color:#64676d}[data-theme="dark"] .image-note{color:#b7b7b4}[data-theme="dark"] .steps article{border-color:#3b3d41}[data-theme="dark"] .inquiry-summary{background:#24262a}[data-theme="dark"] textarea{background:#111214;color:#f4f4f2;border-color:#505258}[data-theme="dark"] textarea::placeholder{color:#9d9e9b}[data-theme="dark"] .personal-preview{background:#24262a}[data-theme="dark"] .gallery.own-photo .gallery-bottom{color:#f4f4f2}[data-theme="dark"] .legal-main p,[data-theme="dark"] .legal-main li,[data-theme="dark"] .legal-main address{color:#c3c3bf}[data-theme="dark"] .legal-main .legal-note,[data-theme="dark"] .skip-link{background:#24262a}[data-theme="dark"] .mobile-request button{background:var(--green);color:var(--accent-contrast)}[data-theme="dark"] .language-select,[data-theme="dark"] .palette-menu{background:#202225}
@media(max-width:1050px){.display-controls{margin-left:14px;gap:7px}.language-select{min-width:54px}.header-inquiry{margin-left:14px}}
@media(max-width:760px){.display-controls{margin-left:auto;gap:6px}.header .theme-toggle,.palette-picker>summary{width:42px;height:42px;min-width:42px}.language-select{height:42px;min-width:52px;padding-left:11px;padding-right:23px}body:has(.mobile-request) .header .display-controls+.header-inquiry{display:none}.palette-menu{left:auto;right:-46px;transform:none}.header{gap:8px}}
@media(max-width:360px){.display-controls{gap:4px}.header .theme-toggle,.palette-picker>summary{width:39px;height:39px;min-width:39px}.language-select{height:39px;min-width:48px;padding-left:9px;padding-right:20px}.header{padding-left:4%;padding-right:4%}}

/* Photo crop editor and fixed brand colour */
:root{--soft:#edf0e4;--accent-contrast:#fff}:root[data-theme="dark"]{--soft:#292b2f}.orientations{grid-template-columns:repeat(2,1fr)}.orientations label>span{font-size:14px;height:60px}.photo-editor{margin:12px 0 4px;padding:14px;border:1px solid var(--line);border-radius:4px;background:var(--soft)}.zoom-control{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;font-size:12px;font-weight:600}.zoom-control input{grid-column:1/-1;width:100%;accent-color:var(--green)}#photo-editor-hint{font-size:12px;line-height:1.55;color:var(--muted);margin-top:8px}.personal-preview{padding:42px}.photo-frame{--photo-zoom:1.15;--photo-x:50%;--photo-y:50%;position:relative;overflow:hidden;width:min(100%,720px);aspect-ratio:3/2;background:#c7c9c5;box-shadow:0 15px 45px #14201a35;cursor:grab;touch-action:none}.personal-preview[data-orientation="vertical"] .photo-frame{width:auto;height:min(100%,520px);aspect-ratio:4/5}.photo-frame.dragging{cursor:grabbing}.photo-frame:focus-visible{outline:3px solid var(--green);outline-offset:5px}.photo-frame>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--photo-x) var(--photo-y);transform:scale(var(--photo-zoom));transform-origin:var(--photo-x) var(--photo-y);user-select:none;pointer-events:none}.photo-frame .puzzle-grid{position:absolute;inset:0;pointer-events:none;opacity:.7;background-image:linear-gradient(#ffffff55 1px,transparent 1px),linear-gradient(90deg,#ffffff55 1px,transparent 1px);background-size:10% 12.5%;mix-blend-mode:overlay;box-shadow:inset 0 0 0 1px #ffffff88}[data-theme="dark"] .photo-editor{background:#222428}[data-theme="dark"] .photo-frame{background:#282a2e}
@media(max-width:760px){.personal-preview{padding:32px 22px}.personal-preview[data-orientation="vertical"] .photo-frame{height:100%}.display-controls{gap:7px}}

/* Softer buttons and desktop interaction polish */
.primary-button{border-radius:12px;box-shadow:0 10px 28px #173b3030,0 0 0 1px #ffffff12 inset}.choice-group label>span{border-radius:11px}.upload{border-radius:11px}.photo-editor{border-radius:11px}.thumbnail{border-radius:9px}.mobile-request button{border-radius:11px;box-shadow:0 8px 22px #173b302b}.copy-button{border-radius:9px}.header-inquiry{border-radius:999px;padding:10px 13px}.language-select{box-shadow:0 5px 16px #122d2412}.theme-toggle{box-shadow:0 5px 16px #122d2412}.gallery-arrow{box-shadow:0 8px 24px #071b1438}.dialog-close{border-radius:50%}
[data-theme="dark"] .primary-button{box-shadow:0 12px 34px #c6dfac24,0 0 24px #c6dfac12}[data-theme="dark"] .mobile-request button{box-shadow:0 8px 28px #c6dfac20}[data-theme="dark"] .language-select,[data-theme="dark"] .theme-toggle{box-shadow:0 6px 20px #0005}
@media(hover:hover) and (pointer:fine){.primary-button,.mobile-request button,.choice-group label>span,.upload,.thumbnail,.theme-toggle,.language-select,.header-inquiry,.copy-button,.gallery-arrow,.contact-link{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.primary-button:hover,.mobile-request button:hover{transform:translateY(-3px);box-shadow:0 16px 36px #173b3042,0 0 22px #d9e8b72b}.primary-button:active,.mobile-request button:active{transform:translateY(-1px)}.choice-group label:hover>span{transform:translateY(-2px);box-shadow:0 10px 24px #173b301a}.choice-group input:checked+span{box-shadow:0 8px 24px #173b3020,inset 0 0 0 .5px var(--green)}.upload:hover{transform:translateY(-2px);box-shadow:0 10px 26px #173b3018}.thumbnail:hover{transform:translateY(-3px);box-shadow:0 11px 24px #071b1422}.theme-toggle:hover,.language-select:hover,.header-inquiry:hover,.copy-button:hover{transform:translateY(-2px);box-shadow:0 9px 22px #173b3022}.gallery-arrow:hover{transform:translateY(calc(-50% - 2px));box-shadow:0 12px 30px #071b1450}.contact-link:hover{transform:translateX(3px)}[data-theme="dark"] .primary-button:hover,[data-theme="dark"] .mobile-request button:hover{box-shadow:0 16px 38px #c6dfac30,0 0 28px #c6dfac20}[data-theme="dark"] .choice-group label:hover>span,[data-theme="dark"] .upload:hover,[data-theme="dark"] .thumbnail:hover{box-shadow:0 12px 30px #0006}}

/* Shop */
.cart-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:11px}.quantity-row{display:flex;align-items:center;justify-content:space-between;margin:18px 0}.quantity-row select,.cart-item select{min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:0 36px 0 14px}.paypal-button{width:100%;min-height:54px;padding:14px 20px;border-radius:14px;background:#ffc439;color:#111;font-weight:800;box-shadow:0 10px 28px #173b3022;transition:transform .18s ease,box-shadow .18s ease}.paypal-button:hover{transform:translateY(-2px);box-shadow:0 14px 34px #173b3038}.primary-button:disabled,.paypal-button:disabled{opacity:.55;transform:none}.payment-buttons{display:grid;gap:10px;margin-top:18px}.cart-items{display:grid;gap:12px;margin:20px 0;max-height:38vh;overflow:auto}.cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:14px}.cart-item img{width:72px;height:72px;object-fit:cover;border-radius:10px}.cart-item>div{display:grid;gap:5px}.cart-item span,.cart-item label{font-size:12px;color:var(--muted)}.cart-item select{min-height:32px;padding:0 24px 0 8px}.cart-item button{text-align:left;text-decoration:underline;font-size:12px;color:var(--muted)}.cart-totals{padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cart-totals p{display:flex;justify-content:space-between;padding:5px 0}.cart-total{font-size:19px}.shipping-note,.checkout-status,.dialog-fineprint{font-size:12px;color:var(--muted);line-height:1.55}.legal-accept{display:flex;align-items:flex-start;gap:10px;margin-top:16px;font-size:12px;line-height:1.55}.legal-accept input{margin-top:3px}.legal-accept a{text-decoration:underline}.empty-cart{padding:30px 0;color:var(--muted);text-align:center}#cart-dialog{width:min(600px,calc(100% - 28px));max-height:90vh;overflow:auto}.configuration-summary{margin-top:10px}.photo-editor{margin-bottom:12px}[data-theme="dark"] .cart-item{background:#232527}[data-theme="dark"] .quantity-row select,[data-theme="dark"] .cart-item select{background:#232527}@media(max-width:720px){.cart-item{grid-template-columns:58px 1fr}.cart-item img{width:58px;height:58px}.cart-item>strong{grid-column:2}.footer-bottom nav{flex-wrap:wrap}.mobile-request button{border-radius:12px}}
.legal-warning{margin:20px 0;padding:16px 18px;border:1px solid #b88935;border-radius:12px;background:#f7ecd4;color:#5b4219}.result-main{min-height:65vh}.result-main h2{font:italic clamp(34px,5vw,58px)/1.05 var(--serif);margin:20px 0}.success-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--green);color:white;font-size:34px}.order-summary{margin:24px 0;border-top:1px solid var(--line)}.order-summary div{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid var(--line)}.order-summary dd{margin:0;text-align:right}.result-button{display:inline-flex;width:auto;margin-top:24px}[data-theme="dark"] .legal-warning{background:#3a3020;color:#f7e7c5}
.brand-image{width:156px;height:48px;overflow:hidden;flex:0 0 auto}.brand-logo-crop{display:block;position:relative;width:100%;height:100%;overflow:hidden}.brand-logo-crop img{position:absolute;width:163%;max-width:none;height:auto;left:-30.5%;top:-130%;filter:invert(1);mix-blend-mode:multiply}.footer-brand-image{width:190px;height:58px}.footer-brand-image .brand-logo-crop img{top:-126%;filter:none;mix-blend-mode:screen}[data-theme="dark"] .header .brand-logo-crop img{filter:none;mix-blend-mode:screen}.zoom-slider{grid-column:1/-1;display:grid;grid-template-columns:40px 1fr 40px;gap:10px;align-items:center}.zoom-slider input{width:100%;accent-color:var(--green)}.zoom-slider button{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:22px;line-height:1;box-shadow:0 5px 16px #122d2412}.zoom-slider button:hover{background:var(--soft)}[data-theme="dark"] .zoom-slider button{background:#18191b}@media(max-width:760px){.header .brand-image{width:104px;height:38px}.header .brand-logo-crop img{top:-95%}.footer-brand-image{width:170px;height:52px}.footer-brand-image .brand-logo-crop img{top:-126%}.zoom-slider{grid-template-columns:44px 1fr 44px}.zoom-slider button{width:44px;height:44px}}
