:root { --dark:#202829; --dark-2:#273133; --teal:#31c8bd; --teal-deep:#00717f; --text:#626669; --heading:#4f5254; --muted:#7b7f82; --line:#e4e5e6; --bg:#f6f7f7; --font-body:KirkhillSans, "Helvetica Neue", Arial, sans-serif; --font-heading:Georgia, "Times New Roman", serif; }
@font-face { font-family:'Glyphicons Regular'; src:url('source/kirkhillmansion.co.uk/wp-content/themes/bellevue/assets/fonts/glyphicons-regular.woff2') format('woff2'), url('source/kirkhillmansion.co.uk/wp-content/themes/bellevue/assets/fonts/glyphicons-regular.woff') format('woff'); }
@font-face { font-family:'KirkhillSans'; src:local('Open Sans'), local('Helvetica Neue'); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--font-body); font-size:clamp(16px, .34vw + 15px, 18px); line-height:1.72; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a { color:var(--teal-deep); text-decoration:none; transition:color .16s ease, background .16s ease, border-color .16s ease, opacity .16s ease; }
a:hover { color:#1ea9a2; }
a:focus-visible, button:focus-visible { outline:2px solid var(--teal); outline-offset:4px; }
img { display:block; max-width:100%; }
.glyphicons { font-family:'Glyphicons Regular'; font-style:normal; font-weight:normal; line-height:1; -webkit-font-smoothing:antialiased; }
.glyphicons:before { color:var(--teal); }
.glyphicons-glass:before{content:"\E001"}.glyphicons-leaf:before{content:"\E002"}.glyphicons-car:before{content:"\E006"}.glyphicons-heart:before{content:"\E013"}.glyphicons-envelope:before{content:"\2709"}.glyphicons-music:before{content:"\E018"}.glyphicons-cleaning:before{content:"\E068"}.glyphicons-wifi:before{content:"\E074"}.glyphicons-stroller:before{content:"\E076"}.glyphicons-display:before{content:"\E087"}.glyphicons-fishes:before{content:"\E255"}.glyphicons-google-maps:before{content:"\E243"}.glyphicons-conversation:before{content:"\E245"}.glyphicons-cutlery:before{content:"\E277"}.glyphicons-birthday-cake:before{content:"\E279"}.glyphicons-celebration:before{content:"\E292"}.glyphicons-pot:before{content:"\E296"}.glyphicons-coat-hanger:before{content:"\E382"}.glyphicons-phone-alt:before{content:"\E442"}.glyphicons-baby-formula:before{content:"\E492"}.glyphicons-bed-alt:before{content:"\E496"}.glyphicons-map:before{content:"\E503"}.glyphicons-shoes:before{content:"\E502"}.glyphicons-bath-bathtub:before{content:"\E514"}.glyphicons-person-wheelchair:before{content:"\E564"}.glyphicons-bath:before{content:"\E624"}.glyphicons-washing-machine:before{content:"\E631"}.glyphicons-ok:before{content:"\E199"}
.site-header { position:sticky; top:0; z-index:20; background:var(--dark); color:#ddd; box-shadow:0 1px 12px rgba(0,0,0,.18); }
.topbar { height:38px; background:var(--dark); display:flex; justify-content:flex-end; gap:28px; align-items:center; max-width:1170px; margin:0 auto; padding:0 15px; font-size:13px; line-height:1.2; }
.topbar a { color:#D6D6D2; }
.mini-icon { color:#D6D6D2; margin-right:7px; }
.navbar { height:118px; display:flex; align-items:center; justify-content:space-between; max-width:1170px; margin:0 auto; padding:0 15px; }
.brand img { width:330px; height:auto; opacity:.88; }
nav { display:flex; align-items:center; gap:clamp(24px, 2vw, 34px); font-size:clamp(17px, .42vw + 15px, 20px); font-weight:650; line-height:1.2; }
.nav-item { position:relative; }
.nav-item > a { display:block; color:#D6D6D2; position:relative; padding:41px 0; }
.nav-item:hover > a:after, .nav-item > a.active:after { content:""; position:absolute; left:50%; bottom:31px; width:28px; height:2px; background:var(--teal); transform:translateX(-50%); }
.submenu { position:absolute; left:50%; top:100%; width:max-content; min-width:260px; padding:20px 0; background:#303a3d; transform:translateX(-50%); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease, visibility .18s ease; box-shadow:0 12px 28px rgba(0,0,0,.22); }
.nav-item:hover .submenu, .nav-item:focus-within .submenu { opacity:1; visibility:visible; pointer-events:auto; }
.submenu a { display:block; padding:9px 34px; color:#cfd4d5; white-space:nowrap; font-size:clamp(16px, .34vw + 14px, 19px); font-weight:650; line-height:1.55; }
.submenu a:hover, .submenu a.active { color:white; background:rgba(49,200,189,.12); }
.menu-toggle { display:none; color:white; border:1px solid rgba(255,255,255,.35); background:transparent; padding:9px 13px; font:650 14px var(--font-body); }
.hero { position:relative; min-height:calc(100vh - 164px); display:grid; place-items:center; text-align:center; color:white; background:var(--hero-image) center/cover no-repeat; overflow:hidden; }
.hero:before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(32,40,41,.22), rgba(32,40,41,.52)); pointer-events:none; }
.hero--page { min-height:705px; background-color:#eceff3; box-shadow:inset 0 -120px 180px rgba(0,0,0,.18); }
.hero > div { position:relative; z-index:1; }
.hero h1 { margin:0; display:inline-block; padding:15px 28px 17px; border-top:3px solid var(--teal); background:rgba(32,40,41,.68); color:white; font-family:var(--font-heading); font-size:clamp(34px, 2vw + 20px, 48px); line-height:1.12; font-weight:400; letter-spacing:.02em; text-transform:uppercase; text-shadow:0 2px 12px rgba(0,0,0,.45); box-shadow:0 16px 44px rgba(0,0,0,.25); }
.hero p, .hero .eyebrow { display:none; }
.hero-slider { position:relative; min-height:calc(100vh - 164px); overflow:hidden; background:#111; color:white; touch-action:pan-y; cursor:grab; user-select:none; }
.hero-slider.is-dragging { cursor:grabbing; }
.hero-slider--page { min-height:705px; }
.hero-slider-track { position:absolute; inset:0; height:100%; min-height:inherit; }
.hero-slide { position:absolute; inset:0; min-height:inherit; overflow:hidden; opacity:0; z-index:0; transition:opacity var(--slide-transition, 1500ms) ease; }
.hero-slide.is-active { opacity:1; z-index:1; }
.hero-slide img { width:100%; height:100%; min-height:inherit; object-fit:cover; object-position:center center; pointer-events:none; transform:scale(var(--start-scale, 1)); transform-origin:var(--motion-origin, center center); will-change:transform; }
.hero-slide.is-active[data-motion="zoom-in"] img, .hero-slide.is-active[data-motion="zoom-out"] img { animation:heroFiniteZoom var(--slide-duration, 2900ms) ease-out forwards; }
.hero-slide.is-active[data-motion="static"] img { animation:none; transform:scale(var(--start-scale, 1)); }
@keyframes heroFiniteZoom { from { transform:scale(var(--start-scale, 1)); } to { transform:scale(var(--end-scale, 1)); } }
.hero-slide:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.38)); pointer-events:none; }
.hero-slider-caption { position:absolute; z-index:2; left:50%; top:50%; width:min(680px,88vw); padding:15px 28px 17px; border-top:3px solid var(--teal); background:rgba(32,40,41,.68); transform:translate(-50%,-50%); color:white; font-family:var(--font-heading); font-size:clamp(36px, 2.1vw + 22px, 56px); font-weight:400; line-height:1.08; text-align:center; opacity:0; text-shadow:0 2px 12px rgba(0,0,0,.45); box-shadow:0 16px 44px rgba(0,0,0,.25); transition:opacity 1.5s ease .15s; }
.hero-slide.is-active .hero-slider-caption { opacity:1; }
.hero-slider-arrow { position:absolute; z-index:4; top:50%; width:50px; height:72px; border:0; background:rgba(32,40,41,.24); color:white; font-size:58px; line-height:1; transform:translateY(-50%); cursor:pointer; opacity:.18; transition:opacity .18s ease, background .18s ease; }
.hero-slider:hover .hero-slider-arrow, .hero-slider-arrow:focus-visible { opacity:.72; }
.hero-slider-arrow:hover { background:rgba(0,0,0,.36); opacity:.95; }
.hero-slider-prev { left:24px; }
.hero-slider-next { right:24px; }
.hero-slider-dots { position:absolute; z-index:4; left:0; right:0; bottom:24px; display:flex; justify-content:center; gap:10px; }
.hero-slider-dots button { width:11px; height:11px; padding:0; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:rgba(255,255,255,.15); cursor:pointer; }
.hero-slider-dots button.is-active { background:white; }
.section { padding:clamp(54px, 4.2vw, 76px) 15px; background:#fff; border-bottom:1px solid var(--line); }
.section--menu { padding-top:30px; padding-bottom:30px; border-bottom:0; }
.section--grey { background:#e9eaec; }
.section--services { padding-top:78px; padding-bottom:82px; }
.section--dark { background:#4c767c; color:white; }
.section--dark h2, .section--dark h3, .section--dark p { color:white; }
.section--dark .card { background:rgba(0,45,64,.18); border-color:rgba(255,255,255,.12); }
.section-inner { max-width:1170px; margin:0 auto; }
.section-copy { max-width:1120px; margin:0 auto; }
.section-copy h2 { margin:0 0 clamp(28px, 2.5vw, 38px); color:var(--heading); font-family:var(--font-heading); font-size:clamp(30px, 1.2vw + 24px, 42px); line-height:1.15; font-weight:400; text-align:center; text-transform:uppercase; letter-spacing:.025em; }
.section-copy h2:after, .site-footer h2:after { content:""; display:block; width:62px; height:3px; margin:20px auto 0; background:var(--teal); }
.section--center .content { text-align:center; }
.content { max-width:100%; }
.content p { margin:0 0 20px; }
.content p:last-child { margin-bottom:0; }
.section-photo { display:none; }
.card-gallery { max-width:1170px; grid-template-columns:repeat(3,1fr); gap:34px; }
.gallery { margin:55px auto 0; display:grid; }
.gallery figure { margin:0; background:white; border:1px solid #ddd; }
.gallery img { width:100%; aspect-ratio:1.58; object-fit:cover; }
.gallery figcaption { min-height:78px; display:grid; place-items:center; padding:18px; color:#555; font-size:clamp(18px, .45vw + 16px, 23px); line-height:1.22; font-weight:700; text-align:center; }
.thumb-carousel { position:relative; max-width:1170px; margin:55px auto 0; overflow:hidden; }
.thumb-viewport { overflow:hidden; width:100%; }
.thumb-track { display:flex; gap:38px; transform:translate3d(calc(var(--thumb-index, 0) * var(--thumb-step, -293px)), 0, 0); transition:transform .55s ease; will-change:transform; }
.thumb-slide { flex:0 0 255px; margin:0; background:transparent; }
.thumb-slide img { width:255px; height:170px; object-fit:cover; }
.thumb-arrow { position:absolute; z-index:3; top:50%; width:42px; height:64px; border:0; background:rgba(0,0,0,.14); color:white; font-size:48px; line-height:1; transform:translateY(-50%); cursor:pointer; opacity:.38; transition:opacity .18s ease, background .18s ease; }
.thumb-carousel:hover .thumb-arrow, .thumb-arrow:focus-visible { opacity:.8; }
.thumb-arrow:hover { background:rgba(0,0,0,.28); opacity:1; }
.thumb-prev { left:0; }
.thumb-next { right:0; }
.cards { max-width:1170px; margin:48px auto 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.card { background:white; border:1px solid #dedede; }
.card img { width:100%; aspect-ratio:1.58; object-fit:cover; }
.card div { padding:22px 24px; }
.card h3 { margin:0 0 10px; color:#555; font-size:clamp(20px, .38vw + 18px, 24px); line-height:1.25; font-weight:700; }
.card p { margin:0 0 10px; font-size:16px; line-height:1.68; }
.card--compact h3 { font-size:19px; }
.brand-cards { max-width:1170px; margin:55px auto 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; align-items:start; }
.brand-card { border:1px solid rgba(255,255,255,.2); background:rgba(32,40,41,.18); }
.brand-card img { width:100%; height:126px; padding:24px 30px; object-fit:contain; object-position:center center; background:white; box-sizing:border-box; }
.brand-card h3 { margin:0; min-height:62px; display:flex; align-items:center; justify-content:center; padding:13px 18px; color:#fff; font-size:18px; line-height:1.25; font-weight:650; text-align:center; }
.section--suppliers .section-copy h2 { color:#f0f2f2; }
.section--suppliers .section-copy h2:after { background:var(--teal); }
.price { color:var(--teal); font-size:30px !important; font-weight:800; line-height:1.2 !important; }
.price-sub { color:#777; font-size:14px !important; font-weight:800; text-transform:uppercase; }
.icon-grid { max-width:1170px; margin:55px auto 0; display:grid; grid-template-columns:1fr 1fr; column-gap:92px; row-gap:54px; text-align:left; }
.icon-item { display:grid; grid-template-columns:56px 1fr; gap:24px; align-items:start; }
.icon-item i { font-size:38px; margin-top:5px; text-align:center; }
.icon-item h3 { margin:0 0 7px; color:#555; font-size:clamp(24px, .6vw + 20px, 30px); line-height:1.2; font-weight:700; }
.icon-item p { margin:0; font-size:clamp(16px, .22vw + 15px, 18px); line-height:1.58; color:#686c6e; }
.section--accommodation-icons .section-inner { max-width:1520px; }
.section--accommodation-icons .icon-grid { max-width:100%; column-gap:110px; row-gap:82px; }
.section--accommodation-icons .icon-item { grid-template-columns:68px 1fr; gap:26px; }
.section--accommodation-icons .icon-item i { color:var(--teal); font-size:48px; line-height:1; margin-top:2px; }
.section--accommodation-icons .icon-item h3 { font-size:clamp(29px, .75vw + 22px, 36px); line-height:1.16; margin-bottom:12px; }
.section--accommodation-icons .icon-item p { font-size:clamp(18px, .35vw + 16px, 22px); line-height:1.58; }
.section--services .section-inner { max-width:1580px; }
.section--services .section-copy h2 { font-size:clamp(34px, 1.1vw + 24px, 44px); margin-bottom:70px; }
.section--services .icon-grid { max-width:100%; margin-top:0; column-gap:120px; row-gap:76px; }
.section--services .icon-item { grid-template-columns:82px 1fr; gap:34px; }
.section--services .icon-item i { color:var(--teal); font-size:52px; line-height:1; margin-top:2px; }
.section--services .icon-item h3 { font-size:clamp(30px, .8vw + 23px, 38px); line-height:1.15; margin-bottom:18px; }
.section--services .icon-item p { font-size:clamp(18px, .45vw + 16px, 23px); line-height:1.48; }
.service-menu { max-width:1170px; margin:45px auto 0; display:grid; grid-template-columns:1fr 1fr; column-gap:70px; row-gap:38px; text-align:left; }
.service-menu-item { display:grid; grid-template-columns:56px 1fr; gap:22px; align-items:start; }
.service-menu-item i { color:var(--teal); font-size:34px; margin-top:2px; text-align:center; }
.service-menu-item h3 { margin:0; color:#555; font-size:clamp(19px, .28vw + 17px, 22px); line-height:1.3; font-weight:700; }
.cta { background:#00394a; color:white; padding:42px 15px 48px; }
.cta .section-inner { max-width:950px; display:block; }
.cta .section-copy { max-width:950px; margin:0 auto; text-align:center; }
.cta h2 { margin:0; color:white; font-family:var(--font-body); font-size:clamp(24px, .75vw + 20px, 31px); line-height:1.28; font-weight:700; text-align:center; text-transform:none; letter-spacing:0; }
.cta h2:after { display:none; }
.cta .content { display:none; }
.cta > p, .cta .section-inner + p { margin:26px 0 0; text-align:center; }
.cta .button { margin:0 auto; }
.button, .site-footer button { display:inline-flex; justify-content:center; align-items:center; min-width:174px; min-height:58px; padding:0 32px; border:0; border-radius:30px; background:var(--teal); color:white; font-size:clamp(17px, .25vw + 16px, 20px); font-weight:700; cursor:pointer; transition:background .16s ease, transform .16s ease; }
.button:hover, .site-footer button:hover, .inline-contact button:hover, .conversion-form button:hover { background:#27b8ae; color:white; }
.split-panel { max-width:1170px; margin:48px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; text-align:left; }
.split-panel .icon-grid { margin:0; display:block; }
.split-panel .icon-item { margin-bottom:28px; }
.inline-contact, .conversion-form { max-width:620px; margin:0 auto; }
.inline-contact input, .inline-contact textarea, .conversion-form input { width:100%; margin:0 0 18px; padding:16px 18px; border:1px solid #d3d3d3; border-radius:3px; background:#fff; color:#555; font:600 16px var(--font-body); }
.inline-contact textarea { min-height:150px; resize:vertical; }
.inline-contact button, .conversion-form button { display:inline-flex; justify-content:center; align-items:center; min-width:170px; min-height:52px; padding:0 28px; border:0; border-radius:28px; background:var(--teal); color:white; font-size:17px; font-weight:700; cursor:pointer; transition:background .16s ease; }
.section--contact-page .content { max-width:850px; margin:0 auto; }
.contact-panel { max-width:1170px; margin:52px auto 0; display:grid; grid-template-columns:1.08fr .92fr; gap:58px; align-items:start; text-align:left; }
.contact-details { display:grid; gap:28px; }
.contact-details article { display:grid; grid-template-columns:52px 1fr; gap:20px; align-items:start; }
.contact-details i { color:var(--teal); font-size:40px; line-height:1; margin-top:6px; text-align:center; }
.contact-details .glyphicons-envelope { font-size:54px; margin-top:0; }
.contact-details h3 { margin:0 0 8px; color:#555; font-size:clamp(22px, .45vw + 19px, 27px); line-height:1.2; font-weight:700; }
.contact-details p { margin:0 0 6px; font-size:17px; line-height:1.62; }
.contact-details .address-line { white-space:nowrap; }
.contact-page-form { max-width:none; padding:34px; background:white; border:1px solid #ddd; box-shadow:0 10px 30px rgba(0,0,0,.04); }
.contact-page-form textarea { min-height:190px; }
.conversion-form { margin-top:45px; display:grid; grid-template-columns:repeat(3,1fr) auto; gap:16px; align-items:start; }
.conversion-form input { margin:0; }
.conversion-form button { min-height:56px; }
.section--testimonials { background:#4b787d; color:white; border-bottom:0; }
.section--testimonials-single { background:#325158; padding:clamp(94px, 7.5vw, 145px) 15px clamp(110px, 8vw, 170px); }
.section--testimonials h2 { color:white; }
.section--testimonials h2:after { background:#e2f3f2; }
.testimonials { max-width:1170px; margin:68px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:36px; align-items:start; }
.section--testimonials-single .testimonials { max-width:1748px; margin:0 auto; display:block; }
blockquote { margin:0; color:white; }
blockquote p { position:relative; margin:0 0 46px; padding:40px 36px; background:rgba(0,45,64,.22); color:#f4f7f7; font-family:var(--font-heading); font-size:clamp(24px, .55vw + 19px, 29px); font-style:italic; line-height:1.5; font-weight:400; }
blockquote p:after { content:""; position:absolute; left:35px; bottom:-24px; border-width:24px 24px 0 0; border-style:solid; border-color:rgba(0,45,64,.24) transparent transparent transparent; }
blockquote footer { padding-left:48px; font-size:17px; line-height:1.35; color:#f0f4f4; }
blockquote footer strong { display:block; font-size:21px; }
blockquote footer span { display:block; }
.testimonials--single blockquote p { margin-bottom:78px; padding:clamp(52px, 4.8vw, 72px) clamp(34px, 5.4vw, 80px); background:rgba(0,45,64,.22); font-size:clamp(31px, 1.25vw + 22px, 46px); line-height:1.5; text-align:center; }
.testimonials--single blockquote p:after { left:50%; bottom:-38px; border-width:38px 38px 0 0; transform:translateX(-50%); border-color:rgba(0,45,64,.22) transparent transparent transparent; }
.testimonials--single blockquote footer { padding-left:0; text-align:center; font-size:clamp(22px, .55vw + 18px, 28px); color:white; }
.testimonials--single blockquote footer strong { font-size:clamp(26px, .65vw + 21px, 34px); }
.section--legal .section-copy { text-align:left; }
.section--legal .content { text-align:left; }
.site-footer { background:var(--dark); color:#c9c9c9; }
.footer-main { max-width:1170px; margin:0 auto; padding:86px 15px 90px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:80px; }
.site-footer h2 { margin:0 0 32px; color:#e7e7e7; font-family:var(--font-heading); font-size:24px; font-weight:400; }
.site-footer h2:after { margin:12px 0 0; width:30px; height:2px; }
.site-footer a { color:#c9c9c9; }
.social a { display:inline-grid; place-items:center; width:38px; height:38px; margin-right:10px; border-radius:4px; background:#464d50; color:#222829; vertical-align:middle; }
.social svg { width:24px; height:24px; fill:currentColor; }
.legal { border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:14px; }
.site-footer input, .site-footer textarea { width:100%; margin:0 0 24px; padding:17px 19px; border:1px solid #c7cfd0; border-radius:4px; background:transparent; color:#eee; font:650 16px var(--font-body); }
.site-footer textarea { min-height:168px; resize:vertical; }
.site-footer button { width:100%; }
.copyright { min-height:88px; display:flex; align-items:center; justify-content:center; gap:18px; background:#1f2729; color:#bdbdbd; font-size:16px; }
.copyright img { display:none; }
.back-top { position:fixed; right:24px; bottom:24px; z-index:30; width:60px; height:60px; display:grid; place-items:center; border-radius:6px; background:rgba(25,32,34,.36); color:white; font-size:34px; line-height:1; }
@media (max-width:900px) {
  .topbar { justify-content:center; flex-wrap:wrap; height:auto; min-height:39px; padding:8px 15px; }
  .navbar { height:auto; min-height:92px; flex-wrap:wrap; }
  .brand img { width:260px; }
  .menu-toggle { display:inline-flex; }
  nav { display:none; width:100%; flex-direction:column; align-items:flex-start; gap:0; padding:10px 0 22px; }
  .site-header.open nav { display:flex; }
  .nav-item { width:100%; }
  .nav-item > a { padding:9px 0; }
  .nav-item:hover > a:after, .nav-item > a.active:after { display:none; }
  .submenu { position:static; width:100%; min-width:0; padding:5px 0 10px 18px; transform:none; opacity:1; visibility:visible; pointer-events:auto; box-shadow:none; background:transparent; }
  .submenu a { padding:5px 0; font-size:16px; }
  .hero, .hero--page, .hero-slider, .hero-slider--page { min-height:430px; }
  .hero h1 { font-size:clamp(30px, 4.8vw, 38px); padding:13px 22px 15px; }
  .hero-slider-caption { font-size:clamp(32px, 5vw, 42px); padding:13px 22px 15px; }
  .hero-slider-arrow { width:44px; height:58px; font-size:46px; opacity:.55; }
  .hero-slider-prev { left:10px; }
  .hero-slider-next { right:10px; }
  .card-gallery, .cards, .icon-grid, .service-menu, .testimonials, .footer-main, .split-panel, .conversion-form, .contact-panel { grid-template-columns:1fr; }
  .brand-cards { gap:20px; }
  .brand-card img { height:100px; padding:18px 16px; }
  .brand-card h3 { min-height:58px; padding:12px 10px; font-size:17px; }
  .section--services .section-copy h2 { font-size:clamp(30px, 4.6vw, 36px); margin-bottom:45px; }
  .section--services .icon-grid { row-gap:38px; }
  .section--services .icon-item { grid-template-columns:56px 1fr; gap:22px; }
  .section--services .icon-item i { font-size:38px; }
  .section--services .icon-item h3 { font-size:25px; margin-bottom:8px; }
  .section--services .icon-item p { font-size:17px; }
  .section--accommodation-icons .icon-grid { row-gap:42px; }
  .section--accommodation-icons .icon-item { grid-template-columns:56px 1fr; gap:22px; }
  .section--accommodation-icons .icon-item i { font-size:40px; }
  .section--accommodation-icons .icon-item h3 { font-size:27px; margin-bottom:9px; }
  .section--accommodation-icons .icon-item p { font-size:18px; line-height:1.55; }
  .section--testimonials-single { padding:70px 18px 90px; }
  .testimonials--single blockquote p { padding:42px 30px; font-size:29px; }
  .testimonials--single blockquote footer strong { font-size:25px; }
  .testimonials--single blockquote footer { font-size:21px; }
  .thumb-track { gap:24px; }
  .footer-main { gap:32px; padding:54px 24px; }
  .contact-panel { gap:38px; }
  .contact-details .address-line { white-space:normal; }
  .cta .section-copy { display:block; text-align:center; }
  .cta h2 { text-align:center; margin-bottom:0; }
}
@media (max-width:560px) {
  body { font-size:16px; line-height:1.68; }
  .section { padding:48px 18px; }
  .section-copy h2 { font-size:28px; }
  .hero-slider-caption { font-size:29px; }
  .gallery figcaption, .card h3 { font-size:20px; }
  .brand-cards { gap:10px; }
  .brand-card img { height:70px; padding:10px; }
  .brand-card h3 { min-height:50px; font-size:13px; }
  .thumb-slide { flex-basis:calc(100vw - 70px); }
  .thumb-slide img { width:100%; height:auto; aspect-ratio:1.5; }
  .icon-item { grid-template-columns:42px 1fr; gap:16px; }
  .icon-item i { font-size:30px; }
  .icon-item h3 { font-size:22px; }
  .contact-page-form { padding:24px; }
  .contact-details article { grid-template-columns:44px 1fr; gap:16px; }
  .contact-details i { font-size:32px; }
  .contact-details .glyphicons-envelope { font-size:42px; }
  .contact-details h3 { font-size:22px; }
  .testimonials--single blockquote p { font-size:24px; line-height:1.45; }
  blockquote p { font-size:22px; }
  .button, .site-footer button { min-height:54px; min-width:160px; }
}
