/* Silver typography and rules; arrangement names stay white. */
:root{--paper:#e3e6eb;--muted:#c4c9d1;--line:#b9c0ca;--silver-type:linear-gradient(178deg,#fff 0%,#dce1e8 25%,#a5adb9 46%,#f7f9fc 55%,#c6cdd6 78%,#eef1f5 100%);--silver-rule:linear-gradient(90deg,#606874,#dce2ea 24%,#fff 49%,#929ba8 72%,#dce2ea)}
body,dialog,input,textarea{color:#dce1e8}
body :is(h1,h2,h3,p,figcaption,.eyebrow,.price,.thumb-label),nav>a:not(.logo),footer a,.instagram{
 color:#dce1e8;background-image:var(--silver-type);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;
}
body[data-page="signature"] h1{background-image:var(--silver-type)}
button,summary,label,footer{color:#dce1e8;text-shadow:0 1px 0 #ffffff18,0 -1px 0 #0008}
body .signature-product h3,body .detail-grid h2,body .cart-row strong,body .rose-size-heading h2,body .roses .product h3{
 color:#fff;background:none;-webkit-text-fill-color:#fff;text-shadow:none;filter:none;
}
header,footer,.product,.accordion,details,.founders,.table-hero,.cart-row,.button,.thumbs button[aria-pressed="true"],nav a.active{
 border-color:#b9c0ca;border-image-source:var(--silver-rule);border-image-slice:1;
}
.details-link{text-decoration-color:#cbd2dc}
.button:hover,.button:focus-visible{color:#fff;border-color:#fff}
@media(forced-colors:active){
 body :is(h1,h2,h3,p,figcaption,.eyebrow,.price,.thumb-label),nav>a:not(.logo),footer a,.instagram,body[data-page="signature"] h1{background:none;-webkit-text-fill-color:CanvasText;color:CanvasText}
 header,footer,.product,.accordion,details,.founders,.table-hero,.cart-row,.button{border-image:none;border-color:CanvasText}
}

/* Icon-only add-to-bag controls retain an accessible product label. */
body .product .add-bag-icon,body .add-bag-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;min-width:64px;height:64px;padding:8px;border:0;border-image:none;background:transparent;box-shadow:none;color:inherit}
.add-bag-icon .chrome-bag{display:block;width:40px;height:48px;filter:drop-shadow(0 1px 2px #0008)}
.add-bag-icon:hover .chrome-bag{filter:drop-shadow(0 0 5px #ffffff50)}

/* Contained, manually controlled arrangement carousel. */
.carousel-window{position:relative;overflow:hidden}
.carousel-track{display:flex;transition:transform .45s ease}
.carousel-slide{flex:0 0 100%;min-width:0}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid #bfc6d0;border-radius:50%;background:#111b;color:#eef1f5;font:32px/1 Georgia,serif;z-index:1}
.carousel-prev{left:8px}.carousel-next{right:8px}
.arrangement-carousel .thumbs button{flex:1;width:auto}
.carousel-status{display:block;text-align:center;color:#c4c9d1;font:12px/1.5 Arial,sans-serif;margin-top:12px}
@media(prefers-reduced-motion:reduce){.carousel-track{transition:none}}

/* Shared chrome DB bag artwork across navigation and collection actions. */
.bag .db-bag-image{display:block;width:44px;height:48px;object-fit:contain;transform:scale(1.2)}
.add-bag-icon .db-bag-image{width:54px;height:54px;object-fit:contain;transform:scale(1.15)}
.bag #count{z-index:1;background:#080808;border-radius:50%;min-width:16px;line-height:16px;letter-spacing:0}
.bag #count:empty{display:none}

nav .bag .db-cart-artwork{display:none;position:static;background:none;width:48px;height:56px;min-width:0;line-height:normal}
nav .bag.has-selection>.db-bag-image{display:none}
nav .bag.has-selection .db-cart-artwork{display:block}
nav .bag .db-cart-artwork svg{display:block;width:48px;height:56px;fill:none;stroke:none;overflow:visible}

/* About copy remains within the existing page borders. */
body[data-page="about"] .about{grid-template-columns:1fr}
body[data-page="about"] .about>div{max-width:780px;margin-inline:auto;width:100%}

.home.home-video{position:relative;overflow:hidden;isolation:isolate;background:#030303;min-height:100svh}
.home-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.home-video .instagram{position:relative;z-index:1}
.film-toggle{position:absolute;bottom:25px;right:25px;border:1px solid #ffffff60;border-radius:0;background:#0007;color:white;padding:10px 16px;font:11px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}

/* Chrome Instagram link, centered three-quarters down the home film. */
.home .instagram-icon{position:absolute;left:50%;top:75%;bottom:auto;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;z-index:1;background:none;padding:0;filter:drop-shadow(0 2px 5px #000);transition:filter .25s,transform .25s}
.home .instagram-icon img{display:block;width:64px;height:64px}
.home .instagram-icon:hover{filter:drop-shadow(0 0 7px #ffffff80);transform:translate(-50%,-50%) scale(1.06)}
.home .instagram-icon:focus-visible{outline:1px solid silver;outline-offset:6px;border-radius:12px}
@media(prefers-reduced-motion:reduce){.home .instagram-icon{transition:none}}

/* A slow silver highlight follows only the transparent logo artwork. */
nav .logo{position:relative;display:block}
nav .logo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 38%,rgba(220,232,245,.2) 44%,rgba(255,255,255,.95) 50%,rgba(220,232,245,.2) 56%,transparent 62%);background-size:300% 100%;background-position:150% 0;-webkit-mask:url('assets/logo-transparent.webp') center/contain no-repeat;mask:url('assets/logo-transparent.webp') center/contain no-repeat;mix-blend-mode:screen;animation:db-logo-glimmer 7s ease-in-out infinite}
@keyframes db-logo-glimmer{0%,30%{background-position:150% 0;opacity:0}35%{opacity:.9}65%{opacity:.9}70%,100%{background-position:-50% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){nav .logo::after{animation:none;opacity:0}}

/* Editorial tablescape viewer. */
dialog.look-dialog{width:min(1240px,96vw);max-height:94svh;padding:0;border:1px solid #ffffff22;background:#0d0e10;overflow:auto}
.look-dialog .close{position:absolute;top:12px;right:14px;border-radius:50%;background:#111c;color:#fff;width:40px;height:40px}
.look-editorial{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.85fr);min-height:650px}
.look-stage{position:relative;background:#060607;display:flex;align-items:center;justify-content:center;min-width:0;padding:24px 24px 68px}
.look-feature{display:block;width:100%;height:min(73svh,760px);object-fit:contain}
.look-controls{position:absolute;bottom:16px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between}
.look-controls button{width:44px;height:38px;background:none;border:1px solid #ffffff30;color:#eee;font:22px Arial;border-radius:24px}
.look-position{font:11px Arial,sans-serif;letter-spacing:3px;color:#b5b7bc}
.look-story{padding:80px 38px 40px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.look-kicker{font:10px/1.6 Arial,sans-serif;letter-spacing:2.5px;color:#989ca4}
body .look-story h2{font:normal clamp(34px,4vw,54px)/1.08 Georgia,serif;letter-spacing:-1.5px;margin:25px 0;color:#f3f1ed;background:none;-webkit-text-fill-color:currentColor}
body .look-story .look-description{font:15px/1.85 Arial,sans-serif;color:#aaaeb5;background:none;-webkit-text-fill-color:currentColor;margin:0}
.look-rule{height:1px;background:#ffffff20;margin:32px 0 24px}
.look-selection{font:11px Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#d4d6db;margin-bottom:15px}
.look-thumbnails{display:flex;gap:8px}.look-thumbnails button{position:relative;flex:1;min-width:0;padding:0;border:1px solid transparent;background:#070707;opacity:.5;transition:opacity .2s}
.look-thumbnails button[aria-pressed="true"]{opacity:1;border-color:#c3c6cb}.look-thumbnails button:hover{opacity:1}
.look-thumbnails img{display:block;width:100%;height:85px;object-fit:cover}.look-thumbnails span{position:absolute;bottom:4px;left:5px;color:white;font:9px Arial;text-shadow:0 1px 3px black}
.look-inquire{display:flex;justify-content:space-between;align-items:center;margin-top:38px;padding:16px 0;background:none;border:0;border-bottom:1px solid #b4b8c0;color:#eee;font:12px Arial,sans-serif;letter-spacing:1px;text-align:left}
.look-inquire span{font-size:22px}body .look-story .look-note{font:11px/1.5 Arial,sans-serif;color:#858991;margin:12px 0 0;background:none;-webkit-text-fill-color:currentColor}
@media(max-width:700px){.look-editorial{grid-template-columns:1fr;min-height:0}.look-stage{padding:18px 16px 62px}.look-feature{height:52svh}.look-story{padding:26px 24px 32px}.look-story h2{margin:15px 0}.look-rule{margin:22px 0}.look-thumbnails img{height:76px}.look-inquire{margin-top:25px}}

.table-hero>.tablescape-film{position:relative;padding:0;min-width:0;align-self:center;background:#080809}
.tablescape-film video{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}
.tablescape-film .film-toggle{right:14px;bottom:14px}

/* Consistent edge-to-edge tablescape cover tiles. */
.look-grid article>img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;max-height:none}

/* Borderless Tablescapes photography, including expanded galleries. */
body[data-page="tablescapes"] .table-hero{border:0;border-image:none}
body[data-page="tablescapes"] .look-grid article,body[data-page="tablescapes"] .look-grid img,body[data-page="tablescapes"] .table-hero img,.look-dialog .look-feature,.look-dialog .look-thumbnails img{border:0;border-image:none;box-shadow:none;border-radius:0}
.look-dialog .look-thumbnails button,.look-dialog .look-thumbnails button[aria-pressed="true"]{border:0;border-image:none;box-shadow:none}
.look-dialog .look-thumbnails button:focus-visible{outline:2px solid #eee;outline-offset:3px}

/* Keep serif descenders inside the metallic text paint area. */
body[data-page="tablescapes"] .closing h2{line-height:1.25;padding-bottom:.2em;overflow:visible}

/* The DB Girls — original photographs from Delicate Beings Instagram. */
.db-gallery{max-width:1440px;margin:auto;padding:70px 6vw 0}.db-gallery-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:46px;border-bottom:1px solid #454545;margin-bottom:40px}.db-gallery-intro h1{font-size:clamp(58px,7.5vw,110px);line-height:1.15;padding-bottom:10px;margin:12px 0 0;text-align:left}.db-gallery-note{padding-bottom:15px}.db-gallery-note p{font-size:16px;line-height:1.7;color:#bdbdbd}.db-gallery-note a{font-size:12px;letter-spacing:.12em;color:#eee}.db-portraits{display:grid;grid-template-columns:1fr 1fr;gap:50px 28px}.db-portraits figure{margin:0;min-width:0}.db-portraits figure>a{display:block;position:relative;overflow:hidden;background:#141414}.db-portraits img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:contain;transition:filter .3s}.db-portraits figure:nth-child(even) img{aspect-ratio:3/4}.portrait-open{position:absolute;right:18px;bottom:18px;background:rgba(0,0,0,.72);padding:10px 14px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:white;opacity:0;transition:opacity .2s}.db-portraits a:hover .portrait-open,.db-portraits a:focus-visible .portrait-open{opacity:1}.db-portraits a:focus-visible{outline:2px solid #ddd;outline-offset:5px}.db-portraits figcaption{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #383838;color:#bbb;font-size:12px;letter-spacing:.08em}.db-gallery-end{text-align:center;padding:70px 0 90px}.db-gallery-end p{font:italic 36px Georgia,serif;color:#ddd}.db-gallery-end .button{margin-top:12px}@media(max-width:700px){.db-gallery{padding:40px 6vw 0}.db-gallery-intro{display:block;padding-bottom:24px;margin-bottom:26px}.db-gallery-intro h1{font-size:58px}.db-gallery-note{padding:0}.db-portraits{grid-template-columns:1fr;gap:30px}.portrait-open{opacity:1}.db-gallery-end p{font-size:28px}}

/* Fitted editorial collage: aligned rows and consistent narrow gutters. */
.db-gallery{max-width:1600px;padding:44px 5vw 0}.db-gallery-intro{padding-bottom:24px;margin-bottom:22px}.db-gallery-intro .eyebrow{text-align:left}.db-gallery-intro h1{font-size:clamp(54px,6vw,88px)}.db-portraits{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,clamp(150px,18vw,260px));gap:12px}.db-portraits figure{position:relative;overflow:hidden}.db-portraits figure:nth-child(1){grid-area:1/1/3/3}.db-portraits figure:nth-child(2){grid-area:1/3/2/4}.db-portraits figure:nth-child(3){grid-area:1/4/2/5}.db-portraits figure:nth-child(4){grid-area:2/3/3/5}.db-portraits figure:nth-child(5){grid-area:3/1/5/2}.db-portraits figure:nth-child(6){grid-area:3/2/5/4}.db-portraits figure:nth-child(7){grid-area:3/4/5/5}.db-portraits figure>a{width:100%;height:100%}.db-portraits figure img,.db-portraits figure:nth-child(even) img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 35%}.db-portraits figure:nth-child(4) img{object-position:center 45%}.db-portraits figcaption{display:none}.portrait-open{font-size:9px;padding:8px 10px;right:10px;bottom:10px}.db-gallery-end{padding:48px 0 64px}@media(max-width:700px){.db-gallery{padding:30px 4vw 0}.db-gallery-intro h1{font-size:54px}.db-gallery-note p{font-size:14px}.db-portraits{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,clamp(170px,47vw,280px));gap:8px}.db-portraits figure:nth-child(1){grid-area:1/1/3/2}.db-portraits figure:nth-child(2){grid-area:1/2/2/3}.db-portraits figure:nth-child(3){grid-area:2/2/3/3}.db-portraits figure:nth-child(4){grid-area:3/1/4/3}.db-portraits figure:nth-child(5){grid-area:4/1/5/2}.db-portraits figure:nth-child(6){grid-area:4/2/6/3}.db-portraits figure:nth-child(7){grid-area:5/1/6/2}.portrait-open{opacity:0}.db-portraits a:focus-visible .portrait-open{opacity:1}}
/* Jemala portraits: keep her face and bouquet in view. */
.db-portraits figure:nth-child(3) img{object-position:center 24%}
.db-portraits figure:nth-child(7) img{object-position:62% center}

/* Shared page-title typography across all collection and editorial pages. */
body[data-page] main h1{
 font-family:var(--serif,Didot,'Bodoni MT',Baskerville,Georgia,serif);
 font-size:clamp(36px,4.8vw,66px);
 font-weight:400;
 font-style:normal;
 line-height:1.25;
 letter-spacing:-.025em;
 padding-block:.08em .18em;
 overflow:visible;
}

/* Minimal gallery framing. */
.db-gallery{padding-bottom:48px}
.db-gallery-intro{display:block;text-align:left;margin-bottom:24px;padding-bottom:20px}
.db-gallery-intro h1{margin:0;text-align:left}
@media(max-width:700px){.db-gallery{padding-bottom:30px}.db-gallery-intro{margin-bottom:18px;padding-bottom:14px}}

/* Home video controls share a baseline at opposite edges. */
.home .instagram-icon{left:25px;top:auto;bottom:25px;transform:none;width:44px;height:44px}
.home .instagram-icon img{width:44px;height:44px}
.home .instagram-icon:hover{transform:scale(1.06)}
.home .film-toggle{bottom:25px;right:25px;height:44px}

/* Center the brand independently of link lengths and the shopping bag. */
nav{position:relative;grid-template-columns:repeat(5,minmax(0,1fr));padding-inline:60px}
nav .logo{grid-column:3;grid-row:1;justify-self:center;width:165px}
nav>a:not(.logo){justify-self:center}
nav .bag{position:absolute;right:0;top:50%;transform:translateY(-50%)}
@media(max-width:1150px){
 nav{grid-template-columns:repeat(4,minmax(0,1fr));padding-inline:0;gap:0 14px;min-height:0}
 nav .logo{grid-column:2/4;grid-row:1;width:125px}
 nav .bag{position:relative;right:auto;top:auto;transform:none;grid-column:4;grid-row:1;justify-self:end}
 nav>a:not(.logo){white-space:normal;grid-row:2!important;grid-column:auto!important;width:100%;text-align:center;font-size:11px;letter-spacing:1px;line-height:1.5;padding:14px 0 8px}
 nav>a:first-child{grid-column:1!important}
 nav>a:nth-child(2){grid-column:2!important}
 nav>a:nth-child(4){grid-column:3!important}
 nav>a:nth-child(5){grid-column:4!important}
}

/* Fill the boat portrait tile to match the surrounding collage. */
.db-portraits figure:nth-child(7) img{object-fit:cover;object-position:58% center;background:#080808}

/* Additional Instagram portraits complete a third collage band. */
@media(min-width:701px){
 .db-portraits{grid-template-rows:repeat(6,clamp(150px,18vw,260px))}
 .db-portraits figure:nth-child(8){grid-area:5/1/7/2}
 .db-portraits figure:nth-child(9){grid-area:5/2/7/3}
 .db-portraits figure:nth-child(10){grid-area:5/3/7/4}
 .db-portraits figure:nth-child(11){grid-area:5/4/7/5}
}
@media(max-width:700px){
 .db-portraits{grid-template-rows:repeat(7,clamp(170px,47vw,280px))}
 .db-portraits figure:nth-child(8){grid-area:6/1/7/2}
 .db-portraits figure:nth-child(9){grid-area:6/2/7/3}
 .db-portraits figure:nth-child(10){grid-area:7/1/8/2}
 .db-portraits figure:nth-child(11){grid-area:7/2/8/3}
}
.db-portraits figure:nth-child(n+8) img{object-position:center}

/* Solid silver lettering keeps descenders intact in Safari's text painting. */
body :is(h1,h2,h3){background-image:none!important;-webkit-text-fill-color:currentColor!important;overflow:visible;padding-bottom:.2em}
body dialog h2{line-height:1.25}

/* Four new portraits, with the ivory arrangements separated. */
@media(min-width:701px){
 .db-portraits{grid-template-rows:repeat(8,clamp(150px,18vw,260px))}
 .db-portraits figure:nth-child(12){grid-area:7/1/9/2}
 .db-portraits figure:nth-child(13){grid-area:7/2/9/3}
 .db-portraits figure:nth-child(14){grid-area:7/3/9/4}
 .db-portraits figure:nth-child(15){grid-area:7/4/9/5}
}
@media(max-width:700px){
 .db-portraits{grid-template-rows:repeat(9,clamp(170px,47vw,280px))}
 .db-portraits figure:nth-child(12){grid-area:8/1/9/2}
 .db-portraits figure:nth-child(13){grid-area:8/2/9/3}
 .db-portraits figure:nth-child(14){grid-area:9/1/10/2}
 .db-portraits figure:nth-child(15){grid-area:9/2/10/3}
}
.db-portraits figure:nth-child(15) img{object-position:center 65%}

/* A restrained silver glimmer, with room for the title's descenders. */
body[data-page="signature"] main h1{
 background-image:linear-gradient(110deg,#bcc2cb 0%,#dce1e8 38%,#ffffff 48%,#ffffff 50%,#dce1e8 60%,#bcc2cb 100%)!important;
 background-size:250% 100%;background-repeat:no-repeat;
 background-clip:text;-webkit-background-clip:text;
 -webkit-text-fill-color:transparent!important;
 padding-bottom:.25em;overflow:visible;
 animation:signature-title-glimmer 5s ease-in-out infinite;
}
@keyframes signature-title-glimmer{
 0%,15%{background-position:100% 50%}
 75%,100%{background-position:0% 50%}
}
@media(prefers-reduced-motion:reduce){body[data-page="signature"] main h1{animation:none;background-position:50% 50%}}
@media(forced-colors:active){body[data-page="signature"] main h1{animation:none;background-image:none!important;-webkit-text-fill-color:CanvasText!important}}

/* Chrome bag glimmer, including the bag with a selected arrangement. */
.db-bag-image,nav .bag .db-cart-artwork svg{animation:db-bag-glimmer 5s ease-in-out infinite}
@keyframes db-bag-glimmer{
 0%,20%,75%,100%{filter:brightness(1) drop-shadow(0 0 0 transparent)}
 43%{filter:brightness(1.65) drop-shadow(0 0 4px rgba(225,237,255,.55))}
 53%{filter:brightness(1.15) drop-shadow(0 0 1px rgba(225,237,255,.2))}
 60%{filter:brightness(1.35) drop-shadow(0 0 3px rgba(225,237,255,.35))}
}
@media(prefers-reduced-motion:reduce){.db-bag-image,nav .bag .db-cart-artwork svg{animation:none}}

/* Match the subject scale of neighboring gallery portraits. */
.db-portraits img[src$="db-girls-22.webp"]{transform:scale(1.4);transform-origin:46% 76%}

/* Bring the ivory-rose portrait into scale with the collage. */
.db-portraits img[src$="db-girls-24.webp"]{transform:scale(1.5);transform-origin:47% 77%}

/* Custom bouquet section */
.custom-bouquet{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;border-top:1px solid #ffffff35;padding:52px 0 24px;margin-top:40px}.custom-bouquet img{width:100%;height:380px;object-fit:contain}.custom-bouquet .eyebrow{text-align:left;margin:0 0 18px}.custom-bouquet h2{font-size:clamp(36px,4vw,58px);margin:0 0 20px}.custom-bouquet p{font-size:16px;line-height:1.8;max-width:390px;color:#bbb}.custom-bouquet .button{margin-top:16px;font-size:11px;letter-spacing:.15em}.custom-bouquet small{display:block;margin-top:16px;color:#999;font:12px Arial;line-height:1.6}@media(max-width:600px){.custom-bouquet{grid-template-columns:1fr;gap:12px;padding-top:28px;margin-top:24px}.custom-bouquet img{height:300px}.custom-bouquet .button{width:100%}.custom-bouquet h2{font-size:38px}}

.signature-season{text-align:center;color:#c7c8cc;font-size:13px;font-weight:400;letter-spacing:.18em;margin:-30px 0 48px;line-height:1.6}
@media(max-width:600px){.signature-season{font-size:11px;margin:-16px 0 34px}}

/* Match the top divider to the footer rule. */
body:not([data-page="home"]) header{position:relative;border-bottom:0;box-shadow:none}
body:not([data-page="home"]) header::after{content:"";position:absolute;bottom:0;left:5%;right:5%;height:1px;background:var(--silver-rule)}
@media(max-width:1050px){body:not([data-page="home"]) header::after{left:4%;right:4%}}
body:not([data-page="home"]) header::after{left:var(--header-rule-inset,5%);right:var(--header-rule-right,5%)}
