/* Renovex-inspired visitor flow, retaining Sipkamont typography, photography and orange identity. */
.contact-ribbon{background:var(--ink);color:#fff;font-size:11px;padding:9px 0}.contact-ribbon>.wrap,.contact-ribbon .wrap>div{display:flex;justify-content:space-between;gap:24px}.contact-ribbon a:hover{text-decoration:underline}.hero-inner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:64px;align-items:center;min-height:740px;padding-block:76px}.hero-copy{max-width:760px}.hero h1{font-size:clamp(42px,4.3vw,66px)}.hero-enquiry{position:relative;background:#fff;color:var(--ink);border-top:4px solid var(--orange);padding:34px;box-shadow:0 24px 70px #0003}.hero-enquiry h2{font-size:29px;line-height:1.2;letter-spacing:-.03em}.hero-enquiry>p:not(.kicker){font-size:14px;color:var(--muted);margin:16px 0 24px}.hero-enquiry label{display:block;margin-bottom:8px}.hero-enquiry select{width:100%;min-width:0}.hero-enquiry>.button{width:100%;margin-top:16px;justify-content:center}.hero-enquiry>small{display:block;color:var(--muted);font-size:11px;line-height:1.7;margin-top:22px}.quick-contact{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;display:grid;gap:7px}.quick-contact span{font-size:11px;color:var(--muted)}.quick-contact a{font-size:17px;font-weight:650}.quick-contact a:last-child{font-size:13px;color:var(--orange-dark)}.hero-benefits{flex-wrap:wrap}.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{font-weight:650;font-size:17px;line-height:1.5;padding-right:20px}.faq-list p{color:var(--muted);font-size:14px;line-height:1.85;margin-top:16px;max-width:660px}.service{transition:box-shadow .2s,transform .2s}.service:hover{box-shadow:0 12px 30px #171a1e12;transform:translateY(-3px)}
@media(min-width:801px){.services{grid-template-columns:repeat(3,minmax(0,1fr))}.service,.service:nth-last-child(-n+2){grid-column:auto}.service:nth-last-child(-n+2) .service-photo{aspect-ratio:4/3}}
@media(max-width:1050px){.hero-inner{gap:30px;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}.hero-enquiry{padding:25px}.hero h1{font-size:44px}.faq-section{gap:36px}}
@media(max-width:800px){.contact-ribbon .wrap>span{display:none}.contact-ribbon .wrap>div{width:100%;gap:12px}.hero-inner{grid-template-columns:1fr;padding-block:56px;min-height:0;gap:40px}.hero-copy{max-width:650px}.hero-enquiry{max-width:650px;width:100%;padding:30px}.hero-enquiry>.button{width:100%}.hero .hero-enquiry .kicker{color:var(--orange-dark)}.faq-section{grid-template-columns:1fr;gap:0}.faq-section .section-head{margin-bottom:24px}}
@media(max-width:540px){.contact-ribbon{font-size:10px}.hero h1{font-size:40px}.hero-inner{padding-block:45px}.hero-enquiry{padding:24px}.hero-enquiry h2{font-size:26px}.hero .hero-enquiry .button{font-size:13px}.faq-list summary{font-size:16px}.faq-list p{font-size:13px}}
/* Keep the contact ribbon visible and reserve header space in normal flow. */
.site-header{position:sticky;top:0}
.service-detail-link{display:inline-block;margin-top:12px;color:var(--orange-dark);font-size:13px;font-weight:650}.service-detail-link:hover{text-decoration:underline;text-underline-offset:4px}

/* Root scroll-padding already reserves the full sticky header on desktop and mobile. */
#project-questionnaire{min-width:0}
#project-questionnaire .kicker{color:var(--orange-dark);margin-bottom:12px}
.questionnaire-hint{margin:12px 0 18px;color:var(--muted);font-size:14px;line-height:1.5}
#quick-continue{display:flex;width:100%;margin-top:12px;justify-content:center;min-height:49px}
#questionnaire-panel iframe{display:block;width:100%;height:620px;border:0;background:#fff}
#project-questionnaire .questionnaire-fallback{margin:12px 0 0;font-size:12px;color:var(--muted);text-decoration:underline}
@media(max-width:800px){.hero-inner{padding-top:20px}.hero-enquiry{grid-row:1;justify-self:center}.hero-copy{grid-row:2}#project-questionnaire .field{font-size:16px}}
.hero .team-fit{max-width:620px;margin:18px 0 0;color:#fff;font-size:13px;line-height:1.65;padding-left:14px;border-left:3px solid #f88830}

#project-questionnaire{scroll-margin-top:125px}@media(max-width:800px){#project-questionnaire{scroll-margin-top:95px}}
