/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
:root{--brand-purple:#A855F7;--brand-green-bg:#dcfce7;--brand-green-text:#15803d;--brand-purple-light:rgba(168,85,247,0.1);--text-main:#1f2937;--text-muted:#6b7280;--bg-card:#ffffff;--border-color:#e5e7eb;--shadow-premium:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);}.company-hero{position:relative;margin-bottom:2rem;}.company-hero__banner{position:relative;height:256px;overflow:hidden;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;}@media (min-width:768px){.company-hero__banner{height:320px;}}.hero-image{width:100%;height:100%;object-fit:cover;}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(255,255,255,1) 0%,rgba(255,255,255,0.2) 50%,transparent 100%);}.company-hero__content{position:relative;margin-top:-5rem;padding:0 1rem;}@media (min-width:768px){.company-hero__content{padding:0 1.5rem;}}.company-hero__profile{display:flex;flex-direction:column;gap:1.5rem;}@media (min-width:768px){.company-hero__profile{flex-direction:row;align-items:flex-start;}}.company-hero__logo-box{width:8rem;height:8rem;border-radius:1rem;border:4px solid #fff;overflow:hidden;box-shadow:var(--shadow-premium);background:#fff;flex-shrink:0;}@media (min-width:768px){.company-hero__logo-box{width:10rem;height:10rem;}}.company-logo-img{width:100%;height:100%;object-fit:contain;}.company-logo-placeholder-v2{width:100%;height:100%;background:#f3f4f6;}.company-hero__details{padding-top:1rem;}@media (min-width:768px){.company-hero__details{padding-top:2rem;}}.company-hero__badges{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:0.5rem;}.company-title{font-size:1.875rem;font-weight:700;margin:0 0 0.5rem 0;color:#111827;}.company-subtitle{font-size:1.125rem;color:var(--text-muted);margin-bottom:1rem;}.company-meta-row{display:flex;flex-wrap:wrap;gap:1rem;font-size:0.875rem;color:var(--text-muted);}.meta-item{display:flex;align-items:center;gap:0.375rem;}.meta-item svg{width:1rem;height:1rem;stroke-width:2;}.hm-badge-v2{display:inline-flex;align-items:center;gap:0.375rem;padding:0.25rem 0.75rem;border-radius:9999px;font-size:0.8125rem;font-weight:600;line-height:1.2;text-decoration:none;transition:all 0.2s ease;}a.hm-badge-v2:hover{transform:translateY(-2px);filter:brightness(0.96);box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);}.hm-badge--verified{background:var(--brand-green-bg);color:var(--brand-green-text);}.hm-badge--category{background:#f3e8ff;color:#7c3aed;}.hm-badge--verified svg{width:0.875rem;height:0.875rem;}.hm-badge--award{background:#ffffff;border:1px solid var(--border-color);color:#000000 !important;box-shadow:0 1px 2px 0 rgba(0,0,0,0.05);}.hm-badge--award svg{width:0.875rem;height:0.875rem;color:var(--brand-purple);}.accreditation-row{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:2rem;}.content-split-layout{display:grid;grid-template-columns:1fr;gap:2rem;}@media (min-width:1024px){.content-split-layout{grid-template-columns:2fr 1fr;}.main-body-content{grid-column:span 2;}}.info-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;margin-bottom:2rem;}.info-card__title{font-size:1.25rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:0.5rem;}.info-card__title svg{width:1.25rem;height:1.25rem;color:var(--brand-purple);}.info-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;}.info-card__body{color:var(--text-muted);line-height:1.6;}.badge-count{background:#ea8585;color:#522d46;padding:0.125rem 0.625rem;border-radius:9999px;font-size:0.75rem;font-weight:600;}.project-showcase-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}@media (min-width:768px){.project-showcase-grid{grid-template-columns:repeat(3,1fr);}}.showcase-item{display:block;text-decoration:none;border-radius:0.75rem;overflow:hidden;border:1px solid var(--border-color);transition:border-color 0.2s;}.showcase-item:hover{border-color:var(--brand-purple);}.showcase-item__image-wrapper{position:relative;aspect-ratio:4/3;}.showcase-img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s;}.showcase-item:hover .showcase-img{transform:scale(1.05);}.showcase-item__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.7) 0%,transparent 100%);opacity:0;transition:opacity 0.3s;display:flex;align-items:flex-end;padding:0.75rem;}.showcase-item:hover .showcase-item__overlay{opacity:1;}.project-card-title{color:#fff;font-size:0.875rem;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.project-detail-premium{padding-top:1rem;color:var(--text-main);}.breadcrumb-simple{font-size:0.8125rem;color:var(--text-muted);margin-bottom:1.5rem;}.project-header-premium{margin-bottom:2rem;}.project-title-large{font-size:2.25rem;font-weight:700;margin-bottom:0.5rem;color:#111827;}.project-subtitle{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:0.25rem;}.company-link-brand{background:linear-gradient(135deg,#8b5cf6,#d946ef,#f43f5e);text-decoration:none;-webkit-background-clip:text;background-clip:text;color:transparent;}.project-classification-inline{font-size:0.875rem;color:var(--text-muted);}.project-gallery-premium{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:3rem;min-width:0;}@media (min-width:1024px){.project-gallery-premium{grid-template-columns:3fr 1fr;}}.gallery-main{position:relative;border-radius:0.75rem;overflow:hidden;background:#f3f4f6;aspect-ratio:16/10;width:100%;max-width:100%;box-sizing:border-box;}.gallery-main .main-img{width:100%;height:100%;object-fit:cover;}.gallery-counter{position:absolute;bottom:0.75rem;right:0.75rem;background:rgba(0,0,0,0.6);color:#fff;padding:0.25rem 0.75rem;border-radius:9999px;font-size:0.75rem;display:flex;align-items:center;gap:0.5rem;}.thumbnails-nav-wrapper{display:flex;flex-direction:row;align-items:center;position:relative;width:100%;max-width:100%;box-sizing:border-box;flex:1;min-width:0;overflow:hidden;}.nav-arrow{display:none;position:absolute;background:rgba(255,255,255,0.8);backdrop-filter:blur(4px);border:1px solid var(--border-color);border-radius:50%;width:28px;height:28px;padding:4px;cursor:pointer;z-index:10;transition:all 0.2s;color:var(--text-main);align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,0.1);}.prev-arrow{left:5px;}.next-arrow{right:5px;}.nav-arrow:hover{background:var(--brand-purple);color:#fff;border-color:var(--brand-purple);}.nav-arrow svg{width:100%;height:100%;}.mobile-arrow{display:flex;}.desktop-arrow{display:none;}.gallery-thumbnails{display:flex;gap:0.60rem;overflow-x:auto;padding-bottom:5px;width:100%;scrollbar-width:none;}.gallery-thumbnails::-webkit-scrollbar{display:none;}@media (min-width:1024px){.thumbnails-nav-wrapper{flex-direction:column;height:100%;max-height:410px;}.nav-arrow{left:50%;transform:translateX(-50%);}.prev-arrow{top:5px;}.next-arrow{bottom:5px;}.mobile-arrow{display:none;}.desktop-arrow{display:flex;}.gallery-thumbnails{flex-direction:column;overflow-y:auto;overflow-x:hidden;height:100%;padding-right:0;padding-bottom:0;}}.gallery-thumbnails::-webkit-scrollbar{width:4px;display:block;}.gallery-thumbnails::-webkit-scrollbar-track{background:#f1f1f1;}.gallery-thumbnails::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px;}.thumb-item{width:100px;flex-shrink:0;aspect-ratio:4/2.44;border-radius:0.5rem;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:border-color 0.2s,opacity 0.2s;opacity:0.7;}.thumb-item:hover,.thumb-item.is-active{border-color:#0d9488;opacity:1;}@media (min-width:1024px){.thumb-item{width:100%;}}.thumb-item img{width:100%;height:100%;object-fit:cover;}.section-title-small{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;color:#111827;}.project-specs-section{margin-bottom:3rem;}.specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color);}@media (min-width:768px){.specs-grid{grid-template-columns:repeat(4,1fr);}}.spec-column label{display:block;font-size:0.75rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.5rem;letter-spacing:0.05em;}.spec-value{font-size:1rem;font-weight:600;color:#111827;white-space:nowrap;}.works-included-section{margin-bottom:3rem;}.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;}@media (min-width:768px){.works-grid{grid-template-columns:repeat(3,1fr);}}@media (min-width:1024px){.works-grid{grid-template-columns:repeat(4,1fr);}}@media (max-width:1400px){.gallery-thumbnails{max-height:325px;gap:0.60rem;}}@media (max-width:1199px){.gallery-thumbnails{max-height:241px;gap:0.50rem;}}.work-item{display:flex;align-items:center;gap:0.75rem;}.work-icon{width:2rem;height:2rem;object-fit:contain;}.work-label{font-size:0.875rem;font-weight:500;color:#4b5563;}@media (max-width:400px){.gallery-thumbnails{gap:0.20rem;}}@media (max-width:768px){.project-specs-section{margin-bottom:10px;}.section-title-small{margin-bottom:10px;}.specs-grid{padding-bottom:10px;}.project-gallery-premium{margin-bottom:15px;}.info-card__title{font-size:14px;margin:0;}.info-card{padding:15px;}.accreditation-row{margin-bottom:10px;}.info-card__header{margin-bottom:10px;}.project-title-large{font-size:20px;}.project-subtitle{font-size:15px;}.project-detail-premium{padding-bottom:0;}.company-hero__content{padding:0 8px;}.project-detail-layout{padding:10px;}.company-title{font-size:24px;}.company-subtitle{font-size:14px;margin-bottom:5px;}}@media (min-width:1024px){.project-detail-layout{display:grid;grid-template-columns:1fr 380px;gap:2.5rem;align-items:stretch;padding-bottom:30px;}}.project-side{min-width:0;}.form-sidebar{position:relative;height:100%;padding-bottom:20px;}.enquiry-card-sticky{background:#fff;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 25px -5px rgba(0,0,0,0.05);overflow:hidden;}.enquiry-card-header{background:#111827;color:#fff;padding:0.75rem 1rem;text-align:center;}.enquiry-stat{font-size:0.8125rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:0.5rem;}.enquiry-card-body{padding:1.5rem;}.enquiry-card-title{font-size:1.25rem;font-weight:700;margin-bottom:1.25rem;color:#111827;}.enquiry-company-mini{display:flex;align-items:center;gap:0.75rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid #f3f4f6;}.mini-logo{width:48px;height:48px;border-radius:8px;border:1px solid #eee;object-fit:contain;}.mini-company-name{font-weight:700;font-size:1rem;color:#111827;}.hm-enquiry-form-static .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}.hm-enquiry-form-static .form-group{margin-bottom:1rem;}.hm-enquiry-form-static label{display:block;font-size:0.75rem;font-weight:600;color:#374151;margin-bottom:0.375rem;}.hm-enquiry-form-static select,.hm-enquiry-form-static input{width:100%;padding:0.625rem 0.875rem;border-radius:8px;border:1px solid #d1d5db;font-size:0.875rem;color:#111827;background-color:#fff;transition:border-color 0.2s,box-shadow 0.2s;}.hm-enquiry-form-static select:focus,.hm-enquiry-form-static input:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px rgba(13,148,136,0.1);}.hm-enquiry-form-static .btn-get-quote{width:100%;padding:0.875rem;background:linear-gradient(90deg,#8b5cf6,#ec4899);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}.hm-enquiry-form-static .btn-get-quote:hover{background:linear-gradient(90deg,#ec4899,#8b5cf6);}.min-budget-note{margin-top:1.25rem;font-size:0.75rem;color:#6b7280;text-align:center;}.homeowner-reviews{background-color:#ffffff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.5rem;margin-top:2rem;}.reviews-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;}.reviews-title{font-size:1.25rem;font-weight:700;color:#020817;display:flex;align-items:center;gap:0.5rem;margin:0;}.reviews-title svg{width:1.25rem;height:1.25rem;color:#7c3aed;}.reviews-count-badge{display:inline-flex;align-items:center;border-radius:9999px;border:1px solid #e2e8f0;padding:0.125rem 0.625rem;font-size:0.75rem;font-weight:600;background-color:#f1f5f9;color:#0f172a;}.reviews-list{display:flex;flex-direction:column;gap:1rem;}.review-item{display:flex;align-items:flex-start;gap:0.75rem;border-bottom:1px solid #e2e8f0;padding-bottom:1rem;}.review-item:last-child{border-bottom:0;padding-bottom:0;}.review-item__avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(90deg,#8b5cf6,#ec4899);display:flex;align-items:center;justify-content:center;color:#ffffff;font-weight:600;font-size:0.875rem;flex-shrink:0;}.review-item__content{flex:1;}.review-item__author-row{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.25rem;}.review-item__author{font-weight:600;color:#020817;}.review-item__verified-badge{display:inline-flex;align-items:center;border-radius:9999px;background-color:#dcfce7;color:#15803d;font-size:0.75rem;font-weight:600;padding:0 0.375rem;gap:0.125rem;}.review-item__verified-badge svg{width:0.625rem;height:0.625rem;}.review-item__meta{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem;}.review-item__stars{display:flex;}.review-item__stars svg{width:0.875rem;height:0.875rem;}.review-item__stars svg.is-filled{color:#eab308;fill:#eab308;}.review-item__stars svg.is-empty{color:#d1d5db;}.review-item__date{font-size:0.75rem;color:#64748b;}.review-item__text{font-size:0.875rem;color:#64748b;line-height:1.5;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;}.review-item__text.is-expanded{-webkit-line-clamp:unset;line-clamp:unset;}.review-read-more{background:none;border:none;color:#7c3aed;font-size:0.8125rem;font-weight:600;padding:0;margin-top:0.5rem;cursor:pointer;text-decoration:underline;}.review-read-more:hover{color:#6d28d9;}@media (max-width:768px){.review-item__text{-webkit-line-clamp:5;line-clamp:5;}}.view-all-reviews-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:1rem;padding:0.5rem 1rem;font-size:0.875rem;font-weight:600;border-radius:0.5rem;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);border:2px solid #7c3aed;background-color:transparent;color:#7c3aed;text-decoration:none;cursor:pointer;}.view-all-reviews-btn:hover{background-color:#7c3aed;color:#ffffff;}
.join-community-widget{position:fixed;bottom:2rem;right:2rem;z-index:9999;pointer-events:none;}.join-community-fab{display:flex;align-items:center;gap:0.75rem;padding:0;background:linear-gradient(135deg,#128C7E 0%,#25D366 100%);color:#ffffff;text-decoration:none;border-radius:50px;font-size:1rem;font-weight:600;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 8px 24px rgba(18,140,126,0.4);cursor:pointer;pointer-events:auto;overflow:hidden;width:64px;height:64px;position:relative;}.join-community-fab::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,0.3);transform:translate(-50%,-50%);transition:width 0.6s,height 0.6s;}.join-community-fab:active::before{width:300px;height:300px;}.join-community-fab:hover{width:auto;padding-right:1.5rem;box-shadow:0 12px 32px rgba(18,140,126,0.5);transform:translateY(-2px);}.join-community-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;flex-shrink:0;transition:transform 0.3s ease;}.join-community-icon svg{width:28px;height:28px;fill:currentColor;stroke:currentColor;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.1));}.join-community-fab:hover .join-community-icon{transform:scale(1.1) rotate(5deg);}.join-community-label{white-space:nowrap;opacity:0;max-width:0;overflow:hidden;transition:opacity 0.3s ease,max-width 0.3s ease;letter-spacing:0.3px;}.join-community-fab:hover .join-community-label{opacity:1;max-width:200px;}@keyframes breath-pulse{0%{transform:scale(1);}50%{transform:scale(1.08);}100%{transform:scale(1);}}.join-community-fab{animation:breath-pulse 3s ease-in-out infinite;}.join-community-fab:hover{animation:none;}.join-community-fab::after{content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(135deg,#128C7E 0%,#25D366 100%);border-radius:50px;z-index:-1;opacity:0;transition:opacity 0.3s ease;filter:blur(8px);}.join-community-fab:hover::after{opacity:0.6;}@media (max-width:768px){.join-community-widget{bottom:1.5rem;right:1.5rem;}.join-community-fab{width:56px;height:56px;}.join-community-icon{width:56px;height:56px;}.join-community-icon svg{width:24px;height:24px;}.join-community-fab:hover{padding-right:1.25rem;}}@media (max-width:480px){.join-community-widget{bottom:1rem;right:1rem;}.join-community-fab{width:52px;height:52px;}.join-community-icon{width:52px;height:52px;}.join-community-icon svg{width:22px;height:22px;}}.join-community-fab:focus{outline:3px solid #075E54;outline-offset:4px;}.join-community-fab:focus:not(:focus-visible){outline:none;}.join-community-fab:focus-visible{outline:3px solid #075E54;outline-offset:4px;animation:none;}@media (prefers-reduced-motion:reduce){.join-community-fab,.join-community-icon,.join-community-label,.join-community-fab::before,.join-community-fab::after{animation:none !important;transition:none !important;}}@media (prefers-color-scheme:dark){.join-community-fab{box-shadow:0 8px 24px rgba(18,140,126,0.5);}.join-community-fab:hover{box-shadow:0 12px 32px rgba(18,140,126,0.6);}}@media print{.join-community-widget{display:none !important;}}
.rsvp-icon-widget{position:fixed;bottom:calc(2rem + 64px + 8px);right:1.3rem;z-index:9999;line-height:0;}.rsvp-icon-link{display:inline-block;line-height:0;animation:breath-pulse 3s ease-in-out infinite;transition:transform 0.3s ease;}.rsvp-icon-link:hover{animation:none;transform:scale(1.1);}@keyframes breath-pulse{0%{transform:scale(1);}50%{transform:scale(1.08);}100%{transform:scale(1);}}@media (max-width:768px){.rsvp-icon-widget{bottom:calc(1.5rem + 56px + 8px);right:1.5rem;}}@media (max-width:480px){.rsvp-icon-widget{bottom:calc(1rem + 61px + 8px);right:1.1rem;}}@media print{.rsvp-icon-widget{display:none !important;}}
