/* The caption occupies its own line; the corner ornament has a separate gutter. */
.hero{padding-bottom:84px}
.hero .hero-visual{padding-bottom:0}
.hero .image-caption{position:relative;display:block;bottom:auto;right:auto;margin:20px 0 0;text-align:center;font-size:8px;line-height:1.7;letter-spacing:1.5px}
.hero .arch-outline{bottom:34px}
.hero .corner-br{bottom:14px;right:17px;width:55px;height:55px}
/* Signature stays a three-line sign-off at every width. */
.founder-ribbon .founder-signature{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.founder-ribbon .founder-signature h2,.founder-ribbon .founder-signature p,.founder-ribbon .founder-signature>span{display:block;margin:0;flex:none}
.founder-ribbon .founder-signature>span{margin-top:5px}
/* The same pressed ivory stock used in the Atelier, with readable form fields. */
#tea-substitutions,#custom-cake-panel{position:relative;isolation:isolate;background:#f5efdf url('/assets/ivory-embossed-paper.webp') center/100% 100% no-repeat;border:1px solid #b2916066;box-shadow:inset 1px 1px 0 #fffdf3,inset -10px 0 22px #66483212,0 7px 22px #3420390c;color:#3d2442}
#tea-substitutions:before,#custom-cake-panel:before{content:'';position:absolute;inset:10px;border:1px solid #b2916030;box-shadow:inset 1px 1px 0 #fffdf3,1px 1px 0 #fffdf3;pointer-events:none;z-index:-1}
#tea-substitutions h3,#custom-cake-panel h3{text-shadow:0 1px 0 #fffdf7,0 -1px 0 #7e605323}
#custom-cake-panel .custom-cake-form select,#custom-cake-panel .custom-cake-form textarea,#custom-cake-panel .custom-cake-form>input{background:#fffaf3e8}
/* Photography-led, compact product browsing inspired by the supplied reference. */
.gift-dialog{width:min(760px,calc(100vw - 32px));max-height:90dvh;overflow-y:auto}
.occasion-products{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.occasion-product{display:flex;align-items:center;gap:13px;padding:8px;text-align:left;background:#fffaf1;border:1px solid #b8907066;min-width:0;transition:background .2s,transform .2s}
.occasion-product:hover{background:#ecdfef;transform:translateY(-2px)}
.occasion-product img{width:76px;height:82px;object-fit:cover;flex-shrink:0}
.occasion-product strong{display:block;color:#482751;font:20px/1.15 var(--serif)}
.occasion-product small{display:block;color:#774f62;font:9px/1.5 var(--sans);margin-top:9px}
.collection-filters{flex-wrap:wrap;gap:8px;margin-top:28px;border:0;max-width:100%}
.collection-filters .filter{border:1px solid #b389a47a;border-radius:25px;background:#f5eef6;padding:10px 18px;margin:0;color:#53315c}
.collection-filters .filter.active{background:#482451;border-color:#482451;color:#fff5ec}


@media(max-width:759px){
 .hero .image-caption{font-size:7px;letter-spacing:1.1px}
}
@media(max-width:640px){
 .founder-ribbon .founder-signature{align-items:center}
 .occasion-product img{width:65px;height:74px}
 .occasion-product strong{font-size:18px}
}
@media(max-width:460px){
 .occasion-products{grid-template-columns:1fr}
}

/* Cream-white stationery, retaining the softly embossed botanical detail. */
#tea-substitutions,#custom-cake-panel{
 background-color:#fffdf6;
 background-image:linear-gradient(#fffef9c9,#fffdf6c9),url('/assets/ivory-embossed-paper.webp');
 background-position:center;background-size:100% 100%;
 border-color:#d3b99a;
 box-shadow:inset 1px 1px 0 #fff,inset -7px 0 20px #a18c6410,0 8px 24px #50335008;
}
#tea-substitutions:before,#custom-cake-panel:before{border-color:#c7aa803b;box-shadow:inset 1px 1px 0 #fff,1px 1px 0 #fff}
#custom-cake-panel .custom-cake-form #custom-flavour{
 appearance:none;-webkit-appearance:none;
 min-height:56px;padding:15px 53px 15px 21px;
 border:1px solid #b88261;border-radius:3px;color:#45224e;
 font:20px/1.25 var(--serif);letter-spacing:.2px;
 background-color:#e9dcf4;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12'%3E%3Cpath d='m2 3 6 6 6-6' fill='none' stroke='%23895139' stroke-width='1.6'/%3E%3C/svg%3E"),linear-gradient(180deg,#f6effb,#e7d6f1 55%,#dcc7ea);
 background-repeat:no-repeat;background-position:right 20px center,center;background-size:16px 12px,100% 100%;
 box-shadow:inset 0 0 0 3px #ffffff88,inset 0 -3px 5px #82577317,0 3px 10px #46254c0c;
 cursor:pointer;
}
#custom-cake-panel #custom-flavour:hover{border-color:#905438}
#custom-cake-panel #custom-flavour:focus-visible{outline:2px solid #5f3671;outline-offset:4px}
#custom-cake-panel #custom-flavour option{background:#fffdf6;color:#45224e;font:16px var(--sans)}
.book-visual-page #atelier-traits{font:italic 20px/1.3 var(--serif);letter-spacing:.2px;color:#efc4a5;text-align:center;padding-top:18px;gap:10px}
.book-visual-page #atelier-traits span{justify-content:center}
.book-visual-page #atelier-traits span+span{border-left:1px solid #c8956b50}
.atelier-turn-hint{font:italic 17px var(--serif);color:#e4c5db}
.book-visual-page .atelier-controls{justify-content:space-between}
.book-visual-page .atelier-arrow{min-width:44px;min-height:44px}

/* Let the introduction use its full grid column on wider screens. */
.philosophy .philosophy-opening .philosophy-copy{width:100%;max-width:none;justify-self:stretch}
.philosophy .philosophy-opening .philosophy-copy>p,
.philosophy .philosophy-opening .philosophy-copy>p.philosophy-lead{width:100%;max-width:none}
@media(min-width:1100px){
 .philosophy .philosophy-frame{max-width:1440px;padding-left:4%;padding-right:4%}
 .philosophy .philosophy-opening{grid-template-columns:250px minmax(0,1fr);gap:42px}
}

/* A gradual feather removes the hard rectangular top edge of the footer mark. */
.footer .brand-lettering{
 mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%),linear-gradient(180deg,transparent 0%,#0003 6%,#000b 13%,#000 23%,#000 83%,transparent 100%);
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%),linear-gradient(180deg,transparent 0%,#0003 6%,#000b 13%,#000 23%,#000 83%,transparent 100%);
 mask-composite:intersect;-webkit-mask-composite:source-in;
}
@media(max-width:560px){
 .book-visual-page #atelier-traits{font-size:17px;gap:6px}
 .atelier-turn-hint{font-size:15px}
 #custom-cake-panel .custom-cake-form #custom-flavour{font-size:18px}
}

/* A fine uncoated stock texture over the approved cream-white colour. */
#tea-substitutions:after,#custom-cake-panel:after{content:'';position:absolute;inset:1px;z-index:-1;pointer-events:none;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)' opacity='.45'/%3E%3C/svg%3E");mix-blend-mode:multiply}
#custom-cake-panel .custom-cake-form #custom-flavour{color:#45252c;border-color:#a36743;background-color:#ce986f;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12'%3E%3Cpath d='m2 3 6 6 6-6' fill='none' stroke='%23553028' stroke-width='1.6'/%3E%3C/svg%3E"),linear-gradient(115deg,#f2d4b4 0%,#d7a47e 36%,#eac2a0 65%,#b87c55 100%);box-shadow:inset 0 0 0 3px #fae6ce77,inset 0 2px 3px #fff1d5a6,0 3px 10px #633b2715}
.collection .section-heading .menu-fleur{display:block;margin:23px auto 0;width:36px;height:44px;stroke-width:1;color:#b77d55}
.header.shopfront-header .brand-lettering{mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent 0%,#0001 4%,#0005 9%,#000b 15%,#000 24%,#000 82%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent 0%,#0001 4%,#0005 9%,#000b 15%,#000 24%,#000 82%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}

/* Navigation uses the same Heartful serif as the site's editorial headings. */
.header .shopfront-row nav>a{font:400 18px/1.3 var(--serif);letter-spacing:.15px;text-shadow:none}
.header .shopfront-row .menu-label{font:400 16px/1 var(--serif);letter-spacing:.2px;color:#35123f}
.header.shopfront-header .mobile-nav:not([hidden]){font:400 25px/1.3 var(--serif);letter-spacing:.15px}

/* A scaled shopfront on phones: centred lettering, quiet controls, one continuous wall. */
@media(max-width:640px){
 .header.shopfront-header .shopfront-row{
  grid-template-columns:72px minmax(0,1fr) 72px;
  grid-template-rows:auto;
  gap:4px;
  min-height:148px;
  padding:24px max(12px,env(safe-area-inset-right)) 24px max(12px,env(safe-area-inset-left));
 }
 .header .shopfront-row .wordmark-art{
  grid-column:2;grid-row:1;
  width:min(255px,100%);min-width:0;
 }
 .header .shopfront-row .brand-lettering{width:100%;max-width:255px}
 .header .shopfront-row .brand-subtitle{
  font-size:clamp(5.5px,1.6vw,7.5px);
  letter-spacing:clamp(.6px,.2vw,1.2px);margin-top:5px;
 }
 .header .shopfront-row .menu-toggle{
  grid-column:1;grid-row:1;justify-self:center;
  display:flex;flex-direction:column;gap:7px;
  width:44px;height:48px;padding:6px 0;
 }
 .header .shopfront-row .menu-label{font-size:14px;font-weight:400;letter-spacing:.2px}
 .header .shopfront-row .nav-right{
  grid-column:3;grid-row:1;justify-self:center;
  gap:0;width:72px;min-width:0;
 }
 .header .shopfront-row .favourites-trigger,
 .header .shopfront-row .cart-trigger{
  position:relative;display:flex;justify-content:center;align-items:center;
  flex:0 0 36px;width:36px;min-width:36px;height:48px;min-height:48px;padding:0;
 }
 .header .shopfront-row .menu-toggle,
 .header .shopfront-row .favourites-trigger,
 .header .shopfront-row .cart-trigger{
  background:none;color:#40204f;border:0;border-radius:0;box-shadow:none;
 }
 .header .shopfront-row .menu-toggle:hover,
 .header .shopfront-row .favourites-trigger:hover,
 .header .shopfront-row .cart-trigger:hover{background:none;color:#914b34}
 .header .shopfront-row .menu-toggle .menu-lines{width:24px;gap:6px;height:auto;background:none}
 .header .shopfront-row .menu-lines i{width:24px;height:2px;background:#35123f}
 .header .shopfront-row .favourites-trigger svg,
 .header .shopfront-row .cart-trigger svg{width:26px;height:26px;stroke-width:2;color:#35123f}
 .header .shopfront-row .fav-count,
 .header .shopfront-row .cart-count{
  top:0;right:0;min-width:16px;height:16px;padding:0 3px;
  background:#633626;color:#fff8ef;border-color:#f1d3b5;
  font-size:10px;font-weight:400;line-height:1;letter-spacing:0;pointer-events:none;
 }
 .header.shopfront-header .shopfront-mural{width:26vw;opacity:.38}
 .header.shopfront-header .mobile-nav:not([hidden]){
  max-height:60vh;max-height:60dvh;overflow-y:auto;overscroll-behavior:contain;
  gap:4px;padding:12px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left));
 }
 .header.shopfront-header .mobile-nav a{display:flex;align-items:center;min-height:48px;padding:8px 0;white-space:normal}
}
