
/* The approved reference is used intact; crop its outer gold surround only. */
header .monogram, footer .monogram { background-image:url('assets/approved-logo-reference.png'); background-size:155%; background-position:49% 50%; flex-shrink:0; }
header .brand { gap:14px; min-width:0; }
header .brand > .brand-wordmark { display:grid; color:#5c4227; text-align:center; letter-spacing:0; }
.brand-wordmark strong { font:400 37px/1 'Italiana',Georgia,serif; letter-spacing:.015em; white-space:nowrap; }
.brand-wordmark .brand-amp { display:inline; font-family:Georgia,serif; font-style:normal; font-weight:400; font-size:31px; color:#aa813d; margin:0; }
.brand-wordmark small { display:block; margin-top:7px; border-top:1px solid #cbb58e; padding-top:5px; font:500 7px/1.3 'DM Sans',sans-serif; letter-spacing:.22em; }
header { padding-top:env(safe-area-inset-top); }
.app-bar { display:none; }
.catalog-card { position:relative; }
.save-product { position:absolute; top:14px; right:14px; z-index:2; width:40px; height:40px; border-radius:50%; border:1px solid #d5c2a5; background:#fffaf3ed; color:#634728; font-size:25px; cursor:pointer; }
.save-product[aria-pressed=true] { color:#a04e59; }
.app-dialog { width:min(620px,92vw); max-height:82dvh; border:1px solid #d5c2a5; border-radius:22px; padding:30px; color:#30251d; background:#fffaf3; }
.app-dialog::backdrop { background:#23190f75; }
.app-dialog h2 { font:400 36px/1.1 'Italiana',serif; margin:14px 30px 24px 0; }
.app-dialog p { line-height:1.6; }
.app-dialog-close { float:right; background:none; border:0; font-size:26px; cursor:pointer; }
.app-dialog input { width:100%; padding:14px; border:1px solid #cbb58e; border-radius:9px; font:inherit; background:white; }
.app-product-result { display:flex; align-items:center; gap:15px; width:100%; padding:12px 0; border:0; border-bottom:1px solid #e5d9c8; background:none; text-align:left; color:inherit; font:inherit; cursor:pointer; }
.app-product-result img { width:58px; height:65px; border-radius:12px; object-fit:cover; }
.app-product-result span { flex:1; }
.install-app { border:1px solid #c6ac84; background:transparent; border-radius:30px; padding:12px 18px; font:500 13px 'DM Sans',sans-serif; cursor:pointer; }
.app-offline { position:fixed; top:0; z-index:50; width:100%; padding:8px; text-align:center; background:#5d4933; color:white; font-size:12px; }
.app-offline[hidden] { display:none; }
.app-install-action { padding:14px 22px; border-radius:30px; background:#30251d; color:white; border:0; font:inherit; cursor:pointer; }
@media(max-width:1050px) { header { grid-template-columns:1fr auto; } header nav { grid-column:1/-1; grid-row:2; justify-content:center; } header .icons,.blog-header-shop { grid-column:2; grid-row:1; } header { height:auto; padding-bottom:12px; gap:8px; } }
@media(max-width:800px) {
 body { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
 header .brand > .brand-wordmark { display:grid; }
 .brand-wordmark strong { font-size:26px; } .brand-wordmark .brand-amp { font-size:24px; }
 .brand-wordmark small { font-size:5.5px; letter-spacing:.15em; }
 header .monogram { width:56px; height:56px; flex-basis:56px; } header .brand { gap:9px; }
 header .icons { gap:6px; font-size:13px; } .blog-header-shop { max-width:85px; font-size:11px; text-align:right; }
 .app-bar { display:grid; grid-template-columns:repeat(4,1fr); position:fixed; bottom:0; left:0; right:0; z-index:10; background:#fffaf3f5; border-top:1px solid #deccb1; padding:8px 12px calc(8px + env(safe-area-inset-bottom)); backdrop-filter:blur(14px); }
 .app-bar a,.app-bar button { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:48px; gap:3px; border:0; background:none; font:500 11px 'DM Sans',sans-serif; color:#634728; cursor:pointer; }
 .app-bar .app-symbol { font-size:23px; line-height:1; }
 .app-dialog { padding:22px; } footer { padding-bottom:35px; }
}

header .brand .brand-wordmark .brand-amp { display:inline; }

.contact-form {display:grid; gap:12px;}
.contact-form label {font-size:14px;font-weight:600;}
.contact-form textarea {width:100%;resize:vertical;min-height:130px;padding:14px;border:1px solid #cbb58e;border-radius:9px;background:white;font:inherit;line-height:1.6;box-sizing:border-box;}
.contact-form .contact-help,.contact-form .contact-status {font-size:13px;line-height:1.6;margin:4px 0;}
.contact-form .app-install-action {justify-self:start;}

@media(max-width:380px){.brand-wordmark strong{font-size:22px;}.brand-wordmark .brand-amp{font-size:21px;}header .brand{gap:7px;}header .monogram{width:46px;height:46px;flex-basis:46px;}}

.story .portrait { border-radius:0; }

footer .brand-wordmark { display:grid; color:#5c4227; text-align:center; letter-spacing:0; margin:0; }
footer .brand-wordmark small { text-transform:uppercase; }

.story .founder-portrait {display:block;height:auto;overflow:hidden;background:#172022;}
.founder-photo {display:block;width:100%;height:auto;}
.founder-portrait::after {content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7));pointer-events:none;}
.story .founder-portrait p {z-index:1;bottom:24px;color:#fff;text-shadow:0 1px 4px #0008;}

/* Supplied ANNA&LUC artwork, centred independently of the side controls. */
header {grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);height:auto;gap:12px 20px;padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:15px;}
header .header-logo {grid-column:1;grid-row:1;justify-self:start;}
header .brand.centered-wordmark {grid-column:2;grid-row:1;position:relative;display:block;width:clamp(250px,41vw,540px);height:90px;overflow:hidden;mix-blend-mode:multiply;}
header .centered-wordmark img {position:absolute;display:block;width:137%;max-width:none;height:auto;left:-18.5%;top:50%;transform:translateY(-50%);}
header nav {display:flex;grid-column:1/-1;grid-row:2;justify-content:center;flex-wrap:wrap;}
header .icons,header .blog-header-shop {grid-column:3;grid-row:1;justify-self:end;}
@media(max-width:800px){
 header {padding-left:16px;padding-right:16px;gap:10px 8px;padding-top:calc(12px + env(safe-area-inset-top));}
 header .brand.centered-wordmark {width:clamp(140px,45vw,290px);height:48px;}
 header .header-logo .monogram {width:40px;height:40px;}
 header .icons {gap:2px;font-size:11px;}
 header .icons button {padding:3px;}
 header nav {gap:12px 20px;font-size:12px;}
 header .blog-header-shop {font-size:10px;max-width:64px;}
}

footer .footer-wordmark-art {display:block;position:relative;width:220px;height:40px;overflow:hidden;mix-blend-mode:multiply;}
footer .footer-wordmark-art img {display:block;position:absolute;width:137%;max-width:none;height:auto;left:-18.5%;top:50%;transform:translateY(-50%);}
@media(max-width:800px){footer .footer-wordmark-art {width:130px;height:25px;}}

.social-links a { border-radius:0; }

header .header-logo .monogram {width:90px;height:90px;flex-basis:90px;}
@media(max-width:800px){header .header-logo .monogram {width:56px;height:56px;flex-basis:56px;}}

/* Bright letter colours applied to the supplied header artwork. */
header .centered-wordmark .wordmark-part::after {
 content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
 background:linear-gradient(90deg,
 #ed553b 0%,#ed553b 12.5%,
 #28aeda 12.5%,#28aeda 25.9%,
 #ed4c9a 25.9%,#ed4c9a 39.2%,
 #8752c5 39.2%,#8752c5 51.9%,
 #ea493b 51.9%,#ea493b 64.2%,
 #249ccc 64.2%,#249ccc 75.3%,
 #72b83f 75.3%,#72b83f 85.7%,
 #e8bd22 85.7%,#e8bd22 100%);
}

header .centered-wordmark .wordmark-spacing {display:block;position:absolute;inset:0;transform:scale(.95);}
header .centered-wordmark .wordmark-part {display:block;position:absolute;inset:0;isolation:isolate;}
header .centered-wordmark .wordmark-anna {clip-path:inset(0 48.1% 0 0);transform:translateX(-1.2%);}
header .centered-wordmark .wordmark-amp {clip-path:inset(0 35.8% 0 51.9%);}
header .centered-wordmark .wordmark-luc {clip-path:inset(0 0 0 64.2%);transform:translateX(1.2%);}

footer {position:relative;}
footer .footer-email {position:absolute;left:50%;transform:translateX(-50%);margin:0;text-align:center;font:500 17px/1.6 'DM Sans',Arial,sans-serif;letter-spacing:0;}
footer .footer-email a {display:inline-block;padding:8px 4px;color:#183a4a;}
@media(max-width:1100px){footer .footer-email {position:static;transform:none;flex:0 0 100%;order:2;}footer .copyright {order:3;}footer .install-app {order:4;}}

header nav .header-install-app {border:0;border-bottom:1px solid currentColor;padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer;}
.header-install-app[hidden],.install-app[hidden] {display:none;}
header nav .header-install-app:focus-visible {outline:3px solid #0077cc;outline-offset:5px;}
