/* Runlian Technology Co., Limited - Greenhouse Rose Boutique Theme */
/* The Glasshouse motif: glazing bars, glass panes, gable roof, rose beds, watering can, terracotta pots, potting bench, tag stakes. */
/* LIGHT theme, all decorative colors pre-blended to solid hex. No rgba, no decimal opacity, no gradients on text. */

*,*::before,*::after{box-sizing:border-box;}

body{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1.75;
  color:#3C2B33;
  background-color:#FAF6F0;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4,p{font-weight:normal;margin:0 0 1rem 0;}
h1,h2,h3{color:#2E2230;line-height:1.2;}
a{color:#B34A5A;text-decoration:none;}
a:hover{color:#5C7A5A;}
img{display:block;max-width:100%;}

.pagewrap{max-width:1200px;margin:0 auto;padding:0 24px;}

/* ===================== Scroll Reveal (noscript safe) ===================== */
/* Content is visible by default. It is hidden ONLY when the js class is present,
   so a browser with JavaScript disabled never loses content. */
.fade-up{opacity:1;}
html.js .fade-up{opacity:0;}
html.js .fade-up.visible{opacity:1;}
html.js .fade-up.noanim{opacity:1;}
@media (prefers-reduced-motion: reduce){
  html.js .fade-up{opacity:1;}
}

/* ===================== Glazing Bar Header (.glazinghead) ===================== */
.glazinghead{width:100%;border-bottom:1px solid #E8DFD3;background-color:#FAF6F0;}
.glazinghead-inner{max-width:1200px;margin:0 auto;padding:0 24px 10px 24px;}
.glazinghead-timber{height:12px;background-color:#6B4A33;}
.glazinghead-panes{display:grid;grid-template-columns:1.9fr 1fr 1fr 1fr 1fr;gap:12px;padding-top:16px;}
.glazinghead-toggle{display:none;width:100%;margin-top:12px;background-color:#B34A5A;color:#FFFDF8;border:none;border-radius:6px;font-family:inherit;font-size:1rem;padding:12px;cursor:pointer;}

/* a single glass pane (five in the row; the first is wide and holds the brand) */
.glazinghead-pane{
  position:relative;
  border:2px solid #B9CDB0;
  background-color:#FFFDF8;
  border-radius:5px;
  padding:14px 12px;
  overflow:hidden;
}
/* diagonal shine line across each pane */
.glazinghead-pane .shine{position:absolute;top:-14%;left:-6%;width:2px;height:128%;background-color:#E9D8B8;-webkit-transform:rotate(38deg);transform:rotate(38deg);}
.glazinghead-pane .shine.two{left:16%;}
.glazinghead-brand a{display:flex;align-items:center;gap:10px;}
.glazinghead-logo{width:46px;height:46px;flex:0 0 46px;background-color:#B34A5A;color:#FFFDF8;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;}
.glazinghead-brandname{display:block;color:#2E2230;font-size:1.3rem;letter-spacing:0.12em;}
.glazinghead-brandsub{display:block;color:#5C7A5A;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.16em;}
.glazinghead-link{display:flex;flex-direction:column;justify-content:center;text-align:center;color:#B34A5A;font-family:Georgia,serif;}
.glazinghead-link span{display:block;}
.glazinghead-link:hover{color:#5C7A5A;background-color:#FAF6F0;}
.glazinghead-link.active{color:#2E2230;font-weight:bold;}
.glazinghead-sill{height:4px;background-color:#C79A3F;margin-top:10px;}

@media (max-width:920px){
  .glazinghead-panes{grid-template-columns:1fr 1fr 1fr 1fr;}
  .glazinghead-pane{grid-column:auto;}
  .glazinghead-brandpane{grid-column:1 / -1;}
  .glazinghead-toggle{display:block;}
  .glazinghead-panes.collapsed .glazinghead-pane{display:none;}
  .glazinghead-panes.collapsed .glazinghead-brandpane{display:flex;}
}
@media (max-width:560px){
  .glazinghead-panes{grid-template-columns:1fr 1fr;}
}

/* ===================== Section scaffolding ===================== */
.homesection{padding:72px 0;}
.homesection.alt{background-color:#FAF6F0;}
.homesection.pale{background-color:#FFFDF8;}
.sec-head{text-align:center;max-width:760px;margin:0 auto 44px auto;}
.sec-head h2{font-size:2rem;margin-bottom:8px;}
.sec-head p{color:#5C7A5A;}

/* ===================== Greenhouse Gable Hero (.gablehouse) ===================== */
.gablehouse{background-color:#FFFDF8;border-bottom:1px solid #E8DFD3;overflow:hidden;}
.gh-wrap{max-width:1200px;margin:0 auto;padding:54px 24px 30px 24px;display:grid;grid-template-columns:55% 45%;gap:24px;align-items:start;}
/* CSS-only triangular gable roof drawn from glazing bars */
.gh-roofframe{position:relative;max-width:430px;margin-bottom:22px;}
.gh-roof{position:relative;height:126px;margin-bottom:0;}
.gh-roof .o{position:absolute;border:2px solid #2E2230;background-color:#CFE0CB;}
.gh-roof .o::after{content:"";position:absolute;left:8%;top:-6%;width:2px;height:112%;background-color:#FAFBF2;-webkit-transform:rotate(26deg);transform:rotate(26deg);}
.gh-roof .lope{top:0;left:2%;width:44%;height:56%;-webkit-clip-path:polygon(0 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 100%,0 100%);border:none;}
.gh-roof .rope{top:0;right:2%;width:44%;height:56%;-webkit-clip-path:polygon(100% 0,100% 100%,0 100%);clip-path:polygon(100% 0,100% 100%,0 100%);border:none;}
.gh-roof .r0{top:56%;left:2%;width:96%;height:6%;}
.gh-roof .r1{top:74%;left:2%;width:96%;height:10%;}
.gh-roof .pane{top:12%;left:12%;width:18%;height:42%;border-style:dashed;}
.gh-roof .pane.gap{position:absolute;top:12%;left:12%;}
.gh-ridge{position:absolute;top:0;left:50%;width:3px;height:60%;background-color:#2E2230;-webkit-transform:translateX(-50%);transform:translateX(-50%);}
.gh-gablefill{position:absolute;top:56%;left:2%;right:2%;height:10%;display:flex;overflow:hidden;}
.gh-innerband{font-size:0.78rem;color:#2E2230;letter-spacing:0.08em;text-align:center;line-height:1;padding-top:2px;background-color:#B9CDB0;}

.gh-kicker{color:#5C7A5A;text-transform:uppercase;letter-spacing:0.18em;font-size:0.78rem;margin-bottom:12px;}
.gh-h1{font-size:2.75rem;line-height:1.02;}
.gh-h1 .b1{display:block;}
.gh-h1 .b1 .rosew{color:#B34A5A;}
.gh-h1 .b1 .stem{color:#5C7A5A;}
.gh-h1 .lastline{margin-top:10px;font-size:2.05rem;letter-spacing:0.18em;color:#B34A5A;text-transform:lowercase;}
.gh-para{max-width:580px;margin:20px 0 26px 0;font-size:1.04rem;color:#3C2B33;}
.gh-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.gh-seed{background-color:#5C7A5A;color:#FFFFFF;border:2px solid #466145;border-radius:14px 6px 14px 6px;font-family:inherit;font-size:1rem;padding:13px 20px;cursor:pointer;letter-spacing:0.02em;}
.gh-seed:hover{background-color:#466145;color:#FFFFFF;}
.gh-seed.gh-seed-rose{background-color:#B34A5A;border-color:#93383f;}
.gh-seed.gh-seed-rose:hover{background-color:#93383f;}

/* right 45%: two tiers of rose beds + watering can, all CSS */
.gh-plot{position:relative;min-height:470px;}
.gh-plantstage{position:relative;height:470px;}
.gh-bedframe{position:absolute;left:6%;width:80%;border:8px solid #6B4A33;border-radius:20px;background-color:#7C5338;}
.gh-bedframe .bedsoil{position:absolute;bottom:0;left:0;right:0;height:18px;background-color:#44301f;}
.gh-bed-upper{top:8%;height:150px;}
.gh-bed-lower{bottom:3%;height:165px;}
.gh-stem{position:absolute;width:3px;background-color:#5C7A5A;}
.gh-stem.s1{bottom:14px;left:22%;height:48%;}
.gh-stem.s2{bottom:16px;left:44%;height:62%;}
.gh-stem.s3{bottom:16px;left:66%;height:40%;}
.gh-stem.u1{bottom:12px;left:26%;height:52%;background-color:#466145;}
.gh-stem.u2{bottom:12px;left:58%;height:66%;background-color:#466145;}
.gh-leafl{position:absolute;width:22px;height:12px;background-color:#5C7A5A;border-radius:0 100% 0 100%;}
.gh-leafr{position:absolute;width:22px;height:12px;background-color:#5C7A5A;border-radius:100% 0 100% 0;}
.gh-bloom{position:absolute;border-radius:50%;background-color:#B34A5A;border:3px solid #93383f;}
.gh-bloom.big{width:34px;height:34px;}
.gh-bloom.mid{width:26px;height:26px;}
.gh-bloom.sml{width:20px;height:20px;}
.gh-bloom.li{background-color:#C96a76;}
/* watering can */
.gh-can{position:absolute;top:24%;right:2%;width:120px;height:96px;}
.gh-can .bodybox{position:absolute;top:16px;left:8px;width:86px;height:52px;background-color:#5C7A5A;border-radius:10px;border:3px solid #466145;}
.gh-can .lg-lid{position:absolute;top:6px;left:34px;width:20px;height:12px;background-color:#466145;border-radius:4px;}
.gh-can .spigot{position:absolute;top:32px;right:76px;width:14px;height:9px;background-color:#466145;border-radius:0 6px 6px 0;}
.gh-can .rose-head{position:absolute;top:34px;left:-8px;width:26px;height:20px;background-color:#C79A3F;border-radius:8px;border:2px solid #a37c2f;}
.gh-can .hose{position:absolute;top:44px;left:-34px;width:46px;height:5px;background-color:#466145;border-radius:6px;-webkit-transform:rotate(-8deg);transform:rotate(-8deg);}
.gh-can .tray{position:absolute;top:68px;left:0;width:112px;height:14px;background-color:#3a3020;border-radius:8px;}
.gh-can .can-label{position:absolute;top:22px;left:24px;color:#E8EFE3;font-size:10px;letter-spacing:0.2em;}

@media (max-width:900px){
  .gh-wrap{grid-template-columns:1fr;padding-top:40px;}
  .gh-plot,.gh-plantstage{display:none;}
  .gh-h1{font-size:2.2rem;}
}

/* ===================== Planting Beds sections (.plantrows) ===================== */
.plantrows{background-color:#FFFDF8;border-top:1px solid #E8DFD3;border-bottom:1px solid #E8DFD3;padding:0;}
.pr-introbox{background-color:#FFFDF8;}
.pr-intro{max-width:820px;margin:0 auto;text-align:center;padding:60px 24px 20px 24px;font-size:1.06rem;color:#3C2B33;}
.beds{display:flex;flex-direction:column;gap:56px;max-width:1200px;margin:0 auto;padding:8px 24px 66px 24px;}
.bedbox{position:relative;border:8px solid #6B4A33;border-radius:22px;background-color:#7C5338;padding:26px 22px 30px 22px;}
.bedbox::before{content:"";position:absolute;top:10px;left:14px;right:14px;border-top:4px solid #95663f;}
.bedbox .soil-strip{position:absolute;left:0;right:0;bottom:14px;height:14px;background-color:#44301f;border-radius:0 0 12px 12px;}
.bedbox .soil-strip .driptube{position:absolute;top:-7px;left:6%;width:88%;height:4px;background-color:#C79A3F;border-radius:6px;}
.bedbox .soil-strip .driptube::after{content:"";position:absolute;left:14px;top:2px;width:6px;height:6px;background-color:#7C5338;border-radius:50%;box-shadow:40px -3px 0 #7C5338,80px -6px 0 #7C5338,150px -1px 0 #7C5338,210px -5px 0 #7C5338,280px -2px 0 #7C5338,340px -6px 0 #7C5338,420px -3px 0 #7C5338;}
.bedbox .bed-id{position:absolute;top:-16px;left:34px;background-color:#2E2230;color:#F4EDDF;font-size:0.75rem;letter-spacing:0.2em;padding:4px 14px 6px 14px;border-radius:6px;}
.tagsvcs{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:14px;}
@media (max-width:900px){
  .tagsvcs{grid-template-columns:1fr;gap:52px;}
  .beds{padding:8px 14px 60px 14px;}
}

/* Tag Stake service panel (shrublike, planted at differing heights) */
.tagsvc{background-color:#FFFDF8;border:2px solid #E8DFD3;border-radius:14px;padding:30px 24px 22px 24px;position:relative;z-index:1;}
.tagsvc.tagsvc-lifted{margin-top:-26px;}
.tagsvc.tagsvc-lifted2{margin-top:14px;}
.tagsvc-stake{position:absolute;top:-42px;left:26px;}
.tagsvc-stake::before{content:"";display:block;width:3px;height:34px;background-color:#5C7A5A;}
.tagsvc-stake .tagboard{display:inline-block;background-color:#5C7A5A;color:#FFFFFF;padding:7px 16px;border-radius:7px 7px 7px 14px;border:1px solid #466145;max-width:220px;}
.tagsvc-stake .tagboard h3{margin:0;color:#FFFFFF;font-size:1.05rem;line-height:1.3;}
.tagsvc-body p{margin:0 0 12px 0;color:#3C2B33;}
.tagsvc-cta{display:inline-block;color:#B34A5A;font-weight:bold;}
.tagsvc-cta:hover{color:#5C7A5A;}
/* bloom glyph peeking over top of panel */
.tagsvc::after{content:"⬤";position:absolute;top:-10px;right:22px;color:#B34A5A;font-size:16px;}
@media (max-width:900px){
  .tagsvc.tagsvc-lifted{margin-top:0;}
  .tagsvc-stake{top:-40px;}
}

/* ===================== Rose bed decorative intro for secondary content ===================== */
.garden-lead{max-width:1100px;margin:0 auto;padding:56px 24px 10px 24px;text-align:center;}
.garden-lead h2{font-size:2rem;}

/* ===================== Text / about weave (homepage floors) ===================== */
.glass-floor{background-color:#FAF6F0;}
.gf-wrap{max-width:920px;margin:0 auto;padding:60px 24px;}
.gf-wrap p{color:#3C2B33;margin-bottom:1.25rem;font-size:1.04rem;}
.gf-wrap a{font-weight:bold;color:#B34A5A;}
.gf-wrap a:hover{color:#5C7A5A;}
.gf-h2{color:#2E2230;font-size:1.7rem;margin-bottom:16px;}
.gf-rule{border:none;border-top:2px solid #C79A3F;width:90px;margin:20px auto;}

/* two-column highlights (about pane) */
.ha-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:0 24px;max-width:1190px;margin:0 auto;}
@media (max-width:860px){.ha-grid{grid-template-columns:1fr;}}
.ha-pane{background-color:#FFFDF8;border:2px solid #E8DFD3;border-radius:16px;padding:30px;margin-top:6px;}
.ha-pane h3{color:#2E2230;font-size:1.35rem;margin-bottom:14px;}
.ha-pane p{color:#3C2B33;}
.ha-things{list-style:none;padding:0;margin:14px 0 0 0;}
.ha-things li{position:relative;padding:9px 0 9px 28px;border-bottom:1px solid #E8DFD3;color:#3C2B33;}
.ha-things li:last-child{border-bottom:none;}
.ha-things li::before{content:"✦";position:absolute;left:2px;color:#C79A3F;}

/* ===================== Accent Bloom Notice strip ===================== */
.bloomnotice{background-color:#B34A5A;}
.bn-inner{max-width:1200px;margin:0 auto;padding:44px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;}
.bn-glyph{width:64px;height:64px;border-radius:50%;background-color:#93383f;color:#FFFDF8;font-size:2rem;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.bn-inner h2{color:#FFF8EE;font-size:1.7rem;margin-bottom:10px;}
.bn-inner p{color:#F9ECEA;max-width:780px;margin:0;}
.bn-inner p + p{margin-top:10px;}
.bn-link{display:inline-block;margin-top:16px;background-color:#FFFDF8;color:#B34A5A;border-radius:20px;padding:10px 22px;font-weight:bold;letter-spacing:0.03em;}
.bn-link:hover{background-color:#93383f;color:#FFF8EE;}

/* ===================== Services process ledger ===================== */
.process-zone{background-color:#FAF6F0;}
.pz-wrap{max-width:1040px;margin:0 auto;padding:64px 24px 30px 24px;}
.stepsrow{list-style:none;margin:30px 0 0 0;padding:0;}
.stepsrow li{counter-increment:step;position:relative;background-color:#FFFDF8;border:2px solid #5C7A5A;border-radius:14px;padding:18px 22px 18px 62px;margin-bottom:16px;}
.stepsrow li::before{content:counter(step);position:absolute;left:16px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#5C7A5A;color:#FFFDF8;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:bold;}
.stepsrow{margin:30px 0;}
.stepsrow h3{margin-bottom:4px;color:#2E2230;}
.stepsrow p{margin:0;color:#3C2B33;}

/* ===================== Contact ===================== */
.frag{margin-top:-2px;}
.frag-wrap{max-width:1180px;margin:0 auto;padding:60px 24px 30px 24px;}
.frag-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;}
@media (max-width:900px){.frag-grid{grid-template-columns:1fr;}}
.cform{background-color:#FFFDF8;border:2px solid #E8DFD3;border-radius:16px;padding:30px;}
.cform h2,.frag-info h2{margin-top:0;color:#2E2230;}
.cform label{display:block;color:#2E2230;margin-bottom:6px;font-weight:bold;}
.cfield{margin-bottom:18px;}
.cfield input,.cfield textarea{width:100%;border:2px solid #E8DFD3;border-radius:8px;background-color:#FAF6F0;padding:11px 12px;font-family:inherit;font-size:1rem;color:#3C2B33;}
.cfield input:focus,.cfield textarea:focus{outline:none;border-color:#5C7A5A;}
.cbtn{background-color:#B34A5A;color:#FFF8EE;border:none;border-radius:10px;font-family:inherit;font-size:1rem;padding:13px 30px;cursor:pointer;}
.cbtn:hover{background-color:#93383f;}
.cbtn-muted{background-color:#5C7A5A;}
.cbtn-muted:hover{background-color:#466145;}
.formnote{font-size:0.85rem;color:#5C7A5A;margin-top:12px;}
.cdetail{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;padding:14px;background-color:#FFFDF8;border:1px solid #E8DFD3;border-radius:12px;}
.cdetail .iconc{width:42px;height:42px;flex:0 0 42px;background-color:#5C7A5A;color:#FFFDF8;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.cdetail strong{display:block;color:#2E2230;margin-bottom:2px;}
.cdetail span{color:#3C2B33;}
.hoursbox{background-color:#2E2230;color:#F4EDDF;border-radius:16px;padding:26px;margin-top:22px;}
.hoursbox .hb-title{color:#FFF8EE;font-weight:bold;letter-spacing:0.05em;margin-bottom:14px;display:block;}
.hoursrow{display:flex;justify-content:space-between;border-bottom:1px solid #52454f;padding:9px 0;}
.hoursrow:last-of-type{border-bottom:none;}
.hoursbox small{display:block;margin-top:12px;color:#CBB59F;}

/* FAQ accordions */
.faqzone{background-color:#FAF6F0;}
.faq-wrap{max-width:820px;margin:0 auto;padding:60px 24px;}
.faqitem{border:2px solid #E8DFD3;border-radius:12px;margin-bottom:14px;background-color:#FFFDF8;overflow:hidden;}
.faqq{width:100%;text-align:left;background:none;border:none;color:#2E2230;font-family:inherit;font-size:1.02rem;padding:16px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;}
.faqq:hover{background-color:#FAF6F0;}
.faqa{max-height:0;overflow:hidden;-webkit-transition:max-height 0.35s ease;transition:max-height 0.35s ease;}
.faqa p{margin:0;padding:0 20px 16px 20px;color:#3C2B33;}
.faqitem.is-open .faqa{max-height:380px;}

/* ===================== Potting Bench Footer (.pottingbench) ===================== */
.pottingbench{background-color:#2E2230;color:#E8DFD3;border-top:1px solid #24191f;}
.pb-inner{max-width:1200px;margin:0 auto;padding:60px 24px 0 24px;}
.pb-shelfrow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:34px;align-items:start;}
@media (max-width:860px){.pb-shelfrow{grid-template-columns:1fr;}}
.pb-pot{border-radius:14px;padding:40px 24px 26px 24px;text-align:center;}
.pb-pot.terracotta{background-color:#B34A5A;}
.pb-pot.stem{background-color:#5C7A5A;}
.pb-pot.gold{background-color:#6B4A33;}
.pb-pot-rim{width:84%;margin:0 auto -34px auto;background-color:inherit;border-radius:12px 12px 0 0;position:relative;display:flex;align-items:center;justify-content:center;padding:22px 10px 40px 10px;}
.pb-pot-rim::before{content:"";position:absolute;top:0;left:6%;width:88%;border-top:6px solid #F4EDDF;}
.pb-pot-rim h3{margin:0;color:#FFFDF8;font-size:1.1rem;}
.pb-pot-rim a{color:#FFFDF8;font-weight:bold;}
.pb-pot-rim a:hover{color:#C79A3F;}
.pb-pot-body{background-color:#7C5338;border-radius:0 0 18px 18px;padding:40px 16px 20px 16px;}
.pb-links{list-style:none;margin:0;padding:0;}
.pb-links li{border-top:1px solid #a27455;padding:9px 0;}
.pb-links a{color:#F4EDDF;}
.pb-links a:hover{color:#C79A3F;}
/* potting bench surface */
.pb-surface{position:relative;background-color:#6B4A33;border:6px solid #4E3123;border-radius:12px;margin-top:40px;padding:36px 26px;text-align:center;}
.pb-surface .bench-slot{position:absolute;top:-30px;left:14%;width:2px;bottom:0;background-color:#4E3123;}
.pb-brand h2{margin:0 0 4px 0;color:#FFF8EE;font-size:1.4rem;letter-spacing:0.1em;}
.pb-brand h2 em{font-style:normal;color:#C79A3F;}
.pb-blurb{max-width:720px;margin:8px auto 0 auto;color:#E8DCCB;}
/* apron board with contact */
.pb-apron{background-color:#1c1519;margin-top:0;border-top:8px solid #6B4A33;}
.pb-apron-grid{max-width:1200px;margin:0 auto;padding:34px 24px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;text-align:center;}
@media (max-width:860px){.pb-apron-grid{grid-template-columns:1fr;}}
.pb-apron-cell strong{display:block;color:#FFF8EE;letter-spacing:0.06em;margin-bottom:5px;}
.pb-apron-cell span{font-size:0.98rem;color:#D8C9BB;}
.pb-apron-cell a{color:#F4EDDF;}
.pb-apron-cell a:hover{color:#C79A3F;}
.pb-copy{margin-top:18px;text-align:center;color:#B6A496;}
.pb-copy a{color:#C79A3F;}
