:root{--ink:#222728;--charcoal:#34393b;--soft:#ececeb;--paper:#f7f7f4;--white:#fff;--accent:#d7c3a0;--line:#d8d9d6;--max:1240px;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.site-header{height:96px;padding:0 max(28px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:36px;background:var(--charcoal);color:var(--white);position:sticky;top:0;z-index:20;box-shadow:0 8px 30px #0001}.brand{display:block;margin-right:auto}.brand img{width:222px;height:74px;object-fit:contain;filter:grayscale(1);mix-blend-mode:screen}.site-header nav{display:flex;gap:30px;align-items:center}.site-header nav a{text-decoration:none;font-size:.89rem;letter-spacing:.04em}.site-header nav a:hover{color:var(--accent)}.header-cta{border:1px solid #ffffff66;text-decoration:none;padding:11px 19px;font-weight:700}.menu-button{display:none;background:transparent;color:white;border:1px solid #ffffff55;padding:9px 13px;font:inherit}.hero{min-height:720px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);max-width:1440px;margin:auto;background:var(--soft)}.hero-copy{padding:100px max(44px,8vw) 72px max(44px,calc((100vw - var(--max))/2));align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:700;font-size:.75rem;margin:0 0 18px;color:#63696a}.hero h1,.section h2{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(3.3rem,6vw,6.2rem);max-width:760px}.intro{font-size:1.18rem;max-width:660px;margin:30px 0 34px;color:#4f5556}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;text-decoration:none;border:1px solid var(--ink);font-weight:700;font-size:.9rem;letter-spacing:.02em;cursor:pointer}.button.primary{background:var(--ink);color:white}.button.primary:hover{background:#090b0b}.button.secondary{background:transparent}.button.secondary:hover{background:white}.trust-line{display:flex;flex-wrap:wrap;gap:11px 24px;border-top:1px solid #c9cbc8;margin-top:48px;padding-top:22px;font-size:.86rem;font-weight:700}.trust-line span:before{content:'✓';margin-right:8px;color:#77704e}.hero-image{margin:0;min-height:620px;position:relative;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0e11126b,transparent 45%)}.hero-image figcaption{position:absolute;z-index:1;bottom:28px;left:30px;color:white;font-size:.85rem;max-width:290px}.section{padding:120px max(28px,calc((100vw - var(--max))/2))}.section-heading{display:grid;grid-template-columns:1fr 1.45fr;gap:40px;align-items:end;margin-bottom:60px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:-18px}.section h2{font-size:clamp(2.65rem,5vw,4.8rem)}.section-heading>p:last-child{margin:0;max-width:580px;color:#626768}.services{background:var(--white)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{padding:34px;min-height:250px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s,transform .2s}.service-grid article:hover{background:var(--paper);transform:translateY(-3px)}.service-no{font-family:var(--serif);color:#8a8d8d}.service-grid h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;margin:30px 0 10px}.service-grid p{font-size:.94rem;color:#666b6c;margin:0}.lighting{padding:0;display:grid;grid-template-columns:1.1fr .9fr;background:var(--charcoal);color:white}.lighting-photo{min-height:720px;background:url('hero.jpg') center/cover no-repeat;filter:saturate(.75)}.lighting-copy{padding:100px max(50px,8vw);align-self:center}.lighting-copy .eyebrow{color:#bfc1c1}.lighting-copy p:not(.eyebrow){color:#d7d9d8;max-width:560px;margin:28px 0}.lighting-copy ul{list-style:none;padding:0;margin:32px 0;border-top:1px solid #ffffff2e}.lighting-copy li{padding:13px 0;border-bottom:1px solid #ffffff2e}.text-link{display:inline-block;margin-top:16px;text-decoration:none;font-weight:700;color:var(--accent)}.text-link span{margin-left:9px}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-copy>p{font-size:1.1rem;margin:0 0 38px;color:#5f6565}.qualities{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.qualities span{padding:16px 10px 16px 0;border-bottom:1px solid var(--line);font-weight:700}.qualities span:before{content:'✓';margin-right:9px;color:#77704e}.areas{text-align:center;background:#dedfdd;padding-top:80px;padding-bottom:80px}.areas h2{margin-bottom:25px}.areas>p:last-child{font-size:1.05rem;max-width:900px;margin:auto}.areas>p span{color:#9b8d6a;margin:0 8px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;background:var(--white)}.contact-heading>p:last-child{max-width:460px;color:#626768}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.quote-form label{font-size:.82rem;font-weight:700;letter-spacing:.03em}.quote-form input,.quote-form textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid #999;background:#f1f2ef;padding:14px;font:inherit;border-radius:0}.quote-form textarea{resize:vertical}.quote-form .full{grid-column:1/-1}.quote-form button{justify-self:start}.form-status{margin:0;align-self:center;color:#4d6154;font-weight:700}footer{background:#202425;color:#c9cccc;padding:60px max(28px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:40px}footer img{width:220px;filter:grayscale(1);mix-blend-mode:screen}.copyright{font-size:.82rem}.mobile-actions{display:none}@media(max-width:900px){.site-header{height:80px;padding:0 20px}.brand img{width:165px;height:56px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--charcoal);padding:14px 22px 24px;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.header-cta{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:72px 28px}.hero-image{min-height:430px}.section{padding:84px 28px}.section-heading,.about,.contact{grid-template-columns:1fr;gap:40px}.section-heading .eyebrow{margin-bottom:0}.service-grid{grid-template-columns:1fr 1fr}.lighting{grid-template-columns:1fr}.lighting-photo{min-height:500px}.lighting-copy{padding:80px 28px}.contact{gap:50px}footer{grid-template-columns:1fr}.mobile-actions{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:#1f2425;color:white;box-shadow:0 -5px 20px #0002}.mobile-actions a{text-align:center;text-decoration:none;font-weight:700;padding:15px;border-right:1px solid #ffffff2c}body{padding-bottom:54px}}@media(max-width:580px){.hero h1{font-size:3.15rem}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:auto}.quote-form{grid-template-columns:1fr}.quote-form .full{grid-column:auto}.qualities{grid-template-columns:1fr}.trust-line{display:grid}.lighting-photo{min-height:390px}.section{padding-top:70px;padding-bottom:70px}}
/* Prevent the desktop header and hero from colliding on tablets and small laptops. */
@media (min-width: 901px) and (max-width: 1100px) {
  .site-header { height: 80px; padding: 0 20px; }
  .brand img { width: 165px; height: 56px; }
  .menu-button { display: block; }
  .site-header nav { display: none; position: absolute; top: 80px; left: 0; right: 0; background: var(--charcoal); padding: 14px 22px 24px; flex-direction: column; align-items: flex-start; }
  .site-header nav.open { display: flex; }
  .header-phone, .header-cta { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding: 72px max(44px, calc((100vw - var(--max))/2)); }
  .hero-image { min-height: 520px; }
  .section-heading, .about, .contact { grid-template-columns: 1fr; gap: 40px; }
  .section-heading .eyebrow { margin-bottom: 0; }
  .lighting { grid-template-columns: 1fr; }
  footer { grid-template-columns: 1fr; }
}

/* Cap hero padding against the 1440px hero container, not the full monitor width. */
.hero-copy { padding: 100px clamp(44px, 8vw, 100px) 72px clamp(44px, calc((100vw - var(--max))/2), 100px); }
@media (max-width: 1100px) { .hero-copy { padding: 72px 28px; } }

/* Use more of large desktop displays while keeping the copy aligned and readable. */
@media (min-width: 1800px) {
  .hero { max-width: 1680px; grid-template-columns: 1fr 1fr; }
  .hero-copy { padding-left: 220px; }
}

/* Dedicated photograph for the Bespoke Lighting section. */
.lighting-photo { background-image: url('lighting.jpg'); }
