:root {
  --ink: #171411;
  --cream: #f5efe4;
  --paper: #fffdf8;
  --gold: #c69238;
  --maroon: #6e1830;
  --maroon-dark: #3c0c19;
  --line: rgba(23, 20, 17, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }

.site-header {
  height: 88px; padding: 0 clamp(24px, 5vw, 76px); display: flex; align-items: center;
  justify-content: space-between; position: absolute; inset: 0 0 auto; z-index: 10; color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { width: 41px; height: 41px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; display: grid; place-items: center; position: relative; }
.brand-mark i { position: absolute; width: 14px; height: 22px; background: #fff; border-radius: 50%; opacity: .92; }
.brand-mark i:nth-child(2) { transform: rotate(60deg); }.brand-mark i:nth-child(3) { transform: rotate(120deg); }
.brand span:last-child { display: flex; flex-direction: column; gap: 2px; }
.brand strong { font: 600 18px/1 Georgia, serif; letter-spacing: -.02em; }
.brand small { font-size: 9px; text-transform: uppercase; letter-spacing: .15em; opacity: .72; }
nav { display: flex; align-items: center; gap: clamp(20px, 3vw, 42px); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
nav a { transition: opacity .2s; } nav a:hover { opacity: .7; }
nav a.current { opacity: .55; }
.nav-cta { border: 1px solid rgba(255,255,255,.55); border-radius: 999px; padding: 12px 19px; }

.hero { position: relative; display: flex; min-height: 640px; height: 100svh; background: var(--maroon-dark); color: white; overflow: hidden; }
.hero-copy { max-width: 700px; padding: 164px clamp(32px, 6vw, 96px) 52px; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 2; }
.eyebrow { display: flex; align-items: center; gap: 12px; color: #e3c17f; font-size: 11px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; margin: 0 0 30px; }
.eyebrow span { width: 28px; height: 1px; background: currentColor; }
h1 { max-width: 730px; margin: 0; font: 400 clamp(50px, 6vw, 89px)/.96 Georgia, "Times New Roman", serif; letter-spacing: -.055em; }
h1 em { color: #e3c17f; font-weight: 400; }
.hero-intro { max-width: 620px; margin: 30px 0 0; color: rgba(255,255,255,.72); font-size: clamp(16px, 1.35vw, 20px); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 36px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 0 25px; border-radius: 999px; text-transform: uppercase; letter-spacing: .1em; font-size: 11px; font-weight: 800; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }.button-primary { background: #f1d69d; color: #32121a; }
.text-link { font-size: 12px; font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.35); padding: 9px 0; }
.text-link span { color: #e3c17f; margin-left: 7px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 46px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.65); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.trust-row b { color: #e3c17f; margin-right: 6px; }

.art-note { position: absolute; right: 6%; bottom: 6%; margin: 0; writing-mode: vertical-rl; font-size: 10px; text-transform: uppercase; letter-spacing: .16em; color: rgba(255,255,255,.55); z-index: 2; }
.art-note span { color: #e3c17f; margin-bottom: 10px; }

.hero-photo { width: 100%; height: 100%; object-fit: cover; object-position: 78% center; position: absolute; inset: 0; z-index: 0; }
.hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(15,4,8,.92) 0%, rgba(15,4,8,.8) 30%, rgba(15,4,8,.42) 54%, rgba(15,4,8,0) 76%), linear-gradient(0deg, rgba(10,3,6,.4), transparent 42%); }
.spark { color: currentColor; display: inline-block; }

.section-pad { padding: clamp(86px, 9vw, 140px) clamp(24px, 6vw, 96px); }
.kicker { margin: 0 0 20px; color: var(--maroon); font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.section-heading { display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: 80px; margin-bottom: 64px; }
.section-heading h2, .about-copy h2, .process h2, .gallery-heading h2, .contact-intro h2 { margin: 0; font: 400 clamp(44px, 5vw, 75px)/.98 Georgia, serif; letter-spacing: -.045em; }
.section-heading h2 em, .about-copy h2 em, .process h2 em, .gallery-heading h2 em, .contact-intro h2 em { color: var(--maroon); font-weight: 400; }
.section-heading > p { margin: 0 0 5px; color: #625d56; line-height: 1.8; font-size: 15px; max-width: 520px; }

.product-section { background: var(--paper); }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.product-card { min-height: 540px; padding: 38px; display: flex; flex-direction: column; position: relative; overflow: hidden; }
.product-card:after { content: ""; position: absolute; width: 220px; height: 220px; border: 1px solid currentColor; opacity: .07; border-radius: 50%; right: -88px; bottom: -82px; box-shadow: 0 0 0 24px currentColor, 0 0 0 48px transparent, 0 0 0 50px currentColor; }
.card-cream { background: #eee4d3; color: var(--ink); }
.card-maroon { background: var(--maroon); color: #fff; transform: translateY(-18px); box-shadow: 0 24px 55px rgba(59,12,25,.2); }
.card-gold { background: #d5ad63; color: #241b10; }
.card-top { display: flex; align-items: flex-start; justify-content: space-between; font-size: 10px; letter-spacing: .16em; opacity: .72; margin-bottom: auto; }
.card-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid currentColor; border-radius: 50%; font: 400 23px/1 Georgia,serif; }
.flower-icon { font-size: 30px; }
.mini-label { margin: 54px 0 12px; font-size: 9px!important; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; opacity: .65; }
.product-card h3 { margin: 0 0 17px; font: 400 clamp(29px, 2.6vw, 43px)/1 Georgia,serif; letter-spacing: -.035em; }
.product-card > p:not(.mini-label) { margin: 0 0 22px; font-size: 14px; line-height: 1.7; opacity: .76; }
.product-card ul { list-style: none; padding: 0; margin: 0 0 27px; border-top: 1px solid currentColor; opacity: .8; }
.product-card li { padding: 9px 0; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; border-bottom: 1px solid currentColor; }
.product-card li:before { content: "✦"; margin-right: 9px; font-size: 7px; vertical-align: 1px; }
.product-card > a { margin-top: auto; display: inline-flex; align-items: center; gap: 10px; position: relative; z-index: 2; width: fit-content; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.card-badge { position: absolute; top: 18px; left: 50%; transform: translateX(-50%); background: #f1d69d; color: #4a1020; padding: 7px 13px; border-radius: 999px; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; white-space: nowrap; }
.custom-strip { margin-top: 42px; border: 1px solid var(--line); padding: 26px 32px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 23px; }
.custom-strip > span { width: 48px; height: 48px; background: var(--maroon); color: #efcf91; display: grid; place-items: center; border-radius: 50%; }
.custom-strip strong { font: 600 17px Georgia,serif; }.custom-strip p { margin: 5px 0 0; font-size: 13px; color: #6b655e; }
.custom-strip a { display: flex; align-items: center; gap: 10px; color: var(--maroon); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }

.about-section { display: grid; grid-template-columns: 52% 48%; min-height: 820px; background: #eee4d3; }
.about-image-wrap { position: relative; min-height: 700px; }
.about-image-crop { position: absolute; inset: 0; overflow: hidden; }
.about-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: 47% center; }
.image-stamp { position: absolute; right: -68px; top: 48%; transform: translateY(-50%) rotate(-7deg); width: 152px; height: 152px; border-radius: 50%; background: #f3d99d; color: var(--maroon); border: 1px solid rgba(110,24,48,.25); outline: 1px dashed rgba(110,24,48,.35); outline-offset: -8px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-transform: uppercase; letter-spacing: .12em; font-size: 8px; }
.image-stamp b { font: 600 22px Georgia,serif; letter-spacing: -.03em; text-transform: none; margin: 3px 0; }
.about-copy { padding: clamp(74px, 8vw, 130px) clamp(42px, 8vw, 130px); display: flex; flex-direction: column; justify-content: center; }
.about-copy .lead { margin: 35px 0 17px; color: var(--ink); font: 400 19px/1.65 Georgia,serif; }
.about-copy > p:not(.kicker):not(.lead) { color: #625c55; font-size: 14px; line-height: 1.85; }
.about-copy blockquote { margin: 28px 0 31px; padding: 20px 0 20px 25px; border-left: 2px solid var(--maroon); color: var(--maroon); font: italic 18px/1.5 Georgia,serif; }
.about-link { display: inline-flex; align-items: center; gap: 11px; width: fit-content; padding-bottom: 7px; border-bottom: 1px solid var(--maroon); color: var(--maroon); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }

.process { background: var(--paper); display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(60px, 9vw, 150px); align-items: start; }
.process-title { position: sticky; top: 60px; }.steps { list-style: none; padding: 0; margin: 0; }
.steps li { display: grid; grid-template-columns: 52px 1fr; gap: 25px; padding: 31px 0; border-top: 1px solid var(--line); }.steps li:last-child{border-bottom:1px solid var(--line)}
.steps li > span { color: var(--maroon); font: italic 18px Georgia,serif; }.steps h3 { margin: 0 0 9px; font: 400 26px Georgia,serif; }.steps p { margin: 0; color: #6b655e; font-size: 14px; line-height: 1.65; }

.gallery-section { background: #1c1014; color: #fff; }
.gallery-heading { display: grid; grid-template-columns: 1.15fr .65fr; gap: 80px; align-items: end; margin-bottom: 58px; }.gallery-heading h2 em { color:#e6c47e }.kicker.light{color:#e6c47e}.gallery-heading > p { color: rgba(255,255,255,.57); font-size:14px; line-height:1.8; margin:0 0 8px; }
.gallery-grid { display: grid; grid-template-columns: 1.2fr .8fr .78fr; grid-template-rows: 330px 330px; gap: 14px; }
.gallery-grid figure { margin: 0; position: relative; overflow: hidden; }.gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }.gallery-grid figure:hover img{transform:scale(1.035)}
.gallery-wide { grid-column: 1 / 3; }.gallery-tall { grid-column: 3; grid-row: 1 / 3; }.gallery-tall img{object-position:63% center}.gallery-detail{grid-column:1}.gallery-quote{grid-column:2;background:var(--maroon);padding:40px;display:flex;flex-direction:column;justify-content:space-between}.gallery-quote>.spark{color:#e6c47e;font-size:18px}.gallery-quote p{font:400 35px/1.05 Georgia,serif;margin:18px 0}.gallery-quote em{color:#e6c47e}.gallery-quote a{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;display:flex;align-items:center;gap:10px}
.gallery-grid figcaption { position: absolute; inset: auto 0 0; padding: 42px 24px 20px; display: flex; align-items: end; justify-content: space-between; gap: 15px; background: linear-gradient(transparent, rgba(15,6,9,.8)); }.gallery-grid figcaption span{font-size:8px;text-transform:uppercase;letter-spacing:.17em;color:#e6c47e}.gallery-grid figcaption b{font:400 16px Georgia,serif}

.faq-section { background: var(--paper); }
.faq-groups { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 64px; }
.faq-group { border-top: 1px solid var(--line); padding-top: 22px; }
.faq-group-title { margin: 0 0 4px; font: 400 21px Georgia, serif; letter-spacing: -.02em; color: var(--maroon); }
.faq-item { border-bottom: 1px solid var(--line); padding: 18px 0; }
.faq-item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px; font: 400 17px/1.4 Georgia, serif; letter-spacing: -.01em; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { color: var(--maroon); }
.faq-item summary:focus-visible { outline: 2px solid var(--maroon); outline-offset: 6px; }
.faq-item summary::after { content: "+"; flex: none; width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; font: 400 15px/1 Arial, sans-serif; color: var(--maroon); transition: transform .25s ease; }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item p { margin: 14px 0 0; max-width: 62ch; color: #625c55; font-size: 14px; line-height: 1.8; }

.contact-section { display: grid; grid-template-columns: 1fr 1fr; background: #e7d9c5; }
.contact-intro { padding: clamp(78px, 8vw, 130px) clamp(34px, 7vw, 112px); background: var(--maroon); color: #fff; }
.contact-intro .kicker{color:#e6c47e}.contact-intro h2 em{color:#e6c47e}.contact-intro>p:not(.kicker){margin:31px 0 44px;color:rgba(255,255,255,.67);font-size:15px;line-height:1.8;max-width:560px}
.contact-details { border-top: 1px solid rgba(255,255,255,.18); }.contact-details a,.contact-details p{margin:0;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:90px 1fr;font:400 15px Georgia,serif}.contact-details span{font:800 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:#e6c47e;padding-top:4px}
.contact-form { padding: clamp(76px, 8vw, 124px) clamp(34px, 7vw, 100px); display: flex; flex-direction: column; gap: 24px; justify-content:center; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contact-form label { display: flex; flex-direction: column; gap: 9px; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(23,20,17,.28);border-radius:0;background:transparent;padding:12px 0;color:var(--ink);font:400 15px Arial,sans-serif;outline:none}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--maroon)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(23,20,17,.42)}
.submit-button { border: 0; cursor: pointer; background: var(--maroon); color:#fff; align-self:flex-start; margin-top:8px; }.form-note{margin:-12px 0 0;color:#72695f;font-size:10px;line-height:1.5}

footer { min-height: 110px; background: #170b0f; color:#fff; padding:28px clamp(24px,6vw,96px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:35px; }.footer-brand .brand-mark{width:35px;height:35px}.footer-brand .brand-mark i{width:11px;height:18px}footer>p{margin:0;color:rgba(255,255,255,.45);font-size:9px;text-transform:uppercase;letter-spacing:.12em}footer>a:last-child{justify-self:end;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#e6c47e}

@media (max-width: 860px) {
  .site-header { height: 76px; padding: 0 20px; }.brand small { display:none; } nav a:not(.nav-cta) { display:none; }
  .hero { min-height: 760px; height: 100svh; }
  .hero-copy { padding: 140px 24px 58px; max-width: 100%; }.trust-row{gap:10px 14px}
  .hero-photo{object-position:84% center}.hero-overlay{background:linear-gradient(180deg, rgba(15,4,8,.78) 0%, rgba(15,4,8,.7) 50%, rgba(15,4,8,.92) 100%)}.section-heading,.gallery-heading{grid-template-columns:1fr;gap:25px}.faq-groups{grid-template-columns:1fr;gap:0}.product-grid{grid-template-columns:1fr}.card-maroon{transform:none}.product-card{min-height:490px}.about-section,.contact-section{grid-template-columns:1fr}.about-image-wrap{min-height:520px}.image-stamp{right:24px;top:auto;bottom:24px;transform:rotate(-7deg)}.process{grid-template-columns:1fr}.process-title{position:static}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 380px 280px}.gallery-wide{grid-column:1/3}.gallery-tall{grid-column:1;grid-row:2}.gallery-detail{grid-column:2;grid-row:2}.gallery-quote{grid-column:1/3;grid-row:3}.contact-form{min-height:680px}footer{grid-template-columns:1fr auto}footer>p{display:none}
}

@media (max-width: 480px) { h1{font-size:49px}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.button{width:100%}.trust-row{font-size:9px}.nav-cta{padding:10px 13px}.section-pad{padding-left:20px;padding-right:20px}.product-card{padding:30px}.custom-strip{grid-template-columns:auto 1fr;padding:22px}.custom-strip a{grid-column:2}.about-image-wrap{min-height:410px}.about-copy{padding:72px 24px}.process{gap:38px}.gallery-grid{display:flex;flex-direction:column}.gallery-grid figure{min-height:300px}.gallery-tall{min-height:460px!important}.gallery-quote{min-height:280px}.contact-intro,.contact-form{padding-left:24px;padding-right:24px}.field-row{grid-template-columns:1fr}footer{grid-template-columns:1fr}footer>a:last-child{display:none} }
