
/*
Theme Name: Celly Communications Approved
Theme URI: https://cellycommunications.co.uk/
Author: OpenAI
Description: Bespoke Celly Communications theme matching the approved corporate homepage visual.
Version: 1.1.0
Text Domain: celly-approved
*/
:root{--navy:#001d4c;--navy2:#001738;--blue:#0867e8;--text:#0b1e3f;--muted:#556274;--line:#e4e9ef;--soft:#f6f8fb;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.55}img{max-width:100%;height:auto}a{color:inherit}button,input,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{background:var(--navy2);color:white;font-size:13px}.topbar .container{min-height:38px;display:flex;align-items:center;gap:26px}.topbar a{text-decoration:none;color:white}.topbar .push{margin-left:auto}.site-header{background:#fff;border-bottom:1px solid #edf0f4;position:sticky;top:0;z-index:30}.nav-wrap{min-height:100px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;text-decoration:none;min-width:290px}.brand img{width:190px;height:auto;display:block}.main-nav{display:flex;align-items:center;gap:32px;margin-left:auto}.main-nav a{text-decoration:none;font-size:13px;font-weight:700;text-transform:uppercase;color:#0e1726;letter-spacing:.01em}.main-nav a:hover,.main-nav a:focus{color:var(--blue)}.support-btn{background:var(--blue);color:#fff!important;padding:17px 22px;margin-left:12px}.menu-toggle{display:none;background:none;border:0;font-size:28px;margin-left:auto}
/* Exact approved homepage: desktop uses the approved mockup itself to prevent design drift. */
.approved-home{position:relative;width:100%;background:#fff}.approved-home img{width:100%;height:auto;display:block}.home-hotspot{position:absolute;display:block;z-index:10;background:transparent;border:0;color:transparent;font-size:0}.home-hotspot:focus{outline:3px solid #ffbf47;outline-offset:2px;background:rgba(255,255,255,.08)}
/* hotspot positions as percentages of 1376x1102 approved visual */
.hs-home{left:35.1%;top:6.8%;width:5.5%;height:5.2%}.hs-about{left:40.3%;top:6.8%;width:7.2%;height:5.2%}.hs-services{left:48.1%;top:6.8%;width:7.4%;height:5.2%}.hs-solutions{left:56.0%;top:6.8%;width:9.1%;height:5.2%}.hs-trade{left:66.2%;top:6.8%;width:5.4%;height:5.2%}.hs-contact{left:72.8%;top:6.8%;width:7.2%;height:5.2%}.hs-support{left:85.9%;top:0%;width:10.2%;height:3.8%}.hs-hero-solutions{left:4.7%;top:47.0%;width:13.0%;height:4.7%}.hs-hero-contact{left:19.1%;top:47.0%;width:10.1%;height:4.7%}.hs-card1{left:21.6%;top:71.0%;width:10%;height:4%}.hs-card2{left:51.2%;top:71.0%;width:10%;height:4%}.hs-card3{left:81.7%;top:71.0%;width:10%;height:4%}.hs-aboutcta{left:4.8%;top:95.7%;width:15%;height:3.6%}
.home-accessible{display:none}.home-footer{background:#001738;color:#fff;padding:34px 0}.home-footer .container{display:flex;justify-content:space-between;gap:20px;align-items:center}.home-footer a{color:#fff;text-decoration:none;margin-left:20px;font-size:13px}
.page-hero{background:linear-gradient(110deg,#001a43,#073b76);color:#fff;padding:88px 0 74px}.page-hero .eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700;color:#7cb8ff}.page-hero h1{font-size:clamp(42px,6vw,72px);line-height:.98;margin:10px 0 18px;max-width:850px}.page-hero p{max-width:720px;font-size:19px;color:#d8e6f7}.section{padding:76px 0}.section.alt{background:#f7f9fc}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--blue);font-weight:700}.section h2{font-size:clamp(30px,4vw,46px);line-height:1.05;margin:8px 0 20px}.lead{font-size:19px;color:#4e5b6d;max-width:760px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:38px}.card{background:#fff;border:1px solid #e5eaf0;box-shadow:0 8px 22px rgba(4,35,77,.06)}.card img{display:block;width:100%;height:225px;object-fit:cover}.card-body{padding:26px}.card h3{margin:0 0 10px;font-size:25px;line-height:1.1}.card p{color:#4e5b6d}.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;padding:14px 22px;border:2px solid var(--blue)}.btn.secondary{background:transparent;color:var(--blue)}.number-list{border-top:1px solid #dbe2eb}.number-row{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid #dbe2eb}.number-row .n{color:var(--blue);font-weight:800;font-size:22px}.number-row h3{margin:0 0 6px;font-size:25px}.number-row p{margin:0;color:#556274}.photo-band{display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:center}.photo-band img{width:100%;height:460px;object-fit:cover}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe6ef;border:1px solid #dfe6ef}.fact{background:#fff;padding:28px}.fact strong{display:block;font-size:17px}.fact span{font-size:14px;color:#586477}.trade-panel{background:#001d4c;color:#fff;padding:44px}.trade-panel h2{color:#fff}.trade-panel p{color:#dce8f7}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}.contact-card{background:#f7f9fc;padding:34px}.contact-card a{color:var(--blue)}label{display:block;font-weight:700;margin:0 0 6px}.field{margin-bottom:18px}input,textarea{width:100%;padding:14px;border:1px solid #cbd4df;background:white}textarea{min-height:150px;resize:vertical}.map iframe{width:100%;height:430px;border:0}.legal{max-width:900px}.legal h2{margin-top:38px}.site-footer{background:#001738;color:#fff;padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:34px}.site-footer h3{margin-top:0}.site-footer a{color:#fff;text-decoration:none}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:8px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:34px;padding-top:22px;font-size:13px;color:#bed0e6}

/* Image-quality and no-crop refinements for interior pages. */
.card-media{background:#f4f7fb;min-height:250px;display:flex;align-items:center;justify-content:center;padding:18px;border-bottom:1px solid #e5eaf0;overflow:hidden}
.card-media img,.solutions-grid .card img{display:block;width:100%;height:auto;max-height:330px;object-fit:contain;object-position:center}
.photo-band img{width:100%;height:auto;object-fit:contain;object-position:center;background:#f4f7fb}

/* Expanded Services page. */
.service-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center}
.service-visual{background:#f4f7fb;border:1px solid #e0e6ee;padding:24px;display:flex;align-items:center;justify-content:center}
.service-visual img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;object-position:center}
.service-visual.compact img{max-height:440px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.service-card{background:#fff;border:1px solid #dfe6ef;padding:28px;min-height:235px;position:relative}
.service-card span{display:inline-block;color:var(--blue);font-weight:800;font-size:18px;margin-bottom:26px}
.service-card h3{font-size:23px;line-height:1.14;margin:0 0 12px;color:var(--text)}
.service-card p{margin:0;color:#556274}
.service-detail-grid{display:grid;grid-template-columns:1fr .9fr;gap:50px;align-items:center}
.dark-section{background:#001d4c;color:#fff}
.dark-section h2{color:#fff;max-width:760px}
.dark-section .kicker.light{color:#83bcff}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);margin-top:34px}
.process-grid>div{background:#06295b;padding:28px;min-height:245px}
.process-grid strong{display:block;color:#70b4ff;font-size:21px;margin-bottom:32px}
.process-grid h3{font-size:21px;line-height:1.18;margin:0 0 10px;color:#fff}
.process-grid p{margin:0;color:#d9e7f6}
.service-cta{margin:34px 0 0}
.contact-note{margin-top:28px;padding:22px;border-left:4px solid var(--blue);background:#fff}
.contact-note strong{display:block;margin-bottom:6px}
.contact-note span{display:block;color:#556274}

@media(max-width:900px){.approved-home{display:none}.home-accessible{display:block}.topbar .container{flex-wrap:wrap;padding:9px 0;gap:8px 18px}.topbar .push{margin-left:0}.nav-wrap{min-height:76px}.brand{min-width:0}.brand img{width:170px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #eee;padding:22px;flex-direction:column;align-items:stretch;gap:12px}.main-nav.open{display:flex}.support-btn{margin-left:0;text-align:center}.mobile-hero{background:#001d4c;color:#fff;padding:52px 0 0}.mobile-hero h1{font-size:48px;line-height:.98;margin:0 0 18px}.mobile-hero p{font-size:18px;color:#e4eef9}.mobile-hero .hero-photo{margin-top:34px}.mobile-hero .hero-photo img{width:100%;display:block}.mobile-van{background:#fff;padding:24px 0}.mobile-van img{width:100%}.grid-3,.grid-2,.photo-band,.contact-grid,.footer-grid,.facts{grid-template-columns:1fr}.section{padding:56px 0}.photo-band img{height:auto}.home-footer .container{flex-direction:column;align-items:flex-start}.home-footer a{margin-left:0;margin-right:16px}}

@media(max-width:900px){.service-intro,.service-detail-grid,.service-grid,.process-grid{grid-template-columns:1fr}.card-media{min-height:0;padding:14px}.card-media img,.solutions-grid .card img{max-height:none}.service-visual{padding:14px}.service-visual img,.service-visual.compact img{max-height:none}.service-card{min-height:0}.process-grid>div{min-height:0}.contact-note{margin-top:22px}}
