:root{font-family:Open Sans,Helvetica Neue,Arial,sans-serif;color:#343434;background:#fff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-weight:300}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.site-header{height:118px;background:#fff;border-bottom:1px solid #ececec;position:relative;z-index:30}.header-mobile-row{display:none}.desktop-topline{height:65px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 46px}.desktop-contact{display:flex;align-items:center;gap:13px;color:#7c7c7c;font-size:11px;letter-spacing:.07em}.desktop-contact button{border:0;background:none;padding:0;cursor:pointer;font-size:11px;letter-spacing:.07em;color:#555}.desktop-actions{justify-self:end;display:flex;align-items:center;gap:8px}.desktop-actions .icon-button{width:30px;height:30px;padding:0;border:0;background:none;display:inline-flex;align-items:center;justify-content:center}.favorite-header-button{position:relative}.favorite-header-button span{position:absolute;top:-3px;right:-3px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:#111;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:500;line-height:1}.desktop-actions .black-button{min-height:34px;padding:0 30px;margin-left:7px;font-size:10px}.desktop-nav{height:53px;margin:auto;display:flex;align-items:flex-start;justify-content:center;padding:11px 18px 0;gap:18px}.desktop-nav button,.site-footer button{border:0;background:none;cursor:pointer;font-size:11px;line-height:1;font-weight:500;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}.brand{font-family:Georgia,Times New Roman,serif!important;font-size:27px!important;font-weight:400!important;letter-spacing:.03em!important;background:none;border:0;cursor:pointer;text-transform:uppercase}body:has(.home-page) .site-header{position:absolute;inset:0 0 auto;background:transparent;border-bottom-color:transparent}.photo-placeholder{background:#d4d4d4;min-height:240px;display:flex;align-items:center;justify-content:center;color:#1f1f1f;overflow:hidden}.photo-placeholder span{font-weight:600;font-size:16px;text-transform:lowercase}.photo-placeholder.has-image{width:100%;height:100%;object-fit:cover;display:block}.home-hero{height:100vh;min-height:620px;position:relative;color:#fff;overflow:hidden}.home-hero>.photo-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;background:#e9e7e0}.home-hero>.hero-photo{object-fit:contain;object-position:center}.home-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#00000038;pointer-events:none}.hero-copy{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-45%);width:100%;text-align:center;padding:24px}.hero-copy p,.editorial-copy p{font-family:Arial Narrow,Open Sans,sans-serif;font-size:14px;letter-spacing:.68em;margin:0 0 30px}.hero-copy h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,5vw,72px);line-height:1.05;font-weight:400;letter-spacing:.04em;margin:0 0 46px}.white-button,.black-button{min-height:56px;padding:0 34px;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:25px;letter-spacing:.12em;font-size:12px;text-transform:uppercase}.white-button{background:#fff;color:#111}.black-button{background:#050505;color:#fff}.home-editorial{min-height:720px;display:grid;grid-template-columns:58% 42%}.home-editorial.reverse{grid-template-columns:42% 58%}.home-editorial.reverse>.photo-placeholder{order:2}.home-editorial>.photo-placeholder{min-height:720px;background:#d0d0d0}.home-editorial:nth-of-type(3)>.photo-placeholder{background:#c5c5c5}.home-editorial:nth-of-type(4)>.photo-placeholder{background:#dbdbdb}.editorial-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:70px}.editorial-copy p{margin:0 0 28px;color:#777}.editorial-copy h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,3.3vw,52px);line-height:1.12;font-weight:400;margin:0 0 42px}.underlined-link{background:none;border:0;border-bottom:1px solid #222;padding:0 0 8px;cursor:pointer;font-size:12px;letter-spacing:.14em}.page-top{min-height:68vh;padding-top:70px}.category-landing{max-width:1180px;margin:auto;padding-left:34px;padding-right:34px}.category-landing>h1,.catalog-heading h1,.text-page>h1,.contacts-page>h1{font-size:23px;line-height:1.25;font-weight:300;letter-spacing:-.04em;margin:0 0 42px;text-transform:uppercase}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.category-grid.count-2{grid-template-columns:repeat(2,1fr);max-width:780px}.category-tile{border:0;background:#fff;padding:0;cursor:pointer;text-align:center}.category-tile .photo-placeholder{aspect-ratio:4 / 5;background:#d0d0d0}.category-tile .tone-1{background:#c7c7c7}.category-tile .tone-2{background:#dedede}.category-tile>span{display:block;min-height:64px;padding:20px 6px 14px;color:#8a8a8a;font-size:13px;line-height:1.25;font-weight:300;text-transform:uppercase}.book-bar{display:flex;align-items:center;justify-content:center;gap:50px;margin:50px 0 20px}.book-bar .black-button{min-width:304px}.phone-button{width:48px;height:48px;border:1px solid #333;border-radius:50%;display:flex;align-items:center;justify-content:center}.catalog-page{padding-left:24px;padding-right:24px}.catalog-heading{max-width:942px;margin:0 auto 32px;display:flex;justify-content:space-between;align-items:flex-end}.catalog-heading h1{margin:0}.catalog-heading p{margin:0;font-size:11px;letter-spacing:.08em;color:#888}.product-grid{width:min(942px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px 0}.product-card{width:100%;min-width:0;padding:0;border:0;background:#fff;text-align:left;cursor:pointer;overflow:hidden}.product-card .photo-placeholder{aspect-ratio:2 / 3;min-height:0;border-right:1px solid #fff}.product-meta{min-height:62px;padding:8px 14px 10px 0}.product-meta h2{height:40px;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;font-size:14px;font-weight:300;line-height:20px;text-transform:uppercase;margin:0}.product-meta p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:300;line-height:14px;color:#8b8b8b;text-transform:uppercase;margin:2px 0 0}.product-detail-page{padding:68px 28px 0}.product-back{display:inline-flex;align-items:center;gap:2px;margin:0 0 14px;padding:0;border:0;background:none;color:#8b8b8b;cursor:pointer;font-size:10px;letter-spacing:.05em}.product-detail-layout{width:min(1220px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,2.1fr) minmax(290px,1fr);gap:40px;align-items:start}.product-gallery{display:grid;grid-template-columns:25% 75%;gap:1px;min-width:0}.product-gallery.has-one{grid-template-columns:1fr}.product-thumbnails{max-height:790px;overflow-y:auto;display:grid;align-content:start;gap:1px;scrollbar-width:thin}.product-thumbnails button{width:100%;padding:0;border:0;background:none;opacity:.72;cursor:pointer}.product-thumbnails button.active{opacity:1}.product-thumbnails .photo-placeholder{width:100%;min-height:0;aspect-ratio:911 / 1333}.product-main-photo{position:relative;min-width:0}.product-main-photo>.photo-placeholder{width:100%;min-height:0;aspect-ratio:911 / 1333}.product-gallery .has-image{object-fit:cover;object-position:center}.gallery-dots{position:absolute;z-index:2;left:50%;bottom:8px;transform:translate(-50%);display:flex;gap:12px}.gallery-dots button{position:relative;width:32px;height:32px;padding:0;border:0;background:transparent;cursor:pointer}.gallery-dots button:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;transform:translate(-50%,-50%);border:1px solid #343434;border-radius:50%;background:#ffffffad}.gallery-dots button.active:after{background:#343434}.product-information{padding:0 0 40px;min-width:0}.product-category-label{margin:0 0 13px;color:#999;font-size:10px;letter-spacing:.1em}.product-information h1{margin:0 0 34px;overflow-wrap:anywhere;font-size:clamp(24px,2.2vw,31px);line-height:1.55;font-weight:300;letter-spacing:-.035em;text-transform:uppercase}.product-detail-price{margin:0 0 38px;color:#999;font-size:18px;line-height:1.2;text-transform:uppercase}.product-specs{margin:-10px 0 38px;border-top:1px solid #bcbcbc}.product-specs>div{min-height:46px;padding:13px 0;border-bottom:1px solid #d2d2d2;display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px}.product-specs dt,.product-specs dd{margin:0;color:#777;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.product-specs dt{color:#555;font-weight:500}.product-actions-row{display:flex;align-items:center;gap:14px;margin-bottom:44px}.product-actions-row .black-button{min-height:45px;padding:0 24px;font-size:10px}.product-favorite{width:45px;height:45px;border:0;background:none;display:grid;place-items:center;cursor:pointer}.product-favorite.active,.mobile-favorite-button.active{color:#111}.mobile-favorite-button{display:none;width:100%;min-height:46px;margin:-19px 0 30px;border:1px solid #aaa;background:#fff;align-items:center;justify-content:center;gap:10px;cursor:pointer;color:#555;font-size:10px;letter-spacing:.1em}.product-description{border-top:1px solid #bcbcbc;padding-top:22px;color:#888;font-size:12px;line-height:1.55}.product-description strong{color:#555;font-weight:500}.product-description p{margin:7px 0 0;white-space:pre-line;overflow-wrap:anywhere}.product-detail-page>.book-bar{display:none}.utility-catalog-page{min-height:68vh}.catalog-search{width:min(942px,100%);min-height:58px;margin:0 auto 38px;border-bottom:1px solid #777;display:flex;align-items:center;gap:15px}.catalog-search input{width:100%;height:58px;border:0;outline:0;background:transparent;border-radius:0;color:#343434;font-size:15px;font-weight:300;letter-spacing:.08em}.catalog-search input::placeholder{color:#999;opacity:1}.catalog-search input::-webkit-search-cancel-button{cursor:pointer}.catalog-empty-state{width:min(942px,100%);min-height:320px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#999;text-align:center}.catalog-empty-state p{margin:0;font-size:12px;letter-spacing:.12em}.text-page,.contacts-page{width:min(1110px,calc(100% - 68px));margin:auto}.concept-layout{display:grid;grid-template-columns:minmax(340px,1fr) minmax(340px,.9fr);gap:9%;align-items:start}.concept-layout>.photo-placeholder{aspect-ratio:4 / 5}.concept-layout article{padding-top:8px}.concept-layout p{font-size:13px;line-height:26px;margin:0 0 17px}.contacts-page{max-width:1040px}.contacts-page>h1{max-width:700px;font-size:18.6667px;line-height:1.2}.contact-facts{margin:76px 0 28px;max-width:780px}.contact-facts dl{margin:0}.contact-facts dl>div{display:grid;grid-template-columns:190px 1fr;margin-bottom:18px}.contact-facts dt,.contact-facts dd{font-size:14px;line-height:1.45;text-transform:uppercase;margin:0}.contact-facts dt{color:#555}.contact-facts dd{color:#999}.contact-facts .social-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.directions{max-width:690px}.directions h2{font-size:24px;line-height:1.2;font-weight:300;margin:0 0 4px}.directions p{font-size:16px;line-height:1.48;margin:0 0 27px}.brides-page{width:min(1040px,calc(100% - 30px));margin:auto}.brides-heading{margin-bottom:34px}.brides-heading h1{margin:0;font-size:20px;line-height:1.25;font-weight:300;letter-spacing:-.03em;text-align:center;text-transform:uppercase}.brides-heading>p{margin:42px 0 34px;color:#8b8b8b;font-size:14px;line-height:1.65}.brides-gallery{display:grid;grid-template-columns:repeat(var(--brides-columns, 6),minmax(0,1fr));gap:0}.bride-gallery-column{min-width:0;display:flex;flex-direction:column}.bride-gallery-item{width:100%;min-width:0;padding:0;border:0;background:#fff;display:block;break-inside:avoid;cursor:pointer;overflow:hidden}.bride-gallery-item .photo-placeholder{width:100%;min-height:0;aspect-ratio:1;transition:transform .25s ease}.bride-gallery-item .photo-placeholder.has-image{height:auto;aspect-ratio:auto;object-fit:contain}.bride-gallery-item:hover .photo-placeholder{transform:scale(1.025)}.brides-page>.book-bar{margin-top:60px}.bride-modal-backdrop{overflow-y:auto;align-items:flex-start;padding:40px 20px}.bride-modal{position:relative;width:min(1040px,100%);padding:54px;background:#fff;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:42px}.bride-modal-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.bride-modal-gallery .photo-placeholder{min-height:0;aspect-ratio:1}.bride-modal article{align-self:center}.bride-modal h2{margin:0 0 24px;font-size:20px;font-weight:300;text-transform:uppercase}.bride-modal article p{margin:0;color:#666;font-size:13px;line-height:1.75;white-space:pre-line}.site-footer{min-height:300px;background:#f5f5f3;margin-top:76px;padding:64px 34px 32px;text-align:center}.home-page+.site-footer{margin-top:0}.site-footer>p{font-size:10px;letter-spacing:.18em;color:#777;margin:18px 0 48px}.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:18px 42px;margin-bottom:60px}.site-footer small{font-size:10px;letter-spacing:.12em;color:#999}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#fff;overflow-y:auto;padding:78px 35px 120px;animation:reveal .22s ease-out}.drawer-close{position:absolute;top:24px;right:23px;border:0;background:none;cursor:pointer}.drawer nav{display:flex;flex-direction:column;gap:0}.drawer nav button{width:100%;min-height:70px;display:flex;align-items:center;justify-content:space-between;background:none;border:0;font-size:20px;font-weight:300;text-align:left;cursor:pointer;text-transform:uppercase}.drawer-book{position:fixed;left:50%;bottom:20px;transform:translate(-50%);min-width:302px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000009e;display:flex;align-items:center;justify-content:center;padding:20px}.appointment-modal{position:relative;background:#fff;width:min(570px,100%);padding:62px 72px 52px}.contact-modal-backdrop{align-items:flex-start;padding-top:18px;overflow-y:auto;background:#e0e0dde6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.contact-modal{width:min(364px,calc(100vw - 32px));padding:39px 30px 50px;background:#fff;box-shadow:0 8px 28px #00000014;animation:reveal .22s ease-out}.contact-modal-row{width:100%;min-height:79px;padding:0 18px;border:0;border-bottom:1px solid #bdbdbd;background:transparent;display:grid;grid-template-columns:61px minmax(0,1fr);align-items:center;color:#222;text-align:left;cursor:pointer}.contact-modal-row span{font-size:16px;line-height:1.25;font-weight:300}.contact-modal-row svg{color:#000}.contact-modal-row:focus-visible{outline:1px solid #222;outline-offset:3px}.modal-close{position:absolute;top:20px;right:20px;border:0;background:none;cursor:pointer}.eyebrow{font-size:10px;letter-spacing:.2em;color:#888;margin:0 0 13px}.appointment-modal h2,.admin-page h1,.admin-login h1{font-size:25px;font-weight:300;margin:0 0 40px}.appointment-modal form,.admin-login form{display:flex;flex-direction:column;gap:22px}.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.appointment-modal label,.admin-login label,.product-form label{display:flex;flex-direction:column;gap:8px;font-size:10px;letter-spacing:.14em}.appointment-modal input,.admin-login input,.product-form input,.product-form select,.product-form textarea,.admin-security input{height:46px;border:0;border-bottom:1px solid #999;outline:none;background:#fff;border-radius:0;font-size:15px;letter-spacing:0}.privacy-note{font-size:10px;line-height:1.5;color:#888;margin:20px 0 0}.form-error{color:#9d2525;font-size:12px;line-height:1.4;margin:0}.black-button:disabled{opacity:.55;cursor:wait}.success-message{text-align:center;padding:40px 0 10px}.success-message p{line-height:1.6;margin-bottom:30px}.admin-login{min-height:100vh;display:grid;place-items:center;background:#f5f5f3;padding:40px}.admin-login form{width:min(380px,100%);background:#fff;padding:48px}.admin-login small{color:#888;text-align:center}.login-error{min-height:18px;margin:-12px 0;color:#a31f1f;font-size:12px}.admin-page{width:min(1040px,calc(100% - 56px));margin:auto}.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #ddd;margin-bottom:42px}.admin-heading button{background:none;border:0;font-size:11px;letter-spacing:.12em;cursor:pointer}.product-form{background:#f5f5f3;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:24px 34px;align-items:end}.admin-panel,.admin-order-section{margin-bottom:34px;padding:34px;background:#f5f5f3}.admin-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:24px}.admin-section-heading h2{margin:0;font-size:17px;font-weight:400}.admin-section-heading>p{margin:0;color:#999;font-size:9px;letter-spacing:.1em}.admin-section-heading label{min-width:310px;display:flex;flex-direction:column;gap:7px;color:#777;font-size:9px;letter-spacing:.1em}.admin-section-heading select,.category-create-form select,.category-create-form input,.group-create-form input,.group-rename-form input,.bride-form input,.bride-form textarea{width:100%;height:44px;border:0;border-bottom:1px solid #999;border-radius:0;background:#fff;color:#222;font-size:14px}.group-create-form{margin-bottom:24px;padding:20px;border:1px solid #d3d3d0;background:#fff;display:grid;grid-template-columns:minmax(210px,1fr) minmax(220px,1.2fr) auto;gap:18px;align-items:end}.group-create-form>div{align-self:center;display:flex;flex-direction:column;gap:7px}.group-create-form strong{font-size:12px;font-weight:500;letter-spacing:.04em}.group-create-form small{color:#888;font-size:10px;line-height:1.4}.group-create-form label{display:flex;flex-direction:column;gap:7px;color:#777;font-size:9px;letter-spacing:.11em}.group-create-form .black-button{min-height:44px;display:flex;align-items:center;gap:8px}.admin-group-list{display:grid;gap:12px}.admin-group-list>article{background:#fff;border:1px solid #ddd}.admin-group-title{min-height:54px;padding:8px 12px 8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-group-title strong{font-size:13px;font-weight:500}.admin-group-actions{flex:0 0 auto;display:flex;align-items:center;gap:2px}.admin-group-actions>button{width:36px;height:36px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.group-rename-form{min-width:0;flex:1;display:grid;grid-template-columns:minmax(130px,1fr) auto auto;gap:8px;align-items:center}.group-rename-form input{height:38px;padding:0 8px;border:1px solid #aaa}.group-rename-form button{min-height:38px;padding:0 8px;border:0;background:transparent;cursor:pointer;font-size:9px;letter-spacing:.07em}.admin-category-list{border-top:1px solid #eee}.admin-category-list>div{min-height:64px;padding:6px 12px 6px 16px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-category-list>div:last-child{border-bottom:0}.admin-category-list span{color:#777;font-size:12px}.category-photo-trigger{min-width:0;flex:1;min-height:52px;padding:0;border:0;background:transparent;display:grid;grid-template-columns:38px minmax(0,1fr) 24px;gap:11px;align-items:center;text-align:left;cursor:pointer}.category-photo-trigger img,.category-photo-empty{width:38px;height:48px;display:grid;place-items:center;object-fit:cover;background:#e5e5e3;color:#777}.category-photo-trigger>span:nth-child(2){overflow-wrap:anywhere}.category-photo-trigger>svg{color:#777}.category-photo-backdrop{align-items:flex-end;padding:20px}.category-photo-sheet{position:relative;width:min(560px,100%);max-height:calc(100svh - 40px);overflow-y:auto;padding:38px 42px 34px;background:#fff}.category-photo-handle{display:none}.category-photo-sheet>.eyebrow{padding-right:42px}.category-photo-sheet h2{margin:0 0 24px;font-size:22px;font-weight:300}.category-photo-sheet .modal-close{top:18px;right:18px}.category-photo-sheet .photo-placeholder.category-photo-preview{width:310px;max-width:100%;height:413px;min-height:0;aspect-ratio:3 / 4;margin:0 auto;object-fit:cover}.category-photo-delete{min-height:44px;margin:4px auto 10px;padding:0 15px;border:0;background:transparent;display:block;color:#777;cursor:pointer;font-size:10px;letter-spacing:.1em}.category-photo-actions{display:grid;gap:10px}.category-photo-actions label{min-height:50px;border:1px solid #777;display:flex;align-items:center;justify-content:center;gap:14px;cursor:pointer;font-size:11px;letter-spacing:.08em}.category-photo-actions input{display:none}.category-photo-sheet .form-error{min-height:18px;margin:10px 0}.category-photo-save{width:100%;min-height:52px}.order-buttons{display:flex;align-items:center;gap:2px}.order-buttons button{width:36px;height:36px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.order-buttons button:disabled{opacity:.22;cursor:default}.category-create-form{margin-top:24px;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr) auto;gap:16px;align-items:end}.category-create-form label,.bride-form label{display:flex;flex-direction:column;gap:7px;font-size:9px;letter-spacing:.11em}.category-create-form .black-button{min-height:44px;display:flex;align-items:center;gap:8px}.admin-message{grid-column:1 / -1;min-height:16px;margin:0;color:#777;font-size:11px}.product-form-heading{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between}.product-form-heading h2{margin:0;font-size:17px;font-weight:400}.product-form-heading button{padding:0;border:0;border-bottom:1px solid #555;background:none;cursor:pointer;font-size:10px;letter-spacing:.1em}.description-field{grid-column:1 / -1}.product-form .description-field textarea{height:150px;padding:14px;border:1px solid #aaa;resize:vertical;line-height:1.5}.upload-label{border:1px solid #999;height:48px;display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;cursor:pointer}.upload-label input{display:none}.upload-note{margin:0;color:#888;font-size:9px;line-height:1.4;letter-spacing:.08em}.admin-previews{grid-column:1 / -1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.admin-previews>div{position:relative;min-width:0}.admin-previews img{width:100%;aspect-ratio:2 / 3;object-fit:cover;display:block}.admin-previews span{display:block;padding-top:5px;color:#777;font-size:9px;letter-spacing:.08em}.admin-previews button{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;background:#ffffffe6;display:grid;place-items:center;cursor:pointer}.product-form .black-button{min-height:48px}.admin-security{margin-top:34px;padding:28px 34px;background:#f5f5f3;display:grid;grid-template-columns:1fr 2fr;gap:35px;align-items:end}.brides-admin{margin-top:34px}.bride-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;align-items:end}.bride-form .description-field,.bride-form .admin-previews{grid-column:1 / -1}.bride-form textarea{height:130px;padding:12px;border:1px solid #aaa;resize:vertical;line-height:1.5}.text-button{padding:0;border:0;border-bottom:1px solid #555;background:transparent;cursor:pointer;font-size:10px;letter-spacing:.1em}.admin-brides-list{margin-top:28px;display:grid;gap:1px;background:#ddd;border:1px solid #ddd}.admin-brides-list article{min-height:118px;padding:10px;background:#fff;display:grid;grid-template-columns:74px minmax(0,1fr) 160px;gap:16px;align-items:center}.admin-brides-list .photo-placeholder{height:98px;min-height:0}.admin-brides-list strong{font-size:13px;font-weight:400}.admin-brides-list p{margin:6px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#777;font-size:11px}.admin-brides-list small{color:#aaa;font-size:9px}.admin-security h2{margin:0;font-size:17px;font-weight:400}.admin-security form{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}.admin-security label{display:flex;flex-direction:column;gap:8px;font-size:10px;letter-spacing:.14em}.admin-security .black-button{min-height:46px}.admin-security form>p{grid-column:1 / -1;min-height:18px;margin:0;color:#777;font-size:12px}.admin-products{margin-top:38px;display:grid;gap:1px;background:#ddd;border:1px solid #ddd}.admin-order-section{margin-top:38px}.admin-order-section .admin-products{margin-top:0}.admin-products article{background:#fff;min-height:130px;display:grid;grid-template-columns:86px 1fr 160px;gap:18px;align-items:center;padding:12px}.admin-products .photo-placeholder{min-height:88px;height:88px;font-size:9px}.admin-products .photo-placeholder span{font-size:9px}.admin-product-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.admin-products strong{font-size:14px;font-weight:400}.admin-products span{color:#888;font-size:13px}.admin-products small{color:#aaa}.admin-product-copy p{max-width:600px;margin:4px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#888;font-size:12px}.admin-product-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.admin-product-actions button,.delete-button{width:34px;height:34px;border:0;background:none;display:grid;place-items:center;cursor:pointer}.delete-button{color:#8c2828}.not-found{text-align:center}@keyframes reveal{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@media(min-width:761px)and (max-width:1200px){.desktop-nav{gap:12px;padding-left:16px;padding-right:16px}.desktop-nav button{font-size:10px;letter-spacing:.02em}}@media(max-width:760px){.site-header{height:54px;position:sticky;top:0}body:has(.home-page) .site-header{position:absolute}.desktop-nav,.desktop-topline{display:none}.header-mobile-row{height:54px;display:grid;grid-template-columns:44px minmax(0,1fr) 80px;align-items:center;padding:0 11px}.icon-button{width:40px;height:44px;border:0;padding:0;background:none;display:flex;align-items:center;justify-content:center}.header-actions{display:flex}.header-mobile-row .brand{font-size:20px!important;white-space:nowrap;justify-self:center}.home-hero{height:calc(100svh - 54px);min-height:560px}.home-hero>.hero-photo{object-fit:cover;object-position:center}.hero-copy{top:auto;bottom:46px;transform:translate(-50%)}.hero-copy p{font-size:11px;letter-spacing:.42em;line-height:1.6;margin-bottom:18px}.hero-copy h1{font-size:38px;margin-bottom:26px}.white-button{min-height:50px;padding:0 20px;font-size:10px}.home-editorial,.home-editorial.reverse{min-height:auto;display:grid;grid-template-columns:1fr}.home-editorial.reverse>.photo-placeholder{order:0}.home-editorial>.photo-placeholder{width:100%;min-height:0;aspect-ratio:3 / 4}.editorial-copy{padding:58px 28px 64px}.editorial-copy p{font-size:11px;letter-spacing:.38em;line-height:1.7}.editorial-copy h2{font-size:34px}.page-top{padding-top:40px}.category-landing{padding-left:23px;padding-right:23px}.category-landing>h1,.catalog-heading h1,.text-page>h1{font-size:20px;margin-bottom:26px}.category-grid,.category-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 8px}.category-tile .photo-placeholder{aspect-ratio:3 / 4;min-height:0}.category-tile>span{min-height:48px;padding:13px 2px 10px;font-size:12px;line-height:1.2}.book-bar{gap:42px;margin:36px 0 16px}.book-bar .black-button{min-width:264px;padding:0 22px}.phone-button{flex:0 0 44px;width:44px;height:44px}.catalog-page{padding-left:0;padding-right:0}.catalog-heading{padding:0 13px;margin-bottom:21px;align-items:flex-start}.catalog-heading h1{max-width:72%}.catalog-heading p{padding-top:6px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 0}.product-card .photo-placeholder{aspect-ratio:2 / 3}.product-meta{padding:7px 7px 8px 4px;min-height:52px}.product-meta h2{height:26px;font-size:11px;line-height:13px}.product-meta p{font-size:11px;line-height:12px;margin-top:2px}.catalog-page .book-bar{padding:0 18px}.utility-catalog-page{padding-left:13px;padding-right:13px}.utility-catalog-page .catalog-heading{padding-left:0;padding-right:0}.catalog-search{margin-bottom:25px}.catalog-empty-state{min-height:280px;padding:0 24px}.product-detail-page{padding:14px 0 0}.product-back{min-height:44px;margin:-10px 9px 2px;padding:10px 0}.product-detail-layout{display:flex;flex-direction:column;gap:0}.product-gallery,.product-gallery.has-one{width:100%;display:block}.product-thumbnails{display:none}.product-main-photo>.photo-placeholder{aspect-ratio:911 / 1333}.gallery-dots{bottom:-3px;gap:0}.product-information{width:100%;padding:32px 10px 46px}.product-category-label{display:none}.product-information h1{margin-bottom:45px;font-size:20px;line-height:1.25;letter-spacing:-.04em}.product-detail-price{margin-bottom:43px;font-size:18px}.product-actions-row{display:none}.mobile-favorite-button{display:flex}.product-description{padding-top:0;border-top:0;font-size:12px;line-height:1.48}.product-description strong{display:block;margin-bottom:8px}.product-description p{margin:0}.product-detail-page>.book-bar{position:sticky;z-index:10;bottom:calc(12px + env(safe-area-inset-bottom));display:flex;padding:0 18px}.text-page,.contacts-page{width:calc(100% - 52px)}.concept-layout{display:flex;flex-direction:column;gap:36px}.concept-layout>.photo-placeholder{width:100%;aspect-ratio:4 / 5}.concept-layout p{font-size:14px;line-height:1.75;margin-bottom:19px}.contacts-page{width:calc(100% - 52px)}.contacts-page>h1{font-size:19px;text-align:center;margin-bottom:82px}.contact-facts{margin:0 0 25px}.contact-facts dl>div{grid-template-columns:37% 63%;margin-bottom:17px}.contact-facts dt,.contact-facts dd{font-size:12px;line-height:1.45}.contact-facts dd a{display:inline-flex;align-items:center;min-height:44px}.directions h2{font-size:24px}.directions p{font-size:17px;line-height:1.43}.contacts-page .book-bar{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:10}.brides-page{width:calc(100% - 26px);padding-left:17px}.brides-page.page-top{padding-top:14px}.brides-heading{margin-bottom:44px}.brides-heading h1{font-size:19px;white-space:nowrap;text-align:left}.brides-heading>p{display:none}.bride-modal{padding:52px 22px 28px;grid-template-columns:1fr;gap:28px}.site-footer{min-height:260px;margin-top:48px;padding-top:55px}.site-footer .brand{font-size:22px!important}.site-footer .brand{min-height:44px}.site-footer nav{flex-direction:column;gap:4px;margin-bottom:42px}.site-footer nav button{min-height:44px}.appointment-modal{padding:58px 28px 35px}.appointment-modal h2{font-size:22px}.drawer{padding-left:35px;padding-right:35px;padding-bottom:calc(120px + env(safe-area-inset-bottom))}.drawer-close,.modal-close{width:44px;height:44px;display:grid;place-items:center;padding:0}.drawer-close{top:12px;right:12px}.drawer-book{bottom:calc(20px + env(safe-area-inset-bottom))}.drawer nav button{min-height:70px;font-size:19px}.admin-page{width:calc(100% - 28px)}.admin-panel,.admin-order-section{padding:26px 20px}.admin-section-heading{flex-direction:column}.admin-section-heading label{width:100%;min-width:0}.group-create-form{grid-template-columns:1fr;padding:18px}.group-create-form>*{width:100%}.category-create-form,.bride-form{grid-template-columns:1fr}.category-create-form>*,.bride-form>*,.bride-form .description-field,.bride-form .admin-previews{grid-column:auto}.admin-group-title{align-items:flex-start;padding-left:12px;padding-right:6px}.admin-group-title>strong{padding-top:10px}.admin-group-actions{gap:0}.admin-group-actions>button,.admin-group-actions .order-buttons button{width:34px}.group-rename-form{grid-template-columns:1fr auto;padding:4px 0}.group-rename-form input{grid-column:1 / -1}.admin-category-list>div{padding-left:10px;padding-right:6px}.category-photo-trigger{grid-template-columns:34px minmax(0,1fr) 20px;gap:9px}.category-photo-trigger img,.category-photo-empty{width:34px;height:44px}.category-photo-backdrop{padding:0}.category-photo-sheet{width:100%;max-height:calc(100svh - 20px);padding:30px 20px calc(18px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.category-photo-handle{width:58px;height:5px;margin:-16px auto 25px;border-radius:3px;background:#aaa;display:block}.category-photo-sheet>.eyebrow{text-align:center;padding:0 38px}.category-photo-sheet h2{margin-bottom:16px;text-align:center;font-size:21px}.category-photo-sheet .photo-placeholder.category-photo-preview{width:210px;height:280px}.category-photo-delete{min-height:38px;margin-bottom:6px}.category-photo-actions{gap:8px}.category-photo-actions label{min-height:46px}.category-photo-sheet .form-error{margin:7px 0}.category-photo-save{min-height:48px;margin-top:8px}.category-photo-sheet .modal-close{top:20px;right:12px}.product-form{grid-template-columns:1fr;padding:26px 20px}.product-form>*,.product-form label,.product-form input,.product-form select,.product-form textarea{width:100%;min-width:0}.product-form-heading,.description-field,.admin-previews{grid-column:auto}.admin-previews{grid-template-columns:repeat(3,minmax(0,1fr))}.upload-note{margin-top:-14px}.admin-security{grid-template-columns:1fr;padding:26px 20px}.admin-security form{grid-template-columns:1fr}.admin-security form>p{grid-column:auto}.admin-products article,.admin-brides-list article{grid-template-columns:70px minmax(0,1fr);gap:10px}.admin-products .admin-product-actions,.admin-brides-list .admin-product-actions{grid-column:1 / -1;justify-content:flex-end;border-top:1px solid #eee;padding-top:6px}.admin-products .photo-placeholder{height:90px;min-height:90px}.admin-product-copy p{max-width:100%}.admin-login{padding:20px}.admin-login form{padding:38px 28px}}@media(max-width:430px){.book-bar{gap:14px}.book-bar .black-button{min-width:0;flex:1;font-size:10px}.photo-placeholder span{font-size:14px}.bride-gallery-item .photo-placeholder span{font-size:7px}}@media(max-width:360px){.header-mobile-row{grid-template-columns:40px minmax(0,1fr) 72px;padding:0 4px}.header-mobile-row .brand{font-size:16px!important;letter-spacing:.015em!important}.header-mobile-row .icon-button{width:36px}.header-actions{justify-content:flex-end}.drawer{padding-left:24px;padding-right:24px}.drawer nav button{font-size:17px}.drawer-book{width:calc(100% - 48px);min-width:0}.appointment-modal{padding-left:22px;padding-right:22px}.admin-page{width:calc(100% - 20px)}.admin-heading h1{font-size:22px}.admin-products article,.admin-brides-list article{grid-template-columns:58px minmax(0,1fr);gap:8px;padding:9px}}
