/* Premium homepage preview: intentional black, charcoal, and antique-gold palette. */
:root { --haven-gold: #c5a052; --haven-cream: #f0ece2; --haven-ink: #090909; --haven-charcoal: #141414; }
.homepage-preview { background: var(--haven-ink); color: var(--haven-cream); }
.homepage-preview h1,.homepage-preview h2,.homepage-preview h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.homepage-preview .eyebrow { color: var(--haven-gold); display: block; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.premium-hero { isolation: isolate; min-height: min(820px, calc(100vh - 110px)); overflow: hidden; position: relative; }
.premium-hero-image,.premium-hero-overlay { height: 100%; inset: 0; position: absolute; width: 100%; }
.premium-hero-image { filter: saturate(.8) contrast(1.05) brightness(.7); object-fit: cover; }
.premium-hero-overlay { background: linear-gradient(90deg, rgba(0,0,0,.82) 0%,rgba(0,0,0,.49) 48%,rgba(0,0,0,.14) 100%); z-index: 1; }
.premium-hero-copy { max-width: 1180px; padding: 9rem 2rem 7rem; position: relative; z-index: 2; }
.premium-hero-copy h1 { color:#fff; font-size: clamp(3.15rem,7vw,6.7rem); letter-spacing: -.055em; line-height: .95; margin: 1.2rem 0 1.6rem; }
.premium-hero-copy p { color: rgba(255,255,255,.82); font-size: clamp(1rem,1.5vw,1.25rem); line-height: 1.75; max-width: 570px; }
.premium-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top: 2rem; }
.premium-button { border: 1px solid transparent; display:inline-flex; font-size:.78rem; font-weight:700; letter-spacing:.12em; padding:1rem 1.25rem; text-decoration:none; text-transform:uppercase; transition: transform .2s ease, background .2s ease; }
.premium-button:hover { transform: translateY(-2px); }
.premium-button-gold { background:var(--haven-gold); color:#111; }.premium-button-gold:hover { background:#e0bd70; }
.premium-button-quiet { border-color:rgba(255,255,255,.55); color:#fff; }.premium-button-quiet:hover { background:rgba(255,255,255,.12); }
.premium-trust-strip { align-items:center; background:#0f0f0f; color:#c6c1b7; display:flex; flex-wrap:wrap; font-size:.7rem; font-weight:700; gap:1rem; justify-content:center; letter-spacing:.13em; padding:1.35rem 2rem; text-transform:uppercase; }.premium-trust-strip i{background:var(--haven-gold);border-radius:50%;height:4px;width:4px;}
.premium-intro { margin:0 auto; max-width:900px; padding:5rem 2rem; text-align:center; }.premium-intro h2 { color:#fff; font-size:clamp(2.25rem,4.25vw,4.4rem); letter-spacing:-.04em; line-height:1.02; margin:1.1rem 0 1.4rem; }.premium-intro p { color:#b9b5ad; line-height:1.9; margin:0 auto 1.5rem; max-width:650px; }
.text-link { color:var(--haven-gold); font-size:.76rem; font-weight:700; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }.text-link span { font-size:1.2rem; margin-left:.45rem; }
.premium-work { background:#121212; padding:5rem max(2rem, calc((100vw - 1180px)/2)); }.premium-section-heading { align-items:end; display:flex; gap:2rem; justify-content:space-between; margin-bottom:2rem; }.premium-section-heading h2 { color:#fff; font-size:clamp(2rem,3.6vw,3.8rem); letter-spacing:-.035em; line-height:1.05; margin-top:1rem; }
.premium-project-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); }.premium-project { background:#1b1b1b; color:#fff; overflow:hidden; text-decoration:none; transition:background .2s ease,transform .2s ease; }.premium-project:hover { background:#25231f; transform:translateY(-4px); }.premium-project-featured { grid-column:1 / -1; }.premium-project img { display:block; filter:saturate(.75); height:clamp(340px,34vw,500px); object-fit:cover; object-position:center; transition:transform .5s ease,filter .5s ease; width:100%; }.premium-project-featured img { height:auto; aspect-ratio:16/7; }.premium-project:hover img { filter:saturate(1); transform:scale(1.025); }.premium-project h3 { align-items:center; display:flex; font-size:1.35rem; justify-content:space-between; letter-spacing:-.02em; margin:0; padding:1.1rem 1.2rem 1.25rem; }.premium-project h3 span { color:var(--haven-gold); font-family:'Segoe UI',sans-serif; }
.premium-services { display:grid; grid-template-columns:1fr 1fr; min-height:680px; }.premium-services-image img { filter:saturate(.75); height:100%; object-fit:cover; width:100%; }.premium-services-copy { align-self:center; padding:5rem clamp(2rem,6vw,7rem); }.premium-services-copy h2 { color:#fff; font-size:clamp(2.2rem,4vw,4rem); letter-spacing:-.04em; line-height:1.05; margin:1.1rem 0 1.5rem; }.premium-services-copy p { color:#b9b5ad; line-height:1.9; margin-bottom:1.5rem; }.service-links a { border-bottom:1px solid rgba(255,255,255,.15); color:#eee; display:flex; font-family:Georgia,'Times New Roman',serif; font-size:1.18rem; justify-content:space-between; padding:1rem 0; text-decoration:none; }.service-links span{color:var(--haven-gold);}
.premium-process { background:linear-gradient(135deg,#181712,#0d0d0d); padding:5rem max(2rem, calc((100vw - 1180px)/2)); }.premium-process h2 { color:#fff; font-size:clamp(2.2rem,4vw,4.1rem); letter-spacing:-.04em; line-height:1.05; margin:1rem 0 2.25rem; }.premium-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }.premium-process-grid article { border-top:1px solid var(--haven-gold); padding-top:1.25rem; }.premium-process-grid span { color:var(--haven-gold); font-size:.75rem; font-weight:700; letter-spacing:.12em; }.premium-process-grid h3 { color:#fff; font-size:1.5rem; margin:.8rem 0; }.premium-process-grid p { color:#ada99f; line-height:1.75; }
.premium-cta { min-height:570px; overflow:hidden; position:relative; }.premium-cta>img { filter:brightness(.45) saturate(.75); height:100%; object-fit:cover; position:absolute; width:100%; }.premium-cta>div { max-width:1180px; padding:8rem 2rem; position:relative; }.premium-cta h2 { color:#fff; font-size:clamp(2.5rem,5vw,5rem); letter-spacing:-.05em; line-height:.98; margin:1rem 0; max-width:680px; }.premium-cta p { color:#e4ded3; line-height:1.8; margin-bottom:1.8rem; max-width:530px; }
.homepage-preview + .page-support-section { margin-top:0; padding-bottom:5rem; padding-top:5rem; }
.local-faq-panel { background:linear-gradient(135deg,#201d17,#141414); max-width:960px; padding:clamp(2rem,5vw,4rem); }.local-faq-heading { text-align:center; }.local-faq-heading h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(2rem,4vw,3.5rem); margin:.4rem 0 .8rem; }.local-faq-heading p { margin:0 auto; max-width:600px; }.answer-accordion { grid-template-columns:1fr 1fr; margin-top:2.25rem; }.answer-accordion details { background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.1); border-radius:5px; color:var(--haven-cream); padding:0; }.answer-accordion summary { cursor:pointer; font-family:Georgia,'Times New Roman',serif; font-size:1.18rem; font-weight:600; line-height:1.35; list-style:none; padding:1.15rem 3rem 1.15rem 1.25rem; position:relative; }.answer-accordion summary::-webkit-details-marker { display:none; }.answer-accordion summary::after { color:var(--haven-gold); content:'+'; font-family:'Segoe UI',sans-serif; font-size:1.5rem; font-weight:300; position:absolute; right:1.15rem; top:.85rem; }.answer-accordion details[open] summary::after { content:'−'; }.answer-accordion p { border-top:1px solid rgba(255,255,255,.08); color:#bbb5aa; margin:0 1.25rem; padding:1rem 0 1.25rem; }.local-faq-link { display:block; margin-top:1.75rem; text-align:center; }
@media (max-width:760px) { .premium-hero{min-height:670px}.premium-hero-copy{padding:7rem 1.4rem 5rem}.premium-intro,.premium-services{grid-template-columns:1fr}.premium-intro{padding:5rem 1.4rem}.premium-trust-strip{gap:.65rem;justify-content:flex-start}.premium-project-grid{grid-template-columns:1fr}.premium-project,.premium-project-featured{grid-column:1}.premium-project-featured{grid-row:auto}.premium-project img,.premium-project-featured img{aspect-ratio:4/3;height:auto}.premium-section-heading{align-items:flex-start;flex-direction:column}.premium-work,.premium-process{padding:5rem 1.4rem}.premium-services-image{height:420px}.premium-services-copy{padding:4.5rem 1.4rem}.premium-process-grid,.answer-accordion{grid-template-columns:1fr}.premium-cta>div{padding:6rem 1.4rem} }
