/* One design system for every public service, catalog, detail and information page. */
.fs-public{--fs-bg:#081b24;--fs-surface:#102d35;--fs-text:#f3faf9;--fs-primary:#26c9b3;--fs-secondary:#3e87ec;--fs-accent:#3cb888;--fs-dark:#081b24;--fs-muted:color-mix(in srgb,var(--fs-text) 73%,var(--fs-bg));--fs-line:color-mix(in srgb,var(--fs-text) 20%,var(--fs-bg));--fs-contrast:#fff;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif}
.fs-public[data-site-theme=aurora-dark]{--fs-contrast:#06252a}
.fs-public *{box-sizing:border-box}.fs-public body{margin:0!important;background:var(--fs-bg)!important;color:var(--fs-text)!important;font-family:var(--sans);line-height:1.65}.fs-public img{max-width:100%}.fs-public [hidden]{display:none!important}.fs-public a{color:inherit}.fs-public :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--fs-primary)!important;outline-offset:4px}.fs-public :is(h1,h2,h3){color:var(--fs-text)}.fs-public :is(p,li,dt,dd,label,small){color:inherit}.fs-public :is(h1,h2) em{color:var(--fs-primary)!important}.fs-public a:hover{color:var(--fs-primary)}
html.fs-public :is(.topbar,.neon-topbar){max-width:none;min-height:86px;height:auto;padding:18px max(24px,calc((100vw - 1280px)/2));display:flex;gap:20px;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--fs-line);background:var(--fs-bg)!important;color:var(--fs-text)!important}.fs-public .brand{color:var(--fs-text)!important;font-family:var(--sans);letter-spacing:.13em;font-size:22px;font-weight:600;display:flex;gap:12px;align-items:center}.fs-public .brand-mark{width:46px;height:46px;display:block;background:none!important;box-shadow:none!important}.fs-public .brand-mark img{width:100%;height:100%;object-fit:contain}.fs-public .top-nav{color:var(--fs-text)!important;display:flex;gap:20px;align-items:center;font-size:13px}.fs-public .top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fs-public .fs-theme-toggle{font:600 12px var(--sans);padding:10px 13px;min-height:42px;color:var(--fs-text);border:1px solid var(--fs-line);background:var(--fs-surface);border-radius:12px;cursor:pointer;white-space:nowrap}
.fs-public :is(.button,.top-cta,.filter.active,.catalog-tool-button.active,.mp-action,.service-card button,.privacy-choice-button,.white-meta .button,.photo-cta){border:1px solid transparent!important;border-radius:12px!important;min-height:46px;padding:12px 19px;background:var(--fs-primary)!important;color:var(--fs-contrast)!important;box-shadow:none!important;font-weight:700;cursor:pointer}.fs-public :is(.button-outline,.button-light,.catalog-tool-button,.filter,.top-search,.top-track){background:var(--fs-surface)!important;color:var(--fs-text)!important;border:1px solid var(--fs-line)!important;border-radius:12px!important}.fs-public .filter.active{background:var(--fs-primary)!important;color:var(--fs-contrast)!important}.fs-public :is(.button,.top-cta,.photo-cta):hover{filter:brightness(1.08);transform:translateY(-1px)}
.fs-public :is(.collection,.how,.heritage,.services,.custom-design,.order-tracking,.customer-reviews,.recently-viewed,.model-directory,.showcase-more,.home-showcase,.info-main,.white-main,.seo-product-page){background:var(--fs-bg)!important;color:var(--fs-text)!important}.fs-public :is(.service-card,.review-card,.review-rater,.white-card,.detail-panel,.admin-panel,.detail-content,.white-dialog,.tracking-form,.faq-list details,.detail-favorite,.global-search-panel,.advanced-filters,.product-specs,.seo-product-conditions,.seo-product-specs){background:var(--fs-surface)!important;color:var(--fs-text)!important;border-color:var(--fs-line)!important}.fs-public :is(.product-art,.seo-gallery-stage,.detail-visual,.gallery-thumbnails,.gallery-thumb,.sunnet-hero,.white-search){background:var(--fs-surface)!important}.fs-public :is(.product-art:after,.service-card:before){background:var(--fs-primary)!important}.fs-public :is(.product-price,.product-open,.product-meta,.eyebrow,.service-no,.step-icon,.reviews-link,.footer a,.detail-price strong,.info-main a){color:var(--fs-primary)!important}.fs-public :is(.section-intro>p,.how-header>p,.hero-copy>p,.services-head>p,.services-note,.step p,.product-conditions,.seo-product-notes,.info-lead,.product-specs dt,.detail-price>span,.footer-location,.review-card small,.review-rater small){color:var(--fs-muted)!important}.fs-public :is(.demo-notice,.estimate,.print-calculator,.invitation-copy-fields,.copy-result,.tracking-result,.global-search-history,.product-conditions,.product-specs,.detail-price){background:var(--fs-surface)!important;color:var(--fs-text)!important;border-color:var(--fs-line)!important}.fs-public :is(input,select,textarea){background:var(--fs-surface);color:var(--fs-text);border-color:var(--fs-line)}.fs-public :is(.footer,.white-dialog){background:var(--fs-surface)!important;color:var(--fs-text)!important}.fs-public .footer{border-top:1px solid var(--fs-line)}.fs-public .image-count-badge{background:var(--fs-primary);color:var(--fs-contrast)}.fs-public .detail-panel{border:1px solid var(--fs-line)}.fs-public .close-button{background:var(--fs-surface);color:var(--fs-text)}.fs-public .filter-premium,.fs-public .filter-bestseller{color:var(--fs-text);background:var(--fs-surface);border-color:var(--fs-line)}
/* Approved homepage composition: left headline, right photograph and invitation, then visual service cards. */
.fs-public .approved-home{overflow:hidden;background:var(--fs-bg);position:relative;isolation:isolate}.approved-home::before{content:'';position:absolute;inset:-80px;z-index:-1;opacity:.33;background:radial-gradient(ellipse at 10% 35%,#3e87ec66,transparent 35%),radial-gradient(ellipse at 95% 28%,#26c9b366,transparent 40%),radial-gradient(ellipse at 60% 95%,#3cb88840,transparent 40%);pointer-events:none}.fs-public:not([data-site-family=aurora]) .approved-home::before{background:radial-gradient(ellipse at right,color-mix(in srgb,var(--fs-primary) 25%,transparent),transparent 65%)}
.approved-hero{max-width:1320px;margin:auto;padding:68px 28px 48px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:38px;min-height:490px;position:relative}.approved-copy{z-index:2}.approved-kicker{font-size:11px;letter-spacing:.16em;color:var(--fs-primary);font-weight:700}.approved-copy h1{font:700 clamp(44px,5.3vw,78px)/1.08 var(--sans);letter-spacing:-.05em;margin:22px 0}.approved-copy h1 em{font-style:normal;display:block;background:linear-gradient(100deg,var(--fs-secondary),var(--fs-primary),var(--fs-accent));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.approved-copy p{color:var(--fs-muted);font-size:17px;max-width:540px}.approved-actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 18px}.approved-location{font-size:13px;color:var(--fs-muted)}.approved-art{position:relative;height:400px;margin:0 5px}.approved-art img{display:block;box-shadow:0 16px 40px #0003}.approved-art .approved-main-photo{width:77%;height:94%;object-fit:cover;object-position:center;border-radius:18px;transform:rotate(-3deg);animation:fs-photo-breathe 14s ease-in-out infinite alternate}.approved-art .approved-invitation{position:absolute;right:-6px;top:75px;width:49%;height:78%;object-fit:contain;background:var(--fs-surface);border:9px solid var(--fs-surface);border-radius:14px;transform:rotate(7deg)}.approved-art figcaption{position:absolute;bottom:-12px;left:6px;font-size:10px;background:var(--fs-bg);padding:3px 8px;color:var(--fs-muted);border-radius:5px}.approved-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(125deg,transparent 35%,#26c9b312 43%,#3e87ec22 47%,transparent 55%);animation:fs-light-pass 14s ease-in-out infinite}.approved-home.paused :is(.approved-light,.approved-main-photo){animation-play-state:paused}.approved-motion{max-width:1264px;margin:auto;padding:0 10px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.approved-motion button{background:none;border:1px solid var(--fs-line);color:var(--fs-text);border-radius:20px;padding:8px 14px;font-size:11px;cursor:pointer}.approved-motion a{font-size:13px;text-decoration:underline;text-underline-offset:4px}
.approved-services{max-width:1320px;margin:auto;padding:24px 28px 60px}.approved-services h2{text-align:center;font:600 clamp(27px,3vw,36px) var(--sans);margin-bottom:26px}.approved-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.approved-card{position:relative;min-height:280px;border:1px solid var(--fs-line);border-radius:19px;overflow:hidden;display:flex;align-items:end;isolation:isolate;background:var(--fs-surface)}.approved-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s}.approved-card::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 10%,#081b24d9 85%);z-index:-1}.approved-card>div{padding:24px;color:#f3faf9}.approved-card h3{color:#f3faf9!important;font-size:22px;margin:0 0 7px}.approved-card p{font-size:13px;margin:0 0 14px;color:#e4efed}.approved-card a{display:inline-block;min-height:42px;padding:8px 18px;border:1px solid #26c9b3;border-radius:24px;color:#5ff0da;font-weight:600;font-size:13px}.approved-card:hover>img{transform:scale(1.025)}.approved-card small{font-size:10px;display:block;margin-top:9px;color:#d1dfdc}.fs-public:not([data-site-theme=aurora-dark]) .approved-card{display:block;padding-top:170px}.fs-public:not([data-site-theme=aurora-dark]) .approved-card>img{height:180px;object-fit:cover}.fs-public:not([data-site-theme=aurora-dark]) .approved-card::after{display:none}.fs-public:not([data-site-theme=aurora-dark]) .approved-card>div{color:var(--fs-text);background:var(--fs-surface);position:relative}.fs-public:not([data-site-theme=aurora-dark]) .approved-card :is(h3,p,small){color:var(--fs-text)!important}.fs-public:not([data-site-theme=aurora-dark]) .approved-card a{color:var(--fs-primary);border-color:var(--fs-primary)}
.fs-public[data-site-theme=ivory-terracotta] :is(.approved-copy h1,.approved-services h2){font-family:var(--serif);font-weight:500}.fs-public[data-site-theme=ivory-terracotta] .approved-copy h1 em{-webkit-text-fill-color:var(--fs-primary)}.fs-public[data-site-theme=pearl-navy] :is(.approved-copy h1,.approved-services h2){font-family:var(--serif)}.fs-public[data-site-theme=pearl-navy] .approved-copy h1 em{-webkit-text-fill-color:var(--fs-text)}
@keyframes fs-photo-breathe{to{transform:rotate(-3deg) scale(1.025)}}@keyframes fs-light-pass{0%,100%{transform:translateX(-15%);opacity:.4}50%{transform:translateX(15%);opacity:1}}
@media(max-width:900px){.approved-hero{gap:20px;padding-top:40px}.approved-art{height:330px}.approved-copy h1{font-size:clamp(40px,6vw,62px)}.fs-public .top-nav{order:3;width:100%;overflow:auto;white-space:nowrap;padding-bottom:4px}.fs-public .top-actions{margin-left:auto}.approved-card>div{padding:18px}.approved-card h3{font-size:19px}}
@media(max-width:640px){html.fs-public :is(.topbar,.neon-topbar){padding:14px 18px;gap:12px}.fs-public .brand{font-size:17px;letter-spacing:.06em}.fs-public .brand-mark{width:34px;height:34px}.fs-public .top-actions .top-cta{padding:9px 11px;min-height:40px;font-size:11px}.fs-public .fs-theme-toggle{font-size:10px;padding:8px;min-height:40px}.fs-public .top-track,.fs-public .top-search{font-size:10px;padding:8px}.approved-hero{grid-template-columns:1fr;padding:30px 20px 24px;gap:30px}.approved-copy h1{font-size:45px}.approved-copy p{font-size:15px}.approved-art{height:320px;max-width:480px;width:90%;margin:auto}.approved-services{padding:25px 20px 36px}.approved-cards{grid-template-columns:1fr}.approved-card{min-height:290px}.approved-motion{padding:0 20px 20px}.fs-public .top-nav{font-size:12px;gap:19px}.fs-public .footer{gap:24px;flex-wrap:wrap}.fs-public :is(.white-main,.info-main){overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.fs-public *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html.fs-public body :is(h1,h2,h3){color:var(--fs-text)}
html.fs-public body main :is(.section-intro>p,.how-header>p,.step p,.custom-design p,.tracking-copy p,.heritage p,.customer-reviews p,.info-main p){color:var(--fs-muted)!important}
html.fs-public body :is(.white-meta,.product-specs,.product-price,.seo-product-conditions,.seo-product-condition,.seo-product-copy>p){color:var(--fs-text)!important}
html.fs-public body .search input{color:var(--fs-text)!important}
html.fs-public .approved-card h3{color:#f3faf9!important}
html.fs-public:not([data-site-theme=aurora-dark]) .approved-card h3{color:var(--fs-text)!important}
/* Keep legacy text readable within the shared surfaces, including product and review details. */
html.fs-public body :is(.review-card blockquote,.review-rater strong,.google-rating-score,.seo-product-code strong,.seo-product-price strong,.sunnet-hero-card strong,.tracking-form label,.sunnet-hero-card){color:var(--fs-text)!important}
html.fs-public body :is(.seo-product-price span,.seo-product-price small,.seo-product-notes li,.sunnet-hero-card small,.sunnet-hero-copy>p,.sunnet-count){color:var(--fs-muted)!important}
html.fs-public body :is(.sunnet-hero-card,.google-rating){background:var(--fs-surface)!important;border-color:var(--fs-line)!important}
html.fs-public body :is(.google-rating strong,.review-card-top span,.review-rater>span,.reviews-filter-note span){color:var(--fs-accent)!important}
/* Keep the contact action available despite the legacy mobile header rule. */
html.fs-public .top-actions .top-cta{display:inline-flex!important;align-items:center;justify-content:center}

.fs-public .return-home{position:fixed;left:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:180;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 15px;background:var(--fs-surface);color:var(--fs-text);border:1px solid var(--fs-line);border-radius:24px;text-decoration:none;font:600 13px var(--sans);box-shadow:0 3px 14px #0002}.return-home svg{width:19px;height:19px}.fs-public body:has(.return-home){padding-bottom:74px!important}
