/* Homepage art direction: generous photography, architectural type, warm stone tones. */
.home-page { --gold: #c4a45d; --gold-light: #e2ce9b; --ink: #252a25; --paper: #f6f4ed; background: var(--paper); color: var(--ink); }
.home-page h2,.home-page h3 { font-family: 'DM Sans',sans-serif; font-weight: 500; letter-spacing: -.045em; }
.home-page #main-nav { height: 86px; padding: 0 3.5%; background: #fff; box-shadow: none; border-bottom: 1px solid #e4e4dc; }
.home-page #main-nav .logo img { height: 57px; }
.home-page #main-nav .nav-links a { font-size: .7rem; letter-spacing: .09em; }
.home-page #main-nav .nav-quote { padding: .85rem 1.3rem; border-radius: 0; background: var(--ink); color: #fff; }
.home-page header.design-hero { display: grid; grid-template-columns: .9fr 1.1fr; margin-top: 86px; min-height: 0; padding: 0; background: var(--ink); overflow: hidden; text-align: left; }
.home-page header.design-hero::before,.home-page header.design-hero::after { display: none; }
.design-hero-copy { padding: clamp(2rem,5vw,5rem); display: flex; flex-direction: column; justify-content: center; }
.design-eyebrow { color: #d5bb7f; font-size: .65rem; letter-spacing: .2em; font-weight: 500; text-transform: uppercase; }
.design-hero h1 { font-family: 'DM Sans',sans-serif; font-size: clamp(3.6rem,6.7vw,7rem); line-height: 1.02; letter-spacing: -.065em; font-weight: 500; color: #fff; margin: 2rem 0 1.6rem; }
.design-hero h1 em { font-family: 'Cormorant Garamond',serif; color: #dac087; font-weight: 400; letter-spacing: -.035em; font-size: 1.2em; }
.design-hero-copy>p { color: #d0d2c9; max-width: 360px; font-size: .95rem; line-height: 1.85; }
.design-hero-actions { display: flex; gap: 1.5rem; flex-wrap: wrap; align-items: center; margin-top: 2rem; }
.design-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; background: #d6ba78; color: #20261f; padding: 1rem 1.3rem; text-decoration: none; font-size: .8rem; font-weight: 600; }
.design-button:hover { background: #e9d5a9; }
.design-button span { font-size: 1.25rem; }
.design-text-link { color: #fff; text-decoration: none; border-bottom: 1px solid #ffffff66; padding: .5rem 0; font-size: .8rem; }
.design-hero-note { margin-top: 2.5rem; font-size: .65rem; color: #bfc5b9; display: flex; align-items: center; gap: .6rem; }
.design-dot { height: 6px; width: 6px; border-radius: 50%; background: #d6ba78; flex: none; }
.design-hero-visual { min-height: 600px; position: relative; overflow: hidden; }
.design-hero-visual>img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 52% center; }
.design-hero-visual::after { content: ''; position: absolute; inset: 60% 0 0; background: linear-gradient(transparent,#111b16b3); pointer-events: none; }
.design-image-caption { position: absolute; bottom: 2rem; left: 2rem; right: 2rem; z-index: 1; display: flex; gap: 1rem; justify-content: space-between; align-items: end; color: #fff; }
.design-image-caption>span { font-size: 1.3rem; letter-spacing: -.035em; }
.design-image-caption>a { color: #fff; font-size: .65rem; text-underline-offset: 5px; }
.design-image-label { position: absolute; right: 1.5rem; top: 1.7rem; color: #fff; padding: .5rem .7rem; background: #252a25b3; font-size: .55rem; letter-spacing: .18em; }
.design-project-selector { grid-column: 1/-1; display: grid; grid-template-columns: .9fr 1fr 1fr 1fr; border-top: 1px solid #ffffff26; color: #fff; }
.design-selector-label { padding: 1.7rem 2rem; color: #c1c4b9; font-size: .7rem; display: flex; align-items: center; }
.design-project-selector button { color: #eee; background: transparent; border: 0; border-left: 1px solid #ffffff26; padding: 1.5rem; display: flex; align-items: center; gap: 1rem; text-align: left; cursor: pointer; font: inherit; font-size: .75rem; transition: background .2s; }
.design-project-selector button>span:first-child { font-size: .6rem; color: #d6ba78; }
.design-project-selector button>span:last-child { margin-left: auto; }
.design-project-selector button[aria-pressed=true] { background: #3c443a; box-shadow: inset 0 -3px #d6ba78; }
.design-project-selector button:hover { background: #465040; }
.home-page .assist-strip { background: #edece4; padding: .2rem 4%; border: 0; }
.home-page .assist-card { border-color: #d9d9cd; padding: 1.4rem 1.5rem; gap: 1rem; }
.home-page .assist-card strong { font-family: 'DM Sans',sans-serif; font-size: .85rem; font-weight: 500; }
.home-page .assist-card small { font-size: .72rem; max-width: 270px; }
.home-page .assist-icon { background: transparent; width: 32px; color: #74795d; }
.home-page #products { padding: 6rem 4%; background: var(--paper); }
.home-page #products .section-heading { text-align: left; display: grid; grid-template-columns: 1.3fr 1fr; align-items: end; gap: 1rem 3rem; }
.home-page #products .section-label { grid-column: 1/-1; justify-content: flex-start; font-size: .6rem; color: #626747; }
.home-page #products h2 { font-size: clamp(2.5rem,4.5vw,4.5rem); line-height: 1.1; max-width: 640px; }
.home-page #products .heading-sub { margin: 0; text-align: left; font-size: .9rem; max-width: 360px; justify-self: end; }
.home-page .products-list { max-width: none; gap: 1.25rem; }
.home-page .product-full,.home-page .product-full.reverse { border: 0; border-radius: 0; background: transparent; }
.home-page .product-full-image { overflow: hidden; }
.home-page .product-full-image img { height: 370px; transition: transform .6s; }
.home-page .product-full:hover .product-full-image img { transform: scale(1.035); }
.home-page .product-full:last-child .product-full-image img { background: #e6e4db; padding: 2.5rem; }
.home-page .product-full-content { padding: 1.5rem 0 0; align-self: stretch; }
.home-page .product-full-content .section-label { margin-bottom: .65rem; font-size: .55rem; }
.home-page .product-full-content h3 { font-size: 1.65rem; }
.home-page .product-full-content p { font-size: .8rem; line-height: 1.75; max-width: 330px; color: #62675c; }
.home-page .product-btn { background: none; color: var(--ink); padding: .8rem 0; border-radius: 0; border: 0; border-top: 1px solid #d7d9ce; width: 100%; box-shadow: none; justify-content: space-between; font-size: .65rem; }
.home-page .product-btn:hover { background: none; color: #677347; box-shadow: none; transform: none; }
.home-page .brand-shortcuts { margin: 0 4% 5rem; padding: 1.4rem 2rem; background: #e9e9df; justify-content: flex-start; gap: 2rem; }
.home-page .brand-shortcuts span { margin-right: auto; font-size: .8rem; }
.home-page .brand-shortcuts a { font-size: 1rem; font-weight: 500; border: 0; }
.home-page .showcase-band { max-width: none; background: #262d27; margin: 0; padding: 5rem 4%; }
.home-page .showcase-band-head { border: 0; padding: 0; align-items: end; margin-bottom: 3rem; }
.home-page .showcase-band-head h2 { color: #f7f5ec; font-size: clamp(2.4rem,4.4vw,4.5rem); line-height: 1.12; }
.home-page .showcase-band-head p { color: #c2c9bb; max-width: 310px; text-align: left; font-size: .85rem; }
.home-page .showcase-grid { grid-template-columns: 1.3fr 1fr; gap: 1.5rem; }
.home-page .showcase-panel { min-height: 510px; box-shadow: none; }
.home-page .showcase-panel:last-child { margin-top: 5rem; }
.home-page .showcase-panel-body h3 { font-size: 2.25rem; color: #fff; }
.home-page .showcase-panel-body p { font-size: .8rem; max-width: 330px; }
.home-page #services { background: #e8e9df; max-width: none; margin: 0; padding: 5rem 4%; box-shadow: none; }
.home-page .service-card { box-shadow: none; background: #f5f5ef; border: 0; border-radius: 0; }
.home-page .help-hub { margin: 0; padding: 5rem 4%; max-width: none; }
.home-page .help-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.home-page .help-card { border-radius: 0; box-shadow: none; }
.home-page #about { margin: 0; padding: 5rem 4%; max-width: none; background: #eae6dc; }
.home-page #about h2 { font-size: clamp(2rem,3.5vw,3.6rem); line-height: 1.15; }
.home-page #about p { font-size: .85rem; }
.home-page #testimonials { padding: 5rem 4%; background: #fff; }
.home-page #testimonials::before { display: none; }
.home-page .project-planner { padding: 5rem 4%; background: #29362d; }
.home-page .planner-step { border-radius: 0; background: #ffffff08; }
.home-page #contact { background: #f2f1e9; padding: 5rem 4%; }
.home-page #contact::before { display: none; }
.home-page #contact h2 { font-size: clamp(2.8rem,5vw,5rem); line-height: 1.1; }
.home-page #contact form { border-radius: 0; box-shadow: none; }
.home-page footer { background: #202620; }
.home-page .float-btn { box-shadow: 0 3px 15px #0002; }
@media(max-width:1000px) {
  .home-page #main-nav { height: 76px; }
  .home-page #main-nav .logo img { height: 48px; }
  .home-page header.design-hero { margin-top: 76px; grid-template-columns: 1fr 1fr; }
  .design-hero-copy { padding: 2.5rem 1.6rem; }
  .design-hero h1 { font-size: 4rem; }
  .design-hero-visual { min-height: 570px; }
  .design-project-selector { grid-template-columns: repeat(3,1fr); }
  .design-selector-label { display: none; }
  .design-image-caption { flex-direction: column; align-items: flex-start; left: 1.2rem; }
  .home-page .product-full-image img { height: 290px; }
}
@media(max-width:700px) {
  .home-page header.design-hero { grid-template-columns: 1fr; }
  .design-hero-copy { padding: 3rem 1.5rem; }
  .design-hero h1 { font-size: clamp(3.8rem,15vw,5.5rem); margin: 1.3rem 0; }
  .design-hero-copy>p { font-size: .85rem; }
  .design-hero-actions { gap: 1rem; }
  .design-hero-note { margin-top: 1.5rem; }
  .design-hero-visual { min-height: 400px; }
  .design-image-caption { flex-direction: row; align-items: center; }
  .design-image-caption>span { font-size: 1.05rem; }
  .design-project-selector button { padding: 1rem .7rem; flex-wrap: wrap; gap: .5rem; font-size: .65rem; line-height: 1.4; }
  .design-project-selector button>span:first-child { width: 100%; }
  .design-project-selector button>span:last-child { display: none; }
  .home-page .assist-card { padding: 1.1rem .5rem; }
  .home-page #products { padding: 3.5rem 1.3rem; }
  .home-page #products .section-heading { grid-template-columns: 1fr; gap: 1rem; }
  .home-page #products h2 { font-size: 2.8rem; }
  .home-page #products .heading-sub { justify-self: start; }
  .home-page .product-full-image img { height: 340px; }
  .home-page .product-full-content { padding: 1.2rem 0 1.5rem; }
  .home-page .brand-shortcuts { margin: 0 1.3rem 3rem; padding: 1rem; gap: .5rem 1.5rem; }
  .home-page .brand-shortcuts span { width: 100%; }
  .home-page .showcase-band { padding: 3.5rem 1.3rem; }
  .home-page .showcase-grid { grid-template-columns: 1fr; }
  .home-page .showcase-panel { min-height: 430px; }
  .home-page .showcase-panel:last-child { margin-top: 0; }
  .home-page .help-card-grid { grid-template-columns: 1fr; }
  .home-page #about,.home-page #contact,.home-page #services,.home-page .help-hub,.home-page .project-planner { padding: 3.5rem 1.3rem; }
  .home-page #contact form { padding: 1.2rem; }
}
/* Delivery and installation support. */
.home-page #services.services-editorial{padding:5.5rem 4%;background:#eeeee5}
.service-intro{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem}
.service-eyebrow{font-size:.62rem;letter-spacing:.17em;text-transform:uppercase;color:#737957;font-weight:500}
.service-intro h2{font-size:clamp(2.5rem,4.3vw,4.5rem);line-height:1.12;letter-spacing:-.055em;margin-top:1rem}
.service-intro>p{max-width:330px;font-size:.85rem;color:#62675c;line-height:1.8}
.service-editorial-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem;align-items:stretch}
.delivery-panel{background:#29362d;color:#fff;padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column}
.service-panel-top{display:flex;align-items:center;justify-content:space-between;color:#d6ba78;font-size:.65rem;letter-spacing:.16em}
.service-panel-top i{font-size:1.4rem}
.home-page .delivery-panel h3{font-size:clamp(2.6rem,3.8vw,4rem);letter-spacing:-.05em;line-height:1.15;color:white;margin:2.5rem 0 1.5rem}
.delivery-panel h3 em{font-family:'Cormorant Garamond',serif;color:#d6ba78;font-weight:400;font-size:1.15em}
.delivery-panel>p{font-size:.9rem;color:#d0d5c9;max-width:410px;line-height:1.85}
.delivery-details{margin:2rem 0}
.delivery-details>div{display:grid;grid-template-columns:110px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #ffffff26;font-size:.76rem}
.delivery-details dt{color:#d6ba78}.delivery-details dd{margin:0;color:#eee}
.service-action{display:flex;align-items:center;justify-content:space-between;gap:2rem;color:inherit;text-decoration:none;font-size:.8rem;padding:1rem 0;border-bottom:1px solid #a5ab98}
.delivery-panel .service-action{background:#d6ba78;color:#252a25;padding:1rem 1.2rem;border:0;margin-top:auto}
.delivery-panel small{color:#b8c1b2;font-size:.65rem;line-height:1.7;margin-top:1rem}
.contractor-panel{background:#f9f8f2;display:flex;flex-direction:column}
.contractor-panel>img{width:100%;height:270px;object-fit:cover;object-position:center 43%}
.contractor-panel-copy{padding:2rem 2.5rem;display:flex;flex-direction:column;flex:1}
.home-page .contractor-panel h3{font-size:clamp(2rem,2.7vw,3rem);letter-spacing:-.045em;line-height:1.12;margin:1rem 0}
.contractor-panel p{color:#62675c;font-size:.85rem;line-height:1.85;margin-bottom:1rem}
.contractor-panel .service-action{margin-top:auto}
.service-next-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;border-top:1px solid #ced1c4;margin-top:3rem;padding-top:2rem}
.service-next-steps>div{display:flex;gap:1rem}.service-next-steps>div>span{font-size:.7rem;color:#7b805d;padding-top:.3rem}.service-next-steps p{font-size:.72rem;color:#62675c}.service-next-steps strong{display:block;font-size:.85rem;color:#252a25;font-weight:500;margin-bottom:.25rem}
@media(max-width:800px){.service-intro{flex-direction:column;align-items:flex-start;gap:1.5rem}.service-editorial-grid{grid-template-columns:1fr}.delivery-panel{padding:2.2rem}.service-intro>p{max-width:500px}}
@media(max-width:600px){.home-page #services.services-editorial{padding:3.5rem 1.3rem}.service-intro h2{font-size:2.7rem}.delivery-panel,.contractor-panel-copy{padding:1.8rem}.delivery-details>div{grid-template-columns:85px 1fr;gap:.75rem}.service-next-steps{grid-template-columns:1fr;gap:1.3rem}.contractor-panel>img{height:250px}}
