* { margin:0; padding:0; box-sizing:border-box; }

body {
  font-family:"Futura","Century Gothic","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  background:#fbfbf8;
  color:#22262e;
  font-size:15px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
.wrap { max-width:1140px; margin:0 auto; padding:0 1.375rem; }
a { color:#c8842a; text-decoration:none; }
a:hover { color:#9d6416; }
img { max-width:100%; display:block; }
h1,h2,h3,h4,h5 { font-weight:700; color:#2e323b; }

.topbar_wrap { position:absolute; top:0; left:0; right:0; z-index:9; border-bottom:1px solid rgba(255,255,255,.18); }
.topbar_in { display:flex; align-items:center; justify-content:space-between; height:70px; gap:20px; }
.brandLogo img { height:30px; width:auto;filter: brightness(0) invert(1) }
.nav_main { margin-left:auto; }
.nav_main a { color:#fff; font-size:12px; letter-spacing:.13em; margin-left:26px; text-transform:uppercase; }
.nav_main a.is_on, .nav_main a:hover { color:#e9a63d; }

.cartBtn {
  position:relative; background:none; border:none; cursor:pointer;
  color:#fff; margin-left:28px; padding:4px; display:flex;
}
.cartBtn:hover { color:#e9a63d; }
.cartCount {
  position:absolute; top:-3px; right:-8px;
  background:#e9a63d; color:#1d2027;
  font-size:10px; font-weight:700;
  min-width:18px; height:18px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
}

.bnr_top { background-size:cover; background-position:center 42%; background-color:#2c2f36; }
.bnr_ov { background:linear-gradient(180deg, rgba(20,22,27,.62), rgba(20,22,27,.42)); padding:12.5rem 0 130px; }
.hero-txt { text-align:center; }
.heroLogo { height:96px; width:auto; margin:0 auto; filter:brightness(0) invert(1); }
.heroTag { margin-top:2.1rem; color:#e9a63d; letter-spacing:3px; font-size:14px; font-weight:700; }
.hero_sub { color:#e6e8ec; font-size:11px; letter-spacing:.3em; margin-top:9px; }

.btn_solid {
  display:inline-block; margin-top:30px;
  background:#2f6fd6; color:#fff;
  padding:13px 34px; font-size:12px; letter-spacing:1.7px;
  text-transform:uppercase; font-weight:700;
  border:none; cursor:pointer; font-family:inherit;
}
.btn_solid:hover { background:#2359ae; color:#fff; }
.btn_solid.full { width:100%; margin-top:20px; }
.btn_line {
  display:inline-block; border:2px solid #2f6fd6; color:#2f6fd6;
  padding:11px 28px; font-size:11px; letter-spacing:1.6px;
  text-transform:uppercase; font-weight:700; background:none;
  cursor:pointer; font-family:inherit;
}
.btn_line:hover { background:#2f6fd6; color:#fff; }
.ctrLink { display:table; margin:44px auto 0; }

.eyebrow_txt { color:#c8842a; font-size:11px; letter-spacing:2.4px; text-transform:uppercase; margin-bottom:12px; text-align:center; }
.midhead { font-size:2rem; line-height:1.4; text-align:center; }
.midhead.lft, .lft ~ .eyebrow_txt { text-align:left; }
.about_wr .eyebrow_txt, .tips_wr .eyebrow_txt, .faq_wr .eyebrow_txt { text-align:left; }
.ruleAcc { width:52px; height:3px; background:#e9a63d; margin:18px auto 2.6rem; }
.ruleAcc.lftRule { margin-left:0; margin-right:0; }

.lineup_wr { padding:78px 0 84px; }
.prodGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px 18px; }
.pCard { background:#fff; border:1px solid #e7eaf1; display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s; }
.pCard:hover { transform:translateY(-3px); box-shadow:0 10px 26px rgba(40,50,70,.08); }
.pImg { aspect-ratio:4/3; overflow:hidden; background:#eceef3; }
.pImg img { width:100%; height:100%; object-fit:cover; }
.pBody { padding:20px 20px 22px; display:flex; flex-direction:column; flex:1; }
.pBody h3 { font-size:16px; margin-bottom:7px; }
.pBody p { font-size:13px; color:#6a6f7a; flex:1; }
.pFoot { display:flex; align-items:center; justify-content:space-between; margin-top:18px; }
.price { font-size:18px; font-weight:700; color:#2e323b; }
.addBtn {
  background:none; border:1px solid #c8842a; color:#c8842a;
  padding:8px 15px; font-size:11px; letter-spacing:1.3px; font-weight:700;
  cursor:pointer; font-family:inherit;
}
.addBtn:hover { background:#c8842a; color:#fff; }

.reviews_wr { background:#f4f6fb; padding:76px 0 80px; }
.revGrid { column-count:4; column-gap:18px; }
.rvCard { background:#fff; border:1px solid #e7eaf1; padding:22px 22px 18px; margin-bottom:18px; break-inside:avoid; }
.rvCard p { font-size:13.5px; color:#4a4f59; font-style:italic; }
.rvName { display:block; margin-top:16px; font-weight:700; color:#c8842a; font-size:13px; }
.rvCity { display:block; font-size:12px; color:#7b8090; }

.about_wr { padding:88px 0 90px; }
.about_in { display:flex; gap:60px; align-items:center; }
.ab_txt { width:46%; }
.ab_txt p { color:#565b66; margin-bottom:1.2em; }
.ab_pics { width:54%; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.abBig { grid-column:1/3; height:280px; width:100%; object-fit:cover; }
.abSm, .abSm2 { height:170px; width:100%; object-fit:cover; }

.offer_wr { background:#f4f6fb; padding:76px 0 82px; }
.offGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.offBx { background:#fff; border:1px solid #e7eaf1; padding:26px 24px 26px; }
.offIco { font-size:28px; color:#e9a63d; }
.offBx h4 { font-size:15px; margin:12px 0 8px; }
.offBx p { font-size:13px; color:#6a6f7a; }

.tips_wr { padding:84px 0 86px; }
.tips_in { display:flex; gap:64px; align-items:flex-start; }
.tp_head { width:34%; position:sticky; top:30px; }
.tp_list { width:66%; }
.tpItem { display:flex; gap:22px; padding:22px 0; border-top:1px solid #e7eaf1; }
.tpItem:last-child { border-bottom:1px solid #e7eaf1; }
.tpNo { color:#e9a63d; font-weight:700; font-size:13px; letter-spacing:1px; padding-top:3px; }
.tpItem h5 { font-size:15px; margin-bottom:5px; }
.tpItem p { font-size:13.5px; color:#6a6f7a; }

.team_wr { background:#f4f6fb; padding:74px 0 80px; }
.tmGrid { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:880px; margin:0 auto; }
.tmCard { background:#fff; border:1px solid #e7eaf1; }
.tmCard img { width:100%; height:300px; object-fit:cover; }
.tmTx { padding:22px 24px 26px; }
.tmTx h4 { font-size:17px; }
.tmRole { display:block; color:#c8842a; font-size:11px; letter-spacing:1.6px; text-transform:uppercase; font-weight:700; margin:4px 0 11px; }
.tmTx p { font-size:13.5px; color:#6a6f7a; }

.faq_wr { padding:86px 0 92px; }
.faq_in { display:flex; gap:60px; align-items:flex-start; }
.fq_left { width:36%; }
.fq_note { color:#6a6f7a; margin-bottom:22px; font-size:14px; }
.fq_right { width:64%; }
.fqItem { border-bottom:1px solid #e7eaf1; }
.fqQ {
  width:100%; background:none; border:none; cursor:pointer;
  font-family:inherit; font-size:15px; font-weight:700; color:#2e323b;
  text-align:left; padding:19px 0; display:flex; justify-content:space-between; align-items:center;
}
.fqQ span { color:#c8842a; transition:transform .2s; }
.fqItem.open .fqQ span { transform:rotate(180deg); }
.fqA { max-height:0; overflow:hidden; transition:max-height .25s ease; }
.fqItem.open .fqA { max-height:220px; }
.fqA p { font-size:13.5px; color:#6a6f7a; padding-bottom:19px; }

.footWave { height:70px; background:#2f6fd6; border-radius:100% 100% 0 0 / 70px 70px 0 0; margin-bottom:-1px; }
.contact_foot { background:#2f6fd6; color:#fff; padding:38px 0 4.5rem; }
.contact_foot_in { display:flex; gap:56px; }
.cf_left { width:50%; }
.cf_left h2 { font-size:2.2rem; color:#fff; margin-bottom:14px; }
.cf_left > p { color:#e3ebf9; margin-bottom:32px; max-width:430px; }
.cf_right { width:50%; padding-top:60px; }
.inforow { display:flex; align-items:center; margin-bottom:1.4rem; }
.ico { width:44px; height:44px; border-radius:50%; background:#fff; color:#2f6fd6; display:flex; align-items:center; justify-content:center; margin-right:17px; flex-shrink:0; }
.ico .material-icons-outlined { font-size:21px; }
.infoTxt { font-size:14px; color:#fff; }
.infoTxt a { color:#fff; font-size:19px; font-weight:700; }
.infoLbl { display:block; color:#ffd58f; font-size:10px; letter-spacing:1.6px; text-transform:uppercase; font-weight:700; }

.formLbl { color:#ffd58f; font-size:10px; letter-spacing:1.6px; text-transform:uppercase; font-weight:700; margin-bottom:11px; }
.msg_form input, .msg_form textarea,
#orderForm input, #orderForm textarea {
  width:100%; background:#fff; border:1px solid transparent;
  padding:12px 14px; margin-bottom:6px;
  font-family:inherit; font-size:13px; color:#33373f;
}
.msg_form textarea, #orderForm textarea { height:110px; resize:vertical; }
.hp_field { position:absolute; left:-9999px; opacity:0; height:0; }
.errTx { display:block; color:#ffd58f; font-size:11.5px; min-height:16px; margin-bottom:5px; }
#orderForm .errTx { color:#c0392b; }
.sendlink {
  background:none; border:none; color:#ffd58f;
  font-size:11px; letter-spacing:1.6px; text-transform:uppercase;
  font-weight:700; font-family:inherit; cursor:pointer; padding:8px 0;
}
.sendlink:hover { color:#fff; }
.sendlink:disabled { opacity:.5; cursor:wait; }

.subfoot { background:#3c4250; color:#c3c8d2; font-size:12px; padding:16px 0; }
.subfoot .wrap { display:flex; align-items:center; gap:16px; flex-wrap:wrap; justify-content:center; }
.subLogo { height:20px; width:auto; filter:brightness(0) invert(1); opacity:.75; }
.subfoot a { color:#c3c8d2; }
.subfoot a:hover { color:#e9a63d; }

.cartOv { position:fixed; inset:0; background:rgba(18,20,25,.55); opacity:0; visibility:hidden; transition:.2s; z-index:40; }
.cartOv.on { opacity:1; visibility:visible; }
.cartPop {
  position:fixed; left:0; top:15vh;
  width:70vw; height:70vh;
  background:#fff; z-index:41;
  display:flex; box-shadow:0 24px 60px rgba(20,25,40,.28);
  transform:translateX(-102%); transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.cartPop.on { transform:translateX(0); }
.cartAside {
  width:300px; flex-shrink:0; background:#2f6fd6; color:#fff;
  padding:34px 28px; display:flex; flex-direction:column;
}
.cartLogo { height:26px; width:auto; filter:brightness(0) invert(1); object-fit: contain}
.cartAsideTx { font-size:13px; color:#dbe6f8; margin-top:22px; }
.cartTotals { margin-top:auto; border-top:1px solid rgba(255,255,255,.28); padding-top:18px; }
.ttLbl { display:block; font-size:10px; letter-spacing:1.6px; text-transform:uppercase; color:#ffd58f; font-weight:700; }
.ttVal { font-size:30px; font-weight:700; }
.clearCart { background:none; border:none; color:#cfdcf3; font-size:11px; letter-spacing:1.4px; text-transform:uppercase; cursor:pointer; font-family:inherit; margin-top:12px; padding:6px 0; }
.clearCart:hover { color:#fff; }
.cartMain { flex:1; padding:30px 32px; overflow-y:auto; }
.cartHead { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.cartHead h3 { font-size:22px; }
.closeX { background:none; border:none; cursor:pointer; color:#6a6f7a; }
.closeX:hover { color:#22262e; }
.cartEmpty { color:#8a8f9b; font-size:14px; padding:26px 0; }
.cartEmpty.shake { color:#c0392b; animation:sh .3s 2; }
@keyframes sh { 25% { transform:translateX(-5px); } 75% { transform:translateX(5px); } }

.ciRow { display:flex; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid #eceef3; }
.ciPic { width:74px; height:60px; flex-shrink:0; background:#eceef3; }
.ciPic img { width:100%; height:100%; object-fit:cover; }
.ciTx { flex:1; }
.ciTx h4 { font-size:14px; }
.ciPrice { font-size:12px; color:#8a8f9b; }
.ciQty { display:flex; align-items:center; border:1px solid #e0e3ea; }
.ciQty button { width:30px; height:30px; background:none; border:none; cursor:pointer; font-size:15px; color:#4a4f59; font-family:inherit; }
.ciQty button:hover { background:#f2f4f8; }
.ciQty span { width:32px; text-align:center; font-size:13px; }
.ciSum { width:92px; text-align:right; font-weight:700; font-size:14px; }
.ciDel { background:none; border:none; cursor:pointer; color:#b3b8c2; display:flex; }
.ciDel:hover { color:#c0392b; }

.ordOv, .tyOv { position:fixed; inset:0; background:rgba(18,20,25,.6); z-index:60; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:.2s; padding:20px; }
.ordOv.on, .tyOv.on { opacity:1; visibility:visible; }
.ordBox { background:#fff; width:100%; max-width:470px; padding:32px 34px 30px; max-height:90vh; overflow-y:auto; }
.ordBox h3 { font-size:21px; }
.ordSum { color:#c8842a; font-weight:700; margin:6px 0 20px; font-size:14px; }
.ordBtns { display:flex; gap:12px; margin-top:12px; }
.ordBtns .btn_solid, .ordBtns .btn_line { margin-top:0; flex:1; }

.tyBox { background:#fff; width:100%; max-width:400px; padding:38px 34px 34px; text-align:center; }
.tyIco { font-size:26px; color:#fff; background:#2f6fd6; border-radius:50%; padding:11px; }
.tyBox h3 { font-size:20px; margin:16px 0 8px; }
.tyBox p { color:#6a6f7a; font-size:14px; }
.tyBox .btn_solid { margin-top:22px; }

.ckBar {
  position:fixed; left:18px; bottom:18px; z-index:70;
  width:330px; background:#fff; border:1px solid #e0e3ea;
  padding:18px 20px 16px; box-shadow:0 14px 34px rgba(25,30,45,.16);
  transform:translateY(140%); transition:transform .3s ease;
}
.ckBar.on { transform:translateY(0); }
.ckTx { font-size:12.5px; color:#565b66; line-height:1.65; }
.ckSet { display:none; margin-top:12px; }
.ckSet.open { display:block; }
.ckSet label { display:block; font-size:12.5px; color:#4a4f59; padding:3px 0; }
.ckSet input { margin-right:8px; }
.ckBtns { display:flex; align-items:center; gap:10px; margin-top:14px; }
.ckLink { background:none; border:none; color:#8a8f9b; font-size:11px; letter-spacing:1.2px; text-transform:uppercase; cursor:pointer; font-family:inherit; margin-right:auto; }
.ckLink:hover { color:#22262e; }
.ckDecline, .ckAccept {
  border:none; cursor:pointer; font-family:inherit;
  font-size:11px; letter-spacing:1.3px; text-transform:uppercase; font-weight:700;
  padding:9px 16px;
}
.ckDecline { background:#eceef3; color:#4a4f59; }
.ckDecline:hover { background:#dfe2e9; }
.ckAccept { background:#2f6fd6; color:#fff; }
.ckAccept:hover { background:#2359ae; }

@media (max-width: 1000px) {
  .prodGrid, .offGrid { grid-template-columns:1fr 1fr; }
  .revGrid { column-count:2; }
  .about_in, .tips_in, .faq_in, .contact_foot_in { display:block; }
  .ab_txt, .ab_pics, .tp_head, .tp_list, .fq_left, .fq_right, .cf_left, .cf_right { width:100%; }
  .ab_pics { margin-top:30px; }
  .tp_head { position:static; margin-bottom:20px; }
  .fq_left { margin-bottom:26px; }
  .cf_right { padding-top:26px; }
  .cartPop { width:100vw; height:88vh; top:12vh; }
  .cartAside { width:230px; padding:24px 20px; }
}

@media (max-width: 700px) {
  .topbar_in { height:auto; flex-wrap:wrap; padding:12px; }
  .nav_main { order:3; width:100%; margin:8px 0 0; text-align:center; }
  .nav_main a { margin:0 8px; font-size:11px; }
  .cartBtn { margin-left:auto; }
  .bnr_ov { padding:15rem 0 70px; }
  .heroLogo { height:66px; }
  .midhead { font-size:1.45rem; }
  .prodGrid, .offGrid, .tmGrid { grid-template-columns:1fr; }
  .revGrid { column-count:1; }
  .abBig, .abSm, .abSm2 { height:200px; }
  .cartPop { flex-direction:column-reverse; height:92vh; top:8vh; }
  .cartAside { width:100%; }
  .cartTotals { margin-top:14px; }
  .ckBar { left:10px; right:10px; width:auto; }
}

.innerPg .topbar_wrap { position:relative; background:#2b3040; border-bottom:none; }
.topbar_inner .brandLogo img { height:28px;  }

.pgHead { background:#f4f6fb; padding:56px 0 50px; border-bottom:1px solid #e7eaf1; }
.pgHead .bighead { font-size:2.3rem; line-height:1.34; }
.lftEy { text-align:left; }
.pgHead .ruleAcc { margin-bottom:0; }

.legal_wr { padding:54px 0 76px; }
.legalCol { max-width:790px; }
.legalCol > p { color:#565b66; margin-bottom:1.15em; font-size:14.5px; }
.legalCol h3 { font-size:16px; margin:30px 0 9px; }
.legalDate { color:#9aa0ac; font-size:12.5px; margin-top:34px; }

.txtSec { padding:66px 0 70px; }
.txtSec.grayBg { background:#f4f6fb; }
.secTwo { display:flex; gap:56px; align-items:center; }
.secTwo.rev { flex-direction:row-reverse; }
.secTx { width:56%; }
.secTx p { color:#565b66; margin-bottom:1.1em; font-size:14.5px; }
.secPic { width:44%; }
.secPic img { width:100%; height:340px; object-fit:cover; }

.faqPgIn { display:flex; gap:58px; align-items:flex-start; }
.fqp_side { width:35%; }
.fqp_side p { color:#6a6f7a; font-size:14px; margin-bottom:1em; }
.fqp_list { width:65%; }

.footNote { color:#e3ebf9; font-size:14px; margin-bottom:20px; }
.lightLine { border-color:#fff; color:#fff; }
.lightLine:hover { background:#fff; color:#2f6fd6; }

@media (max-width: 1000px) {
  .secTwo, .secTwo.rev, .faqPgIn { display:block; }
  .secTx, .secPic, .fqp_side, .fqp_list { width:100%; }
  .secPic { margin-top:26px; }
  .fqp_side { margin-bottom:24px; }
}
@media (max-width: 700px) {
  .pgHead { padding:36px 0 32px; }
  .pgHead .bighead { font-size:1.6rem; }
  .secPic img { height:220px; }
}

.bnr_top { background-image:url(../res/bedroom-hero-wide.webp); }
