
:root{
  --turq:#20a7a7;
  --turq2:#7fd6d0;
  --deep:#123842;
  --deep2:#0c262c;
  --ink:#1b2525;
  --cream:#f6f1e8;
  --paper:#fffdf8;
  --white:#fff;
  --muted:#68736f;
  --line:#d9ded8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:"DM Sans",sans-serif;line-height:1.6;
}
img{width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,92%);margin:auto}
.site-header{
  position:fixed;top:0;left:0;width:100%;z-index:50;
  background:rgba(246,241,232,.94);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.07)
}
.nav-wrap{height:80px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}
.brand-gem{font-size:30px;color:var(--turq);line-height:1}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy strong{font-family:"Playfair Display",serif;font-size:21px;letter-spacing:.04em}
.brand-copy small{font-size:10px;letter-spacing:.2em;margin-top:6px}
nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:700}
nav a:hover{color:var(--turq)}
.nav-cta{background:var(--deep);color:#fff;padding:11px 16px;border-radius:999px}
.menu-button{display:none;border:0;background:none;font-size:24px}

.hero{
  min-height:820px;position:relative;display:flex;align-items:center;color:#fff;
  background:url("assets/kitchen_oak.jpg") center/cover;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(8,28,33,.92) 0%,rgba(8,28,33,.7) 48%,rgba(8,28,33,.15) 100%);
}
.hero-content{position:relative;z-index:2;padding-top:80px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin:0 0 14px}
.eyebrow.light{color:#bdebea}.eyebrow.teal{color:var(--turq)}
h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.08;margin-top:0}
h1{font-size:clamp(54px,7vw,94px);max-width:950px;margin-bottom:24px}
h1 span{color:var(--turq2)}
.hero-copy{font-size:19px;max-width:720px;color:rgba(255,255,255,.88)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:31px 0}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 22px;border-radius:999px;border:1px solid transparent;
  font-weight:700;cursor:pointer
}
.primary{background:var(--turq);color:#fff}
.ghost{border-color:rgba(255,255,255,.55);color:#fff}
.dark{background:var(--deep);color:#fff}
.light-btn{background:#fff;color:var(--deep)}
.hero-tags{display:flex;gap:10px;flex-wrap:wrap}
.hero-tags span{font-size:12px;border:1px solid rgba(255,255,255,.35);padding:8px 11px;border-radius:999px}

.trust-strip{background:var(--paper);border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.trust-grid div{padding:25px 28px}
.trust-grid div+div{border-left:1px solid var(--line)}
.trust-grid strong{display:block;font-size:14px}
.trust-grid span{display:block;color:var(--muted);font-size:13px;margin-top:4px}

.section{padding:110px 0}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}
.section-head>div{max-width:760px}
.section h2,.contact-section h2,.process h2{font-size:clamp(40px,4.8vw,64px);margin:10px 0 0}
.section-note{max-width:360px;color:var(--muted);font-size:15px}
.service-grid.six{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-grid article{background:var(--paper);padding:32px;min-height:310px}
.service-grid article>span{color:var(--turq);font-weight:700;font-size:13px}
.service-grid h3{font-size:27px;margin:50px 0 12px}
.service-grid p{color:var(--muted);font-size:15px}

.materials{background:#fff}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.materials-image{position:relative}
.materials-image img{min-height:590px;object-fit:cover}
.materials-badge{
  position:absolute;left:22px;bottom:22px;background:var(--deep);color:#fff;
  padding:15px 18px;font-size:11px;letter-spacing:.12em
}
.materials-badge strong{font-size:15px}
.materials-copy>p{color:var(--muted);font-size:17px}
.material-list{margin:30px 0 34px;border-top:1px solid var(--line)}
.material-list div{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}
.material-list span{font-size:14px;color:var(--muted)}

.gallery-section{background:var(--cream)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-grid figure{margin:0;position:relative;min-height:300px;overflow:hidden;background:#ddd}
.gallery-grid figure.large{grid-column:span 2;grid-row:span 2;min-height:614px}
.gallery-grid img{height:100%;object-fit:cover;transition:transform .3s ease}
.gallery-grid figure:hover img{transform:scale(1.025)}
.gallery-grid figcaption{
  position:absolute;left:16px;bottom:16px;background:rgba(12,38,44,.88);
  color:#fff;padding:8px 11px;font-size:12px;border-radius:4px
}

.process{background:var(--deep);color:#fff;padding:105px 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:45px}
.steps article{border:1px solid rgba(255,255,255,.17);padding:28px;min-height:260px}
.steps span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--turq);font-weight:700}
.steps h3{font-size:25px;margin:40px 0 10px}
.steps p{color:rgba(255,255,255,.72);font-size:14px}

.why{background:#fff}
.why-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.why-list{border-top:1px solid var(--line)}
.why-list div{padding:21px 0;border-bottom:1px solid var(--line)}
.why-list strong{font-size:18px}
.why-list p{margin:6px 0 0;color:var(--muted)}

.contact-section{background:var(--deep2);color:#fff;padding:110px 0}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}
.contact-intro{color:rgba(255,255,255,.75);max-width:520px}
.contact-details{display:grid;gap:14px;margin:34px 0}
.contact-details span{display:block;color:rgba(255,255,255,.5);font-size:11px;letter-spacing:.16em}
.contact-details strong{font-size:17px}
form{background:rgba(255,255,255,.08);padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:17px}
label{font-size:13px;font-weight:700}
input,select,textarea{
  width:100%;margin-top:7px;padding:13px;border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08);color:#fff;font:inherit
}
select option{color:#111}
textarea{resize:vertical}
.full{grid-column:1/-1}

footer{background:#091b20;color:#fff;padding:34px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .7fr 1fr;gap:22px;align-items:center}
.footer-grid p{font-size:12px;color:rgba(255,255,255,.65);margin:0}
.footer-brand .brand-copy strong{font-size:17px}
.legal-note{border-top:1px solid rgba(255,255,255,.1);margin-top:24px;padding-top:15px;color:rgba(255,255,255,.42);font-size:11px}

@media(max-width:950px){
  nav{display:none;position:absolute;top:80px;left:0;width:100%;background:var(--cream);padding:25px 4%;flex-direction:column;align-items:flex-start}
  nav.open{display:flex}.menu-button{display:block}
  .service-grid.six{grid-template-columns:1fr 1fr}
  .split,.why-grid,.contact-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .section-head{display:block}
  .section-note{max-width:600px;margin-top:18px}
}
@media(max-width:620px){
  .hero{min-height:730px}.hero h1{font-size:50px}
  .trust-grid,.service-grid.six,.gallery-grid,.steps,form,.footer-grid{grid-template-columns:1fr}
  .trust-grid div+div{border-left:0;border-top:1px solid var(--line)}
  .gallery-grid figure.large{grid-column:auto;grid-row:auto;min-height:360px}
  .gallery-grid figure{min-height:330px}
  .section{padding:78px 0}.process,.contact-section{padding:78px 0}
  .full{grid-column:auto}
}

/* Official Turquoise Home Design branding and connected customer resources */
.official-logo{
  height:66px;
  width:auto;
  object-fit:contain;
  display:block;
}
.site-header .brand{height:72px}
.footer-logo{
  height:72px;
  background:#fff;
  padding:5px;
  border-radius:4px;
}
.resource-actions{display:flex;gap:12px;flex-wrap:wrap}
.outline-dark{
  color:var(--deep);
  border-color:var(--deep);
  background:transparent;
}
.consult-card{
  background:#fff;
  color:var(--ink);
  padding:42px;
  box-shadow:0 22px 60px rgba(0,0,0,.18);
}
.consult-card h3{
  font-size:34px;
  margin:8px 0 16px;
}
.consult-card>p:not(.eyebrow){color:var(--muted)}
.wide-btn{width:100%;margin-top:10px}
.or-line{
  display:flex;align-items:center;gap:12px;color:#8a9390;
  margin:14px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.12em
}
.or-line:before,.or-line:after{content:"";height:1px;background:#d8ddda;flex:1}
.languages{text-align:center;margin:20px 0 0!important;font-size:14px}
@media(max-width:620px){
  .official-logo{height:58px}
  .consult-card{padding:27px}
  .resource-actions{flex-direction:column}
}

.product-showcase{background:#fff}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product-grid article{border:1px solid var(--line);background:var(--paper);padding:30px;min-height:245px}.product-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(32,167,167,.12);color:var(--turq);font-size:20px;margin-bottom:32px}.product-grid h3{font-size:25px;margin-bottom:10px}.product-grid p{color:var(--muted);font-size:14px}.product-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:19px 0}.faq-list summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none}.faq-list details p{color:var(--muted);font-size:14px}.mobile-quickbar{display:none}@media(max-width:950px){.product-grid{grid-template-columns:1fr 1fr}.faq-grid{grid-template-columns:1fr}}@media(max-width:700px){body{padding-bottom:70px}.hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.hero-actions .btn{width:100%}.product-grid{grid-template-columns:1fr}.mobile-quickbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:80}.mobile-quickbar a{padding:15px 10px;text-align:center;font-weight:700;font-size:13px}.mobile-quickbar a:first-child{background:var(--deep);color:#fff}.mobile-quickbar a:last-child{background:var(--turq);color:#fff}}
