/* Homepage refresh: light, photo-led and easy to contact */
.premium-home{
  --ink:#17232b;--muted:#5d6870;--line:#dce2e5;--paper:#f7f8f7;--blue:#147ca1;--blue-dark:#0d5877;
  margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif
}
.premium-home *{box-sizing:border-box}
.premium-home a{color:inherit;text-decoration:none}
.premium-home img{display:block;max-width:100%}
.premium-home h1,.premium-home h2,.premium-home h3,.premium-home p{margin:0}
.premium-header{min-height:90px;padding:12px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border-bottom:1px solid #e7ebed}
.premium-header img{width:230px;height:auto}
.premium-header nav{display:flex;align-items:center;gap:30px;font-size:14px;color:#46525a}
.premium-header nav a:hover{color:var(--blue)}
.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:4px;background:var(--blue);color:#fff!important;font-size:14px;font-weight:700;transition:background .2s}
.header-cta:hover,.premium-home .button.primary:hover{background:var(--blue-dark)}
.premium-hero{width:min(1440px,100%);margin:auto;padding:56px 5vw 64px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(36px,6vw,92px);background:#f7f8f7}
.hero-content{grid-column:1;grid-row:1;padding:8px 0}
.premium-home .eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;line-height:1.7;color:var(--blue)}
.premium-home h1{max-width:620px;font-size:clamp(46px,5.3vw,76px);line-height:1.04;letter-spacing:-.055em;font-weight:650;margin:20px 0 18px;color:var(--ink)}
.premium-home h1 span{color:var(--blue)}
.hero-lead{max-width:490px;color:#58656d;font-size:17px;line-height:1.75}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.premium-home .button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 21px;border-radius:4px;font-size:14px;font-weight:700;transition:background .2s,color .2s,border-color .2s}
.premium-home .button.primary{background:var(--blue);color:#fff}
.premium-home .button.secondary{border:1px solid #9eabb2;background:#fff;color:var(--ink)}
.premium-home .button.secondary:hover{border-color:var(--blue);color:var(--blue)}
.hero-local{display:flex;align-items:center;gap:10px;margin-top:28px;color:#58656d;font-size:13px;font-weight:600}
.hero-local::before{content:'';width:8px;height:8px;border-radius:50%;background:#2e9e78;box-shadow:0 0 0 4px #2e9e781c}
.hero-visual{position:relative;grid-column:2;grid-row:1;margin:0;min-width:0}
.premium-hero .hero-photo{width:100%;height:auto;aspect-ratio:1154 / 1536;object-fit:cover;object-position:center;border-radius:10px;box-shadow:0 24px 56px rgba(28,48,58,.14)}
.hero-visual figcaption{position:absolute;left:20px;bottom:20px;padding:12px 16px;border-radius:4px;background:rgba(255,255,255,.94);color:#34424a;font-size:11px;font-weight:800;letter-spacing:.08em}
.brand-strip{min-height:104px;padding:24px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.brand-strip>span{max-width:150px;font-size:10px;line-height:1.6;letter-spacing:.11em;color:#737e84}
.brand-strip strong{font-size:19px;font-weight:700;color:#59656c}
.premium-section{padding:92px max(5vw,24px);max-width:1600px;margin:auto}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:34px}
.premium-home h2{font-size:clamp(32px,3.5vw,50px);font-weight:600;letter-spacing:-.045em;line-height:1.12;margin-top:10px;color:var(--ink)}
.section-heading>p{font-size:14px;line-height:1.8;color:var(--muted)}
.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.film{display:block;background:#fff;border:1px solid #e2e7e9;border-radius:7px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.film:hover{transform:translateY(-4px);border-color:#c6d8df;box-shadow:0 16px 34px rgba(28,48,58,.09)}
.film img{width:100%;height:260px;object-fit:cover;transition:transform .35s}
.film:hover img{transform:scale(1.025)}
.film>div{padding:19px 20px 21px}
.film small{font-size:10px;letter-spacing:.13em;color:#748189}
.film h3{font-size:21px;line-height:1.25;font-weight:650;margin:9px 0;color:var(--ink)}
.film p{font-size:13px;line-height:1.65;color:var(--muted)}
.film span{display:block;margin-top:18px;font-size:12px;font-weight:800;color:var(--blue)}
.other-services{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:25px;padding-top:23px;border-top:1px solid var(--line);font-size:12px}
.other-services>span{margin-right:auto;color:#737e84}
.other-services a{padding:9px 12px;border:1px solid #dce2e5;border-radius:3px;background:#fff;color:#445159}
.other-services a:hover{border-color:var(--blue);color:var(--blue)}
.about-premium{padding:82px max(5vw,24px);display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(35px,8vw,120px);align-items:start;background:#eaf0f2}
.about-premium>div>p:not(.eyebrow){font-size:16px;line-height:1.8;margin-bottom:16px;color:#46545c}
.text-link{display:inline-block;padding-bottom:7px;border-bottom:1px solid #a9b8bf;font-size:13px;font-weight:700;margin-top:8px;color:var(--blue-dark)!important}
.projects-premium{max-width:none;background:#fff;color:var(--ink)}
.projects-premium .section-heading>p{color:var(--muted)}
.selected-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.premium-home .reference-project-card{display:block;overflow:hidden;border:1px solid #e1e6e8;border-radius:7px;background:#fff;color:var(--ink);transition:transform .2s,box-shadow .2s}
.premium-home .reference-project-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(28,48,58,.09)}
.premium-home .reference-project-media{display:block;overflow:hidden;background:#e9edef}
.premium-home .reference-project-media img{width:100%;height:290px;object-fit:cover;transition:transform .35s}
.premium-home .reference-project-card:hover .reference-project-media img{transform:scale(1.025)}
.premium-home .reference-project-body{min-height:150px;display:flex;flex-direction:column;gap:7px;padding:18px 19px;background:#fff}
.reference-project-body small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#748189}
.reference-project-body strong{font-size:19px;line-height:1.25;font-weight:650;color:var(--ink)}
.reference-project-body span{font-size:12px;color:#6d787e}
.reference-project-body b{margin-top:auto;padding-top:8px;font-size:12px;font-weight:800;color:var(--blue)}
.all-projects{margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.all-projects summary{padding:20px 0;cursor:pointer;font-size:14px;font-weight:700;color:var(--blue-dark)}
.all-projects .selected-projects{padding-bottom:24px}
.quote-premium{padding:76px 5vw;background:#e7f0f3;color:var(--ink);text-align:center}
.quote-premium .eyebrow{color:var(--blue)}
.quote-premium h2{max-width:820px;margin:15px auto;font-size:clamp(34px,4.3vw,58px);color:var(--ink)}
.quote-premium>p:not(.eyebrow){max-width:680px;margin:0 auto;color:#59666d;line-height:1.8;font-size:15px}
.quote-premium .actions{justify-content:center}
.quote-premium .button.light{background:var(--blue);color:#fff}
.quote-premium .button.outline{border:1px solid #98a8af;background:transparent;color:var(--ink)}
.quote-premium .button.outline:hover{border-color:var(--blue);color:var(--blue)}
.faq-premium{max-width:1180px;margin:auto}
.faq-premium h2{margin-bottom:26px}
.faq-premium details{border-top:1px solid var(--line);padding:20px 0}
.faq-premium details:last-child{border-bottom:1px solid var(--line)}
.faq-premium summary{cursor:pointer;font-size:16px;font-weight:650;color:#29383f}
.faq-premium details p{padding-top:14px;line-height:1.8;color:var(--muted);max-width:800px}
.premium-footer{padding:50px max(5vw,24px) 24px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;background:#f0f3f4;color:var(--ink);border-top:1px solid #dce2e5}
.premium-footer img{width:210px;height:auto;margin-bottom:14px}
.premium-footer small{font-size:10px;letter-spacing:.14em;color:#748189}
.premium-footer a{display:block;font-size:14px;font-weight:600;margin-top:12px;color:#314149}
.premium-footer a:hover{color:var(--blue)}
.premium-footer p{font-size:13px;line-height:1.8;color:#56636a;margin-top:12px}
.footer-bottom{grid-column:1/-1;border-top:1px solid #d5dde0;padding-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:11px;color:#748189}
.mobile-actions{display:none}
.premium-home a:focus-visible,.premium-home summary:focus-visible{outline:3px solid #54a8c5;outline-offset:4px}
@media(max-width:900px){
  .premium-header nav{gap:16px}.premium-header img{width:190px}
  .premium-hero{grid-template-columns:1fr 1fr;gap:32px;padding-top:42px;padding-bottom:48px}
  .premium-home h1{font-size:clamp(42px,6vw,60px)}
  .film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .selected-projects{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand-strip{justify-content:center;flex-wrap:wrap}.brand-strip>span{max-width:none;width:100%;text-align:center}
}
@media(max-width:600px){
  .premium-header{min-height:74px;padding:10px 5%;gap:12px}.premium-header img{width:155px}.premium-header nav{display:none}
  .header-cta{min-height:42px;padding:0 14px;font-size:12px}
  .premium-hero{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:36px 5% 34px}
  .hero-content{padding:0}.premium-home h1{font-size:clamp(42px,11vw,56px);margin:14px 0 13px}
  .hero-lead{font-size:15px;line-height:1.65}.actions{gap:9px;margin-top:21px}
  .premium-home .button{min-height:48px;padding:12px 14px;font-size:12px}
  .hero-local{font-size:12px;margin-top:20px}
  .premium-hero .hero-photo{height:auto;aspect-ratio:1154 / 1536;border-radius:7px;box-shadow:0 12px 28px rgba(28,48,58,.12)}
  .hero-visual figcaption{left:10px;bottom:10px;padding:9px 11px;font-size:9px}
  .brand-strip{gap:16px;padding:22px 5%;min-height:92px}.brand-strip strong{font-size:15px}
  .premium-section{padding:58px 5%}.section-heading{display:block;margin-bottom:24px}.section-heading>p{margin-top:12px}
  .film-grid{grid-template-columns:1fr;gap:14px}.film{display:grid;grid-template-columns:38% 1fr;align-items:stretch}.film img{height:100%;min-height:160px}
  .film>div{padding:15px 14px}.film h3{font-size:18px;margin:7px 0}.film p{font-size:12px}.film span{margin-top:12px}
  .other-services{gap:9px;margin-top:21px}.other-services>span{width:100%;margin:0 0 3px}.other-services a{font-size:11px;padding:8px 9px}
  .about-premium{grid-template-columns:1fr;padding:54px 5%;gap:20px}.about-premium>div>p:not(.eyebrow){font-size:14px}
  .selected-projects{grid-template-columns:1fr;gap:14px}.premium-home .reference-project-media img{height:245px}.premium-home .reference-project-body{min-height:130px;padding:15px}
  .quote-premium{padding:55px 5%}.quote-premium>p:not(.eyebrow){font-size:14px}.quote-premium .actions{align-items:stretch;flex-direction:column}.quote-premium .actions a{width:100%}
  .faq-premium{padding-top:54px;padding-bottom:54px}.faq-premium summary{font-size:15px}
  .premium-footer{grid-template-columns:1fr;padding:38px 5% 92px;gap:24px}.premium-footer img{width:190px}.footer-bottom{gap:8px}
  .mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #d8e0e3;box-shadow:0 -8px 24px rgba(25,45,54,.08)}
  .mobile-actions a{display:flex;justify-content:center;align-items:center;min-height:58px;padding:10px 4px;color:#33434b;font-size:11px;font-weight:700;border-right:1px solid #e5eaec}
  .mobile-actions a:nth-child(2){color:#087a57}.mobile-actions a:last-child{border-right:0;color:var(--blue-dark)}
}
