:root{--bg: #f5f2ed;--bg-alt: #ede8df;--surface: #ffffff;--border: rgba(10, 10, 10, .12);--text: #0a0a0a;--text-muted: #5c5c5c;--accent: #0a0a0a;--accent-soft: #2a2a2a;--font-heading: "Playfair Display", serif;--font-body: "Inter", sans-serif;--max-width: 1120px;--radius: 2px;--radius-sm: 0;--section-pad: clamp(3rem, 6vw, 5.5rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.15}.container{max-width:var(--max-width);margin:0 auto;padding:0 clamp(1rem,4vw,1.5rem)}.section{padding:var(--section-pad) 0}.section--tight{padding:calc(var(--section-pad) * .65) 0}.section-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.85rem 1.6rem;font-size:.9375rem;font-weight:500;color:var(--text);border:1px solid var(--text);background:transparent;border-radius:var(--radius);transition:background-color .15s ease,color .15s ease}.btn-outline:hover{background-color:var(--text);color:var(--bg)}.btn-outline:disabled{opacity:.55;cursor:not-allowed}.btn-outline:disabled:hover{background-color:transparent;color:var(--text)}.btn-full{width:100%}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1}@keyframes cta-soft-glow{0%,to{box-shadow:0 0 #0a0a0a1f}50%{box-shadow:0 0 0 6px #0a0a0a0a}}.accent-pulse{animation:cta-soft-glow 3s ease-in-out infinite}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{position:sticky;top:0;z-index:100;background-color:#f5f2edeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.85rem;padding-bottom:.85rem;flex-wrap:wrap}.header-brand{display:flex;align-items:center;flex-shrink:0;line-height:0}.header-logo-img{height:clamp(52px,11vw,76px);width:auto;max-width:min(420px,88vw);object-fit:contain;object-position:left center}.header-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1rem}.header-link{font-size:.8125rem;color:var(--text-muted);padding:.25rem 0}.header-link:hover,.header-link.active{color:var(--text)}.header-cta{padding:.5rem 1rem;font-size:.8125rem}@media(max-width:720px){.header-link{display:none}.header-nav{margin-left:auto;align-self:center}}.footer{margin-top:auto;border-top:1px solid var(--border);padding:2.5rem 0;background:var(--bg-alt)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.footer-logo{font-family:var(--font-heading);font-size:1rem;font-weight:700}.footer-copy{font-size:.8125rem;color:var(--text-muted);max-width:32ch}.footer-link{font-size:.8125rem;text-decoration:underline;text-underline-offset:.2em;color:var(--text-muted)}.footer-link:hover{color:var(--text)}.analytics-page{min-height:100vh;padding:clamp(1.5rem,4vw,2.5rem);background:var(--bg, #f5f2ed);color:var(--text, #1a1a1a);font-family:var(--font-sans, system-ui, sans-serif)}.analytics-page--wide{max-width:56rem;margin:0 auto}.analytics-card{max-width:22rem;margin:10vh auto 0;padding:1.75rem;background:#fff;border:1px solid var(--border, #e5e0d8);border-radius:4px}.analytics-title{font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.analytics-hint{font-size:.875rem;color:var(--text-muted, #5c5c5c);margin:0 0 1.25rem}.analytics-form{display:flex;flex-direction:column;gap:1rem}.analytics-label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem}.analytics-input{padding:.5rem .65rem;border:1px solid var(--border, #e5e0d8);border-radius:4px;font:inherit}.analytics-btn{padding:.55rem 1rem;border:1px solid var(--text, #1a1a1a);background:var(--text, #1a1a1a);color:#fff;border-radius:4px;font:inherit;cursor:pointer}.analytics-btn:disabled{opacity:.6;cursor:not-allowed}.analytics-btn--ghost{background:transparent;color:var(--text, #1a1a1a)}.analytics-error{color:#b42318;font-size:.875rem;margin:0}.analytics-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.analytics-days{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.analytics-select{padding:.35rem .5rem;font:inherit;border:1px solid var(--border, #e5e0d8);border-radius:4px}.analytics-loading{font-size:.875rem;color:var(--text-muted, #5c5c5c)}.analytics-json{margin:0;padding:1rem;background:#fff;border:1px solid var(--border, #e5e0d8);border-radius:4px;font-size:.75rem;line-height:1.45;overflow:auto;max-height:min(70vh,40rem)}.hero{padding-top:clamp(2rem,5vw,3.5rem)}.hero-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}.hero-visual{justify-self:center;width:100%;max-width:400px}.hero-framed{position:relative;width:100%;line-height:0}.hero-framed-frame{position:relative;z-index:2;width:100%;height:auto;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.hero-framed-cutout{position:absolute;z-index:1;inset:11% 13% 14%;overflow:hidden;background:#e8e4dc}.hero-framed-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:0;transition:opacity 1.1s ease-in-out}.hero-framed-slide.is-active{opacity:1}.hero-copy{display:flex;flex-direction:column;gap:.85rem;max-width:34rem}.hero-title{font-size:clamp(2rem,4.5vw,3rem);font-weight:600;letter-spacing:-.02em}.hero-subtitle{font-size:1rem;color:var(--text-muted);max-width:30ch}.hero-price-line{font-size:1rem;font-weight:600;color:var(--text);letter-spacing:.02em}.hero-points{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.hero-points li{font-size:.875rem;color:var(--text-muted);padding-left:1rem;position:relative}.hero-points li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;background:var(--text);border-radius:50%}.hero-cta{align-self:flex-start;margin-top:.35rem}.hero-urgency{font-size:.8125rem;font-weight:600;color:var(--text);margin-top:.15rem}@media(max-width:768px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-copy{align-items:center;margin:0 auto}.hero-cta{align-self:center}.hero-subtitle{max-width:none}.hero-points{text-align:left;align-self:stretch;max-width:22rem;margin-left:auto;margin-right:auto}}.before-after-heading{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:clamp(1.25rem,3vw,2rem);max-width:24ch}.before-after-lead{font-size:.9375rem;color:var(--text-muted);max-width:42ch;margin-bottom:clamp(1.5rem,3vw,2.5rem)}.before-after-list{display:flex;flex-direction:column;gap:clamp(2.5rem,5vw,4rem)}.before-after-pair{display:grid;gap:1rem}.before-after-cell{border:1px solid var(--border);background:var(--bg-alt);aspect-ratio:3 / 4;overflow:hidden;display:flex;align-items:center;justify-content:center}.before-after-img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.before-after-caption{display:flex;flex-wrap:wrap;gap:.35rem .5rem;justify-content:center;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.before-after-sep{color:var(--text-muted);opacity:.5}@media(min-width:640px){.before-after-pair{grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,2.5rem)}.before-after-pair .before-after-caption{grid-column:1 / -1}}.process-pricing--alt{background:var(--bg-alt)}.process-pricing-inner{display:grid;gap:clamp(2.5rem,5vw,4rem)}@media(min-width:900px){.process-pricing-inner{grid-template-columns:1fr 1fr;gap:4rem;align-items:start}}.process-heading,.pricing-heading{font-size:clamp(1.5rem,2.8vw,1.875rem);margin-bottom:1.75rem}.process-steps{list-style:none;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.process-step{display:grid;grid-template-columns:auto 1fr;gap:1rem 1.25rem;align-items:start}.process-num{font-family:var(--font-heading);font-size:1.75rem;font-weight:600;line-height:1;color:var(--text-muted)}.process-text{font-size:1rem;color:var(--text);padding-top:.15rem}.process-meta,.process-channels{font-size:.9375rem;color:var(--text-muted);max-width:36ch}.process-channels{margin-top:.75rem}.pricing-list{list-style:none;display:flex;flex-direction:column;gap:1.75rem;margin-bottom:2rem}.pricing-row-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.pricing-name{font-size:1rem;font-weight:500;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.pricing-badge{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);padding:.2rem .45rem}.pricing-amount{font-family:var(--font-heading);font-size:1.375rem;font-weight:600}.pricing-note{font-size:.875rem;color:var(--text-muted);margin-top:.35rem;max-width:40ch}.pricing-cta{width:fit-content}.portfolio-heading{font-size:clamp(1.5rem,2.8vw,1.875rem);margin-bottom:.5rem}.portfolio-intro{font-size:.9375rem;color:var(--text-muted);max-width:40ch;margin-bottom:1.25rem}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.portfolio-item{aspect-ratio:3 / 4;overflow:hidden;background:var(--bg-alt);border:1px solid var(--border)}.portfolio-img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}@media(max-width:768px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.portfolio-grid{grid-template-columns:1fr}}.reviews--alt{background:var(--bg-alt)}.reviews-heading{font-size:clamp(1.5rem,2.8vw,1.875rem);margin-bottom:2rem}.reviews-grid{display:grid;gap:1.5rem}@media(min-width:700px){.reviews-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}.review-card{border:1px solid var(--border);padding:1.5rem;background:var(--bg)}.review-text{font-size:.9375rem;line-height:1.6;margin-bottom:1rem;color:var(--text)}.review-meta{font-size:.8125rem;color:var(--text-muted)}.gift.section .container{padding-left:max(1.25rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px))}.gift-inner{display:flex;flex-direction:column;gap:1.25rem;align-items:stretch;box-sizing:border-box;width:100%;max-width:100%;padding:1.75rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.gift-copy{width:100%;max-width:100%}@media(min-width:640px){.gift-inner{flex-direction:row;align-items:center;justify-content:space-between;gap:2rem;padding:2rem 0}}.gift-title{font-size:clamp(1.25rem,2.5vw,1.5rem);margin-bottom:.35rem}.gift-sub{font-size:.9375rem;color:var(--text-muted);max-width:38ch;line-height:1.5}.gift-cta{flex-shrink:0;align-self:flex-start}@media(max-width:639px){.gift-cta{align-self:stretch;text-align:center}}.faq-inner{max-width:42rem}.faq-heading{font-size:clamp(1.5rem,2.8vw,1.875rem);margin-bottom:1.5rem}.faq-list{border-top:1px solid var(--border)}.faq-item{border-bottom:1px solid var(--border)}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;padding:1.1rem 0;font-size:1rem;font-weight:500;color:var(--text)}.faq-q:hover{color:var(--accent-soft)}.faq-icon{font-size:1.25rem;line-height:1;color:var(--text-muted);flex-shrink:0}.faq-a{font-size:.9375rem;color:var(--text-muted);padding-bottom:1.1rem;line-height:1.6}.final-cta--alt{background:var(--bg-alt)}.final-cta-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:clamp(2.5rem,6vw,4rem) 0}.final-cta-title{font-size:clamp(1.5rem,3.5vw,2.25rem);max-width:18ch}.final-cta-sub{font-size:1rem;color:var(--text-muted);max-width:32ch}.final-cta-btn{margin-top:.5rem}.upload-container{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.upload-zone{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;cursor:pointer}.upload-box{width:72px;height:72px;background-color:var(--surface);border:1px dashed var(--text);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.upload-box:hover{border-color:var(--text);background-color:var(--bg-alt)}.upload-input{display:none}.upload-icon{width:40px;height:40px;opacity:.45;transition:opacity .15s ease}.upload-box:hover .upload-icon{opacity:.85}.upload-label{color:var(--text-muted);font-size:.875rem;font-weight:500;text-align:left;max-width:20rem;line-height:1.4}.upload-previews{display:flex;gap:.75rem;flex-wrap:wrap}.upload-preview{position:relative;width:72px;height:72px}.upload-thumb{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border)}.upload-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--text);color:var(--bg);font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none}.upload-error{color:#b42318;font-size:.8125rem;padding:.5rem 0}.order-form{display:flex;flex-direction:column;gap:2rem}.order-form-banner{font-size:.875rem;color:var(--text-muted);padding:.85rem 0;border-bottom:1px solid var(--border)}.order-fieldset{border:none;padding:0;margin:0}.order-fieldset--upload .order-hint{font-size:.8125rem;color:var(--text-muted);margin-bottom:1rem}.order-legend{font-family:var(--font-heading);font-size:1rem;font-weight:600;margin-bottom:.85rem;padding:0}.order-chips{display:flex;flex-wrap:wrap;gap:.5rem}.order-chip{padding:.45rem 1rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted)}.order-chip.is-active{border-color:var(--text);color:var(--text);background:var(--surface)}.order-styles{display:flex;flex-direction:column;gap:.75rem}.order-style{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.35rem 1rem;padding:.75rem;border:1px solid var(--border);cursor:pointer;align-items:start}.order-style.is-active{border-color:var(--text);background:var(--surface)}.order-style-preview{grid-row:1 / 3;width:clamp(72px,20vw,92px);aspect-ratio:3 / 4;overflow:hidden;border:1px solid var(--border);flex-shrink:0}.order-style-preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.order-style-title{font-size:.875rem;font-weight:600}.order-style-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}.order-formats{display:flex;flex-direction:column;gap:.5rem}.order-format{display:block;padding:.85rem 1rem;border:1px solid var(--border);cursor:pointer}.order-format.is-active{border-color:var(--text);background:var(--surface)}.order-format-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem}.order-format-name{font-size:.9375rem;font-weight:500;display:inline-flex;align-items:center;gap:.5rem}.order-format-badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.order-format-price{font-family:var(--font-heading);font-size:1.125rem}.order-field{display:flex;flex-direction:column;gap:.35rem}.order-label{font-size:.8125rem;font-weight:600}.order-optional{font-weight:400;color:var(--text-muted)}.order-input{width:100%;padding:.65rem 0;font-size:1rem;border:none;border-bottom:1px solid var(--text);background:transparent;border-radius:0;color:var(--text)}.order-input::placeholder{color:var(--text-muted);opacity:.8}.order-input:focus{outline:none;border-bottom-width:2px}.order-textarea{border:1px solid var(--border);border-bottom:1px solid var(--border);padding:.65rem .75rem;resize:vertical;min-height:4.5rem}.order-check{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;cursor:pointer}.order-error{color:#b42318;font-size:.875rem}.order-submit{margin-top:.5rem}.order-page{padding:var(--section-pad) 0}.order-page-inner{max-width:36rem}.order-page-header{margin-bottom:2.5rem}.order-page-title{font-size:clamp(1.75rem,3.5vw,2.25rem);margin-bottom:.75rem}.order-page-lead{font-size:.9375rem;color:var(--text-muted);max-width:40ch}.success-page{padding:var(--section-pad) 0;min-height:50vh}.success-inner{max-width:32rem;text-align:center}.success-icon{font-size:2rem;line-height:1;margin-bottom:1rem;color:var(--text-muted)}.success-title{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1rem}.success-lead,.success-meta,.success-note{font-size:.9375rem;color:var(--text-muted);line-height:1.6;margin-bottom:1rem;text-align:left}.success-summary{margin:1.5rem 0;padding:1.25rem;border:1px solid var(--border);text-align:left}.success-row{display:grid;grid-template-columns:8rem 1fr;gap:.5rem;font-size:.875rem;padding:.35rem 0;border-bottom:1px solid var(--border)}.success-row:last-child{border-bottom:none}.success-row dt{color:var(--text-muted)}.success-row dd{font-weight:500}.success-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:2rem}.success-link-secondary{font-size:.875rem;color:var(--text-muted);text-decoration:underline;text-underline-offset:.2em}.success-link-secondary:hover{color:var(--text)}
