:root { --navy:#08283b; --orange:#d9781f; --ink:#153346; --paper:#f4eee3; --cream:#fbf8f2; --line:#d9cdbb; --muted:#71818a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:'DM Sans', sans-serif; }
a { color:inherit; text-decoration:none; }
button, input { font:inherit; }
button { cursor:pointer; }
.site-header { align-items:center; display:flex; justify-content:space-between; max-width:1320px; margin:auto; padding:25px 5vw; }
.brand-logo { display:block; height:58px; mix-blend-mode:multiply; width:210px; object-fit:cover; object-position:center; }
.main-nav { display:flex; gap:40px; margin-left:100px; font-size:13px; font-weight:600; }
.main-nav a:hover, .footer-links a:hover { color:var(--orange); }
.header-actions { align-items:center; display:flex; gap:16px; }
.icon-button, .menu-button { background:none; border:0; color:var(--navy); font-size:23px; padding:4px; }
.cart-button { font-size:21px; position:relative; }
.cart-count { align-items:center; background:var(--orange); border-radius:50%; color:white; display:flex; font-size:10px; font-weight:700; height:18px; justify-content:center; position:absolute; right:-8px; top:-2px; width:18px; }
@keyframes cart-count-bump { 0% { transform:scale(1); } 35% { transform:scale(1.4); } 60% { transform:scale(0.9); } 100% { transform:scale(1); } }
.cart-count.bump { animation:cart-count-bump .4s ease; }
.menu-button { display:none; }
.hero { display:grid; grid-template-columns:1fr 1fr; min-height:360px; overflow:hidden; }
.hero-copy { align-self:center; max-width:600px; padding:48px clamp(24px,8vw,110px) 60px; }
.eyebrow { color:var(--orange); font-size:11px; font-weight:700; letter-spacing:.19em; margin:0 0 19px; text-transform:uppercase; }
h1, h2, h3, p { margin-top:0; }
h1, h2 { font-family:'Libre Baskerville', serif; font-weight:400; letter-spacing:-.035em; }
h1 { color:var(--navy); font-size:clamp(40px,5vw,72px); line-height:1.12; margin-bottom:16px; }
h1 em, h2 em { color:var(--orange); font-style:italic; }
.hero-text { color:#526771; font-size:16px; line-height:1.7; max-width:430px; margin-bottom:20px; }
.button { border:0; display:inline-flex; gap:30px; align-items:center; padding:16px 20px; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.button span { font-size:20px; font-weight:400; line-height:10px; }
.button-dark { background:var(--navy); color:#fff; }
.button-dark:hover { background:var(--orange); }
.hero-art { align-self:start; padding:60px clamp(24px,6vw,80px) 0 0; }
.hero-art img { display:block; height:auto; width:60%; }
.hero-caption { color:var(--navy); font-size:11px; margin-top:16px; text-transform:uppercase; letter-spacing:.15em; }
.hero-caption span { color:var(--orange); margin-right:10px; }
.category-strip { align-items:end; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; margin:0 5vw; padding:105px 0 50px; }
h2 { color:var(--navy); font-size:clamp(29px,3.4vw,48px); line-height:1.22; margin-bottom:0; }
.category-links { display:grid; gap:12px; min-width:300px; }
.category-link { background:none; border:0; border-bottom:1px solid var(--line); color:#6d7a7d; display:flex; font-size:13px; justify-content:space-between; padding:8px 0; text-align:left; }
.category-link span { color:var(--orange); font-size:10px; }
.category-link.active, .category-link:hover { color:var(--navy); font-weight:700; }
.products { display:grid; gap:38px 20px; grid-template-columns:repeat(3,1fr); margin:55px 5vw 130px; }
.product-image { aspect-ratio:1/1.08; overflow:hidden; position:relative; }
.product-tag { background:var(--orange); color:#fff; font-size:10px; left:14px; letter-spacing:.12em; padding:7px 9px; position:absolute; text-transform:uppercase; top:14px; z-index:2; }
.product-tag.muted { background:#ecdfca; color:var(--navy); }
.product-cross { align-items:center; background:#d5c7af; display:flex; justify-content:center; }
.cross-art { color:var(--navy); font-size:170px; transform:rotate(12deg); }
.product-incense { background:linear-gradient(140deg,#8c5e3f,#c98f50 49%,#eed3a4); }
.incense-copy { bottom:13%; color:#fff7ea; font-family:'Libre Baskerville'; font-size:40px; left:12%; line-height:1.15; position:absolute; }.incense-copy small { font-family:'DM Sans'; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.product-print { background:#e1c578; }.print-sun { background:#e66d2c; border-radius:50%; height:44%; position:absolute; right:13%; top:15%; width:44%; }.print-pyramid { border-bottom:160px solid #174452; border-left:120px solid transparent; border-right:120px solid transparent; bottom:11%; position:absolute; right:1%; width:0; }.print-type { color:#174452; font-size:17px; font-weight:bold; left:12%; letter-spacing:.12em; position:absolute; top:22%; }
.product-candle { align-items:center; background:#d9d0c4; display:flex; justify-content:center; }.candle-vessel { align-items:center; background:#a76b45; border-radius:8px 8px 16px 16px; color:#f6ddac; display:flex; font-family:'Libre Baskerville'; font-size:45px; height:49%; justify-content:center; position:relative; width:42%; }.candle-vessel:before { background:#eea557; border-radius:50%; content:''; height:13px; position:absolute; top:-7px; width:13px; }.candle-vessel i { background:#f6bf64; border-radius:50%; height:13px; position:absolute; top:-22px; width:9px; }.candle-vessel b { font-weight:400; }
.product-cap { background:var(--navy); }.cap-cross { border:1px solid #e19c57; border-radius:50%; color:#e19c57; font-size:85px; left:50%; padding:20px 28px; position:absolute; top:50%; transform:translate(-50%,-50%); }.product-cards { background:#c7b49c; }.card-stack { background:#f2e4ca; box-shadow:23px 18px 0 #e3ceb0; color:var(--navy); left:20%; padding:30px 20px; position:absolute; text-align:center; top:25%; transform:rotate(-7deg); width:58%; }.card-stack span { font-family:serif; font-size:42px; }.card-stack small { display:block; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.product-info { align-items:start; display:flex; justify-content:space-between; padding:17px 0 13px; }.product-info h3 { font-size:15px; margin:0 0 5px; }.product-info p { color:var(--muted); font-size:11px; margin:0; }.product-info strong { font-size:14px; font-weight:600; }.add-button { background:none; border:0; border-top:1px solid var(--line); color:var(--navy); display:flex; font-size:11px; justify-content:space-between; letter-spacing:.1em; padding:11px 0 0; text-transform:uppercase; width:100%; }.add-button span { color:var(--orange); font-size:18px; line-height:10px; }.add-button:hover { color:var(--orange); }
.story { background:var(--navy); color:#fff; display:grid; grid-template-columns:1fr 1fr; min-height:560px; }.story-image { background:linear-gradient(rgba(8,40,59,.08),rgba(8,40,59,.08)),url('images/story-workbench.jpg') center/cover; min-height:400px; position:relative; }.story-stamp { border:1px solid var(--orange); color:var(--orange); font-size:11px; left:12%; letter-spacing:.18em; padding:15px; position:absolute; text-align:center; top:14%; }.story-stamp b { color:#fff; font-size:17px; font-weight:400; letter-spacing:.04em; }.story-copy { align-self:center; max-width:500px; padding:70px clamp(24px,9vw,90px); }.story-copy h2 { color:white; margin-bottom:26px; }.story-copy p:not(.eyebrow) { color:#c7d2d0; font-size:15px; line-height:1.8; margin-bottom:30px; }.text-link { border-bottom:1px solid var(--orange); color:#fff; font-size:12px; letter-spacing:.12em; padding-bottom:8px; text-transform:uppercase; }.text-link span { color:var(--orange); font-size:17px; margin-left:15px; }.newsletter { align-items:center; display:grid; gap:80px; grid-template-columns:1fr 1fr; padding:120px 8vw; }.signup-form label { color:#65767b; display:block; font-size:13px; margin-bottom:20px; }.input-row { border-bottom:1px solid var(--navy); display:flex; }.input-row input { background:transparent; border:0; color:var(--navy); flex:1; font-size:14px; outline:0; padding:14px 0; }.form-message { color:var(--orange); display:block; margin-top:12px; }.site-footer { align-items:center; background:#e8ddce; display:flex; justify-content:space-between; padding:30px 5vw; }.footer-brand { color:var(--navy); font-family:'Libre Baskerville'; font-size:23px; }.footer-brand span { color:var(--orange); font-size:18px; margin-left:5px; }.site-footer p { color:#708087; font-size:12px; margin:0; }.footer-links { display:flex; gap:22px; font-size:11px; text-transform:uppercase; }.toast { background:var(--navy); bottom:25px; color:white; left:50%; opacity:0; padding:14px 20px; pointer-events:none; position:fixed; transform:translate(-50%,20px); transition:.25s; z-index:5; }.toast.visible { opacity:1; transform:translate(-50%,0); }
@media (max-width:760px) { .main-nav { display:none; }.menu-button { display:block; }.site-header { padding:17px 5vw; }.brand-logo { height:48px; width:175px; }.hero { grid-template-columns:1fr; }.hero-copy { padding:70px 8vw 55px; }.hero-art { padding:0 8vw; }.hero-art img { width:70%; }.category-strip { align-items:start; flex-direction:column; gap:35px; padding:75px 0 40px; }.category-links { width:100%; }.products { grid-template-columns:repeat(2,1fr); gap:34px 13px; margin:40px 5vw 85px; }.product-info { display:block; }.product-info strong { display:block; margin-top:8px; }.product-info p { line-height:1.4; }.story { grid-template-columns:1fr; }.story-image { min-height:330px; }.story-copy { padding:65px 8vw 75px; }.newsletter { display:block; padding:80px 8vw; }.signup-form { margin-top:40px; }.input-row { align-items:stretch; flex-direction:column; }.input-row .button { justify-content:space-between; margin-top:10px; }.site-footer { align-items:start; flex-direction:column; gap:20px; }.footer-links { flex-wrap:wrap; }.site-footer p { order:3; } }
@media (max-width:430px) { .products { grid-template-columns:1fr; }.product-image { aspect-ratio:1/1; } }
.site-footer address { color:#708087; font-size:11px; font-style:normal; line-height:1.5; }
.site-footer address a { color:#708087; text-decoration:underline; }
.footer-links { gap:18px; }
.cookie-banner { align-items:center; background:#fff; bottom:0; box-shadow:0 -5px 20px rgba(8,40,59,.12); display:flex; gap:20px; justify-content:center; left:0; padding:14px 5vw; position:fixed; width:100%; z-index:4; }
.cookie-banner[hidden] { display:none; }
.cookie-banner p { color:#526771; font-size:12px; margin:0; }
.cookie-actions { align-items:center; display:flex; gap:12px; }
.cookie-banner .button { padding:10px 15px; }
.cookie-decline { background:none; border:1px solid var(--line); color:var(--navy); font-size:11px; font-weight:700; letter-spacing:.04em; padding:10px 15px; text-transform:uppercase; }
.cookie-decline:hover { border-color:var(--navy); }
.cookie-banner a { color:var(--orange); font-size:11px; text-decoration:underline; }
.footer-link-button { background:none; border:0; color:inherit; font:inherit; padding:0; text-transform:inherit; letter-spacing:inherit; }
.mobile-cta { display:none; }
.error-page, .legal-page { margin:0 auto; max-width:700px; padding:12vh clamp(24px,8vw,110px); }
.error-page p:not(.eyebrow), .legal-page > p:not(.eyebrow) { color:#526771; line-height:1.8; max-width:540px; }
.legal-page h2 { font-size:25px; margin-top:45px; }
.legal-page .footer-brand { display:block; margin-bottom:100px; }
@media (max-width:760px) {
.main-nav.mobile-open { background:var(--cream); display:flex; flex-direction:column; gap:18px; left:0; padding:20px 8vw; position:absolute; right:0; top:83px; z-index:4; }
.site-header { position:relative; }
.site-footer { align-items:start; padding-bottom:90px; }
.site-footer address { order:4; }
.mobile-cta { background:var(--orange); bottom:0; color:white; display:flex; font-size:12px; font-weight:700; justify-content:space-between; left:0; letter-spacing:.1em; padding:17px 8vw; position:fixed; text-transform:uppercase; width:100%; z-index:3; }
.cookie-banner { align-items:flex-start; flex-wrap:wrap; gap:10px 15px; justify-content:flex-start; padding:15px 5vw; }
.cookie-banner p { flex-basis:100%; line-height:1.4; }
.cart-pill { bottom:80px; font-size:11px; padding:12px 18px; right:16px; }
body:has(.cookie-banner:not([hidden])) .cart-pill { bottom:150px; }
}

.product-image img { display:block; height:100%; object-fit:cover; width:100%; }
.product-placeholder { align-items:center; background:#ece3d3; color:var(--muted); display:flex; font-size:12px; height:100%; justify-content:center; letter-spacing:.12em; text-transform:uppercase; width:100%; }
.products-status { color:var(--muted); font-size:14px; grid-column:1/-1; padding:60px 0; text-align:center; }
.products-error { display:grid; gap:16px; justify-items:center; }
.products-error .button { padding:12px 20px; }

.cart-overlay { background:rgba(8,40,59,.45); inset:0; position:fixed; z-index:6; }
.cart-overlay[hidden] { display:none; }
.cart-drawer { background:var(--cream); bottom:0; box-shadow:-10px 0 30px rgba(8,40,59,.18); display:flex; flex-direction:column; max-width:420px; position:fixed; right:0; top:0; width:90vw; z-index:7; }
.cart-drawer[hidden] { display:none; }
.cart-drawer-header { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; padding:24px 24px 18px; }
.cart-drawer-header h2 { font-family:'Libre Baskerville', serif; font-size:22px; font-weight:400; margin:0; }
.cart-drawer-close { background:none; border:0; color:var(--navy); font-size:26px; line-height:1; padding:4px; }
.cart-drawer-body { flex:1; overflow-y:auto; padding:10px 24px; }
.cart-empty { color:var(--muted); font-size:14px; padding:40px 0; text-align:center; }
.cart-line { border-bottom:1px solid var(--line); display:grid; gap:10px; grid-template-columns:1fr auto; padding:18px 0; }
.cart-line-info h4 { font-size:14px; margin:0 0 4px; }
.cart-line-info p { color:var(--muted); font-size:11px; margin:0; }
.cart-line-total { font-size:13px; font-weight:600; grid-column:2; text-align:right; }
.cart-line-controls { align-items:center; display:flex; gap:14px; grid-column:1/-1; justify-content:space-between; }
.cart-qty-stepper { align-items:center; border:1px solid var(--line); display:flex; gap:10px; padding:4px 10px; }
.cart-qty-stepper button { background:none; border:0; color:var(--navy); font-size:16px; }
.cart-line-remove { background:none; border:0; color:var(--muted); font-size:11px; letter-spacing:.08em; text-decoration:underline; text-transform:uppercase; }
.cart-drawer-footer { border-top:1px solid var(--line); padding:20px 24px 26px; }
.cart-subtotal-row { display:flex; font-size:14px; justify-content:space-between; margin-bottom:16px; }
.cart-checkout { justify-content:space-between; width:100%; }
@media (max-width:480px) { .cart-drawer { max-width:none; width:100%; } }

.cart-pill { align-items:center; background:var(--navy); border:0; border-radius:999px; bottom:24px; box-shadow:0 8px 24px rgba(8,40,59,.28); color:#fff; display:flex; font-size:12px; font-weight:700; gap:10px; letter-spacing:.04em; padding:14px 22px; position:fixed; right:24px; text-transform:uppercase; z-index:5; }
.cart-pill:hover { background:var(--orange); }
.cart-pill[hidden] { display:none; }

.about-hero { margin:0 auto; max-width:760px; padding:6vh clamp(24px,8vw,110px) 90px; }
.about-hero p:not(.eyebrow) { color:#526771; font-size:16px; line-height:1.8; max-width:600px; }
.about-split { background:var(--navy); color:#fff; display:grid; grid-template-columns:1fr 1fr; min-height:520px; }
.about-split-image { background:linear-gradient(rgba(8,40,59,.1),rgba(8,40,59,.1)),url('images/about-monastery-bishoy.jpg') center/cover; min-height:400px; }
.about-split-copy { align-self:center; max-width:520px; padding:70px clamp(24px,9vw,90px); }
.about-split-copy h2 { color:#fff; margin-bottom:24px; }
.about-split-copy p { color:#c7d2d0; font-size:15px; line-height:1.8; margin-bottom:20px; }
.about-pillars { margin:100px 5vw 110px; }
.about-pillars-heading { text-align:center; margin:0 auto 60px; max-width:520px; }
.pillar-grid { display:grid; gap:40px; grid-template-columns:repeat(3,1fr); margin:0 auto; max-width:1100px; }
.pillar { border-top:2px solid var(--orange); padding-top:22px; }
.pillar-mark { color:var(--orange); display:block; font-size:22px; margin-bottom:14px; }
.pillar h3 { color:var(--navy); font-family:'Libre Baskerville', serif; font-size:20px; font-weight:400; margin-bottom:12px; }
.pillar p { color:#526771; font-size:14px; line-height:1.75; margin:0; }
.about-banner { align-items:center; background:linear-gradient(rgba(8,40,59,.45),rgba(8,40,59,.45)),url('images/about-monastery-paromeos.jpg') center/cover; display:flex; justify-content:center; min-height:360px; text-align:center; }
.about-banner-inner { padding:40px 24px; }
.about-banner h2 { color:#fff; margin-bottom:30px; }
.about-banner .button { margin:0 auto; }
.photo-credits { color:var(--muted); font-size:11px; line-height:1.7; margin:0 auto; max-width:700px; padding:26px 24px 70px; text-align:center; }
.photo-credits a { color:var(--muted); text-decoration:underline; }
@media (max-width:760px) {
.about-split { grid-template-columns:1fr; }
.about-split-image { min-height:300px; }
.pillar-grid { gap:36px; grid-template-columns:1fr; }
.about-pillars { margin:70px 8vw 90px; }
.about-banner { min-height:300px; }
}
