@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Source+Sans+3:wght@400;600;700&display=swap";:root{font-family:"Source Sans 3",Segoe UI,sans-serif;line-height:1.4;color:#111;background:#fff;--navy: #27356f;--orange: #e4571b;--orange-deep: #cf4b15;--cream: #fff5eb;--paper: #ffffff;--ink: #0f1733;--muted: #5b6173;--border: #d6dbe8;--shadow: 0 16px 30px rgba(15, 23, 51, .08);--ring: rgba(228, 87, 27, .35)}*{box-sizing:border-box}body{margin:0;min-height:100%;color:var(--ink);overflow-y:scroll;scrollbar-gutter:stable;background:radial-gradient(circle at 85% -10%,rgba(228,87,27,.2),transparent 45%),radial-gradient(circle at 10% 10%,rgba(39,53,111,.18),transparent 40%),linear-gradient(180deg,#fff,var(--cream))}a{color:inherit;text-decoration:none}a:hover{color:var(--orange);text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:16px}header{border-bottom:1px solid var(--border);background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.header-actions{display:flex;align-items:center;gap:10px}.header-call{display:none}.brand{display:flex;align-items:center;gap:14px}.brand-logo-link{display:inline-flex;align-items:center;transition:transform .18s ease;transform-origin:center}.brand-logo-link:hover{transform:scale(1.06)}.brand-logo{width:110px;height:110px;background:transparent;object-fit:contain}.brand-title{font-family:Bebas Neue,"Source Sans 3",sans-serif;font-size:26px;letter-spacing:1px;color:var(--navy);text-transform:uppercase}.brand-title-logo{height:25px;width:auto;display:block}.brand-title-wrap{display:inline-grid;justify-items:center}.nav-links{display:flex;gap:12px;flex-wrap:wrap;padding:0;margin:0;flex:1;justify-content:center}.nav-links a{padding:7px 12px;border-radius:999px;border:1px solid transparent;font-weight:600}.nav-links a.active{background:var(--navy);color:#fff;text-decoration:none}.nav-links a:not(.active):hover{border-color:var(--orange);color:var(--navy)}.nav-toggle{width:44px;height:44px;border-radius:999px;border:1px solid var(--navy);background:#fff;display:none;align-items:center;justify-content:center;gap:4px;flex-direction:column;cursor:pointer}.nav-toggle-bar{width:18px;height:2px;background:var(--navy);display:block;border-radius:0}.nav-links.open{display:grid}.card{border:1px solid var(--border);border-radius:0;padding:16px;background:var(--paper);box-shadow:var(--shadow)}.hero{border:none;border-radius:0;padding:22px 0;background:transparent;display:grid;gap:12px;box-shadow:none;text-align:center}.hero-title{font-family:Bebas Neue,"Source Sans 3",sans-serif;font-size:55px;letter-spacing:1px;color:var(--navy);text-transform:uppercase}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:25px}.hero-lead{color:var(--muted);font-size:21px}.hero-hours{font-weight:700;color:var(--navy)}.reviews-section{background:#fff;width:100%;padding:20px 0;margin-top:18px}.reviews-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.review-card{display:grid;gap:6px}.review-rating{font-weight:800;color:var(--navy)}.reviews-cta{margin-top:10px;display:flex;justify-content:center}.realisations-section{padding-top:70px}.home-logo-divider{display:flex;justify-content:center;margin:24px 0}.home-logo{width:320px;height:auto;object-fit:contain}.realisations-carousel{position:relative;display:grid;place-items:center;margin-top:10px}.carousel-viewport{width:100%;overflow:hidden}.carousel-track{display:flex;width:100%}.carousel-slide{flex:0 0 calc(100% / var(--per-view, 3));padding:0 2.5px;box-sizing:border-box}.carousel-image{width:100%;height:260px;object-fit:cover;border-radius:0;border:none;display:block}@media (max-width: 900px){.carousel-image{height:200px}}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 800px){.grid-2,.grid-3,.reviews-grid{grid-template-columns:1fr}}@media (max-width: 950px){.nav-toggle{display:inline-flex}.brand-title,.brand .small,.brand-title-logo{display:none}.nav-links{display:none;grid-template-columns:1fr;gap:8px;padding:8px;margin-top:8px;border:1px solid var(--border);border-radius:0;background:#fff;box-shadow:var(--shadow);width:100%;justify-content:stretch;order:3;flex:0 0 100%}.nav-links.open{display:grid}.nav-links a{padding:10px 12px;border-radius:0;border:1px solid var(--border)}.brand{order:1}.header-actions{order:2}.header-actions .btn{padding:10px 12px}.header-call{display:inline-flex}}.btn{border:none;padding:11px 16px;border-radius:999px;background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;cursor:pointer;font-weight:600;box-shadow:0 10px 18px #e4571b33}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--navy);box-shadow:none}.btn:hover{filter:brightness(1.02)}.btn:hover{color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:0;background:#fff}input:focus,textarea:focus,select:focus{outline:2px solid var(--ring);border-color:var(--orange)}.btn.secondary:hover{background:var(--navy);color:#fff}label{display:block;font-weight:600;margin-bottom:6px;color:var(--ink)}.field{display:grid;gap:6px;margin-bottom:12px}.announcement{background:var(--navy);color:#fff;padding:10px 0;text-align:center;width:100%;overflow:hidden;font-weight:600}.announcement-track{display:inline-flex;gap:40px;white-space:nowrap;animation:announcement-scroll 18s linear infinite;padding-left:100%}.announcement-track span{display:inline-block}@keyframes announcement-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (prefers-reduced-motion: reduce){.announcement-track{animation:none;padding-left:0}}.footer{border-top:1px solid var(--border);margin-top:0;padding:16px 0;color:var(--muted)}.footer-inner{display:flex;flex-direction:column;align-items:stretch;gap:12px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.footer-logo{width:72px;height:auto;object-fit:contain}.footer-left{display:grid;gap:8px}.footer-copy{text-align:left}.footer-socials{display:flex;align-items:center;gap:12px}.footer-social-link{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;color:var(--navy);font-weight:600}.footer-social-icon{width:18px;height:18px;fill:currentColor}@media (max-width: 800px){.footer-top{flex-direction:column}.footer-copy{text-align:center}.footer-socials{justify-content:center}}.badge{font-size:12px;background:var(--navy);color:#fff;border-radius:0;padding:4px 8px;display:inline-block}.img-grid img{width:100%;height:220px;object-fit:cover;border-radius:0;border:none;display:block}.small{font-size:15px;color:var(--muted)}h1,h2,h3{font-family:Bebas Neue,"Source Sans 3",sans-serif;letter-spacing:1px;color:var(--navy)}h1{font-size:calc(2em + 2px)}h2{font-size:calc(1.5em + 2px)}h3{font-size:calc(1.17em + 2px)}.admin-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.admin-header h1{margin:0}.back-link{display:inline-flex;align-items:center;gap:6px}.back-link:hover{text-decoration:none}.admin-action-buttons{display:flex;gap:8px;align-items:center}.admin-action-buttons .btn{min-width:120px;justify-content:center;text-align:center}.posts-list{display:grid;gap:16px}.news-section{background:#fff;width:100%;padding:20px 0 80px;margin:0}.video-section{background:#fff;width:100%;padding:0;margin:0;position:relative}.home-video{width:100%;max-height:520px;object-fit:cover;border-radius:0;border:1px solid var(--border);box-shadow:var(--shadow);display:block}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.video-overlay-logo{width:min(60vw,1600px);height:auto;opacity:.8;filter:drop-shadow(0 19px 32px rgba(0,0,0,.35))}.news-card{display:grid;gap:6px;padding:0}.news-image{width:100%;height:auto;object-fit:contain;border-radius:0;border:none}.news-title{font-weight:800;font-size:18px;color:var(--ink);padding:12px 16px 0}.news-card .small{padding:0 16px 16px}.page-info .card,.page-contact .card,.page-gallery .card,.page-admin .card,.page-gallery select{border-radius:5px}.gallery-grid{gap:6px}.lightbox-thumb{padding:0;border:none;background:transparent;cursor:pointer}.lightbox-thumb img{width:100%;height:220px;object-fit:cover;border-radius:0;border:none;display:block;transition:opacity .18s ease}.image-wrap{position:relative;width:100%;height:100%}.image-loader{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#fff9}.image-loader:after{content:"";width:26px;height:26px;border:3px solid rgba(39,53,111,.2);border-top-color:var(--navy);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lightbox-thumb:hover img{opacity:.6}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1733cc;display:grid;place-items:center;z-index:50;padding:24px}.lightbox-image{max-width:min(100%,980px);max-height:85vh;border-radius:0;border:2px solid #fff;box-shadow:0 20px 60px #00000059}.lightbox-close{position:fixed;top:18px;right:18px;width:44px;height:44px;border-radius:999px;border:none;background:#fff;color:var(--navy);font-size:28px;line-height:1;cursor:pointer;box-shadow:var(--shadow)}.service-card{display:flex;flex-direction:column;gap:12px;border-radius:5px}.service-image-wrap{position:relative;width:calc(100% + 32px);margin:-16px -16px 0}.service-image-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.service-image-spinner:after{content:"";width:28px;height:28px;border:3px solid rgba(39,53,111,.25);border-top-color:var(--navy);border-radius:999px;animation:spin .7s linear infinite}.service-image-wrap.loaded .service-image-spinner{display:none}.occasion-card{display:grid;gap:6px;border-radius:5px;border:1px solid var(--border);background:#fff}.occasion-image-wrap{width:calc(100% + 32px);margin:-16px -16px 0}.occasion-button{text-align:left;color:inherit;font:inherit;cursor:pointer}.contact-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f173380;display:grid;place-items:center;z-index:60;padding:24px}.contact-modal-card{width:min(420px,100%);background:#fff;border-radius:0;padding:18px;border:1px solid var(--border);box-shadow:var(--shadow);position:relative;font-size:16px}.contact-modal-info{font-size:16px}.contact-modal-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:999px;border:none;background:#f1f3f8;color:var(--navy);font-size:22px;line-height:1;cursor:pointer}.contact-phone{display:block;width:fit-content;margin:18px 0 25px;padding:12px 14px;font-weight:700;background:#fff;color:var(--navy);border:1px solid var(--navy);border-radius:5px;text-align:center;text-decoration:none}.contact-phone:hover{background:var(--navy);color:#fff}.uploads-grid{margin-top:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.uploads-item{display:grid;gap:8px}.uploads-thumb{width:100%;aspect-ratio:4 / 3;object-fit:cover;border:1px solid var(--border);border-radius:0}.uploads-name{word-break:break-all}.service-image{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:5px 5px 0 0;border:1px solid var(--border);display:block}.occasion-image{width:100%;height:200px;object-fit:cover;border-radius:5px 5px 0 0;border:1px solid var(--border)}.occasion-price{font-weight:700;color:var(--navy)}.occasion-meta{display:flex;flex-wrap:wrap;gap:6px 12px}.occasion-modal{width:min(960px,100%);display:grid;gap:12px}.occasion-modal-image{width:100%;max-height:75vh;object-fit:contain;border-radius:0;border:2px solid #fff;background:#fff}.occasion-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}.occasion-thumb{padding:0;border:2px solid transparent;background:transparent;cursor:pointer}.occasion-thumb img{width:100%;height:80px;object-fit:cover;display:block}.occasion-thumb.active{border-color:#fff}.banner{margin:10px 0 18px}.banner-full{margin:0 0 18px}.banner-image{width:100%;height:auto;object-fit:cover;border-radius:0;border:1px solid var(--border);box-shadow:var(--shadow)}.banner-image-mobile{height:60vh}@media (max-width: 700px){.service-image{aspect-ratio:3 / 2}.occasion-image{height:160px}}
