.bouquet-studio {
  color:#fbefdf;background:radial-gradient(ellipse at 15% 36%,#633948 0%,transparent 55%),linear-gradient(116deg,#512b3a,#452331 76%);
  padding:clamp(46px,5.8vw,106px) var(--editorial-margin);
}
.bouquet-layout {max-width:1435px;margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(30px,7vw,142px)}
.bouquet-portrait {min-width:0;align-self:center}
.bouquet-mat {position:relative;padding:clamp(8px,.85vw,14px);border:1px solid #d5ac997f;background:#f6e7d7;box-shadow:6px 9px 24px #25131d45}
.bouquet-mat img {display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.bouquet-portrait figcaption {display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:13px;color:#ead8ce;font-size:12px;line-height:1.4}
.bouquet-portrait figcaption>span:first-child {font-family:var(--display);font-style:italic;font-size:20px}
.atelier-overline {display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#ead1b6;margin:0 0 11px}
.atelier-overline>span {width:28px;height:1px;background:currentColor}
.bouquet-worktable {min-width:0}
.bouquet-worktable h2,.studio-diary h2 {margin:0;font:400 clamp(45px,4.8vw,88px)/.98 var(--display);letter-spacing:-.055em}
.bouquet-worktable h2 em {color:#eab8ba;font-weight:400}
#bouquet-form {margin-top:clamp(20px,2.2vw,37px)}
.material-group {margin:0 0 15px;padding:0;min-width:0;border:0}
.material-group legend {color:#f1dce0;font:500 12px/1.3 Arial,sans-serif;margin:0 0 7px;padding:0}
.sample-row {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.material-sample {position:relative;cursor:pointer;min-width:0}
.material-sample input {position:absolute;opacity:0;width:1px;height:1px;top:50%;left:12px}
.material-sample span {display:flex;gap:8px;align-items:center;padding:7px 9px;min-height:36px;font-size:12px;line-height:1.2;border:1px solid #ba8f9a70;border-radius:3px;color:#f8e7e5;transition:background .2s,border .2s}
.material-sample input:checked+span {background:#f1e4d6;color:#402936;border-color:#f5d8c6}
.material-sample input:focus-visible+span {outline:2px solid #f5d29d;outline-offset:3px}
.material-sample:hover span {border-color:#e2bac7}
.material-sample i {width:17px;height:17px;flex:none;display:block;background:var(--swatch);box-shadow:inset 0 0 0 1px #2d122729}
.tone .material-sample i {border-radius:53% 48% 55% 40%}
.material-sample span {min-height:45px;font-size:14px;border-radius:2px}
.sample-photo {display:block;flex:none;object-fit:cover}
.species .material-sample span {flex-direction:column;align-items:stretch;gap:6px;padding:4px 4px 8px;text-align:center}
.species .sample-photo {height:clamp(58px,5.4vw,83px);width:100%;object-position:50% 46%}
.paper .sample-photo,.ribbon .sample-photo {width:36px;height:26px;border-radius:1px}
.paper .material-sample span,.ribbon .material-sample span {padding:5px;gap:7px}
.bouquet-message {margin:0 0 17px;border-block:1px solid #c4a0a04a}
.bouquet-message summary {display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:40px;color:#f9e7e1;cursor:pointer;font-size:13px;list-style:none}
.bouquet-message summary::-webkit-details-marker {display:none}
.bouquet-message summary span {font-size:18px;transition:transform .2s}
.bouquet-message[open] summary span {transform:rotate(45deg)}
.bouquet-inquire {display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:46px;padding:12px 20px;background:#efdcbd;color:#422934;font-size:13px;font-weight:600;border-radius:2px}
.bouquet-inquire:hover {background:#fff0d5}
.bouquet-hint {font-size:11px;line-height:1.5;color:#e0cad0;margin:9px 0 0}
.include-message {display:flex;align-items:center;gap:10px;font-size:12px;margin:12px 0 15px;color:#f5e7df}
.include-message input {width:16px;height:16px;accent-color:#c69e83}
.flower-note {display:flex;flex-direction:column;align-items:center;padding:14px 15px 16px;background:linear-gradient(120deg,#fffaf0,#f2e8d6);border:1px solid #dbc7a7;outline:1px solid #cbb18c;outline-offset:-5px;color:#625140;min-width:0}
.flower-note>img {width:43px;height:36px;object-fit:contain;mix-blend-mode:multiply}
.flower-note>span {font-size:10px;line-height:1.35;letter-spacing:.13em;margin:4px 0;text-transform:uppercase;color:#705c46}
.flower-note textarea,.field .flower-note textarea {background:transparent;width:100%;min-height:80px;margin:4px 0 0;text-align:center;resize:vertical;color:#513844;border:0;border-radius:0;padding:5px;outline-offset:0;font:italic 22px/1.35 var(--display);letter-spacing:0}
.flower-note textarea:focus-visible {outline:1px dashed #9f8069}
.flower-note textarea::placeholder {color:#88776a;opacity:1}
/* Storefront */
.shop-nav {
  display:flex;justify-content:center;gap:clamp(18px,3vw,56px);align-items:center;
  padding:0 20px;border-bottom:1px solid #dbcfbe;background:#faf7f0;
}
.shop-nav a {display:inline-flex;align-items:center;gap:5px;min-height:45px;font-size:13px;white-space:nowrap}
.shop-nav a:hover,.shop-quote:hover {color:var(--wine);text-decoration:underline;text-underline-offset:4px}
.shop-nav .nav-atelier {color:#744653}
.shop-nav svg {width:13px}
.shop-cover {
  display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  background:#f3ebe0;border-bottom:1px solid var(--fine-rule);
}
.shop-cover-copy {
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  padding:clamp(32px,3.4vw,65px) clamp(20px,4vw,85px) clamp(32px,3.4vw,65px) var(--editorial-margin);
}
.shop-cover-copy .edition-kicker {font-size:11px;letter-spacing:.15em;margin-bottom:22px;color:#614c44}
.shop-cover h1 {font:400 clamp(65px,6.85vw,125px)/.89 var(--display);letter-spacing:-.06em;color:#3c302b;margin:0}
.shop-cover h1 em {color:#805364;font-weight:400}
.shop-intro {max-width:35ch;color:#5f5149;font-size:clamp(16px,1.18vw,20px);line-height:1.55;margin:20px 0 23px}
.shop-main-action,.shop-add {
  display:inline-flex;align-items:center;justify-content:center;gap:15px;
  background:#603b49;color:#fff8ef;border:1px solid #603b49;border-radius:2px;
  min-height:47px;padding:9px 20px;font-size:14px;font-weight:500;
}
.shop-main-action:hover,.shop-add:hover {background:#452b35;color:#fff}
.shop-cover-art {min-width:0;position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#ecdece;border-left:1px solid #ddcdb8}
.cover-product {display:block;position:relative;min-height:340px;width:100%;overflow:hidden}
.cover-bouquet {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:63% 31%}
.detail-inset {position:absolute;bottom:5%;left:5%;width:clamp(83px,9.5vw,167px);padding:4px 4px 6px;background:#fffaf1;color:#574638;border:1px solid #ddcbb5;transform:rotate(-4deg);box-shadow:1px 4px 12px #54352328}
.detail-inset img {width:100%;height:auto;aspect-ratio:1.15;object-fit:cover}
.detail-inset span {display:block;padding-top:4px;font:italic clamp(14px,1.22vw,20px)/1 var(--display)}
.shop-cover-art figcaption {padding:0 clamp(16px,2.25vw,40px);background:#f3e8d8;border-top:1px solid #dbcab4}
.shop-cover-art figcaption button {display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;min-height:41px}
.shop-cover-art figcaption button>span:first-child {font:italic 23px/1 var(--display)}
.shop-cover-art figcaption button>span:last-child {display:flex;align-items:center;gap:7px;font-size:13px}
.shop-cover-art figcaption .icon {width:14px}
.counter-selection {max-width:1820px;margin:auto;padding:clamp(38px,4.8vw,84px) var(--editorial-margin) clamp(36px,4vw,70px)}
.counter-heading {display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 clamp(22px,2.2vw,40px)}
.counter-heading h2 {font:400 clamp(43px,4.15vw,78px)/1 var(--display);letter-spacing:-.055em}
.counter-heading h2 em {font-weight:400;color:var(--rose)}
.counter-products {display:grid;grid-template-columns:minmax(0,1.43fr) repeat(2,minmax(0,1fr));gap:clamp(15px,1.9vw,38px)}
.counter-products .product-card {display:flex;flex-direction:column}
.counter-products .card-photo {height:clamp(200px,20vw,390px);aspect-ratio:auto}
.counter-products .card-photo img {object-fit:cover;object-position:50% 34%}
.counter-products .product-card:first-child .card-photo img {object-position:center}
.counter-products .product-card:nth-child(2) .card-photo img {object-position:50% 0}
.counter-products .product-card:last-child .card-photo img {object-position:50% 23%}
.counter-products .card-copy h3 {font-size:clamp(23px,2.05vw,37px)}
.counter-products .card-kind {min-height:3.1em;max-width:49ch}
.card-kind {font-size:14px;line-height:1.52;color:#665850}
.shop-actions {display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid #d9cdbf;padding-top:10px;margin-top:13px}
.shop-add {min-height:39px;padding:6px 14px;gap:7px;font-size:13px;line-height:1.25}
.shop-add .icon {width:15px;height:15px}
.shop-quote {display:inline-flex;align-items:center;gap:3px;min-height:38px;color:#684350;font-size:13px}
.shop-quote .icon {width:13px;height:13px}
.counter-products .shop-actions {margin-top:auto}
.counter-products .card-kind {margin-bottom:10px}
.counter-selection+.collection {border-block:1px solid var(--fine-rule);background:#f6f1e9;max-width:none}
.discovery-section .category-nav {margin-bottom:22px}
.bouquet-layout {align-items:start}
.bouquet-portrait {position:static;align-self:start}
.bouquet-mat {max-width:570px;margin:auto}
.bouquet-portrait figcaption {max-width:570px;margin-inline:auto}
.material-group legend {font-size:14px}
.bouquet-hint {font-size:13px}
@media(max-width:900px) {
  .shop-nav {gap:18px}
  .counter-selection {padding-inline:var(--gutter)}
  .counter-products {grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr))}
  .shop-cover-copy {padding-inline:var(--gutter)}
  .bouquet-studio {padding-inline:clamp(20px,4vw,50px)}
  .bouquet-layout {gap:4vw}
  .bouquet-portrait figcaption {flex-wrap:wrap}
}
@media(max-width:700px) {
  .shop-nav {justify-content:flex-start;overflow-x:auto;gap:20px;padding-inline:18px;scrollbar-width:none}
  .shop-nav a {min-height:40px;font-size:12px}
  .shop-cover {grid-template-columns:minmax(0,1fr)}
  .shop-cover-copy {padding:27px 21px 25px}
  .shop-cover-copy .edition-kicker {margin-bottom:11px;font-size:10px}
  .shop-cover h1 {font-size:clamp(50px,9vw,68px);line-height:.92}
  .shop-cover h1 br:first-of-type {display:none}
  .shop-cover h1 em::before {content:" "}
  .shop-intro {margin:12px 0 14px;max-width:42ch;line-height:1.4;font-size:15px}
  .shop-main-action {min-height:43px;padding:8px 15px;font-size:13px}
  .shop-cover-art {border-left:0;border-top:1px solid #decebc}
  .cover-product {min-height:0;height:clamp(255px,69vw,356px)}
  .detail-inset {width:clamp(75px,20vw,105px)}
  .shop-cover-art figcaption button {min-height:37px}
  .shop-cover-art figcaption button>span:first-child {font-size:21px}
  .counter-selection {padding:34px 16px 30px}
  .counter-heading {align-items:end;gap:8px;margin-bottom:17px}
  .counter-heading h2 {font-size:clamp(35px,7.5vw,49px)}
  .counter-heading a {font-size:11px;gap:3px;white-space:nowrap}
  .counter-products {grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 11px}
  .counter-products .product-card:first-child {grid-column:1 / -1}
  .counter-products .card-photo {height:auto;aspect-ratio:1}
  .counter-products .product-card:first-child .card-photo {aspect-ratio:1.9}
  .counter-products .card-copy h3 {font-size:clamp(21px,4.8vw,29px)}
  .counter-products .card-kind,.collection .card-kind {font-size:13px}
  .shop-actions {column-gap:5px;row-gap:0}
  .shop-add {min-height:40px;font-size:12px;padding:7px 8px;gap:4px}
  .shop-quote {font-size:12px}
  .shop-quote .icon {width:11px}
  .counter-products .card-kind {min-height:0}
  .collection .card-kind {min-height:3em}
  .bouquet-studio {padding:35px 17px 39px}
  .bouquet-layout {display:grid;grid-template-columns:minmax(0,1fr);gap:0}
  .bouquet-worktable {display:contents}
  .bouquet-worktable>.atelier-overline {grid-row:1}
  .bouquet-worktable h2 {grid-row:2;font-size:clamp(40px,8.5vw,58px);margin-bottom:17px}
  .bouquet-worktable h2 br {display:none}
  .bouquet-worktable h2 em::before {content:" "}
  .bouquet-portrait {grid-row:3;width:100%;display:flex;align-items:center;gap:16px;padding:8px 0;background:#4f2b39;border-block:1px solid #a57a83}
  .bouquet-mat {flex:none;width:min(38vw,19svh,170px);padding:3px;margin:0}
  .bouquet-portrait figcaption {margin:0;display:grid;gap:6px;line-height:1.5}
  .bouquet-portrait figcaption>span:first-child {font-size:18px}
  #bouquet-form {grid-row:4;margin-top:20px;min-width:0}
  .material-sample span {font-size:13px}
  .species .sample-photo {height:clamp(58px,14vw,85px)}
  .paper .sample-photo,.ribbon .sample-photo {width:min(8.5vw,38px);height:24px}
  .material-sample input {scroll-margin-top:22svh}
}
@media(max-width:370px) {
  .counter-heading {flex-wrap:wrap}
  .shop-actions {justify-content:flex-start;column-gap:9px}
}
@media(prefers-reduced-motion:reduce) {.material-sample span,.bouquet-message summary span {transition:none}}

.studio-signoff {
  background:#984858;
  color:#fff4de;
  padding:clamp(45px,5.2vw,96px) var(--gutter) clamp(27px,3.3vw,64px);
}
.signoff-inner {max-width:1600px;margin-inline:auto}
.signoff-intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(238px,.42fr);
  align-items:end;
  gap:clamp(35px,7vw,140px);
}
.signoff-intro h2 {
  font:400 clamp(64px,7.4vw,134px)/.94 "Helvetica Neue",Arial,sans-serif;
  letter-spacing:-.075em;
}
.signoff-intro h2 em {
  display:block;
  font:italic 400 1.13em/.96 var(--display);
  letter-spacing:-.055em;
}
.signoff-invitation {max-width:36ch;justify-self:end}
.signoff-invitation p {font-size:clamp(15px,1.13vw,20px);line-height:1.48}
.signoff-invitation a {
  display:inline-flex;
  align-items:center;
  gap:17px;
  min-height:44px;
  margin-top:9px;
  border-bottom:1px solid currentColor;
  font-size:clamp(14px,1vw,18px);
}
.signoff-invitation a:hover {border-bottom-width:2px}
.signoff-invitation a:focus-visible {outline-color:currentColor}
.signoff-invitation .icon {width:18px;height:18px}
.signoff-seal {display:flex;align-items:center;gap:17px;margin:clamp(27px,3vw,54px) 0 clamp(10px,1.3vw,23px)}
.signoff-seal::before,.signoff-seal::after {content:"";flex:1;height:1px;background:currentColor;opacity:.48}
.signoff-seal span {
  display:block;
  width:clamp(68px,6vw,104px);
  aspect-ratio:216/164;
  background:currentColor;
  -webkit-mask:url("assets/crest.png") center / contain no-repeat;
  mask:url("assets/crest.png") center / contain no-repeat;
}
.signoff-wordmark {width:93%;height:auto;margin-inline:auto}
@media(max-width:700px) {
  .studio-signoff {padding-inline:clamp(19px,5vw,34px)}
  .signoff-intro {grid-template-columns:minmax(0,1fr);gap:26px}
  .signoff-intro h2 {font-size:clamp(55px,10.5vw,73px)}
  .signoff-invitation {justify-self:start}
  .signoff-wordmark {width:100%}
}
