@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');:root{--bg:#121313;--panel:#1c1e1d;--panel2:#242624;--gold:#c5a36a;--cream:#f0ede6;--muted:#b0afa9;--line:#42423e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 5%;border-bottom:1px solid #383833;background:#171818;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-family:Cinzel,serif;font-weight:700;letter-spacing:1.5px;font-size:16px}.brand small{display:block;letter-spacing:5px;color:var(--gold);font-size:11px}.brand-symbol{font-size:38px;color:var(--gold)}nav{display:flex;gap:28px;font-size:13px}nav a:hover,.text-link:hover{color:var(--gold)}.header-cta{border:1px solid var(--gold);padding:12px 18px;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:1px}.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:630px}.hero-copy{padding:105px 7% 65px 10%;background:radial-gradient(circle at 10% 30%,#313029 0%,#191b19 45%,#121313 90%)}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:2.5px;font-weight:700}h1,h2,h3{font-family:Cinzel,serif;font-weight:600}h1{font-size:clamp(36px,4.2vw,66px);line-height:1.25;margin:30px 0}h1 em,h2 em{color:var(--gold);font-style:normal}.hero-copy p,.intro p,.section-head p,.story p,.order p,.craft p{color:var(--muted);line-height:1.85;max-width:590px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:34px 0 65px}.button{display:inline-block;padding:16px 22px;text-transform:uppercase;font-weight:700;letter-spacing:1.3px;font-size:11px;cursor:pointer;border:1px solid var(--gold)}.gold{background:var(--gold);color:#171614}.outline{color:var(--gold)}.button:hover{filter:brightness(1.13)}.hero-stats{display:flex;gap:25px;flex-wrap:wrap}.hero-stats span{color:#bcb9b1;font-size:9px;letter-spacing:1px}.hero-stats strong{display:block;font-family:Cinzel;font-size:25px;color:var(--cream)}.hero-photo{position:relative;min-height:500px}.hero-photo img{height:100%;width:100%;object-fit:cover}.photo-caption{position:absolute;bottom:25px;left:25px;background:#161716cb;padding:12px 16px;color:var(--gold);font-size:10px;letter-spacing:2px}.intro{text-align:center;padding:80px 20px;background:#20221f}.intro h2,.section-head h2,.craft h2,.story h2,.order h2{font-size:clamp(28px,3.3vw,46px);line-height:1.35}.intro p{margin:auto}.collection{padding:85px 7%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-head p{max-width:390px;font-size:14px}.tabs{display:flex;gap:8px;margin:35px 0 16px;flex-wrap:wrap}.tab{border:1px solid var(--line);padding:15px 21px;background:transparent;color:var(--cream);cursor:pointer;font-weight:700}.tab.active{background:var(--gold);color:#171614;border-color:var(--gold)}.collection-note{font-size:12px;color:#c4c0b8;margin:0 0 22px}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product{background:var(--panel);border:1px solid #383a35;overflow:hidden}.product-image{aspect-ratio:1.35;background:linear-gradient(145deg,#343630,#171818);display:grid;place-items:center;position:relative}.product-image img{width:100%;height:100%;object-fit:cover}.placeholder{text-align:center;color:#b5ad9d;padding:20px}.placeholder span{display:block;font-size:52px;color:var(--gold);margin-bottom:10px}.placeholder small{letter-spacing:1.4px;font-size:10px}.product-info{padding:20px}.product-info .number{color:var(--gold);font-size:10px;letter-spacing:2px}.product-info h3{font-size:17px;margin:10px 0}.product-info p{color:var(--muted);font-size:12px}.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px}.product-bottom strong{font-size:18px}.product-bottom button{border:1px solid var(--gold);background:none;color:var(--gold);padding:10px 12px;cursor:pointer;font-size:11px}.craft{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;padding:90px 7%;background:#22241f}.craft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.craft-grid article{border-top:1px solid var(--gold);padding-top:25px}.craft-grid article span{color:var(--gold);font-size:12px}.craft-grid h3{font-size:16px}.craft-grid p{font-size:12px}.story{padding:105px max(7%,calc((100% - 900px)/2));text-align:center;background:radial-gradient(circle,#33332a,#171918 75%)}.story p{margin:20px auto}.text-link{display:inline-block;color:var(--gold);margin-top:15px;border-bottom:1px solid var(--gold);padding-bottom:8px}.order{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:90px 7%;background:#1d1f1d}.pricing{display:flex;gap:15px;margin-top:30px}.pricing>div{flex:1;border:1px solid var(--line);padding:18px}.pricing span,.pricing small{display:block;font-size:12px;color:var(--muted);line-height:1.6}.pricing strong{display:block;color:var(--gold);font-size:25px;margin:7px 0}.pricing strong small{display:inline;font-size:12px}form{background:#272925;padding:32px;display:flex;flex-direction:column;gap:10px}label{font-size:12px;letter-spacing:1px;color:var(--cream);margin-top:10px}input,select,textarea{width:100%;padding:13px;background:#171917;border:1px solid #505149;color:var(--cream);font:inherit;border-radius:0}input:focus,select:focus,textarea:focus{outline:1px solid var(--gold)}.submit{margin-top:15px}.fine-print{font-size:11px!important;line-height:1.6!important}footer{padding:35px 7%;display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap;align-items:center;color:#b7b5af;font-size:12px}footer .footer-brand{font-family:Cinzel;color:var(--gold)}footer small{width:100%;text-align:center;border-top:1px solid var(--line);padding-top:22px}@media(max-width:900px){.hero,.order,.craft{grid-template-columns:1fr}.hero-copy{padding:75px 7%}.hero-photo{height:440px;min-height:0}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.craft-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.site-header{padding:13px 4%;flex-wrap:wrap}.brand{font-size:12px}.brand-symbol{font-size:28px}.brand small{font-size:9px}.site-header nav{order:3;width:100%;justify-content:center}.header-cta{font-size:10px;padding:10px}.hero-photo{height:350px}.hero-actions{margin-bottom:40px}.section-head{display:block}.products{grid-template-columns:1fr}.craft-grid{grid-template-columns:1fr}.pricing{flex-direction:column}.collection,.order,.craft{padding:65px 5%}form{padding:20px}footer{display:block;text-align:center}footer>*{display:block;margin:12px auto}}

/* Warrior-inspired saint artwork and sacred visual language */
.warrior-banner{padding:30px 5%;background:linear-gradient(90deg,#151a22,#353022,#151a22);border-top:1px solid #8e7143;border-bottom:1px solid #8e7143;text-align:center;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 35px;color:#d6b67d;letter-spacing:2px}.warrior-banner span,.warrior-banner small{font-size:11px}.warrior-banner strong{font-family:Cinzel,serif;font-size:clamp(18px,2.6vw,30px);color:#f4e6c9}.saints-section{padding:90px 7%;background:radial-gradient(ellipse at 50% 0%,#333328,#141715 65%);border-bottom:1px solid #50442f}.saints-heading{text-align:center;max-width:700px;margin:0 auto 45px}.saints-heading h2{font-size:clamp(30px,4vw,52px);margin:18px 0}.saints-heading h2 em{font-style:normal;color:var(--gold)}.saints-heading p{color:var(--muted);line-height:1.85}.saints-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;max-width:1100px;margin:auto}.saint-card{border:1px solid #78613b;background:#20221f;overflow:hidden}.saint-card img{display:block;width:100%;height:440px;object-fit:cover;object-position:center 45%;filter:saturate(.83) contrast(1.06)}.saint-copy{padding:27px 30px 34px}.saint-copy h3{font-size:clamp(20px,2.3vw,29px);margin:13px 0}.saint-copy p{color:var(--muted);line-height:1.7;margin-bottom:0}.saints-foot{text-align:center;color:#d6b67d;font-family:Cinzel,serif;font-size:13px;letter-spacing:1.5px;margin-top:38px}.hero-copy{background:radial-gradient(circle at 10% 30%,#393528 0%,#1b1d1b 48%,#111415 95%)}.hero-photo:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 65px #12131366}.button.gold{background:linear-gradient(125deg,#e0c28b,#b59155)}@media(max-width:700px){.saints-section{padding:65px 5%}.saints-grid{grid-template-columns:1fr}.saint-card img{height:350px}.saints-foot{line-height:2}.warrior-banner{gap:10px}.warrior-banner span{width:100%}}

/* Materials: two distinct rosary constructions, no saint artwork */
.materials-section{padding:88px 7%;background:radial-gradient(ellipse at 50% 0%,#343126,#171918 72%);border-top:1px solid #665537;border-bottom:1px solid #665537}.materials-heading{text-align:center;max-width:750px;margin:0 auto 44px}.materials-heading h2{font-size:clamp(30px,4vw,50px);margin:16px 0}.materials-heading h2 em{font-style:normal;color:var(--gold)}.materials-heading p{color:var(--muted);line-height:1.8}.materials-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1280px;margin:auto}.material-card{border:1px solid #79613b;background:#20221f;padding:32px}.material-card h3{font-size:clamp(20px,2vw,27px);line-height:1.35;margin:14px 0}.material-intro{color:#d5cbb9;line-height:1.75}.material-card ul{padding-left:22px;margin:26px 0 0}.material-card li{color:#c3c1ba;line-height:1.7;margin-bottom:15px;font-size:14px}.material-card li::marker{color:var(--gold)}.material-card strong{color:#ead6b4}.materials-closing{text-align:center;font-family:Cinzel,serif;color:var(--gold);margin:38px 0 0;letter-spacing:1px}@media(max-width:800px){.materials-columns{grid-template-columns:1fr}.materials-section{padding:65px 5%}.material-card{padding:24px}}

/* Artwork-inspired branding: user-supplied St Michael image and exact lettering */
:root{--gold:#e1b65e;--cream:#fff0d2}
.brand-art{display:block;width:210px;height:58px;object-fit:cover;object-position:center;mix-blend-mode:screen}
.hero-logo{display:block;width:min(100%,560px);max-height:170px;object-fit:contain;object-position:left center;margin:24px 0 8px;mix-blend-mode:screen}
.hero-copy{background:radial-gradient(circle at 30% 20%,#43301c 0%,#181716 56%,#0a0c0f 100%)}
.hero-copy h1{margin-top:20px;text-shadow:0 2px 12px #0008}
.warrior-hero{background:#100d0b;overflow:hidden;border-left:2px solid #9c6b2e}
.warrior-hero img{object-position:center 27%;filter:contrast(1.09) saturate(1.08)}
.warrior-hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#12131355,transparent 28%),linear-gradient(0deg,#101010b0,transparent 34%);pointer-events:none}
.warrior-hero .photo-caption{z-index:2;background:#130f0bc9;border:1px solid #c9953c}
.site-header{background:#090b0e;border-bottom:1px solid #94692f}
.material-card{border-color:#9a713c}
@media(max-width:600px){.brand-art{width:150px;height:42px}.hero-logo{max-height:115px}.hero-photo{height:460px}.hero-copy{padding-top:45px}}

/* Multi-item order builder */
.order-lines-heading h3{margin:14px 0 5px;color:#f5d58e;font-size:1.2rem}.order-lines-heading p{margin:0 0 12px;font-size:.9rem}.order-line{border:1px solid rgba(219,175,91,.35);border-radius:9px;padding:14px;margin:12px 0;background:rgba(10,13,19,.45)}.order-line-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#ead19d}.order-line-fields{display:grid;grid-template-columns:1.1fr 1.15fr .55fr;gap:10px}.order-line-fields label{font-size:.85rem;display:block}.order-line-fields select,.order-line-fields input{width:100%;min-width:0;margin-top:5px}.remove-line,.add-line{cursor:pointer;border:1px solid #aa8753;background:transparent;color:#edc983;border-radius:5px;padding:8px 12px}.remove-line{font-size:.8rem}.add-line{width:100%;margin:8px 0 18px;font-weight:700}.order-summary{padding:17px;border:1px solid #a88a51;border-radius:9px;background:rgba(196,146,58,.09);margin-bottom:18px}.order-summary h3{color:#f0d296;margin:0 0 12px}.order-summary>div{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.order-summary .summary-total{border-top:1px solid #aa8753;padding-top:13px;margin-top:13px;font-size:1.12rem;color:#f5d58e}.order-summary small{display:block;margin-top:10px;line-height:1.5}@media(max-width:620px){.order-line-fields{grid-template-columns:1fr 1fr}.order-line-fields label:last-child{grid-column:1/-1}}
