/* =========================================================
   JGrandeur LLC — grand foyer theme
   Palette:
     RIDGEWOOD   #F0EEE2  pale marble foyer wall (body)
     GRAND       #32382F  strong reading text
     GILDED      #AC421F  gilded bronze accent
     BOUNTIFUL   #222822  deep wells and footer
     MARBLEPANEL #E4E4D6  panels and cards
     AURUMBRASS  #C86D36  sparing tertiary
     VEIN        #969890  vein chips only
   No rgba, no opacity decimals, no text gradients.
   ========================================================= */

:root {
  --ridgewood: #F0EEE2;
  --grand: #32382F;
  --gilded: #AC421F;
  --bountiful: #222822;
  --marblepanel: #E4E4D6;
  --aurum: #C86D36;
  --vein: #969890;
  --aspen: #F1D08A;
  --paper: #FBFAF2;
  --line: #CFCDBD;
  --line-deep: #B7B5A2;
  --grand-soft: #4C5347;
  --white: #FFFDF6;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-size: 16px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  background-color: #F0EEE2;
  color: #32382F;
  line-height: 1.7;
  overflow-x: hidden;
}

h1, h2, h3, h4 {
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  color: #32382F;
  line-height: 1.2;
  margin: 0 0 0.5em;
}

p {
  margin: 0 0 1.1em;
}

a {
  color: #AC421F;
  text-decoration: underline;
  text-underline-offset: 3px;
}

a:hover,
a:focus {
  color: #222822;
}

img {
  max-width: 100%;
}

/* =========================================================
   ARCH GARLAND NAV
   ========================================================= */

.archgarland {
  position: relative;
  padding: 0 20px 8px;
  background-color: #F0EEE2;
  border-bottom: 1px solid #CFCDBD;
}

.archgarland-inner {
  position: relative;
  max-width: 1180px;
  margin: 0 auto;
  height: 208px;
}

.archgarland-swag {
  position: absolute;
  top: 6px;
  width: 340px;
  height: 96px;
  border-top: 4px solid #E4E4D6;
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  border-left: 3px solid #E4E4D6;
  border-right: 3px solid #E4E4D6;
}

.archgarland-swag-left {
  left: 4%;
}

.archgarland-swag-mid {
  left: 50%;
  width: 380px;
  transform: translateX(-50%);
  height: 78px;
  border-top-width: 5px;
}

.archgarland-swag-right {
  right: 4%;
}

.archgarland-laurel {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #AC421F;
}

.archgarland-laurel-a { left: 8%; top: 24px; }
.archgarland-laurel-b { left: 22%; top: 44px; }
.archgarland-laurel-c { left: 36%; top: 58px; }
.archgarland-laurel-d { left: 50%; top: 62px; }
.archgarland-laurel-e { left: 64%; top: 58px; }
.archgarland-laurel-f { left: 78%; top: 44px; }
.archgarland-laurel-g { left: 92%; top: 24px; }

.archgarland-links {
  position: relative;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 18px;
  padding-top: 74px;
  margin: 0 auto;
  max-width: 1000px;
  list-style: none;
}

.archgarland-link {
  display: block;
  padding: 14px 20px;
  border-radius: 50%;
  background-color: #E4E4D6;
  border: 3px solid #CFCDBD;
  color: #32382F;
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  font-size: 15px;
  letter-spacing: 0.06em;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 6px 0 #B7B5A2;
  line-height: 1.15;
  width: 104px;
  height: 104px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.archgarland-link:hover,
.archgarland-link:focus {
  background-color: #FFFDF6;
  border-color: #AC421F;
  color: #AC421F;
  box-shadow: 0 6px 0 #AC421F;
}

.archgarland-link-b {
  width: 88px;
  height: 88px;
  font-size: 14px;
  margin-top: 18px;
}

.archgarland-link-c {
  width: 116px;
  height: 116px;
  font-size: 16px;
}

.archgarland-link-d {
  width: 92px;
  height: 92px;
  font-size: 14px;
  margin-top: 14px;
}

.archgarland-link-e {
  width: 80px;
  height: 80px;
  font-size: 13px;
  margin-top: 26px;
}

.archgarland-cartouche {
  position: absolute;
  left: 50%;
  top: 100px;
  transform: translateX(-50%);
  z-index: 5;
  display: inline-block;
  padding: 9px 26px 7px;
  background-color: #222822;
  border: 2px solid #AC421F;
  border-radius: 4px;
  color: #FFFDF6;
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  font-size: 17px;
  letter-spacing: 0.22em;
  text-decoration: none;
  white-space: nowrap;
}

.archgarland-cartouche:hover,
.archgarland-cartouche:focus {
  background-color: #AC421F;
  color: #FFFDF6;
}

.archgarland-cartouche-knot {
  display: block;
  font-size: 9px;
  letter-spacing: 0.32em;
  color: #F1D08A;
  margin-top: 2px;
  text-align: center;
}

.archgarland-toggle {
  display: none;
  margin: 0 auto 6px;
  padding: 9px 18px;
  background-color: #222822;
  color: #FFFDF6;
  border: 2px solid #AC421F;
  border-radius: 4px;
  font-family: Georgia, serif;
  font-size: 14px;
  letter-spacing: 0.12em;
  cursor: pointer;
}

/* =========================================================
   CHANDELIER HERO
   ========================================================= */

.chandelierhero {
  position: relative;
  padding: 26px 24px 0;
  background-color: #F0EEE2;
}

.chandelierhero-stage {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.chandelierhero-device {
  position: relative;
  width: 420px;
  height: 260px;
  margin: 0 auto 8px;
}

.chandelierhero-ceiling {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 10px;
  background-color: #222822;
  border-radius: 0 0 6px 6px;
}

.chandelierhero-chain {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 52px;
  background-color: #AC421F;
}

.chandelierhero-stem {
  position: absolute;
  top: 62px;
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 58px;
  background-color: #AC421F;
  border-radius: 6px;
}

.chandelierhero-tier1 {
  position: absolute;
  top: 116px;
  left: 50%;
  transform: translateX(-50%);
  width: 300px;
  height: 3px;
  background-color: #AC421F;
}

.chandelierhero-tier2 {
  position: absolute;
  top: 176px;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 3px;
  background-color: #AC421F;
}

.chandelierhero-arm {
  position: absolute;
  width: 3px;
  height: 40px;
  background-color: #AC421F;
}

.chandelierhero-arm-a { top: 79px; left: 50%; transform: translateX(-50%) rotate(0deg); height: 38px; }
.chandelierhero-arm-b { top: 116px; left: 50px; transform: rotate(24deg); height: 46px; }
.chandelierhero-arm-c { top: 116px; left: 242px; transform: rotate(-24deg); height: 46px; }
.chandelierhero-arm-d { top: 116px; left: 128px; transform: rotate(12deg); height: 34px; }
.chandelierhero-arm-e { top: 116px; left: 288px; transform: rotate(-12deg); height: 34px; }
.chandelierhero-arm-f { top: 176px; left: 96px; transform: rotate(18deg); height: 30px; }
.chandelierhero-arm-g { top: 176px; left: 320px; transform: rotate(-18deg); height: 30px; }

.chandelierhero-flame {
  position: absolute;
  width: 11px;
  height: 20px;
  background-color: #F1D08A;
  border-radius: 50% 50% 50% 50% / 62% 62% 38% 38%;
}

.chandelierhero-flame-a { top: 60px; left: 50%; transform: translateX(-50%); }
.chandelierhero-flame-b { top: 154px; left: 42px; }
.chandelierhero-flame-c { top: 154px; left: 362px; }
.chandelierhero-flame-d { top: 144px; left: 122px; }
.chandelierhero-flame-e { top: 144px; left: 278px; }
.chandelierhero-flame-f { top: 200px; left: 86px; }
.chandelierhero-flame-g { top: 200px; left: 322px; }

.chandelierhero-drop {
  position: absolute;
  width: 8px;
  height: 16px;
  background-color: #E4E4D6;
  border: 1px solid #B7B5A2;
  border-radius: 2px 2px 6px 6px;
}

.chandelierhero-drop-a { top: 200px; left: 118px; }
.chandelierhero-drop-b { top: 206px; left: 148px; }
.chandelierhero-drop-c { top: 200px; left: 178px; }
.chandelierhero-drop-d { top: 206px; left: 210px; }
.chandelierhero-drop-e { top: 200px; left: 242px; }
.chandelierhero-drop-f { top: 206px; left: 272px; }
.chandelierhero-drop-g { top: 232px; left: 150px; width: 7px; height: 13px; }
.chandelierhero-drop-h { top: 232px; left: 205px; width: 7px; height: 13px; }
.chandelierhero-drop-i { top: 232px; left: 258px; width: 7px; height: 13px; }

.chandelierhero-eyebrow {
  margin: 4px 0 10px;
  font-family: Georgia, serif;
  font-size: 12px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #AC421F;
  text-align: center;
}

.chandelierhero-headline {
  margin: 0;
  font-size: 52px;
  letter-spacing: 0.01em;
  text-align: center;
  color: #32382F;
  max-width: 900px;
}

.chandelierhero-headline span {
  display: block;
}

.chandelierhero-display {
  display: block;
  margin-top: 6px;
  font-size: 96px;
  letter-spacing: 0.16em;
  color: #AC421F;
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  text-transform: uppercase;
}

.chandelierhero-lede {
  max-width: 760px;
  margin: 22px auto 0;
  font-size: 18px;
  color: #32382F;
  text-align: center;
}

.chandelierhero-lede .chandelierhero-inline {
  font-family: Georgia, serif;
  white-space: nowrap;
}

.chandelierhero-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  max-width: 980px;
  margin: 24px auto 0;
  padding: 17px 26px;
  background-color: #AC421F;
  color: #FFFDF6;
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  font-size: 17px;
  letter-spacing: 0.1em;
  text-decoration: none;
}

.chandelierhero-cta:hover,
.chandelierhero-cta:focus {
  background-color: #222822;
  color: #F1D08A;
}

.chandelierhero-arrow {
  font-size: 22px;
  line-height: 1;
}

.chandelierhero-plinthline {
  display: flex;
  justify-content: center;
  gap: 0;
  margin: 30px auto 0;
  max-width: 1100px;
}

.chandelierhero-plinthline i {
  display: block;
  width: 120px;
  height: 10px;
  background-color: #E4E4D6;
  border-top: 2px solid #B7B5A2;
}

.chandelierhero-plinthline i:nth-child(2n) {
  width: 90px;
  background-color: #FBFAF2;
}

/* =========================================================
   INTRO PROSE
   ========================================================= */

.foyerlede {
  padding: 52px 24px 26px;
  background-color: #F0EEE2;
}

.foyerlede-inner {
  max-width: 940px;
  margin: 0 auto;
}

.foyerlede h2 {
  font-size: 34px;
  margin-bottom: 14px;
  border-left: 6px solid #AC421F;
  padding-left: 16px;
}

.foyerlede p {
  font-size: 17px;
  color: #32382F;
}

.foyerlede-twin {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  margin-top: 26px;
}

.foyerlede-twin > div {
  flex: 1 1 280px;
  background-color: #E4E4D6;
  border: 1px solid #B7B5A2;
  border-top: 5px solid #AC421F;
  padding: 22px 24px;
}

.foyerlede-twin h3 {
  font-size: 19px;
  margin-bottom: 8px;
}

.foyerlede-twin p {
  font-size: 15.5px;
  margin-bottom: 0;
}

/* =========================================================
   PLINTH ROWS
   ========================================================= */

.plinthrow {
  padding: 44px 24px 30px;
  background-color: #F0EEE2;
}

.plinthrow-head {
  max-width: 940px;
  margin: 0 auto 8px;
}

.plinthrow-head h2 {
  font-size: 34px;
  border-left: 6px solid #AC421F;
  padding-left: 16px;
}

.plinthrow-head p {
  font-size: 16px;
  color: #4C5347;
  margin-bottom: 0;
}

.plinthrow-run {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 12px;
  max-width: 1180px;
  margin: 44px auto 0;
  padding: 0 0 4px;
  border-bottom: 3px solid #B7B5A2;
  min-height: 430px;
}

.plinthrow-column {
  flex: 1 1 0;
  max-width: 178px;
  background-color: #E4E4D6;
  border: 1px solid #B7B5A2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.plinthrow-cap {
  height: 20px;
  background-color: #FBFAF2;
  border-bottom: 1px solid #B7B5A2;
  box-shadow: inset 0 -3px 0 #CFCDBD;
}

.plinthrow-shaft {
  padding: 14px 12px 16px;
  border-left: 1px solid #CFCDBD;
  border-right: 1px solid #CFCDBD;
  background-color: #E4E4D6;
  flex: 1 1 auto;
}

.plinthrow-num {
  display: inline-block;
  font-family: Georgia, serif;
  font-size: 11px;
  letter-spacing: 0.24em;
  color: #969890;
  background-color: #FBFAF2;
  border: 1px solid #CFCDBD;
  padding: 1px 7px;
  margin-bottom: 8px;
}

.plinthrow-shaft h3 {
  font-size: 16px;
  line-height: 1.25;
  margin-bottom: 6px;
}

.plinthrow-shaft h3 a {
  color: #32382F;
  text-decoration: none;
}

.plinthrow-shaft h3 a:hover,
.plinthrow-shaft h3 a:focus {
  color: #AC421F;
  text-decoration: underline;
}

.plinthrow-shaft p {
  font-size: 13.5px;
  line-height: 1.55;
  color: #4C5347;
  margin-bottom: 0;
}

.plinthrow-base {
  height: 22px;
  background-color: #FBFAF2;
  border-top: 1px solid #B7B5A2;
}

.plinthrow-column-tall { height: 400px; }
.plinthrow-column-midhigh { height: 366px; }
.plinthrow-column-short { height: 330px; }
.plinthrow-column-midlow { height: 348px; }
.plinthrow-column-soft { height: 316px; }
.plinthrow-column-low { height: 300px; }

.plinthrow-footnote {
  max-width: 940px;
  margin: 26px auto 0;
  font-size: 15px;
  color: #4C5347;
}

/* =========================================================
   CLOSING PROSE
   ========================================================= */

.foyerclose {
  padding: 34px 24px 54px;
  background-color: #F0EEE2;
}

.foyerclose-inner {
  max-width: 940px;
  margin: 0 auto;
  border-top: 2px solid #CFCDBD;
  padding-top: 26px;
}

.foyerclose-inner h2 {
  font-size: 30px;
}

.foyerclose-inner p {
  font-size: 16.5px;
}

.foyerclose-inner strong {
  color: #AC421F;
}

/* =========================================================
   VELVET ROPE FOOTER
   ========================================================= */

.velvetrope {
  position: relative;
  background-color: #222822;
  color: #F0EEE2;
  padding: 34px 24px 30px;
  margin-top: 0;
}

.velvetrope-rope {
  position: relative;
  max-width: 1100px;
  height: 10px;
  margin: 0 auto 30px;
  border-top: 3px solid #AC421F;
}

.velvetrope-post {
  position: absolute;
  top: -9px;
  width: 9px;
  height: 26px;
  background-color: #C86D36;
  border-radius: 3px;
  box-shadow: 0 0 0 3px #222822, 0 0 0 4px #C86D36;
}

.velvetrope-post-a { left: 4%; }
.velvetrope-post-b { left: 61%; }

.velvetrope-inner {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.velvetrope-brand {
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  font-size: 24px;
  letter-spacing: 0.2em;
  color: #F1D08A;
  margin-bottom: 10px;
}

.velvetrope-blurb {
  font-size: 15px;
  color: #E4E4D6;
  max-width: 640px;
  margin: 0 auto 22px;
}

.velvetrope-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

.velvetrope-links li {
  display: inline-flex;
  align-items: center;
}

.velvetrope-links li + li::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #969890;
  margin: 0 12px;
}

.velvetrope-links a {
  color: #F0EEE2;
  font-size: 15px;
  text-decoration: none;
  border-bottom: 1px solid #4C5347;
  padding-bottom: 1px;
}

.velvetrope-links a:hover,
.velvetrope-links a:focus {
  color: #F1D08A;
  border-bottom-color: #F1D08A;
}

.velvetrope-contact {
  font-size: 14.5px;
  color: #E4E4D6;
  margin: 0 0 4px;
}

.velvetrope-contact a {
  color: #F1D08A;
}

.velvetrope-contact a:hover,
.velvetrope-contact a:focus {
  color: #FFFFFF;
}

.velvetrope-copy {
  margin: 20px 0 0;
  padding-top: 16px;
  border-top: 1px solid #4C5347;
  font-size: 13px;
  color: #CFCDBD;
  letter-spacing: 0.04em;
}

.velvetrope-star {
  color: #F1D08A;
  margin-right: 6px;
}

/* =========================================================
   SECONDARY PAGE SHELL (services / contact)
   ========================================================= */

.pageintro {
  padding: 44px 24px 18px;
  background-color: #F0EEE2;
}

.pageintro-inner {
  max-width: 940px;
  margin: 0 auto;
}

.pageintro-eyebrow {
  font-family: Georgia, serif;
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #AC421F;
  margin-bottom: 8px;
}

.pageintro h1 {
  font-size: 46px;
  margin-bottom: 12px;
}

.pageintro p {
  font-size: 17px;
}

.servicerows {
  padding: 20px 24px 40px;
  background-color: #F0EEE2;
}

.servicerows-inner {
  max-width: 940px;
  margin: 0 auto;
}

.servicerows-item {
  background-color: #E4E4D6;
  border: 1px solid #B7B5A2;
  border-left: 7px solid #AC421F;
  padding: 24px 26px;
  margin-bottom: 20px;
}

.servicerows-item h2 {
  font-size: 24px;
  margin-bottom: 8px;
}

.servicerows-item p {
  font-size: 16px;
  margin-bottom: 0.9em;
}

.servicerows-item p:last-child {
  margin-bottom: 0;
}

.servicerows-tag {
  display: inline-block;
  font-family: Georgia, serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  color: #969890;
  background-color: #FBFAF2;
  border: 1px solid #CFCDBD;
  padding: 1px 8px;
  margin-bottom: 9px;
}

.processrun {
  padding: 12px 24px 40px;
  background-color: #F0EEE2;
}

.processrun-inner {
  max-width: 940px;
  margin: 0 auto;
}

.processrun h2 {
  font-size: 34px;
  border-left: 6px solid #AC421F;
  padding-left: 16px;
  margin-bottom: 18px;
}

.processrun-step {
  display: flex;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid #CFCDBD;
}

.processrun-step:last-of-type {
  border-bottom: none;
}

.processrun-mark {
  flex: 0 0 54px;
  height: 54px;
  border-radius: 50%;
  background-color: #222822;
  color: #F1D08A;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Georgia, serif;
  font-size: 18px;
  letter-spacing: 0.04em;
}

.processrun-body h3 {
  font-size: 19px;
  margin-bottom: 4px;
}

.processrun-body p {
  font-size: 15.5px;
  margin-bottom: 0;
  color: #4C5347;
}

.pagecta {
  padding: 0 24px 46px;
  background-color: #F0EEE2;
}

.pagecta-inner {
  max-width: 940px;
  margin: 0 auto;
  background-color: #222822;
  color: #F0EEE2;
  padding: 28px 30px;
  border-top: 5px solid #AC421F;
}

.pagecta-inner h2 {
  color: #F1D08A;
  font-size: 26px;
  margin-bottom: 8px;
}

.pagecta-inner p {
  color: #E4E4D6;
  font-size: 16px;
}

.pagecta-inner a.pagecta-link {
  color: #F1D08A;
  font-size: 16px;
}

.pagecta-inner a.pagecta-link:hover,
.pagecta-inner a.pagecta-link:focus {
  color: #FFFFFF;
}

/* =========================================================
   CONTACT PAGE
   ========================================================= */

.contactgrid {
  padding: 18px 24px 40px;
  background-color: #F0EEE2;
}

.contactgrid-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  max-width: 1000px;
  margin: 0 auto;
  align-items: flex-start;
}

.contactgrid-formwrap {
  flex: 1 1 520px;
  background-color: #E4E4D6;
  border: 1px solid #B7B5A2;
  border-top: 6px solid #AC421F;
  padding: 26px 26px 28px;
}

.contactgrid-formwrap h2 {
  font-size: 24px;
  margin-bottom: 6px;
}

.contactgrid-formwrap p {
  font-size: 15px;
  color: #4C5347;
}

.contactgrid-form label {
  display: block;
  font-family: Georgia, serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #32382F;
  margin: 14px 0 5px;
}

.contactgrid-form input,
.contactgrid-form textarea {
  width: 100%;
  padding: 10px 12px;
  font-family: Georgia, serif;
  font-size: 15px;
  color: #32382F;
  background-color: #FBFAF2;
  border: 1px solid #B7B5A2;
  border-radius: 0;
}

.contactgrid-form input:focus,
.contactgrid-form textarea:focus {
  outline: 2px solid #AC421F;
  outline-offset: 1px;
}

.contactgrid-form textarea {
  min-height: 140px;
  resize: vertical;
}

.contactgrid-submit {
  margin-top: 18px;
  padding: 13px 24px;
  background-color: #AC421F;
  color: #FFFDF6;
  border: 2px solid #AC421F;
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  font-size: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
}

.contactgrid-submit:hover,
.contactgrid-submit:focus {
  background-color: #222822;
  border-color: #222822;
  color: #F1D08A;
}

.contactgrid-note {
  margin-top: 12px;
  font-size: 13.5px;
  color: #4C5347;
}

.contactgrid-aside {
  flex: 1 1 300px;
  background-color: #222822;
  color: #F0EEE2;
  padding: 26px 26px 24px;
  border-top: 6px solid #C86D36;
}

.contactgrid-aside h2 {
  color: #F1D08A;
  font-size: 22px;
  margin-bottom: 12px;
}

.contactgrid-aside p {
  color: #E4E4D6;
  font-size: 15px;
}

.contactgrid-aside a {
  color: #F1D08A;
}

.contactgrid-aside a:hover,
.contactgrid-aside a:focus {
  color: #FFFFFF;
}

.contactgrid-list {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
}

.contactgrid-list li {
  padding: 8px 0 8px 14px;
  border-left: 3px solid #AC421F;
  margin-bottom: 8px;
  font-size: 14.5px;
  color: #E4E4D6;
}

.contactgrid-list b {
  display: block;
  font-family: Georgia, serif;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #969890;
  font-weight: normal;
  margin-bottom: 2px;
}

.contactfaq {
  padding: 10px 24px 44px;
  background-color: #F0EEE2;
}

.contactfaq-inner {
  max-width: 940px;
  margin: 0 auto;
}

.contactfaq h2 {
  font-size: 30px;
  border-left: 6px solid #AC421F;
  padding-left: 16px;
  margin-bottom: 16px;
}

.contactfaq-item {
  border-bottom: 1px solid #CFCDBD;
  padding: 4px 0;
}

.contactfaq-toggle {
  width: 100%;
  text-align: left;
  background-color: #E4E4D6;
  border: 1px solid #B7B5A2;
  border-left: 5px solid #AC421F;
  color: #32382F;
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  font-size: 17px;
  padding: 13px 16px;
  margin: 12px 0 0;
  cursor: pointer;
}

.contactfaq-toggle:hover,
.contactfaq-toggle:focus {
  background-color: #FBFAF2;
}

.contactfaq-panel {
  display: none;
  padding: 12px 18px 10px;
  font-size: 15.5px;
  color: #32382F;
  background-color: #FBFAF2;
  border: 1px solid #CFCDBD;
  border-top: none;
}

.contactfaq-panel.is-open {
  display: block;
}

.contactfaq-panel p {
  margin-bottom: 0;
}

.formstatus-run {
  margin-top: 12px;
  font-size: 14px;
  color: #AC421F;
}

/* =========================================================
   SCROLL REVEAL
   ========================================================= */

.reveal {
  transition: transform 550ms ease-out, opacity 550ms ease-out;
}

.reveal:not(.is-in) {
  opacity: 0;
  transform: translateY(18px);
}

.reveal.is-in {
  opacity: 1;
  transform: none;
}

.no-js .reveal {
  opacity: 1;
  transform: none;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 980px) {
  .archgarland-inner {
    height: 190px;
  }
  .archgarland-swag { width: 260px; }
  .archgarland-swag-mid { width: 300px; }
  .chandelierhero-headline { font-size: 40px; }
  .chandelierhero-display { font-size: 72px; }
  .plinthrow-run {
    flex-wrap: wrap;
    align-items: flex-end;
    min-height: 0;
  }
  .plinthrow-column {
    flex: 1 1 30%;
    max-width: none;
    height: auto !important;
  }
  .plinthrow-shaft { min-height: 190px; }
}

@media (max-width: 760px) {
  .archgarland {
    padding-top: 6px;
  }
  .archgarland-inner {
    height: auto;
    padding-bottom: 32px;
  }
  .archgarland-swag,
  .archgarland-laurel {
    display: none;
  }
  .archgarland-toggle {
    display: block;
  }
  .archgarland-links {
    display: none;
    padding-top: 10px;
    gap: 10px;
  }
  .archgarland-links.is-open {
    display: flex;
  }
  .archgarland-link,
  .archgarland-link-b,
  .archgarland-link-c,
  .archgarland-link-d,
  .archgarland-link-e {
    width: auto;
    height: auto;
    min-width: 128px;
    padding: 10px 16px;
    border-radius: 26px;
    margin-top: 0;
  }
  .archgarland-cartouche {
    position: static;
    transform: none;
    display: block;
    width: max-content;
    margin: 0 auto 10px;
  }
  .chandelierhero { padding-top: 16px; }
  .chandelierhero-device {
    transform: scale(0.76);
    margin-bottom: -20px;
  }
  .chandelierhero-headline { font-size: 31px; }
  .chandelierhero-display {
    font-size: 48px;
    letter-spacing: 0.1em;
  }
  .chandelierhero-lede { font-size: 16px; }
  .chandelierhero-cta {
    font-size: 14px;
    padding: 14px 18px;
    letter-spacing: 0.06em;
  }
  .foyerlede h2,
  .plinthrow-head h2,
  .processrun h2 { font-size: 27px; }
  .pageintro h1 { font-size: 34px; }
  .plinthrow-column {
    flex: 1 1 46%;
  }
}

@media (max-width: 480px) {
  .chandelierhero-headline { font-size: 26px; }
  .chandelierhero-display { font-size: 38px; }
  .velvetrope-links li + li::before { margin: 0 7px; }
  .plinthrow-column { flex: 1 1 100%; }
  .servicerows-item { padding: 18px 18px; }
}
