
:root{
  --ink:#171210;
  --black:#0c0a09;
  --parchment:#ead7b4;
  --parchment-light:#f5e8cf;
  --blood:#8a1719;
  --blood-dark:#5d0d10;
  --gold:#a77b3b;
  --cream:#fff8e9;
  --muted:#6d5a48;
  --shadow:0 18px 50px rgba(20,8,8,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  background:
    linear-gradient(rgba(245,232,207,.95),rgba(245,232,207,.95)),
    url("assets/parchment.png") center/720px auto repeat;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--blood);font-size:.78rem;font-weight:bold}
.section{padding:88px 0;position:relative}
.section-title{margin:.3rem 0 1rem;text-align:center;color:var(--blood);font-size:clamp(2rem,4vw,3.6rem);font-weight:500;letter-spacing:.03em}
.section-sub{max-width:760px;margin:0 auto 42px;text-align:center;font-style:italic;line-height:1.65}
.ornament{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--blood);margin:14px auto 26px}
.ornament:before,.ornament:after{content:"";height:1px;width:90px;background:linear-gradient(90deg,transparent,var(--blood))}
.ornament:after{background:linear-gradient(90deg,var(--blood),transparent)}
.ornament span{font-size:1.2rem}

.site-header{
 position:sticky;top:0;z-index:50;
 background:rgba(15,11,10,.94);
 border-bottom:1px solid rgba(167,123,59,.38);
 backdrop-filter:blur(12px);
}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-mini{display:flex;align-items:center;gap:12px;color:var(--cream)}
.brand-mini img{width:66px;height:66px;object-fit:contain}
.brand-mini strong{font-size:1.18rem;font-weight:500}
.nav{display:flex;align-items:center;gap:25px;color:#efe1c8;font-size:.94rem}
.nav a{position:relative;padding:28px 0}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:1px;background:var(--blood);transition:.25s}
.nav a:hover:after,.nav a.active:after{right:0}
.nav .cta-nav{padding:10px 16px;border:1px solid var(--blood);border-radius:999px;color:#fff}
.menu-btn{display:none;background:none;border:0;color:white;font-size:1.6rem}

.hero{
 min-height:720px;
 display:flex;align-items:center;
 background:
   linear-gradient(rgba(9,6,5,.2),rgba(9,6,5,.28)),
   url("assets/hero-bg.png") center/cover no-repeat;
 position:relative;overflow:hidden;
}
.hero:after{
 content:"";position:absolute;inset:auto 0 0;height:120px;
 background:linear-gradient(to bottom,transparent,rgba(245,232,207,.92));
}
.hero-card{
 width:min(800px,92%);
 margin:0 auto;
 text-align:center;
 background:linear-gradient(
   to bottom,
   rgba(242,224,192,.52),
   rgba(242,224,192,.36)
 );
 border:1px solid rgba(91,54,29,.20);
 box-shadow:0 18px 55px rgba(0,0,0,.16);
 padding:28px 54px 34px;
 position:relative;z-index:2;
 backdrop-filter:blur(1.5px);
}
.hero-card:before,.hero-card:after{
 content:"";position:absolute;width:76px;height:76px;opacity:.75;pointer-events:none
}
.hero-card:before{
 left:14px;top:14px;
 border-left:2px solid var(--blood);
 border-top:2px solid var(--blood);
}
.hero-card:after{
 right:14px;bottom:14px;
 border-right:2px solid var(--blood);
 border-bottom:2px solid var(--blood);
}
.hero-logo{width:min(430px,78%);margin:0 auto 2px}
.hero h1{font-size:clamp(2rem,4.5vw,3.8rem);line-height:1.03;color:var(--blood);margin:0 0 12px;font-weight:500}
.hero p{font-size:1.03rem;line-height:1.65;margin:0 auto 22px;max-width:650px}
.hero-divider{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--blood);margin:4px auto 10px}
.hero-divider:before,.hero-divider:after{content:"";height:1px;width:72px;background:linear-gradient(90deg,transparent,var(--blood))}
.hero-divider:after{background:linear-gradient(90deg,var(--blood),transparent)}
.hero-divider span{font-size:1rem}
.btn-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.btn{
 display:inline-flex;justify-content:center;align-items:center;
 min-height:48px;padding:12px 23px;
 border-radius:999px;border:1px solid var(--blood);
 letter-spacing:.05em;text-transform:uppercase;font-size:.82rem;
 transition:transform .2s,box-shadow .2s,background .2s;
 cursor:pointer;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(93,13,16,.15)}
.btn-primary{background:var(--blood);color:var(--cream)}
.btn-primary:hover{background:var(--blood-dark)}
.btn-ghost{background:rgba(255,248,233,.45);color:var(--blood)}

.intro-panel{
 max-width:950px;margin:auto;padding:45px 58px;text-align:center;
 background:rgba(255,248,233,.42);
 border-top:1px solid rgba(138,23,25,.32);
 border-bottom:1px solid rgba(138,23,25,.32);
}
.intro-panel p{line-height:1.85;font-size:1.06rem}
.callout{color:var(--blood);font-weight:bold;font-size:1.2rem!important}

.edge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.edge-card{
 background:rgba(255,248,233,.62);
 border:1px solid rgba(91,54,29,.22);
 padding:30px 24px 26px;
 position:relative;overflow:hidden;
 box-shadow:0 8px 28px rgba(50,27,15,.08);
 transition:.25s;
}
.edge-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.edge-card:before{content:"";position:absolute;inset:8px;border:1px solid rgba(138,23,25,.24);pointer-events:none}
.edge-icon{
 width:66px;height:66px;margin:0 auto 20px;border:1px solid var(--blood);
 border-radius:50%;display:grid;place-items:center;color:var(--blood);font-size:1.7rem;
}
.edge-card h3{text-align:center;margin:.4rem 0;color:var(--blood);font-size:1.2rem}
.price{text-align:center;font-size:1.12rem;margin:.3rem 0 1rem;font-style:italic}
.edge-card p{line-height:1.65;text-align:center;min-height:104px}
.edge-card .btn{width:100%;position:relative;z-index:1}

.dark-section{
 color:#efe1c8;
 background:
   radial-gradient(circle at 25% 10%,rgba(138,23,25,.20),transparent 28%),
   linear-gradient(rgba(12,10,9,.97),rgba(12,10,9,.97)),
   url("assets/parchment.png") center/700px repeat;
 border-top:1px solid #3c2a20;border-bottom:1px solid #3c2a20;
}
.dark-section .section-title{color:#d8a3a0}
.dark-section .section-sub{color:#cfbea6}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.creation{
 background:#171210;border:1px solid #4c3026;padding:12px;
 box-shadow:0 15px 40px rgba(0,0,0,.22);
}
.creation-placeholder{
 aspect-ratio:4/5;
 display:grid;place-items:center;text-align:center;padding:20px;
 border:1px dashed rgba(216,163,160,.55);
 background:
   linear-gradient(140deg,rgba(138,23,25,.13),rgba(255,255,255,.02)),
   #0e0b0a;
 color:#d8a3a0;
}
.creation h3{color:#efe1c8;margin:17px 6px 4px}
.creation small{color:#b79d83;margin:0 6px 12px;display:block}
.center-cta{text-align:center;margin-top:38px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step{position:relative;padding:30px 24px;background:rgba(255,248,233,.45);border-left:2px solid var(--blood)}
.step-num{font-size:2.4rem;color:rgba(138,23,25,.5);line-height:1;margin-bottom:14px}
.step h3{color:var(--blood);font-size:1.12rem}
.step p{line-height:1.65}

.cta-band{
 background:linear-gradient(90deg,#4c0d10,#8a1719,#4c0d10);
 color:#fff8e9;text-align:center;padding:58px 20px;
 border-top:1px solid #a77b3b;border-bottom:1px solid #a77b3b
}
.cta-band h2{font-size:clamp(2rem,4vw,3rem);font-weight:500;margin:0 0 10px}
.cta-band p{margin:0 auto 22px;max-width:640px;line-height:1.6}
.cta-band .btn{border-color:#f2ddbb;color:#f2ddbb;background:transparent}

.page-hero{padding:110px 0 65px;text-align:center;background:
 linear-gradient(rgba(245,232,207,.88),rgba(245,232,207,.95)),
 url("assets/hero-bg.png") center/cover no-repeat;border-bottom:1px solid rgba(138,23,25,.2)}
.page-hero h1{color:var(--blood);font-size:clamp(2.4rem,5vw,4.5rem);font-weight:500;margin:0 0 10px}
.page-hero p{max-width:730px;margin:auto;line-height:1.7;font-style:italic}

.content-card{max-width:930px;margin:0 auto;background:rgba(255,248,233,.58);padding:38px 42px;border:1px solid rgba(91,54,29,.22)}
.content-card h2,.content-card h3{color:var(--blood)}
.content-card p,.content-card li{line-height:1.75}
.content-card ul{padding-left:22px}

.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.product{
 background:rgba(255,248,233,.65);border:1px solid rgba(91,54,29,.24);overflow:hidden;
 transition:.2s;box-shadow:0 9px 22px rgba(30,14,7,.07)
}
.product:hover{transform:translateY(-4px)}
.product-img{height:320px;display:grid;place-items:center;text-align:center;padding:24px;
 background:linear-gradient(145deg,#211713,#0f0c0a);color:#d8a3a0}
.product-body{padding:22px}
.product h3{margin:0 0 6px;color:var(--blood)}
.product .tag{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.product .price{font-style:normal;text-align:left;font-weight:bold}
.product p{line-height:1.6}

.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:bold;color:#4d3327}
input,select,textarea{
 width:100%;padding:12px 13px;border:1px solid #9c8068;background:#fffaf0;color:#211713;border-radius:4px
}
textarea{min-height:140px;resize:vertical}
.checkbox{display:flex;gap:10px;align-items:flex-start}
.checkbox input{width:auto;margin-top:4px}
.notice{padding:15px 18px;border-left:3px solid var(--blood);background:rgba(138,23,25,.07);line-height:1.6}

.faq-list{max-width:920px;margin:auto}
.faq-item{border-bottom:1px solid rgba(91,54,29,.28)}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:21px 0;color:var(--blood);font-weight:bold;font-size:1.05rem;cursor:pointer;display:flex;justify-content:space-between}
.faq-a{display:none;padding:0 0 20px;line-height:1.75}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-q span{transform:rotate(45deg)}
.faq-q span{transition:.2s;font-size:1.3rem}

.site-footer{background:#0d0a09;color:#d7c3a5;padding:55px 0 28px;border-top:1px solid #4f3227}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:36px}
.footer-brand img{width:120px;margin-bottom:13px;filter:brightness(1.12)}
.footer-brand p{max-width:420px;line-height:1.7}
.footer-col h4{color:#d8a3a0;margin:0 0 14px}
.footer-col a{display:block;margin:9px 0;color:#d7c3a5}
.footer-col a:hover{color:white}
.footer-bottom{border-top:1px solid #38251e;margin-top:35px;padding-top:22px;font-size:.8rem;color:#947e68;text-align:center}

.fade-up{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.fade-up.visible{opacity:1;transform:none}

@media(max-width:900px){
 .edge-grid,.steps{grid-template-columns:repeat(2,1fr)}
 .shop-grid,.gallery-grid{grid-template-columns:1fr 1fr}
 .nav{display:none;position:absolute;top:78px;left:0;right:0;background:#0d0a09;padding:20px;flex-direction:column;align-items:flex-start}
 .nav.open{display:flex}
 .nav a{padding:8px 0;width:100%}
 .nav a:after{bottom:1px}
 .menu-btn{display:block}
 .hero{min-height:720px}
 .hero-card{padding:34px 28px}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .container{width:min(100% - 26px,1180px)}
 .section{padding:62px 0}
 .header-inner{height:68px}
 .brand-mini img{width:44px;height:44px}
 .brand-mini strong{font-size:.95rem}
 .nav{top:68px}
 .edge-grid,.steps,.shop-grid,.gallery-grid,.form-grid,.footer-grid{grid-template-columns:1fr}
 .field.full{grid-column:auto}
 .hero{min-height:690px}
 .hero-card{width:94%;padding:28px 20px}
 .hero-logo{width:82%}
 .intro-panel{padding:32px 20px}
 .edge-card p{min-height:auto}
}

/* Refined homepage section transitions */
.section.soft-parchment{
  background:
    linear-gradient(rgba(247,236,216,.72),rgba(247,236,216,.72)),
    url("assets/parchment.png") center/760px auto repeat;
}
.section.soft-parchment:before{
  content:"";
  position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:min(860px,80%);height:1px;
  background:linear-gradient(90deg,transparent,rgba(138,23,25,.35),transparent);
}
.section.dark-section .ornament{color:#d8a3a0}
.section.dark-section .ornament:before,
.section.dark-section .ornament:after{background:linear-gradient(90deg,transparent,#d8a3a0)}
.section.dark-section .ornament:after{background:linear-gradient(90deg,#d8a3a0,transparent)}
@media(max-width:620px){
  .brand-mini img{width:52px;height:52px}
  .hero-card{padding:24px 18px 28px}
  .hero-logo{width:86%}
}

/* --- v4 gothic refinement --- */
.brand-mini img{
  width:62px;height:62px;object-fit:contain;
  background:radial-gradient(circle,#f3e2c2 58%,#d9bc8b 100%);
  border:1px solid rgba(167,123,59,.65);
  border-radius:50%;
  padding:5px;
  box-shadow:0 0 0 3px rgba(255,248,233,.04),0 7px 18px rgba(0,0,0,.28);
}
.footer-brand img{
  width:145px;
  background:radial-gradient(circle,#f3e2c2 58%,#d9bc8b 100%);
  border:1px solid rgba(167,123,59,.6);
  border-radius:18px;
  padding:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  filter:none;
}

/* Richer internal page heroes */
.page-hero{
  position:relative;
  padding:122px 0 78px;
  overflow:hidden;
  background:
    linear-gradient(rgba(17,10,9,.56),rgba(31,13,14,.48)),
    url("assets/hero-bg.png") center 42%/cover no-repeat;
  border-bottom:1px solid rgba(167,123,59,.55);
  color:#fff3de;
}
.page-hero:before{
  content:"";
  position:absolute;inset:16px;
  border:1px solid rgba(234,215,180,.46);
  pointer-events:none;
}
.page-hero:after{
  content:"✦";
  position:absolute;
  left:50%;bottom:16px;transform:translateX(-50%);
  color:#d1ab74;font-size:1.1rem;
  text-shadow:-86px 0 #d1ab74,86px 0 #d1ab74;
}
.page-hero .container{position:relative;z-index:1}
.page-hero .eyebrow{color:#e7c6a0}
.page-hero h1{
  color:#f3dfbd;
  text-shadow:0 2px 14px rgba(0,0,0,.55);
  letter-spacing:.035em;
}
.page-hero p{
  color:#f3e6d0;
  text-shadow:0 1px 8px rgba(0,0,0,.5);
}

/* Ornate content panels */
.content-card{
  position:relative;
  max-width:980px;
  background:
    linear-gradient(rgba(252,243,226,.92),rgba(246,229,199,.91)),
    url("assets/parchment.png") center/700px repeat;
  padding:48px 52px;
  border:1px solid rgba(91,54,29,.34);
  box-shadow:0 16px 44px rgba(41,18,10,.13);
}
.content-card:before{
  content:"";
  position:absolute;inset:10px;
  border:1px solid rgba(138,23,25,.24);
  pointer-events:none;
}
.content-card:after{
  content:"◆";
  position:absolute;
  top:17px;left:50%;transform:translateX(-50%);
  color:rgba(138,23,25,.48);
  background:#f5e5c9;
  padding:0 12px;
}
.content-card h2{
  border-bottom:1px solid rgba(138,23,25,.22);
  padding-bottom:8px;
  margin-top:30px;
}
.content-card h2:first-of-type{margin-top:0}

/* Decorative page sections so pages don't feel flat */
main > .section:nth-of-type(even):not(.dark-section){
  background:
    radial-gradient(circle at 8% 20%,rgba(138,23,25,.07),transparent 25%),
    radial-gradient(circle at 94% 78%,rgba(40,26,18,.08),transparent 22%);
}
.section-title:after{
  content:"";
  display:block;
  width:150px;height:1px;margin:16px auto 0;
  background:linear-gradient(90deg,transparent,var(--blood),transparent);
}

/* richer cards / shop and commission */
.edge-card{
  background:
    linear-gradient(rgba(255,248,233,.82),rgba(246,229,199,.74)),
    url("assets/parchment.png") center/560px repeat;
}
.edge-card:after{
  content:"";
  position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:74px;height:3px;background:var(--blood);
  opacity:.72;
}
.product{
  border:1px solid rgba(167,123,59,.34);
  box-shadow:0 12px 30px rgba(24,10,7,.12);
}
.product-img{
  position:relative;
  background:
    radial-gradient(circle at 50% 35%,rgba(138,23,25,.24),transparent 35%),
    linear-gradient(145deg,#241410,#0c0908);
}
.product-img:before{
  content:"";
  position:absolute;inset:12px;
  border:1px solid rgba(231,198,160,.24);
}

/* FAQ as gothic cards */
.faq-list{
  display:grid;
  gap:14px;
}
.faq-item{
  border:1px solid rgba(91,54,29,.28);
  background:
    linear-gradient(rgba(255,248,233,.8),rgba(243,225,194,.75)),
    url("assets/parchment.png") center/600px repeat;
  box-shadow:0 8px 20px rgba(42,18,10,.07);
  padding:0 22px;
}
.faq-q{
  color:#751217;
  padding:22px 0;
}
.faq-a{color:#332218}

/* Contact form framed like a letter */
.form-grid{
  position:relative;
}
.form-grid:before{
  content:"";
  position:absolute;
  left:-20px;right:-20px;top:-18px;bottom:-18px;
  border:1px dashed rgba(138,23,25,.18);
  pointer-events:none;
}
input,select,textarea{
  background:rgba(255,250,240,.92);
  border-color:#a38368;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}

/* richer terms page */
.terms-intro{
  max-width:900px;margin:0 auto 28px;text-align:center;
  color:#5b3b2d;font-style:italic;
}
.terms-page .content-card h2:before{
  content:"✦";
  color:var(--blood);
  margin-right:9px;
}

/* footer gets ornamental top border */
.site-footer{
  position:relative;
}
.site-footer:before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,#2a1713,#8a1719,#a77b3b,#8a1719,#2a1713);
}

/* about-page dark quote band */
.quote-band{
  margin:34px auto;
  padding:38px 30px;
  text-align:center;
  color:#f5e3c6;
  background:
    linear-gradient(rgba(42,13,14,.96),rgba(18,11,10,.97)),
    url("assets/parchment.png") center/600px repeat;
  border:1px solid rgba(167,123,59,.45);
  box-shadow:0 14px 36px rgba(30,10,9,.18);
  position:relative;
}
.quote-band:before,.quote-band:after{
  content:"✦";position:absolute;top:50%;transform:translateY(-50%);
  color:#bd9160;font-size:1.1rem;
}
.quote-band:before{left:18px}
.quote-band:after{right:18px}
.quote-band strong{font-size:1.45rem;font-weight:500;line-height:1.5}

/* special contact details card */
.contact-details{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px;
}
.contact-note{
  padding:22px;
  background:rgba(138,23,25,.08);
  border-left:3px solid var(--blood);
}
.contact-note h3{margin-top:0;color:var(--blood)}

@media(max-width:700px){
  .content-card{padding:38px 24px}
  .page-hero{padding:100px 0 65px}
  .contact-details{grid-template-columns:1fr}
  .brand-mini img{width:50px;height:50px}
}

/* --- v6 organic vine continuation from hero artwork --- */

body{position:relative;overflow-x:hidden}

/* On the homepage, vines begin where the illustrated hero ends,
   so they feel like a continuation of the artwork rather than a new border. */
.home-page main{
  position:relative;
  overflow:visible;
}

/* Long side vines through the page */
.home-page main::before,
.home-page main::after{
  content:"";
  position:absolute;
  top:665px;
  bottom:0;
  width:86px;
  z-index:8;
  pointer-events:none;
  opacity:.82;
  background-repeat:repeat-y;
  background-size:86px 330px;
}

.home-page main::before{
  left:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='86' height='330' viewBox='0 0 86 330'%3E%3Cg fill='none' stroke='%23110d0b' stroke-width='2.25' stroke-linecap='round'%3E%3Cpath d='M3 -18 C54 20 19 63 49 99 C74 130 72 165 35 198 C8 223 20 272 63 344'/%3E%3Cpath d='M23 35 C44 29 58 18 68 0'/%3E%3Cpath d='M43 93 C24 83 13 67 8 52'/%3E%3Cpath d='M50 137 C66 128 77 113 82 97'/%3E%3Cpath d='M36 198 C57 200 72 215 80 235'/%3E%3Cpath d='M28 253 C14 243 7 228 4 211'/%3E%3Cpath d='M50 300 C66 291 77 278 82 263'/%3E%3C/g%3E%3Cg fill='%23110d0b'%3E%3Cellipse cx='64' cy='18' rx='4' ry='10' transform='rotate(48 64 18)'/%3E%3Cellipse cx='14' cy='62' rx='4' ry='10' transform='rotate(-42 14 62)'/%3E%3Cellipse cx='75' cy='112' rx='4' ry='10' transform='rotate(38 75 112)'/%3E%3Cellipse cx='63' cy='218' rx='4' ry='11' transform='rotate(-47 63 218)'/%3E%3Cellipse cx='10' cy='229' rx='4' ry='10' transform='rotate(40 10 229)'/%3E%3Cellipse cx='73' cy='282' rx='4' ry='10' transform='rotate(36 73 282)'/%3E%3Ccircle cx='48' cy='99' r='3.3' fill='%238a1719'/%3E%3Ccircle cx='36' cy='198' r='2.8' fill='%238a1719'/%3E%3C/g%3E%3C/svg%3E");
}
.home-page main::after{
  right:0;
  transform:scaleX(-1);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='86' height='330' viewBox='0 0 86 330'%3E%3Cg fill='none' stroke='%23110d0b' stroke-width='2.25' stroke-linecap='round'%3E%3Cpath d='M3 -18 C54 20 19 63 49 99 C74 130 72 165 35 198 C8 223 20 272 63 344'/%3E%3Cpath d='M23 35 C44 29 58 18 68 0'/%3E%3Cpath d='M43 93 C24 83 13 67 8 52'/%3E%3Cpath d='M50 137 C66 128 77 113 82 97'/%3E%3Cpath d='M36 198 C57 200 72 215 80 235'/%3E%3Cpath d='M28 253 C14 243 7 228 4 211'/%3E%3Cpath d='M50 300 C66 291 77 278 82 263'/%3E%3C/g%3E%3Cg fill='%23110d0b'%3E%3Cellipse cx='64' cy='18' rx='4' ry='10' transform='rotate(48 64 18)'/%3E%3Cellipse cx='14' cy='62' rx='4' ry='10' transform='rotate(-42 14 62)'/%3E%3Cellipse cx='75' cy='112' rx='4' ry='10' transform='rotate(38 75 112)'/%3E%3Cellipse cx='63' cy='218' rx='4' ry='11' transform='rotate(-47 63 218)'/%3E%3Cellipse cx='10' cy='229' rx='4' ry='10' transform='rotate(40 10 229)'/%3E%3Cellipse cx='73' cy='282' rx='4' ry='10' transform='rotate(36 73 282)'/%3E%3Ccircle cx='48' cy='99' r='3.3' fill='%238a1719'/%3E%3Ccircle cx='36' cy='198' r='2.8' fill='%238a1719'/%3E%3C/g%3E%3C/svg%3E");
}

/* Dense transition vines immediately below the hero.
   These overlap upward into the hero edge so the join disappears. */
.home-page .hero + .section::before,
.home-page .hero + .section::after{
  content:"";
  position:absolute;
  top:-145px;
  width:155px;
  height:290px;
  z-index:9;
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:155px 290px;
  opacity:.95;
}
.home-page .hero + .section::before{
  left:-5px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='155' height='290' viewBox='0 0 155 290'%3E%3Cg fill='none' stroke='%23100c0a' stroke-width='2.7' stroke-linecap='round'%3E%3Cpath d='M5 -15 C78 27 26 80 79 118 C119 147 84 198 48 222 C26 237 34 262 61 302'/%3E%3Cpath d='M25 42 C62 35 91 16 108 -8'/%3E%3Cpath d='M63 101 C37 91 18 72 9 48'/%3E%3Cpath d='M78 130 C111 124 134 102 148 74'/%3E%3Cpath d='M53 220 C93 217 124 234 147 263'/%3E%3Cpath d='M38 254 C20 245 8 230 2 211'/%3E%3C/g%3E%3Cg fill='%23100c0a'%3E%3Cellipse cx='101' cy='16' rx='6' ry='15' transform='rotate(48 101 16)'/%3E%3Cellipse cx='17' cy='58' rx='6' ry='14' transform='rotate(-42 17 58)'/%3E%3Cellipse cx='135' cy='91' rx='6' ry='15' transform='rotate(40 135 91)'/%3E%3Cellipse cx='119' cy='236' rx='6' ry='15' transform='rotate(-42 119 236)'/%3E%3C/g%3E%3Cg fill='%238a1719'%3E%3Ccircle cx='78' cy='118' r='4'/%3E%3Ccircle cx='49' cy='222' r='3.6'/%3E%3C/g%3E%3C/svg%3E");
}
.home-page .hero + .section::after{
  right:-5px;
  transform:scaleX(-1);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='155' height='290' viewBox='0 0 155 290'%3E%3Cg fill='none' stroke='%23100c0a' stroke-width='2.7' stroke-linecap='round'%3E%3Cpath d='M5 -15 C78 27 26 80 79 118 C119 147 84 198 48 222 C26 237 34 262 61 302'/%3E%3Cpath d='M25 42 C62 35 91 16 108 -8'/%3E%3Cpath d='M63 101 C37 91 18 72 9 48'/%3E%3Cpath d='M78 130 C111 124 134 102 148 74'/%3E%3Cpath d='M53 220 C93 217 124 234 147 263'/%3E%3Cpath d='M38 254 C20 245 8 230 2 211'/%3E%3C/g%3E%3Cg fill='%23100c0a'%3E%3Cellipse cx='101' cy='16' rx='6' ry='15' transform='rotate(48 101 16)'/%3E%3Cellipse cx='17' cy='58' rx='6' ry='14' transform='rotate(-42 17 58)'/%3E%3Cellipse cx='135' cy='91' rx='6' ry='15' transform='rotate(40 135 91)'/%3E%3Cellipse cx='119' cy='236' rx='6' ry='15' transform='rotate(-42 119 236)'/%3E%3C/g%3E%3Cg fill='%238a1719'%3E%3Ccircle cx='78' cy='118' r='4'/%3E%3Ccircle cx='49' cy='222' r='3.6'/%3E%3C/g%3E%3C/svg%3E");
}

/* Internal pages retain side vines, but start beneath their own illustrated headers. */
body:not(.home-page) main{
  position:relative;
}
body:not(.home-page) main::before,
body:not(.home-page) main::after{
  content:"";
  position:absolute;
  top:260px;
  bottom:0;
  width:68px;
  z-index:6;
  pointer-events:none;
  opacity:.65;
  background-repeat:repeat-y;
  background-size:68px 260px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='68' height='260' viewBox='0 0 68 260'%3E%3Cg fill='none' stroke='%23120d0b' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 -10 C42 18 16 57 40 83 S56 133 28 157 S15 211 48 272'/%3E%3Cpath d='M19 29 C37 25 50 15 57 3'/%3E%3Cpath d='M34 78 C20 69 12 58 9 46'/%3E%3Cpath d='M38 116 C52 108 61 96 65 84'/%3E%3Cpath d='M28 158 C45 162 56 174 61 189'/%3E%3C/g%3E%3Cg fill='%23120d0b'%3E%3Cellipse cx='52' cy='16' rx='4' ry='9' transform='rotate(45 52 16)'/%3E%3Cellipse cx='11' cy='51' rx='4' ry='9' transform='rotate(-38 11 51)'/%3E%3Cellipse cx='58' cy='94' rx='4' ry='9' transform='rotate(38 58 94)'/%3E%3C/g%3E%3C/svg%3E");
}
body:not(.home-page) main::before{left:0}
body:not(.home-page) main::after{right:0;transform:scaleX(-1)}

@media(max-width:900px){
  .home-page main::before,.home-page main::after{width:48px;background-size:48px 184px;opacity:.52}
  .home-page .hero + .section::before,.home-page .hero + .section::after{width:92px;height:190px;background-size:92px 190px;top:-95px}
  body:not(.home-page) main::before,body:not(.home-page) main::after{width:40px;background-size:40px 153px;opacity:.38}
}
@media(max-width:560px){
  .home-page main::before,.home-page main::after,
  .home-page .hero + .section::before,.home-page .hero + .section::after,
  body:not(.home-page) main::before,body:not(.home-page) main::after{display:none}
}
