:root {
  --time: 0.3s;
  --bgc: #ff7e14;
  --ftc: #ff7e14;
  --color: var(--ftc);
  --btn: var(--p40);
  --btn_size: var(--ft14);
  --btn_color: var(--ftc);
  --main: 1400px;
  --radius: 0;
  --shadow: 0 10px 30px rgba(0, 0, 0, 0.08);

  --ft0: 0;
  --ft1: 1px;
  --ft2: 2px;
  --ft3: 3px;
  --ft4: 4px;
  --ft5: 5px;
  --ft6: 6px;
  --ft7: 7px;
  --ft8: 8px;
  --ft9: 9px;
  --ft10: 10px;
  --ft11: 11px;
  --ft12: 12px;
  --ft13: 13px;
  --ft14: 14px;
  --ft15: 15px;
  --ft16: 16px;
  --ft17: 17px;
  --ft18: 18px;
  --ft19: 19px;
  --ft20: 20px;
  --ft21: 21px;
  --ft22: 22px;
  --ft23: 23px;
  --ft24: 24px;
  --ft25: 25px;
  --ft26: 26px;
  --ft27: 27px;
  --ft28: 28px;
  --ft29: 29px;
  --ft30: 30px;
  --ft31: 31px;
  --ft32: 32px;
  --ft33: 33px;
  --ft34: 34px;
  --ft35: 35px;
  --ft36: 36px;
  --ft37: 37px;
  --ft38: 38px;
  --ft39: 39px;
  --ft40: 40px;
  --ft41: 41px;
  --ft42: 42px;
  --ft43: 43px;
  --ft44: 44px;
  --ft45: 45px;
  --ft46: 46px;
  --ft47: 47px;
  --ft48: 48px;
  --ft49: 49px;
  --ft50: 50px;
  --ft51: 51px;
  --ft52: 52px;
  --ft53: 53px;
  --ft54: 54px;
  --ft55: 55px;
  --ft56: 56px;
  --ft57: 57px;
  --ft58: 58px;
  --ft59: 59px;
  --ft60: 60px;
  --ft61: 61px;
  --ft62: 62px;
  --ft63: 63px;
  --ft64: 64px;
  --ft65: 65px;
  --ft66: 66px;
  --ft67: 67px;
  --ft68: 68px;
  --ft69: 69px;
  --ft70: 70px;
  --ft71: 71px;
  --ft72: 72px;
  --ft73: 73px;
  --ft74: 74px;
  --ft75: 75px;
  --ft76: 76px;
  --ft77: 77px;
  --ft78: 78px;
  --ft79: 79px;
  --ft80: 80px;
  --ft81: 81px;
  --ft82: 82px;
  --ft83: 83px;
  --ft84: 84px;
  --ft85: 85px;
  --ft86: 86px;
  --ft87: 87px;
  --ft88: 88px;
  --ft89: 89px;
  --ft90: 90px;
  --ft91: 91px;
  --ft92: 92px;
  --ft93: 93px;
  --ft94: 94px;
  --ft95: 95px;
  --ft96: 96px;
  --ft97: 97px;
  --ft98: 98px;
  --ft99: 99px;
  --ft100: 100px;
  --ft101: 101px;
  --ft102: 102px;
  --ft103: 103px;
  --ft104: 104px;
  --ft105: 105px;
  --ft106: 106px;
  --ft107: 107px;
  --ft108: 108px;
  --ft109: 109px;
  --ft110: 110px;
  --ft111: 111px;
  --ft112: 112px;
  --ft113: 113px;
  --ft114: 114px;
  --ft115: 115px;
  --ft116: 116px;
  --ft117: 117px;
  --ft118: 118px;
  --ft119: 119px;
  --ft120: 120px;
  --ft121: 121px;
  --ft122: 122px;
  --ft123: 123px;
  --ft124: 124px;
  --ft125: 125px;
  --ft126: 126px;
  --ft127: 127px;
  --ft128: 128px;
  --ft129: 129px;
  --ft130: 130px;
  --ft131: 131px;
  --ft132: 132px;
  --ft133: 133px;
  --ft134: 134px;
  --ft135: 135px;
  --ft136: 136px;
  --ft137: 137px;
  --ft138: 138px;
  --ft139: 139px;
  --ft140: 140px;
  --ft141: 141px;
  --ft142: 142px;
  --ft143: 143px;
  --ft144: 144px;
  --ft145: 145px;
  --ft146: 146px;
  --ft147: 147px;
  --ft148: 148px;
  --ft149: 149px;
  --ft150: 150px;
  --ft151: 151px;
  --ft152: 152px;
  --ft153: 153px;
  --ft154: 154px;
  --ft155: 155px;
  --ft156: 156px;
  --ft157: 157px;
  --ft158: 158px;
  --ft159: 159px;
  --ft160: 160px;
  --ft161: 161px;
  --ft162: 162px;
  --ft163: 163px;
  --ft164: 164px;
  --ft165: 165px;
  --ft166: 166px;
  --ft167: 167px;
  --ft168: 168px;
  --ft169: 169px;
  --ft170: 170px;
  --ft171: 171px;
  --ft172: 172px;
  --ft173: 173px;
  --ft174: 174px;
  --ft175: 175px;
  --ft176: 176px;
  --ft177: 177px;
  --ft178: 178px;
  --ft179: 179px;
  --ft180: 180px;
  --ft181: 181px;
  --ft182: 182px;
  --ft183: 183px;
  --ft184: 184px;
  --ft185: 185px;
  --ft186: 186px;
  --ft187: 187px;
  --ft188: 188px;
  --ft189: 189px;
  --ft190: 190px;
  --ft191: 191px;
  --ft192: 192px;
  --ft193: 193px;
  --ft194: 194px;
  --ft195: 195px;
  --ft196: 196px;
  --ft197: 197px;
  --ft198: 198px;
  --ft199: 199px;
  --ft200: 200px;

  --p0: 0;
  --p1: 1px;
  --p2: 2px;
  --p3: 3px;
  --p4: 4px;
  --p5: 5px;
  --p6: 6px;
  --p7: 7px;
  --p8: 8px;
  --p9: 9px;
  --p10: 10px;
  --p11: 11px;
  --p12: 12px;
  --p13: 13px;
  --p14: 14px;
  --p15: 15px;
  --p16: 16px;
  --p17: 17px;
  --p18: 18px;
  --p19: 19px;
  --p20: 20px;
  --p21: 21px;
  --p22: 22px;
  --p23: 23px;
  --p24: 24px;
  --p25: 25px;
  --p26: 26px;
  --p27: 27px;
  --p28: 28px;
  --p29: 29px;
  --p30: 30px;
  --p31: 31px;
  --p32: 32px;
  --p33: 33px;
  --p34: 34px;
  --p35: 35px;
  --p36: 36px;
  --p37: 37px;
  --p38: 38px;
  --p39: 39px;
  --p40: 40px;
  --p41: 41px;
  --p42: 42px;
  --p43: 43px;
  --p44: 44px;
  --p45: 45px;
  --p46: 46px;
  --p47: 47px;
  --p48: 48px;
  --p49: 49px;
  --p50: 50px;
  --p51: 51px;
  --p52: 52px;
  --p53: 53px;
  --p54: 54px;
  --p55: 55px;
  --p56: 56px;
  --p57: 57px;
  --p58: 58px;
  --p59: 59px;
  --p60: 60px;
  --p61: 61px;
  --p62: 62px;
  --p63: 63px;
  --p64: 64px;
  --p65: 65px;
  --p66: 66px;
  --p67: 67px;
  --p68: 68px;
  --p69: 69px;
  --p70: 70px;
  --p71: 71px;
  --p72: 72px;
  --p73: 73px;
  --p74: 74px;
  --p75: 75px;
  --p76: 76px;
  --p77: 77px;
  --p78: 78px;
  --p79: 79px;
  --p80: 80px;
  --p81: 81px;
  --p82: 82px;
  --p83: 83px;
  --p84: 84px;
  --p85: 85px;
  --p86: 86px;
  --p87: 87px;
  --p88: 88px;
  --p89: 89px;
  --p90: 90px;
  --p91: 91px;
  --p92: 92px;
  --p93: 93px;
  --p94: 94px;
  --p95: 95px;
  --p96: 96px;
  --p97: 97px;
  --p98: 98px;
  --p99: 99px;
  --p100: 100px;
  --p101: 101px;
  --p102: 102px;
  --p103: 103px;
  --p104: 104px;
  --p105: 105px;
  --p106: 106px;
  --p107: 107px;
  --p108: 108px;
  --p109: 109px;
  --p110: 110px;
  --p111: 111px;
  --p112: 112px;
  --p113: 113px;
  --p114: 114px;
  --p115: 115px;
  --p116: 116px;
  --p117: 117px;
  --p118: 118px;
  --p119: 119px;
  --p120: 120px;
  --p121: 121px;
  --p122: 122px;
  --p123: 123px;
  --p124: 124px;
  --p125: 125px;
  --p126: 126px;
  --p127: 127px;
  --p128: 128px;
  --p129: 129px;
  --p130: 130px;
  --p131: 131px;
  --p132: 132px;
  --p133: 133px;
  --p134: 134px;
  --p135: 135px;
  --p136: 136px;
  --p137: 137px;
  --p138: 138px;
  --p139: 139px;
  --p140: 140px;
  --p141: 141px;
  --p142: 142px;
  --p143: 143px;
  --p144: 144px;
  --p145: 145px;
  --p146: 146px;
  --p147: 147px;
  --p148: 148px;
  --p149: 149px;
  --p150: 150px;
  --p151: 151px;
  --p152: 152px;
  --p153: 153px;
  --p154: 154px;
  --p155: 155px;
  --p156: 156px;
  --p157: 157px;
  --p158: 158px;
  --p159: 159px;
  --p160: 160px;
  --p161: 161px;
  --p162: 162px;
  --p163: 163px;
  --p164: 164px;
  --p165: 165px;
  --p166: 166px;
  --p167: 167px;
  --p168: 168px;
  --p169: 169px;
  --p170: 170px;
  --p171: 171px;
  --p172: 172px;
  --p173: 173px;
  --p174: 174px;
  --p175: 175px;
  --p176: 176px;
  --p177: 177px;
  --p178: 178px;
  --p179: 179px;
  --p180: 180px;
  --p181: 181px;
  --p182: 182px;
  --p183: 183px;
  --p184: 184px;
  --p185: 185px;
  --p186: 186px;
  --p187: 187px;
  --p188: 188px;
  --p189: 189px;
  --p190: 190px;
  --p191: 191px;
  --p192: 192px;
  --p193: 193px;
  --p194: 194px;
  --p195: 195px;
  --p196: 196px;
  --p197: 197px;
  --p198: 198px;
  --p199: 199px;
  --p200: 200px;
}
* {
  box-sizing: border-box;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  word-break: break-word;
  word-wrap: break-word;
}

html {
  scroll-behavior: smooth;
}

body {
  width: 100%;
  margin: 0;
  overflow-x: hidden;
  color: #000;
  font-family: sans-serif;
  font-size: var(--ft16);
  line-height: 1.5;
}

ul,
ol {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dd,
dt,
form,
figure {
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
  transition:
    color var(--time),
    background-color var(--time),
    border-color var(--time),
    opacity var(--time),
    transform var(--time),
    box-shadow var(--time);
}

img,
svg,
video {
  display: block;
  max-width: 100%;
}

button,
input,
textarea,
select {
  border: 0;
  outline: none;
  background: transparent;
  color: inherit;
  font: inherit;
}

button {
  cursor: pointer;
}

main,
section {
  width: 100%;
}

section {
  padding: var(--p80) 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

main {
  flex: 1;
}

.main {
  width: var(--main);
  max-width: 90%;
  margin-right: auto;
  margin-left: auto;
}

.main1 {
  width: calc(((100% - var(--main)) / 2) + var(--main));
  max-width: 90%;
  margin-right: 0;
  margin-left: auto;
}

.main2 {
  width: calc(((100% - var(--main)) / 2) + var(--main));
  max-width: 90%;
  margin-right: auto;
  margin-left: 0;
}

.d-flex {
  display: flex;
}

.d-grid {
  display: grid;
}

.flex-column {
  flex-direction: column;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-column-center {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.al-c {
  align-items: center;
}

.al-b {
  align-items: baseline;
}

.al-fs {
  align-items: flex-start;
}

.al-fe {
  align-items: flex-end;
}

.al-s {
  align-items: stretch;
}

.jc-c {
  justify-content: center;
}

.jc-s {
  justify-content: space-between;
}

.jc-sa {
  justify-content: space-around;
}

.jc-se {
  justify-content: space-evenly;
}

.jc-fs {
  justify-content: flex-start;
}

.jc-fe {
  justify-content: flex-end;
}

.grid1 {
  grid-template-columns: repeat(1, 1fr);
}

.grid2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid4 {
  grid-template-columns: repeat(4, 1fr);
}

.grid5 {
  grid-template-columns: repeat(5, 1fr);
}

.grid6 {
  grid-template-columns: repeat(6, 1fr);
}

.grid-row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}

.grid-row > * {
  grid-column: span 12;
}

.grid-row .pc1 {
  grid-column: span 1;
}

.grid-row .pc2 {
  grid-column: span 2;
}

.grid-row .pc3 {
  grid-column: span 3;
}

.grid-row .pc4 {
  grid-column: span 4;
}

.grid-row .pc5 {
  grid-column: span 5;
}

.grid-row .pc6 {
  grid-column: span 6;
}

.grid-row .pc7 {
  grid-column: span 7;
}

.grid-row .pc8 {
  grid-column: span 8;
}

.grid-row .pc9 {
  grid-column: span 9;
}

.grid-row .pc10 {
  grid-column: span 10;
}

.grid-row .pc11 {
  grid-column: span 11;
}

.grid-row .pc12 {
  grid-column: span 12;
}

.bgc {
  background: var(--bgc);
}

.ftc {
  color: var(--ftc);
}

.label {
  white-space: nowrap;
}

.must::before {
  display: inline-block;
  content: "*";
}

.bg_img,
.bg_fixed {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.bg_fixed {
  background-attachment: fixed;
}

.img_box {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
}

.img_box img {
  max-width: 100%;
  max-height: 100%;
}

.img_box1 {
  max-width: 100%;
  overflow: hidden;
}

.img_box1 img {
  max-width: 100%;
}

.img_100 {
  display: flex;
  overflow: hidden;
}

.img_100 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video video {
  width: 100%;
  height: 100%;
  background: #000;
}

.line-clamp1,
.line-clamp2,
.line-clamp3,
.line-clamp4,
.line-clamp5 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}

.line-clamp1 {
  -webkit-line-clamp: 1;
  line-clamp: 1;
}

.line-clamp2 {
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.line-clamp3 {
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.line-clamp4 {
  -webkit-line-clamp: 4;
  line-clamp: 4;
}

.line-clamp5 {
  -webkit-line-clamp: 5;
  line-clamp: 5;
}

.s_content {
  line-height: 1.8;
}

.s_content * {
  word-break: break-word;
}

.s_content li {
  list-style: inherit;
}

.s_content .list-paddingleft-2 {
  padding-left: 1em;
}

.s_content img,
.s_content video {
  display: inline-block;
  max-width: 100%;
  height: auto !important;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  max-width: 100%;
  min-height: var(--btn);
  padding: 0 var(--p30);
  gap: var(--p8);
  border: 1px solid var(--btn_color);
  background: var(--btn_color);
  color: #fff;
  font-size: var(--btn_size);
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
  transition:
    color var(--time),
    background-color var(--time),
    border-color var(--time),
    opacity var(--time),
    transform var(--time),
    box-shadow var(--time);
}

.btn:hover {
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}

.pagenum {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--p10);
  margin-top: var(--p70);
}

.pagenum .pagination {
  display: flex;
  justify-content: center;
  gap: var(--p10);
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}

.pagenum input,
.pagenum button,
.pagenum a,
.pagenum span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5em;
  height: 2.5em;
  padding: 2px 5px;
  background: #f8f8f8;
  color: #000;
  line-height: 1.6;
  text-align: center;
}

.pagenum .page-number.active,
.pagenum a.active,
.pagenum span.active {
  background: var(--ftc);
  color: #fff;
}

.dh_box {
  position: relative;
  bottom: 0;
  transition:
    transform var(--time),
    box-shadow var(--time);
}

.dh_box:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow);
}

.dh_img,
.dh_img1 {
  overflow: hidden;
}

.dh_img img,
.dh_img1 img {
  transition: transform 0.5s ease;
}

.dh_img1 img {
  transform: scale(1.08);
}

.dh_img1:hover img {
  transform: scale(1);
}

.dh_img:hover img,
.dh_imgitem:hover img.dh {
  transform: scale(1.05);
}

.dh_text,
.dh_textItem.text {
  background-image: linear-gradient(
    rgba(255, 255, 255, 0.5),
    rgba(255, 255, 255, 0.5)
  );
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 40%;
  transition: background-size 0.35s ease;
}

.dh_text:hover {
  background-size: 100% 100%;
}

.dh_textItem.text:hover {
  background-size: 100% 40%;
}

.dh_item {
  position: relative;
  transition: transform var(--time);
}

.dh_item:hover {
  transform: translateY(-10px);
}

::-webkit-scrollbar {
  width: 8px;
  height: 10px;
}

::-webkit-scrollbar-track-piece {
  background-color: transparent;
}

::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-color: #ddd;
  cursor: pointer;
}

::-webkit-scrollbar-thumb:hover {
  background-color: var(--ftc);
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  :root {
    --main: 92%;
    --btn: 40px;
    --btn_size: var(--ft14);
    --ft30: 26px;
    --ft32: 28px;
    --ft36: 30px;
    --ft40: 34px;
    --ft48: 40px;
    --ft56: 46px;
    --ft64: 52px;
    --ft72: 58px;
    --ft80: 64px;
    --p60: 50px;
    --p70: 55px;
    --p80: 60px;
    --p100: 80px;
  }

  .main,
  .main1,
  .main2 {
    width: 100%;
    max-width: 92%;
    margin-right: auto;
    margin-left: auto;
  }

  .grid-row .tb1 {
    grid-column: span 1;
  }

  .grid-row .tb2 {
    grid-column: span 2;
  }

  .grid-row .tb3 {
    grid-column: span 3;
  }

  .grid-row .tb4 {
    grid-column: span 4;
  }

  .grid-row .tb5 {
    grid-column: span 5;
  }

  .grid-row .tb6 {
    grid-column: span 6;
  }

  .grid-row .tb7 {
    grid-column: span 7;
  }

  .grid-row .tb8 {
    grid-column: span 8;
  }

  .grid-row .tb9 {
    grid-column: span 9;
  }

  .grid-row .tb10 {
    grid-column: span 10;
  }

  .grid-row .tb11 {
    grid-column: span 11;
  }

  .grid-row .tb12 {
    grid-column: span 12;
  }
}

@media only screen and (max-width: 767px) {
  :root {
    --main: 92%;
    --btn: 38px;
    --btn_size: var(--ft14);
    --ft16: 14px;
    --ft18: 15px;
    --ft20: 16px;
    --ft22: 18px;
    --ft24: 20px;
    --ft26: 22px;
    --ft28: 24px;
    --ft30: 25px;
    --ft32: 26px;
    --ft36: 28px;
    --ft40: 30px;
    --ft48: 34px;
    --ft56: 38px;
    --ft64: 42px;
    --ft72: 46px;
    --ft80: 50px;
    --p30: 20px;
    --p36: 24px;
    --p40: 28px;
    --p48: 32px;
    --p50: 34px;
    --p60: 40px;
    --p70: 44px;
    --p80: 48px;
    --p100: 60px;
  }

  section {
    padding: var(--p60) 0;
  }

  .main,
  .main1,
  .main2 {
    width: 100%;
    max-width: 92%;
    margin-right: auto;
    margin-left: auto;
  }

  .grid-row .mb1 {
    grid-column: span 1;
  }

  .grid-row .mb2 {
    grid-column: span 2;
  }

  .grid-row .mb3 {
    grid-column: span 3;
  }

  .grid-row .mb4 {
    grid-column: span 4;
  }

  .grid-row .mb5 {
    grid-column: span 5;
  }

  .grid-row .mb6 {
    grid-column: span 6;
  }

  .grid-row .mb7 {
    grid-column: span 7;
  }

  .grid-row .mb8 {
    grid-column: span 8;
  }

  .grid-row .mb9 {
    grid-column: span 9;
  }

  .grid-row .mb10 {
    grid-column: span 10;
  }

  .grid-row .mb11 {
    grid-column: span 11;
  }

  .grid-row .mb12 {
    grid-column: span 12;
  }
}


:root {
  --ink: #20242b;
  --muted: #7d8188;
  --paper: #fff;
  --mist: #f6f7f8;
  --line: #e4e5e7;
  --gold: #d2ad28;
  --charcoal: #171717;
  --main: 1320px;
  --ft12: 12px;
  --ft13: 13px;
  --ft14: 14px;
  --ft16: 16px;
  --ft18: 18px;
  --ft20: 20px;
  --ft22: 22px;
  --ft24: 24px;
  --ft28: 28px;
  --ft32: 32px;
  --ft36: 36px;
  --ft44: 44px;
  --ft56: 56px;
  --p6: 6px;
  --p8: 8px;
  --p10: 10px;
  --p12: 12px;
  --p16: 16px;
  --p20: 20px;
  --p24: 24px;
  --p28: 28px;
  --p32: 32px;
  --p40: 40px;
  --p48: 48px;
  --p56: 56px;
  --p64: 64px;
  --p72: 72px;
  --p80: 80px;
  --p96: 96px;
  --p112: 112px;
  --p210: 210px;
  --p220: 220px;
  --p250: 250px;
  --p440: 440px;
  --p450: 450px;
  --p500: 500px;
  --p660: 660px;
  --p720: 720px;
  --p880: 880px;
  --p900: 900px;
  --p960: 960px;
  --p1120: 1120px;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, sans-serif;
}
.site {
  min-width: 0;
}
.SiteHeader {
  position: relative;
  z-index: 2;
  height: 0;
  color: #fff;
}
.SiteHeader .headerInner {
  width: var(--main);
  max-width: 90%;
  margin: 0 auto;
  padding-top: var(--p24);
  text-align: center;
}
.SiteHeader .brand {
  display: inline-flex;
  width: var(--p210);
  height: var(--p72);
  align-items: center;
  justify-content: center;
  overflow: hidden;
  filter: invert(1) brightness(4);
}
.SiteHeader .brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.SiteHeader .navList {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--p36);
  margin-top: var(--p6);
}
.SiteHeader .navList > a {
  font-size: var(--ft13);
  font-weight: 500;
  white-space: nowrap;
}
.SiteHeader .navList > a.active,
.SiteHeader .navList > a:hover {
  color: #fff;
  font-weight: 700;
}
.SiteHeader .productTrigger,
.SiteHeader .solutionTrigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 0;
  padding: 0 var(--p4);
}
.SiteHeader .productTrigger::before,
.SiteHeader .solutionTrigger::before {
  position: absolute;
  top: 100%;
  right: calc(var(--p16) * -1);
  left: calc(var(--p16) * -1);
  height: var(--p24);
  content: "";
}
.SiteHeader .productTrigger::after,
.SiteHeader .solutionTrigger::after {
  position: absolute;
  bottom: calc(var(--p10) * -1);
  left: 50%;
  width: 0;
  height: 2px;
  background: currentColor;
  content: "";
  transform: translateX(-50%);
  transition: width 0.28s ease;
}
.SiteHeader .productTrigger:hover::after,
.SiteHeader .productTrigger:focus::after,
.SiteHeader .productTrigger.active::after,
.SiteHeader .solutionTrigger:hover::after,
.SiteHeader .solutionTrigger:focus::after,
.SiteHeader .solutionTrigger.active::after {
  width: var(--p28);
}
.SiteHeader .productMenu,
.SiteHeader .solutionMenu {
  position: absolute;
  top: calc(100% + var(--p12));
  left: 50%;
  z-index: 5;
  width: var(--p250);
  padding: var(--p12) var(--p16);
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: var(--p6);
  background: rgba(255, 255, 255, 0.84);
  color: #2d333a;
  font-size: var(--ft12);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.9;
  text-align: left;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.16);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, var(--p8));
  transition:
    opacity 0.24s ease,
    transform 0.24s ease,
    visibility 0.24s ease;
  backdrop-filter: blur(14px);
  visibility: hidden;
}
.SiteHeader .solutionMenu {
  width: var(--p220);
}
.SiteHeader .productMenu::before,
.SiteHeader .solutionMenu::before {
  position: absolute;
  top: calc(var(--p8) * -1);
  left: 50%;
  width: var(--p14);
  height: var(--p14);
  border-top: 1px solid rgba(255, 255, 255, 0.58);
  border-left: 1px solid rgba(255, 255, 255, 0.58);
  background: transparent;
  content: "";
  transform: translateX(-50%) rotate(45deg);
}
.SiteHeader .productTrigger:hover .productMenu,
.SiteHeader .productTrigger:focus .productMenu,
.SiteHeader .productTrigger:focus-within .productMenu,
.SiteHeader .solutionTrigger:hover .solutionMenu,
.SiteHeader .solutionTrigger:focus .solutionMenu,
.SiteHeader .solutionTrigger:focus-within .solutionMenu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
  visibility: visible;
}
.SiteHeader .productTrigger.active,
.SiteHeader .solutionTrigger.active {
  color: #fff;
  font-weight: 700;
}
.PageHero {
  position: relative;
  display: flex;
  min-height: var(--p660);
  padding: var(--p180) 0 var(--p72);
  align-items: center;
  justify-content: center;
  background-image: linear-gradient(rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0.32)),
    url("../images/2d286ced4efa9b7d175c0c0d70e4e9ff77ff247f");
  background-position: center;
  background-size: cover;
  color: #fff;
  text-align: center;
}
.PageHero .heroBody {
  position: relative;
  max-width: var(--p900);
  margin-top: var(--p56);
}
.PageHero .heroBody {
  animation: heroRise 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
main > section:not(.PageHero) {
  animation: sectionRise 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}
main > section:nth-of-type(2) {
  animation-delay: 0.04s;
}
main > section:nth-of-type(3) {
  animation-delay: 0.1s;
}
main > section:nth-of-type(4) {
  animation-delay: 0.16s;
}
main > section:nth-of-type(5) {
  animation-delay: 0.22s;
}
main > section:nth-of-type(6) {
  animation-delay: 0.28s;
}
main > section:nth-of-type(7) {
  animation-delay: 0.34s;
}
main > section:nth-of-type(8) {
  animation-delay: 0.4s;
}
.PageHero h1 {
  font-size: var(--ft40);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 4px;
}
.PageHero .subtitle {
  margin-top: var(--p32);
  font-size: var(--ft14);
  line-height: 1.55;
  letter-spacing: 4px;
}
.PageHero .heroActions {
  display: flex;
  justify-content: center;
  gap: var(--p16);
  margin-top: var(--p32);
}
.PageHero .btn {
  min-height: var(--p48);
  padding: 0 var(--p28);
  border-color: #fff;
  background: rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: var(--ft13);
}
.PageHero .btn.primary {
  background: #fff;
  color: var(--ink);
}
.Breadcrumb {
  padding: var(--p16) 0;
  color: #a4a6aa;
  font-size: var(--ft12);
}
.SectionHeading {
  margin-bottom: var(--p48);
  text-align: center;
}
.SectionHeading h2 {
  font-size: var(--ft32);
  line-height: 1.25;
}
.SectionHeading p {
  max-width: var(--p720);
  margin: var(--p12) auto 0;
  color: var(--muted);
  font-size: var(--ft14);
  line-height: 1.8;
}
.ProductGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--p28) var(--p16);
}
.ProductGrid .item {
  display: block;
  transition: transform 0.3s ease;
}
.ProductGrid .img_100 {
  aspect-ratio: 1 / 0.84;
  background: #eee;
}
.ProductGrid .title {
  margin-top: var(--p12);
  font-size: var(--ft16);
  font-weight: 600;
}
.ProductGrid .meta {
  display: flex;
  justify-content: space-between;
  margin-top: var(--p4);
  color: var(--muted);
  font-size: var(--ft12);
}
.ProductGrid .meta .icon,
.SolutionGrid .body .icon {
  display: inline-flex;
  width: var(--p18);
  height: var(--p18);
  flex: 0 0 var(--p18);
  align-items: center;
  justify-content: center;
}
.ProductGrid .meta .iconImg,
.SolutionGrid .body .iconImg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ProductGrid .item:hover .img_100 img {
  transform: scale(1.04);
}
.ProductGrid .img_100 img {
  transition: transform 0.35s ease;
}
.ProductGrid .item:hover {
  transform: translateY(-4px);
}
.CategoryStrip {
  padding: var(--p20) 0;
  background: #fafafa;
}
.CategoryStrip .categoryCarousel {
  display: grid;
  grid-template-columns: var(--p40) 1fr var(--p40);
  gap: var(--p20);
  align-items: center;
}
.CategoryStrip .categoryArrow {
  display: flex;
  width: var(--p28);
  height: var(--p28);
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eceef0;
  color: #777d84;
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    transform 0.25s ease;
}
.CategoryStrip .categoryArrow svg {
  width: var(--p12);
  height: var(--p12);
}
.CategoryStrip .categoryArrow:hover {
  background: #d7b531;
  color: #fff;
  transform: scale(1.08);
}
.CategoryStrip .categoryViewport {
  overflow: hidden;
}
.CategoryStrip .categoryTrack {
  display: flex;
  align-items: flex-start;
  gap: var(--p20);
  width: max-content;
  min-width: 100%;
  padding: var(--p4) 0;
}
.CategoryStrip .categoryItem {
  display: flex;
  width: var(--p112);
  flex: 0 0 var(--p112);
  align-items: center;
  flex-direction: column;
  color: var(--ink);
  font-size: var(--ft12);
  line-height: 1.4;
  text-align: center;
  transition:
    color 0.25s ease,
    transform 0.25s ease;
}
.CategoryStrip .circle {
  width: var(--p76);
  height: var(--p76);
  margin-bottom: var(--p8);
  padding: var(--p4);
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 50%;
  background: transparent;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}
.CategoryStrip .circle img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}
.CategoryStrip .categoryItem.active {
  color: #1f242a;
  font-weight: 700;
}
.CategoryStrip .categoryItem.active .circle {
  border-color: #d7b531;
  box-shadow: 0 4px 12px rgba(215, 181, 49, 0.24);
  transform: translateY(-2px);
}
.CategoryStrip .categoryItem:hover .circle {
  border-color: rgba(215, 181, 49, 0.65);
}
.SolutionGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--p20);
}
.SolutionGrid .item {
  display: block;
  background: #f8f9fa;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
.SolutionGrid .img_100 {
  aspect-ratio: 1.65;
}
.SolutionGrid .body {
  padding: var(--p28);
}
.SolutionGrid .title {
  font-size: var(--ft18);
  font-weight: 600;
}
.SolutionGrid .desc {
  margin-top: var(--p12);
  color: #666b73;
  font-size: var(--ft13);
  line-height: 1.75;
}
.SolutionGrid .item:hover {
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.09);
  transform: translateY(-4px);
}
.Stats {
  padding: var(--p56) 0;
  background: #f7f8f9;
  text-align: center;
}
.Stats h2 {
  margin-bottom: var(--p28);
  font-size: var(--ft20);
}
.Stats .statList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.Stats .value {
  font-size: var(--ft44);
  font-weight: 600;
}
.Stats .label {
  margin-top: var(--p4);
  color: #555b63;
  font-size: var(--ft13);
}
.Philosophy {
  background: #f5f5f5;
}
.Philosophy .philosophyBody {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--p96);
  align-items: center;
}
.Philosophy h2 {
  font-size: var(--ft32);
}
.Philosophy p {
  max-width: var(--p450);
  margin-top: var(--p20);
  color: #5c6169;
  font-size: var(--ft13);
  line-height: 2;
}
.Philosophy .img_100 {
  aspect-ratio: 1.5;
}
.TextButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--p40);
  margin-top: var(--p24);
  padding: 0 var(--p20);
  border: 1px solid var(--ink);
  font-size: var(--ft12);
}
.TextButton.dark {
  background: var(--charcoal);
  border-color: var(--charcoal);
  color: #fff;
}
.TextButton.light {
  border-color: #fff;
  color: #fff;
}
.TextButton,
.PageHero .btn,
.ProjectCta .ctaList a {
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}
.TextButton:hover,
.PageHero .btn:hover,
.ProjectCta .ctaList a:hover {
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
  transform: translateY(-2px);
}
.PageContent {
  padding: var(--p96) 0 var(--p112);
}
.Pagination {
  display: flex;
  justify-content: center;
  gap: var(--p6);
  margin-top: var(--p56);
}
.Pagination a {
  min-width: var(--p36);
  padding: var(--p8) var(--p12);
  border: 1px solid #d5d6d8;
  color: var(--muted);
  font-size: var(--ft13);
  text-align: center;
}
.Pagination a.active {
  border-color: #2d2d2d;
  background: #2d2d2d;
  color: #fff;
}
.ContactPanel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0;
  border: 1px solid var(--line);
  overflow: hidden;
}
.ContactPanel .contactInfo {
  padding: var(--p48);
  background: #fffcf3;
}
.ContactPanel .formBody {
  padding: var(--p48);
}
.ContactPanel h2 {
  font-size: var(--ft28);
}
.ContactPanel .intro {
  margin-top: var(--p8);
  color: var(--muted);
  font-size: var(--ft13);
}
.ContactPanel .contactList {
  display: grid;
  gap: var(--p20);
  margin-top: var(--p32);
}
.ContactPanel .contactItem {
  display: grid;
  grid-template-columns: var(--p40) 1fr;
  gap: var(--p16);
  align-items: start;
}
.ContactPanel .icon {
  display: flex;
  width: var(--p40);
  height: var(--p40);
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f5ecd2;
}
.ContactPanel .iconImg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.ContactPanel .contactItem strong {
  display: block;
  font-size: var(--ft16);
}
.ContactPanel .contactItem span {
  display: block;
  margin-top: var(--p4);
  color: var(--muted);
  font-size: var(--ft13);
}
.QuoteForm {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--p16);
  margin-top: var(--p28);
}
.QuoteForm label {
  display: grid;
  gap: var(--p6);
  color: #68707a;
  font-size: var(--ft12);
}
.QuoteForm input,
.QuoteForm textarea,
.QuoteForm select {
  width: 100%;
  padding: var(--p12);
  border: 1px solid #d9dbdd;
  font-size: var(--ft13);
}
.QuoteForm textarea,
.QuoteForm .full {
  grid-column: 1 / -1;
}
.QuoteForm textarea {
  min-height: var(--p84);
  resize: vertical;
}
.QuoteForm .submit {
  grid-column: 1 / -1;
  min-height: var(--p48);
  background: #2c2c2c;
  color: #fff;
  font-size: var(--ft14);
  font-weight: 600;
}
.DetailIntro .detailColumns {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--p64);
}
.DetailIntro .mainImage {
  aspect-ratio: 1;
}
.DetailIntro .thumbList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--p12);
  margin-top: var(--p16);
}
.DetailIntro .thumbList .img_100 {
  aspect-ratio: 1;
}
.DetailIntro h2 {
  font-size: var(--ft32);
}
.DetailIntro .productType {
  margin-top: var(--p28);
  color: #5d6470;
  font-size: var(--ft18);
}
.DetailTabs {
  margin-top: var(--p64);
}
.DetailTabs .tabList {
  display: flex;
  border-bottom: 1px solid var(--line);
}
.DetailTabs button {
  padding: var(--p16) var(--p32);
  color: #686d74;
  font-size: var(--ft16);
}
.DetailTabs button.active {
  border-bottom: 2px solid var(--ink);
  color: var(--ink);
  font-weight: 600;
}
.DetailTabs .tabPanel {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--p12);
  padding-top: var(--p24);
}
.DetailTabs .tabPanel[hidden] {
  display: none;
}
.DetailTabs .tabPanel .img_100 {
  aspect-ratio: 1;
}
.SolutionFeature .featureBody {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: var(--p80);
  align-items: center;
}
.SolutionFeature .eyebrow {
  color: var(--gold);
  font-size: var(--ft13);
  font-weight: 600;
}
.SolutionFeature h2 {
  margin-top: var(--p16);
  font-size: var(--ft44);
  line-height: 1.1;
}
.SolutionFeature p {
  max-width: var(--p500);
  margin-top: var(--p24);
  color: var(--muted);
  font-size: var(--ft15);
  line-height: 1.75;
}
.SolutionFeature .img_100 {
  aspect-ratio: 1.35;
  box-shadow: var(--shadow);
}
.Specs {
  padding-top: 0;
}
.Specs .specGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--p80);
  padding: var(--p36);
  border: 1px solid var(--line);
}
.Specs h2 {
  font-size: var(--ft28);
}
.Specs dl {
  margin-top: var(--p24);
}
.Specs dl div {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: var(--p16);
  padding: var(--p12) 0;
  border-bottom: 1px solid #eceef0;
  color: #71767d;
  font-size: var(--ft13);
}
.Specs dt {
  color: #484d54;
}
.Specs .advantageList {
  display: grid;
  gap: var(--p20);
  margin-top: var(--p24);
}
.Specs .advantage {
  padding-left: var(--p32);
  color: var(--muted);
  font-size: var(--ft13);
}
.Specs .advantage strong {
  display: block;
  color: var(--ink);
  font-size: var(--ft15);
}
.ShowroomIntro .showroomBody,
.Loading .loadingBody {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--p72);
  align-items: center;
}
.ShowroomIntro .eyebrow,
.Loading .eyebrow {
  color: var(--gold);
  font-size: var(--ft13);
  font-weight: 600;
}
.ShowroomIntro h2,
.Loading h2 {
  margin-top: var(--p12);
  font-size: var(--ft28);
}
.ShowroomIntro p,
.Loading p {
  margin-top: var(--p20);
  color: var(--muted);
  font-size: var(--ft13);
  line-height: 1.8;
}
.ShowroomIntro .featureList,
.Loading .featureList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--p16);
  margin-top: var(--p24);
  color: #626870;
  font-size: var(--ft13);
}
.ShowroomIntro .img_100 {
  aspect-ratio: 1.35;
  border-radius: var(--p6);
}
.showroom-page .ShowroomIntro {
  padding: var(--p112) 0;
}
.Manufacturing,
.RemoteSupport {
  background: #f6f7f8;
}
.showroom-page .Manufacturing {
  padding: var(--p112) 0;
}
.CapabilityGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--p20);
  margin-bottom: var(--p24);
}
.CapabilityGrid .item {
  padding: var(--p28);
  background: #fff;
}
.CapabilityGrid .capIcon {
  display: flex;
  width: var(--p32);
  height: var(--p32);
  align-items: center;
  justify-content: center;
  border-radius: var(--p4);
  background: #111;
}
.CapabilityGrid h3 {
  margin-top: var(--p16);
  font-size: var(--ft16);
}
.CapabilityGrid p {
  margin-top: var(--p12);
  color: var(--muted);
  font-size: var(--ft13);
  line-height: 1.7;
}
.FactoryImage .img_100 {
  aspect-ratio: 2.4;
}
.FactoryImage > p {
  margin-top: var(--p10);
  color: var(--muted);
  font-size: var(--ft12);
  text-align: center;
}
.Inspection .stageList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--p16);
}
.showroom-page .Inspection {
  padding: var(--p112) 0;
}
.Inspection .item {
  padding: var(--p24);
  border: 1px solid var(--line);
}
.Inspection .number {
  font-size: var(--ft28);
  font-weight: 700;
}
.Inspection h3 {
  margin-top: var(--p8);
  font-size: var(--ft15);
}
.Inspection p {
  margin-top: var(--p8);
  color: var(--muted);
  font-size: var(--ft12);
  line-height: 1.7;
}
.Inspection .inspectionProof {
  margin-top: var(--p20);
  color: #a18112;
  font-size: var(--ft12);
  text-align: center;
}
.RemoteSupport {
  background: #000;
  color: #fff;
}
.showroom-page .Loading {
  padding: var(--p112) 0;
}
.Loading .featureList {
  grid-template-columns: 1fr;
  gap: var(--p10);
}
.Loading .featureList span {
  display: flex;
  align-items: center;
  gap: var(--p8);
}
.Loading .listIcon {
  display: inline-flex;
  width: var(--p14);
  height: var(--p14);
  flex: 0 0 var(--p14);
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--gold);
}
.showroom-page .RemoteSupport {
  padding: var(--p100) 0;
}
.RemoteSupport .supportGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--p16);
  margin-top: var(--p32);
}
.RemoteSupport .item {
  padding: var(--p20);
  border-radius: var(--p6);
  background: #191919;
}
.RemoteSupport .supportIcon {
  display: flex;
  width: var(--p24);
  height: var(--p24);
  align-items: center;
  justify-content: center;
  border-radius: var(--p4);
  background: rgba(210, 173, 40, 0.18);
}
.RemoteSupport h3 {
  margin-top: var(--p12);
  font-size: var(--ft15);
}
.RemoteSupport p {
  margin-top: var(--p8);
  color: #a8a8a8;
  font-size: var(--ft12);
  line-height: 1.6;
}
.ProjectCta {
  padding: var(--p48) 0;
  background: #f4f5f6;
  text-align: center;
}
.ProjectCta h2 {
  font-size: var(--ft24);
}
.ProjectCta p {
  margin-top: var(--p12);
  color: var(--muted);
  font-size: var(--ft13);
}
.ProjectCta .ctaList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--p12);
  margin-top: var(--p24);
}
.ProjectCta .ctaList a {
  padding: var(--p10) var(--p16);
  border: 1px solid var(--ink);
  font-size: var(--ft12);
}
.ProjectCta .ctaList .primaryCta {
  background: #111;
  color: #fff;
}
.PremiumVisit {
  padding-top: var(--p72);
  background: #000;
  color: #fff;
}
.PremiumVisit .PremiumBreadcrumb {
  padding-bottom: var(--p40);
  color: #868686;
  font-size: var(--ft12);
}
.PremiumVisit .premiumTitle {
  text-align: center;
}
.PremiumVisit h2 {
  font-size: var(--ft44);
  letter-spacing: 1px;
}
.PremiumVisit .sub {
  margin-top: var(--p16);
  color: #8d8d8d;
  font-size: var(--ft14);
}
.PremiumVisit .yellowLine {
  width: var(--p64);
  height: var(--p4);
  margin: var(--p24) auto var(--p56);
  background: var(--gold);
}
.PremiumVisit h3 {
  font-size: var(--ft28);
  text-align: center;
}
.PremiumVisit h3 span {
  color: var(--gold);
}
.ServiceContents {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--p24);
  max-width: var(--p1120);
  margin: var(--p36) auto var(--p32);
}
.ServiceContents .contentCard {
  padding: var(--p24);
  border-radius: var(--p8);
  background: #151515;
}
.ServiceContents .serviceType {
  display: flex;
  align-items: center;
  gap: var(--p8);
  color: var(--gold);
  font-size: var(--ft16);
  font-weight: 600;
}
.ServiceContents .serviceType .icon {
  display: inline-flex;
  width: var(--p16);
  height: var(--p16);
  align-items: center;
  justify-content: center;
}
.ServiceContents .serviceThumbs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--p8);
  margin-top: var(--p16);
}
.ServiceContents .serviceThumbs .item {
  overflow: hidden;
  border-radius: var(--p4);
  background: #242424;
}
.ServiceContents .serviceThumbs .img_100 {
  aspect-ratio: 1.65;
}
.ServiceContents .serviceThumbs p {
  min-height: var(--p40);
  padding: var(--p8);
  color: #d0d0d0;
  font-size: var(--ft11);
  line-height: 1.25;
  text-align: center;
}
.PackageGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--p24);
  max-width: var(--p1120);
  margin: var(--p40) auto 0;
}
.PackageGrid .package {
  position: relative;
  padding: var(--p28);
  border: 1px solid #202020;
  border-radius: var(--p8);
  background: #151515;
  
}
.PackageGrid .package.recommended {
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(210, 173, 40, 0.3);
}
.PackageGrid .recommendRibbon {
  position: absolute;
  top: 0;
  right: 0;
  padding: var(--p8) var(--p16);
  background: var(--gold);
  color: #111;
  font-size: var(--ft12);
  font-weight: 700;
}
.PackageGrid .packageTop {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--p16);
}
.PackageGrid .packageTop h4 {
  font-size: var(--ft22);
}
.PackageGrid .price {
  color: var(--gold);
  font-size: var(--ft28);
  font-weight: 700;
}
.PackageGrid .fee {
  margin-top: var(--p4);
  color: #aaa;
  font-size: var(--ft11);
  text-align: right;
}
.PackageGrid .package .img_100 {
  aspect-ratio: 1.5;
  margin-top: var(--p20);
}
.PackageGrid .packageInfo {
  display: grid;
  gap: var(--p8);
  margin-top: var(--p20);
  height: 380px;
  
}
.PackageGrid h5 {
  display: flex;
  align-items: center;
  gap: var(--p8);
  margin-top: var(--p12);
  color: var(--gold);
  font-size: var(--ft15);
}
.PackageGrid h5 .icon {
  display: inline-flex;
  width: var(--p16);
  height: var(--p16);
  align-items: center;
  justify-content: center;
}
.PackageGrid p {
  margin-top: 0;
  color: #aaa;
  font-size: var(--ft12);
  line-height: 1.65;
}
.PackageGrid p br{
    display: none;
    height: 0;
}
.cebianlan{
    position: fixed;
    right: 10px;
    bottom: 10%;
    background-color: #25D366;
    color: rgba(255,255,255,1);
        border-radius: 50px;
}  
.cebianlan a{
    display: flex;
    padding: 5px 10px;
    gap: 5px;
}
.PackageGrid .pay {
  width: 100%;
  min-height: var(--p44);
  margin-top: var(--p24);
  background: #D8B84A;
  color: #000;
  font-size: var(--ft18);
  font-weight: 600;

}
.PackageGrid .recommended .pay {
  background: var(--gold);
  color: #151515;
}
.PremiumNotes {
  max-width: var(--p1120);
  margin: var(--p40) auto 0;
  color: #b2b2b2;
  font-size: var(--ft13);
  line-height: 1.8;
}
.PremiumNotes .noteTitle {
  color: var(--gold);
  font-size: var(--ft12);
}
.PremiumNotes .finePrint {
  margin-top: var(--p24);
  color: #868686;
  font-size: var(--ft11);
}
.AboutIntro .aboutColumns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--p64);
  align-items: start;
}
.AboutIntro .eyebrow {
  color: var(--muted);
  font-size: var(--ft12);
}
.AboutIntro h2 {
  margin-top: var(--p12);
  font-size: var(--ft32);
}
.AboutIntro p {
  margin-top: var(--p20);
  color: #60666d;
  font-size: var(--ft13);
  line-height: 1.75;
}
.AboutIntro .statRows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--p12);
  margin-top: var(--p24);
  font-size: var(--ft13);
}
.AboutIntro .img_100 {
  aspect-ratio: 1.3;
}
.Clients {
  background: #f6f6f6;
}
.Clients .clientList {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--p16);
}
.Clients .item {
  padding: var(--p28) var(--p16);
  background: #fff;
  text-align: center;
}
.Clients h3 {
  margin-top: var(--p12);
  font-size: var(--ft14);
}
.Clients p {
  margin-top: var(--p8);
  color: var(--muted);
  font-size: var(--ft11);
  line-height: 1.5;
}
.Aesthetic {
  background: #000;
  color: #fff;
}
.Aesthetic .aestheticBody {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--p64);
  align-items: center;
}
.Aesthetic .img_100 {
  aspect-ratio: 1.35;
}
.Aesthetic .eyebrow {
  color: #7d7d7d;
  font-size: var(--ft12);
}
.Aesthetic h2 {
  margin-top: var(--p12);
  font-size: var(--ft28);
}
.Aesthetic p {
  margin-top: var(--p16);
  color: #aaa;
  font-size: var(--ft13);
  line-height: 1.75;
}
.Strengths .strengthGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--p32) var(--p40);
}
.Strengths .item h3 {
  margin-top: var(--p16);
  font-size: var(--ft16);
}
.Strengths .item p {
  margin-top: var(--p12);
  color: var(--muted);
  font-size: var(--ft13);
  line-height: 1.75;
}
.Experience .experienceBody {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.Experience .img_100 {
  aspect-ratio: 1.45;
}
.Experience .body {
  padding: var(--p56);
  background: #000;
  color: #fff;
}
.Experience .eyebrow {
  color: #888;
  font-size: var(--ft12);
}
.Experience h2 {
  margin-top: var(--p16);
  font-size: var(--ft32);
}
.Experience p {
  margin-top: var(--p16);
  color: #b0b0b0;
  font-size: var(--ft13);
  line-height: 1.75;
}
.Assurance .assuranceList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--p24);
  text-align: center;
}
.Assurance h3 {
  margin-top: var(--p16);
  font-size: var(--ft14);
}
.Assurance p {
  margin-top: var(--p8);
  color: var(--muted);
  font-size: var(--ft12);
}
.Assurance .notice {
  margin-top: var(--p32);
  padding: var(--p20);
  background: #fffbe9;
  border-left: var(--p4) solid var(--gold);
  font-size: var(--ft12);
  line-height: 1.7;
}
.Requirements {
  background: #080808;
  color: #fff;
}
.Requirements .requirementsGrid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--p80);
}
.Requirements h2 {
  font-size: var(--ft28);
}
.Requirements p {
  margin-top: var(--p16);
  color: #aaa;
  font-size: var(--ft13);
  line-height: 1.75;
}
.Requirements .QuoteForm input,
.Requirements .QuoteForm textarea {
  border-color: #333;
  background: #282828;
  color: #fff;
}
.Requirements .QuoteForm .submit {
  background: #333;
}
.about-page .PageHero {
  min-height: var(--p720);
}
.AboutIntro .statRows span {
  display: flex;
  align-items: center;
  gap: var(--p8);
}
.AboutIntro .statRows .icon {
  display: inline-flex;
  width: var(--p14);
  height: var(--p14);
  flex: 0 0 var(--p14);
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #1c1c1c;
}
.AboutIntro .statRows .iconImg {
  width: 62%;
  height: 62%;
  object-fit: contain;
}
.Clients .item .icon {
  display: flex;
  width: var(--p40);
  height: var(--p40);
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #111;
}
.Clients .item .iconImg {
  width: var(--p18);
  height: var(--p18);
  object-fit: contain;
}
.Aesthetic .philosophyList p {
  margin-top: var(--p16);
}
.Aesthetic .philosophyList b {
  color: #fff;
  font-size: var(--ft13);
}
.Strengths .item .icon {
  display: inline-flex;
  width: var(--p28);
  height: var(--p28);
  align-items: center;
  justify-content: center;
}
.Strengths .item .iconImg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.OneStop {
  background: #f6f6f6;
}
.OneStop .oneStopBody {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}
.OneStop .body {
  display: flex;
  padding: var(--p64);
  justify-content: center;
  flex-direction: column;
  background: #fff;
}
.OneStop .eyebrow {
  color: var(--muted);
  font-size: var(--ft12);
}
.OneStop h2 {
  margin-top: var(--p16);
  font-size: var(--ft32);
  line-height: 1.2;
}
.OneStop p {
  max-width: var(--p450);
  margin-top: var(--p20);
  color: var(--muted);
  font-size: var(--ft13);
  line-height: 1.75;
}
.OneStop .img_100 {
  aspect-ratio: 1.45;
}
.Assurance .assuranceList .icon {
  display: flex;
  width: var(--p48);
  height: var(--p48);
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #111;
}
.Assurance .assuranceList .iconImg {
  width: var(--p20);
  height: var(--p20);
  object-fit: contain;
}
.Requirements .contactDetails {
  margin-top: var(--p24);
}
.Requirements .contactDetails p {
  display: flex;
  gap: var(--p10);
  align-items: flex-start;
  margin-top: var(--p10);
}
.Requirements .contactDetails .icon {
  display: inline-flex;
  width: var(--p16);
  height: var(--p16);
  flex: 0 0 var(--p16);
  align-items: center;
  justify-content: center;
}
.Requirements .contactDetails .iconImg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.about-page img[data-missing-asset] {
  visibility: hidden;
}
.about-page .Clients {
  padding: var(--p160) 0;
}
.about-page .Aesthetic {
  padding: var(--p120) 0;
}
.about-page .Strengths {
  padding: var(--p220) 0;
}
.about-page .Experience {
  padding: var(--p120) 0;
}
.about-page .OneStop {
  padding: var(--p120) 0;
}
.about-page .Assurance {
  padding: var(--p190) 0;
}
.about-page .Requirements {
  padding: var(--p176) 0;
}
.SiteFooter {
  padding: var(--p64) 0 var(--p20);
  background: #f2f3f3;
  color: #5f656d;
}
.SiteFooter .footerGrid {
  display: grid;
  grid-template-columns: 1.3fr repeat(4, 1fr) 0.8fr;
  gap: var(--p32);
}
.SiteFooter .logo {
  width: var(--p210);
  height: var(--p80);
  filter: grayscale(1) contrast(2);
}
.SiteFooter .logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.SiteFooter .brandText {
  max-width: var(--p220);
  margin-top: var(--p16);
  font-size: var(--ft12);
  line-height: 1.55;
}
.SiteFooter h3 {
  color: var(--ink);
  font-size: var(--ft16);
  font-weight: 500;
}
.SiteFooter a {
  display: block;
  margin-top: var(--p12);
  font-size: var(--ft12);
}
.SiteFooter .socials {
  display: flex;
  gap: var(--p8);
}
.SiteFooter .socials span {
  display: flex;
  width: var(--p28);
  height: var(--p28);
  align-items: center;
  justify-content: center;
  border: 1px solid #aeb1b5;
  border-radius: 50%;
  font-size: var(--ft12);
  overflow: hidden;
}
.SiteFooter .socials .iconImg {
  width: var(--p16);
  height: var(--p16);
  object-fit: contain;
  opacity: 0.72;
}
.SiteFooter .legal {
  margin-top: var(--p56);
  padding-top: var(--p16);
  border-top: 1px solid #d4d6d8;
  font-size: var(--ft10);
  text-align: center;
}
@keyframes heroRise {
  from {
    opacity: 0;
    transform: translateY(var(--p12));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes sectionRise {
  from {
    opacity: 0;
    transform: translateY(var(--p12));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .site {
    min-width: 0;
  }
  .SiteHeader .navList {
    gap: var(--p16);
  }
  .ProductGrid {
    grid-template-columns: repeat(3, 1fr);
  }
  .PageHero h1 {
    font-size: var(--ft44);
  }
}
@media only screen and (max-width: 767px) {
    .productTrigger {
        display: none !important;
    }
    .productTrigger.show768{
        display: inline-flex !important;
    }
  .site {
    min-width: 0;
  }
  .SiteHeader .headerInner {
    max-width: 96%;
  }
  .SiteHeader .navList {
    gap: var(--p8);
    flex-wrap: wrap;
  }
  .SiteHeader .navList > a {
    font-size: var(--ft10);
  }
  .PageHero {
    min-height: var(--p440);
    padding-top: var(--p140);
  }
  .PageHero h1 {
    font-size: var(--ft32);
    letter-spacing: 2px;
  }
  .ProductGrid,
  .SolutionGrid {
    grid-template-columns: 1fr;
  }
  .Stats .statList,
  .CapabilityGrid,
  .Inspection .stageList,
  .RemoteSupport .supportGrid,
  .Clients .clientList,
  .Strengths .strengthGrid,
  .Assurance .assuranceList {
    grid-template-columns: repeat(2, 1fr);
  }
  .Philosophy .philosophyBody,
  .DetailIntro .detailColumns,
  .SolutionFeature .featureBody,
  .Specs .specGrid,
  .ShowroomIntro .showroomBody,
  .Loading .loadingBody,
  .AboutIntro .aboutColumns,
  .Aesthetic .aestheticBody,
  .Experience .experienceBody,
  .Requirements .requirementsGrid,
  .ContactPanel,
  .ServiceContents {
    grid-template-columns: 1fr;
  }
  .PackageGrid {
    grid-template-columns: 1fr;
  }
  .SiteFooter .footerGrid {
    grid-template-columns: repeat(2, 1fr);
  }
  .SiteFooter .socials {
    grid-column: 1/-1;
  }
  .QuoteForm {
    grid-template-columns: 1fr;
  }
  .PageHero .heroActions {
    flex-wrap: wrap;
  }
  .SolutionFeature h2,
  .PremiumVisit h2 {
    font-size: var(--ft32);
  }
  .ProductGrid .item:hover,
  .SolutionGrid .item:hover,
  .TextButton:hover,
  .PageHero .btn:hover,
  .ProjectCta .ctaList a:hover {
    transform: none;
    box-shadow: none;
  }
}
.pretrip-page .PageHero {
  min-height: var(--p720);
}
.PreTripBreadcrumb {
  padding: var(--p16) 0;
  color: #a4a6aa;
  font-size: var(--ft12);
}
.ServiceJourney {
  padding: var(--p112) 0 var(--p128);
  text-align: center;
}
.ServiceJourney h2 {
  font-size: var(--ft36);
  line-height: 1.3;
}
.ServiceJourney p {
  margin-top: var(--p32);
  color: var(--muted);
  font-size: var(--ft14);
  line-height: 1.8;
}
.ServiceProcess {
  padding: var(--p112) 0;
  background: #f5f6f7;
}
.ServiceProcess .SectionHeading {
  margin-bottom: var(--p56);
}
.ServiceProcess .SectionHeading h2 {
  font-size: var(--ft32);
}
.ServiceProcess .processGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--p28);
}
.ServiceProcess .item {
  padding: var(--p32);
  background: #fff;
}
.ServiceProcess .number {
  display: flex;
  width: var(--p40);
  height: var(--p40);
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #050505;
  color: #fff;
  font-size: var(--ft16);
  font-weight: 700;
}
.ServiceProcess h3 {
  margin-top: var(--p20);
  font-size: var(--ft16);
  line-height: 1.35;
}
.ServiceProcess p {
  margin-top: var(--p20);
  color: #656b72;
  font-size: var(--ft13);
  line-height: 1.75;
}
.ServiceCta {
  padding: var(--p112) 0;
  background: #000;
  color: #fff;
  text-align: center;
}
.ServiceCta h2 {
  font-size: var(--ft36);
}
.ServiceCta p {
  margin-top: var(--p24);
  color: #b9b9b9;
  font-size: var(--ft14);
  line-height: 1.75;
}
.ServiceCta .ctaList {
  display: flex;
  justify-content: center;
  gap: var(--p16);
  margin-top: var(--p40);
}
.ServiceCta .btn {
  min-width: var(--p180);
  min-height: var(--p48);
  border-color: #fff;
  background: transparent;
  color: #fff;
  font-size: var(--ft13);
}
.ServiceCta .btn.primary {
  background: #fff;
  color: #161616;
}
.FloorPlan {
  padding: var(--p96) 0;
  background-color: #f9f9f7;
  background-image: linear-gradient(
      rgba(255, 255, 255, 0.88),
      rgba(255, 255, 255, 0.88)
    ),
    url("../images/fd9769e070297d24a99b0e7f096e99003ee33f80");
  background-position: center;
  background-size: cover;
}
.FloorPlan .uploadPanel {
  max-width: var(--p960);
  margin: 0 auto;
  padding: var(--p40);
  border: 1px solid #dfe1e3;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}
.FloorPlan h2 {
  font-size: var(--ft24);
}
.FloorPlan p {
  margin-top: var(--p8);
  color: var(--muted);
  font-size: var(--ft13);
}
.FloorPlan .floorPlanForm {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--p16) var(--p20);
  margin-top: var(--p28);
}
.FloorPlan .floorPlanForm > label {
  display: grid;
  gap: var(--p8);
  color: #5b6168;
  font-size: var(--ft12);
}
.FloorPlan .floorPlanForm input,
.FloorPlan .floorPlanForm select,
.FloorPlan .floorPlanForm textarea {
  width: 100%;
  height: var(--p44);
  padding: 0 var(--p12);
  border: 1px solid #d9dcdf;
  background: #fff;
  color: #5b6168;
  font-size: var(--ft12);
}
.FloorPlan .floorPlanForm select {
  appearance: auto;
}
.FloorPlan .floorPlanForm .uploadBox,
.FloorPlan .floorPlanForm .notes,
.FloorPlan .floorPlanForm .privacy,
.FloorPlan .floorPlanForm .submit {
  grid-column: 1 / -1;
}
.FloorPlan .floorPlanForm .uploadBox {
  display: block;
}
.FloorPlan .uploadBox > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.FloorPlan .uploadContent {
  display: flex;
  min-height: var(--p128);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px dashed #c7cbce;
  background: #fff;
  color: #7a7f85;
  text-align: center;
  cursor: pointer;
}
.FloorPlan .uploadContent .icon {
  display: inline-flex;
  width: var(--p28);
  height: var(--p28);
  margin-bottom: var(--p8);
  align-items: center;
  justify-content: center;
}
.FloorPlan .uploadContent .iconImg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.FloorPlan .uploadContent b {
  font-size: var(--ft12);
  font-weight: 400;
}
.FloorPlan .uploadContent small {
  margin-top: var(--p4);
  color: #a4a8ad;
  font-size: var(--ft10);
}
.FloorPlan .floorPlanForm .notes textarea {
  height: var(--p112);
  padding: var(--p12);
  resize: vertical;
}
.FloorPlan .floorPlanForm .privacy {
  display: flex;
  align-items: center;
  gap: var(--p8);
  color: #747a80;
  font-size: var(--ft11);
}
.FloorPlan .floorPlanForm .privacy input {
  width: var(--p12);
  height: var(--p12);
  padding: 0;
}
.FloorPlan .floorPlanForm .submit {
  width: var(--p140);
  min-height: var(--p44);
  justify-self: start;
  background: #050505;
  color: #fff;
  font-size: var(--ft13);
}
.pretrip-page img[data-missing-asset] {
  visibility: hidden;
}
@media only screen and (max-width: 767px) {
  .ServiceJourney p br,
  .ServiceCta p br {
    display: none;
  }
  .ServiceProcess .processGrid,
  .FloorPlan .floorPlanForm {
    grid-template-columns: 1fr;
  }
  .ServiceCta .ctaList {
    flex-wrap: wrap;
  }
  .ServiceJourney,
  .ServiceProcess,
  .ServiceCta {
    padding: var(--p64) 0;
  }
}
.SiteHeader .navList > .productTrigger:hover,
.SiteHeader .navList > .productTrigger:focus,
.SiteHeader .navList > .solutionTrigger:hover,
.SiteHeader .navList > .solutionTrigger:focus {
  font-weight: 500;
}
.ProductSwiper .mainImage {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  background: #f4f5f6;
}
.ProductSwiper .galleryTrack {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.ProductSwiper .gallerySlide {
  width: 100%;
  height: 100%;
  flex: 0 0 100%;
}
.ProductSwiper .gallerySlide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ProductSwiper .galleryArrow {
  position: absolute;
  top: 50%;
  z-index: 1;
  display: flex;
  width: var(--p40);
  height: var(--p40);
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(20, 23, 27, 0.72);
  color: #fff;
  opacity: 0.84;
  transform: translateY(-50%);
  transition:
    opacity 0.24s ease,
    background-color 0.24s ease,
    transform 0.24s ease;
}
.ProductSwiper .galleryPrev {
  left: var(--p16);
}
.ProductSwiper .galleryNext {
  right: var(--p16);
}
.ProductSwiper .galleryArrow svg {
  width: var(--p20);
  height: var(--p20);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.ProductSwiper .mainImage:hover .galleryArrow,
.ProductSwiper .mainImage:focus-within .galleryArrow {
  opacity: 1;
}
.ProductSwiper .galleryArrow:hover {
  background: #111;
  transform: translateY(-50%) scale(1.06);
}
.ProductSwiper .thumbList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--p12);
  margin-top: var(--p16);
}
.ProductSwiper .thumb {
  aspect-ratio: 1;
  overflow: hidden;
  border: 2px solid transparent;
  background: #f0f1f2;
  transition:
    border-color 0.24s ease,
    opacity 0.24s ease,
    transform 0.24s ease;
}
.ProductSwiper .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ProductSwiper .thumb.active {
  border-color: #1c2026;
}
.ProductSwiper .thumb:not(.active) {
  opacity: 0.62;
}
.ProductSwiper .thumb:hover {
  opacity: 1;
  transform: translateY(-2px);
}
@media only screen and (max-width: 767px) {
  .ProductSwiper .galleryArrow {
    opacity: 1;
  }
  .ProductSwiper .thumbList {
    gap: var(--p8);
  }
}
@media only screen and (max-width: 767px) {
  :root {
    --ft10: 10px;
    --ft11: 10px;
    --ft12: 11px;
    --ft13: 12px;
    --ft14: 13px;
    --ft15: 14px;
    --ft16: 14px;
    --ft18: 15px;
    --ft20: 16px;
    --ft22: 18px;
    --ft24: 20px;
    --ft28: 23px;
    --ft32: 26px;
    --ft36: 28px;
    --ft44: 32px;
    --ft56: 36px;
  }
}
.site .btn,
.QuoteForm .submit,
.FloorPlan .floorPlanForm .submit,
.Pagination a,
.DetailTabs button,
.SiteFooter .socials span,
.SiteFooter a,
.ContactPanel input,
.ContactPanel textarea,
.FloorPlan .floorPlanForm input,
.FloorPlan .floorPlanForm select,
.FloorPlan .floorPlanForm textarea {
  transition:
    color 0.24s ease,
    background-color 0.24s ease,
    border-color 0.24s ease,
    box-shadow 0.24s ease,
    transform 0.24s ease,
    opacity 0.24s ease;
}
.site :focus-visible {
  outline: 2px solid #d2ad28;
  outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  .site .btn:hover {
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
    transform: translateY(-2px);
  }
  .PageHero .btn.primary:hover {
    background: #f1f2f2;
  }
  .ServiceCta .btn:hover {
    background: rgba(255, 255, 255, 0.12);
  }
  .ServiceCta .btn.primary:hover {
    background: #e9eaeb;
    color: #111;
  }
  .QuoteForm .submit:hover,
  .FloorPlan .floorPlanForm .submit:hover {
    background: #111;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
    transform: translateY(-2px);
  }
  .Pagination a:hover {
    border-color: #2d2d2d;
    background: #2d2d2d;
    color: #fff;
    transform: translateY(-2px);
  }
  .DetailTabs button:hover:not(.active) {
    color: var(--ink);
    box-shadow: inset 0 -2px 0 #c7c9cc;
  }
  .SiteFooter a:hover {
    color: var(--ink);
    transform: translateX(3px);
  }
  .SiteFooter .socials span:hover {
    border-color: #737981;
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
  }
  .ContactPanel input:hover,
  .ContactPanel textarea:hover,
  .FloorPlan .floorPlanForm input:hover,
  .FloorPlan .floorPlanForm select:hover,
  .FloorPlan .floorPlanForm textarea:hover {
    border-color: #9ca1a6;
  }
  .ContactPanel input:focus,
  .ContactPanel textarea:focus,
  .FloorPlan .floorPlanForm input:focus,
  .FloorPlan .floorPlanForm select:focus,
  .FloorPlan .floorPlanForm textarea:focus {
    border-color: #4b5159;
    box-shadow: 0 0 0 3px rgba(75, 81, 89, 0.1);
  }
  .DetailTabs .tabPanel .img_100 {
    transition:
      box-shadow 0.24s ease,
      transform 0.24s ease;
  }
  .DetailTabs .tabPanel .img_100:hover {
    box-shadow: 0 12px 22px rgba(0, 0, 0, 0.12);
    transform: translateY(-3px);
  }
  .CategoryStrip .categoryItem:hover {
    color: #1f242a;
    transform: translateY(-2px);
  }
}
.Modal_Overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
}
.Modal_Overlay.active {
  display: flex;
}
.Modal {
  position: relative;
  width: 90%;
  max-width: var(--p500);
  padding: var(--p40);
  border-radius: var(--p6);
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}
.Modal_Close {
  position: absolute;
  top: var(--p20);
  right: var(--p20);
  width: var(--p32);
  height: var(--p32);
  border-radius: 50%;
  background: #f5f6f7;
  color: var(--muted);
  font-size: var(--ft24);
  line-height: 1;
}
.Modal_Close:hover {
  background: #e9eaeb;
}
.Modal h2 {
  margin-bottom: var(--p28);
  font-size: var(--ft24);
}
.RadioGroup,
.CheckboxGroup {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--p12);
}
.RadioGroup label,
.CheckboxGroup label {
  display: flex;
  align-items: center;
  gap: var(--p8);
  padding: var(--p10);
  border: 1px solid #d9dbdd;
  border-radius: var(--p4);
  cursor: pointer;
  font-size: var(--ft12);
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}
.RadioGroup label:hover,
.CheckboxGroup label:hover {
  border-color: #9ca1a6;
}
.RadioGroup input[type="radio"]:checked + *,
.CheckboxGroup input[type="checkbox"]:checked + * {
  font-weight: 600;
}
.RadioGroup input[type="radio"]:checked,
.CheckboxGroup input[type="checkbox"]:checked {
  accent-color: var(--ink);
}
.AgreeTerms {
  display: flex !important;
  align-items: flex-start;
  gap: var(--p6);
  padding: 0;
  border: none;
  cursor: pointer;
  font-size: var(--ft11);
  color: #6b7280;
}
.AgreeTerms input[type="checkbox"] {
  width: var(--p12);
  height: var(--p12);
  flex-shrink: 0;
  margin-top: 2px;
}
.AgreeTerms a {
  color: var(--ink);
  text-decoration: underline;
}
.PrivacyBtn {
  background: none;
  border: none;
  color: var(--ink);
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
  font-size: inherit;
}
.PrivacyContent {
  max-height: 400px;
  overflow-y: auto;
  padding: var(--p16);
  line-height: 1.6;
}
.UploadBox {
  display: block;
}
.UploadBox > input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.UploadContent {
  display: flex;
  min-height: var(--p100);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px dashed #c7cbce;
  background: #fff;
  color: #7a7f85;
  text-align: center;
  cursor: pointer;
  padding: var(--p16);
}
.UploadContent .icon {
  display: inline-flex;
  width: var(--p24);
  height: var(--p24);
  margin-bottom: var(--p8);
  align-items: center;
  justify-content: center;
}
.UploadContent .icon svg {
  width: 100%;
  height: 100%;
}
.UploadContent b {
  font-size: var(--ft12);
  font-weight: 400;
}
.UploadContent small {
  margin-top: var(--p4);
  color: #a4a8ad;
  font-size: var(--ft10);
}
.UploadContent .fileName {
  margin-top: var(--p8);
  padding: var(--p4) var(--p8);
  background: var(--ink);
  color: #fff;
  font-size: var(--ft10);
  border-radius: var(--p2);
}

.RadioGroupWrapper{
  display: flex;
  flex-wrap: wrap;
  gap: 10px
}

.FloorPlanOptions {
  display: flex;
  gap: var(--p8);
  margin-bottom: var(--p8);
  flex-wrap: wrap;
}
.FloorPlanOptions label {
  display: flex;
  align-items: center;
  gap: var(--p6);
  padding: var(--p6) var(--p10);
  border: 1px solid #d9dbdd;
  border-radius: var(--p4);
  cursor: pointer;
  font-size: var(--ft12);
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}
.FloorPlanOptions label:hover {
  border-color: #9ca1a6;
}
.FloorPlanOptions input[type="radio"] {
  accent-color: var(--ink);
  width: var(--p14);
  height: var(--p14);
}
.FloorPlanOptions input[type="radio"]:checked + span {
  font-weight: 600;
}

.QuoteForm label label input{
  width: 16px;
  height: 16px;
}
