@import url("fonts.css");

:root{
  --bg:oklch(98% 0.006 80);
  --text:oklch(18% 0.02 260);
  --surface-alt:oklch(95% 0.012 75);
  --border:oklch(88% 0.01 75);
  --border-soft:oklch(85% 0.01 75);
  --navy:oklch(32% 0.11 262);
  --navy-hover:oklch(26% 0.1 262);
  --navy-active-link:oklch(22% 0.09 262);
  --navy-heading:oklch(20% 0.06 262);
  --navy-box:oklch(38% 0.1 262);
  --footer-bg:oklch(22% 0.09 262);
  --footer-text:oklch(85% 0.02 262);
  --footer-border:oklch(35% 0.03 262);
  --footer-muted:oklch(65% 0.02 262);
  --gold:oklch(78% 0.15 80);
  --gold-hover:oklch(72% 0.16 75);
  --gold-text:oklch(20% 0.05 260);
  --star:oklch(50% 0.13 80);
  --muted-1:oklch(38% 0.02 260);
  --muted-2:oklch(42% 0.02 260);
  --muted-3:oklch(45% 0.02 260);
  --muted-4:oklch(30% 0.02 260);
  --muted-dark:oklch(25% 0.02 260);
  --danger:oklch(50% 0.1 25);
  --icon-bg:oklch(90% 0.03 262);
  --ph-a:oklch(93% 0.012 75);
  --ph-b:oklch(90% 0.012 75);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Manrope',sans-serif;}
a{color:inherit;}
img{max-width:100%;display:block;}
input,textarea,button{font-family:inherit;}

.container{max-width:1200px;margin:0 auto;padding:0 24px;}
.container-narrow{max-width:900px;margin:0 auto;padding:0 24px;}
.container-article{max-width:760px;margin:0 auto;padding:0 24px;}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:oklch(98% 0.006 80 / 0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
.site-header .inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:'Sora',sans-serif;font-weight:800;font-size:20px;color:var(--navy-active-link);}
.logo-mark{width:38px;height:38px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Sora',sans-serif;font-size:17px;flex-shrink:0;}
.main-nav{display:flex;gap:20px;flex-wrap:wrap;font-size:14.5px;font-weight:600;}
.main-nav a{text-decoration:none;color:var(--muted-4);}
.main-nav a.active,.main-nav a:hover{color:var(--navy-active-link);}
.header-actions{display:flex;gap:14px;align-items:center;}
.header-phone{font-weight:700;font-size:14.5px;color:var(--navy-active-link);text-decoration:none;}
.header-phone:hover{text-decoration:underline;}

/* Buttons */
.btn{display:inline-block;font-weight:700;font-size:15px;padding:15px 26px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;font-family:inherit;text-align:center;}
.btn-sm{font-size:14.5px;padding:11px 20px;}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:var(--navy-hover);}
.btn-secondary{background:transparent;color:var(--navy-active-link);border:1.5px solid var(--border-soft);}
.btn-secondary:hover{border-color:oklch(60% 0.02 260);}
.btn-gold{background:var(--gold);color:var(--gold-text);}
.btn-gold:hover{background:var(--gold-hover);}
.btn-block{width:100%;}

/* Badge pill */
.badge-pill{display:inline-block;background:var(--surface-alt);border:1px solid var(--border);color:var(--muted-4);font-size:13px;font-weight:700;padding:6px 14px;border-radius:100px;margin-bottom:20px;}

/* Sections */
section{padding:0;}
.section{padding:80px 24px;}
.section-alt{background:var(--surface-alt);padding:72px 24px;}
.section-tight{padding:20px 24px 40px;}
.section-title{font-family:'Sora',sans-serif;font-size:clamp(26px,3vw,36px);font-weight:800;margin:0 0 12px;text-align:center;color:var(--navy-heading);}
.section-lead{text-align:center;color:var(--muted-2);max-width:560px;margin:0 auto 44px;}

/* Hero */
.hero{padding:clamp(48px,8vw,96px) 24px 64px;display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:center;}
.hero h1{font-family:'Sora',sans-serif;font-size:clamp(34px,4.5vw,54px);line-height:1.08;font-weight:800;margin:0 0 20px;color:var(--navy-heading);}
.hero h1 em{font-style:normal;color:var(--navy);}
.hero p.lead{font-size:18px;line-height:1.6;color:var(--muted-1);max-width:520px;margin:0 0 28px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px;}
.hero-stats{display:flex;gap:32px;flex-wrap:wrap;}
.hero-stats .stat-num{font-family:'Sora',sans-serif;font-weight:800;font-size:26px;color:var(--navy-active-link);}
.hero-stats .stat-label{font-size:13px;color:var(--muted-3);}
.hero-photo{border-radius:20px;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--border);}
.hero-photo img{width:100%;height:100%;object-fit:cover;}
.ph-box{background:repeating-linear-gradient(135deg, var(--ph-a) 0px, var(--ph-a) 14px, var(--ph-b) 14px, var(--ph-b) 28px);border-radius:20px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);}

/* Page header (interior pages) */
.page-header{padding:clamp(48px,7vw,72px) 24px 32px;text-align:center;}
.page-header.wide{padding:clamp(48px,7vw,80px) 24px 40px;}
.page-header h1{font-family:'Sora',sans-serif;font-size:clamp(28px,4vw,42px);font-weight:800;margin:0 0 14px;color:var(--navy-heading);}
.page-header p{font-size:16px;line-height:1.6;color:var(--muted-1);margin:0;}

/* Cards grid */
.grid{display:grid;gap:24px;}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}

.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px;}
.card-icon{width:44px;height:44px;border-radius:10px;background:var(--icon-bg);margin-bottom:16px;}
.card h3{font-family:'Sora',sans-serif;font-size:17px;font-weight:700;margin:0 0 8px;}
.card p{font-size:14.5px;color:var(--muted-2);line-height:1.55;margin:0;}

/* Steps (kurzy overview) */
.step-card{border:1px solid var(--border);border-radius:14px;padding:30px;}
.step-tag{font-family:'Sora',sans-serif;font-weight:800;font-size:14px;color:var(--star);margin-bottom:10px;}
.step-card h3{font-family:'Sora',sans-serif;font-size:19px;font-weight:700;margin:0 0 10px;}
.step-card p{font-size:14.5px;color:var(--muted-2);line-height:1.6;margin:0 0 18px;}
.step-link{font-weight:700;font-size:14px;color:var(--navy);text-decoration:none;}
.step-link:hover{text-decoration:underline;}

/* Navy CTA banner (5 steps) */
.cta-banner{background:var(--navy);padding:56px 24px;}
.cta-banner .inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.cta-banner h2{font-family:'Sora',sans-serif;font-size:clamp(22px,2.6vw,30px);font-weight:800;color:#fff;margin:0 0 8px;}
.cta-banner p{color:oklch(88% 0.02 262);margin:0;font-size:15px;}
.timeline{max-width:1200px;margin:36px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;padding:0 24px;}
.timeline-item{color:#fff;}
.timeline-item .num{font-family:'Sora',sans-serif;font-weight:800;font-size:20px;margin-bottom:6px;}
.timeline-item .desc{font-size:13.5px;color:oklch(85% 0.02 262);}

/* Testimonials */
.testimonial{background:var(--surface-alt);border-radius:14px;padding:26px;}
.testimonial.bordered{background:#fff;border:1px solid var(--border);}
.stars{color:var(--star);font-size:14px;margin-bottom:12px;}
.testimonial p{font-size:14.5px;line-height:1.6;color:var(--muted-4);margin:0 0 16px;}
.testimonial .author{font-weight:700;font-size:14px;}

/* Gold CTA section */
.section-gold{background:var(--gold);padding:64px 24px;text-align:center;}
.section-gold .inner{max-width:800px;margin:0 auto;}
.section-gold h2{font-family:'Sora',sans-serif;font-size:clamp(24px,3vw,32px);font-weight:800;margin:0 0 12px;color:var(--gold-text);}
.section-gold p{color:oklch(30% 0.05 260);margin:0 0 24px;font-size:15.5px;}
.section-gold-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.section-gold .btn-primary{background:var(--gold-text);}
.section-gold .btn-primary:hover{background:oklch(15% 0.05 260);}
.section-gold .btn-white{background:#fff;color:var(--gold-text);}

/* Footer */
.site-footer{background:var(--footer-bg);color:var(--footer-text);padding:56px 24px 24px;}
.site-footer .cols{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;}
.site-footer .brand{font-family:'Sora',sans-serif;font-weight:800;font-size:19px;color:#fff;margin-bottom:12px;}
.site-footer .about{font-size:14px;line-height:1.6;max-width:280px;margin:0;}
.site-footer h4{font-weight:700;color:#fff;margin:0 0 12px;font-size:14.5px;}
.footer-links{display:flex;flex-direction:column;gap:9px;font-size:14px;}
.footer-links a{text-decoration:none;color:var(--footer-text);}
.footer-links a:hover{color:#fff;}
.footer-contact{font-size:14px;line-height:1.8;}
.footer-bottom{max-width:1200px;margin:36px auto 0;padding-top:20px;border-top:1px solid var(--footer-border);font-size:12.5px;color:var(--footer-muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

.site-footer-simple{background:var(--footer-bg);color:var(--footer-text);padding:40px 24px;}
.site-footer-simple .row{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:13px;}
.site-footer-simple .links{display:flex;gap:18px;flex-wrap:wrap;}
.site-footer-simple a{text-decoration:none;color:var(--footer-text);}
.site-footer-simple a:hover{color:#fff;}

/* Cookie banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--gold-text);color:#fff;padding:18px 24px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;box-shadow:0 -4px 20px rgba(0,0,0,0.2);}
.cookie-banner p{margin:0;font-size:13.5px;max-width:560px;}
.cookie-banner a{color:var(--gold);text-decoration:underline;}
.cookie-banner .actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-decline{background:transparent;border:1px solid oklch(50% 0.02 260);color:#fff;font-weight:600;font-size:13.5px;padding:10px 18px;border-radius:7px;cursor:pointer;}
.cookie-accept{background:var(--gold);border:none;color:var(--gold-text);font-weight:700;font-size:13.5px;padding:10px 18px;border-radius:7px;cursor:pointer;}
.cookie-banner[hidden]{display:none;}

/* Kurzy detail blocks */
.part-block{border:1px solid var(--border);border-radius:16px;padding:36px;display:grid;grid-template-columns:1fr 1.4fr;gap:32px;}
.part-tag{font-family:'Sora',sans-serif;font-weight:800;font-size:13px;color:var(--star);margin-bottom:8px;}
.part-block h2{font-family:'Sora',sans-serif;font-size:24px;font-weight:800;margin:0 0 10px;}
.part-block>div:first-child>p{font-size:14.5px;color:var(--muted-2);line-height:1.6;margin:0;}
.part-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.part-detail{background:var(--surface-alt);border-radius:10px;padding:16px 18px;font-size:14px;}
.part-detail span{color:var(--muted-3);}
.individual-block{background:var(--navy);border-radius:16px;padding:40px;display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center;}
.individual-block h2{font-family:'Sora',sans-serif;font-size:24px;font-weight:800;margin:0 0 10px;color:#fff;}
.individual-block>div:first-child>p{font-size:14.5px;color:oklch(88% 0.02 262);line-height:1.6;margin:0 0 16px;}
.individual-list{display:flex;flex-direction:column;gap:10px;}
.individual-list div{background:var(--navy-box);border-radius:10px;padding:14px 18px;color:#fff;font-size:14px;}

/* E-shop / cenik */
.shop-section-title{font-family:'Sora',sans-serif;font-size:20px;font-weight:800;margin:0 0 18px;color:var(--navy-active-link);}
.package-card{border:1px solid var(--border);border-radius:16px;padding:26px;display:flex;flex-direction:column;background:#fff;}
.package-badge{align-self:flex-start;background:var(--gold);color:var(--gold-text);font-size:12px;font-weight:800;padding:4px 10px;border-radius:100px;margin-bottom:12px;}
.package-card h3{font-family:'Sora',sans-serif;font-size:19px;font-weight:800;margin:0 0 6px;}
.package-card p{font-size:13.5px;color:var(--muted-2);line-height:1.55;margin:0 0 16px;flex-grow:1;}
.package-price{font-family:'Sora',sans-serif;font-size:26px;font-weight:800;color:var(--navy-active-link);margin-bottom:16px;}
.package-card .btn{width:100%;}

.item-card{border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;flex-direction:column;background:#fff;}
.item-card h3{font-family:'Sora',sans-serif;font-size:15.5px;font-weight:700;margin:0 0 6px;}
.item-card p{font-size:13px;color:var(--muted-2);line-height:1.5;margin:0 0 14px;flex-grow:1;}
.item-card .row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.item-price{font-family:'Sora',sans-serif;font-size:18px;font-weight:800;}
.btn-add{background:var(--surface-alt);border:1px solid var(--border-soft);color:var(--navy-active-link);font-weight:700;font-size:13px;padding:9px 14px;border-radius:7px;cursor:pointer;}

.payment-note{background:var(--surface-alt);border-radius:16px;padding:28px 32px;font-size:13.5px;color:var(--muted-2);line-height:1.6;}
.payment-note strong{color:var(--navy-active-link);}
.payment-note a{color:var(--navy);font-weight:700;text-decoration:none;}

/* Cart */
.cart-toggle{position:relative;background:var(--gold);border:none;color:var(--gold-text);font-weight:700;font-size:14.5px;padding:11px 18px;border-radius:8px;cursor:pointer;}
.cart-count{position:absolute;top:-8px;right:-8px;background:var(--navy);color:#fff;font-size:11px;font-weight:800;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.cart-overlay{position:fixed;inset:0;z-index:200;background:rgba(20,20,30,0.5);display:flex;justify-content:flex-end;}
.cart-overlay[hidden]{display:none;}
.cart-drawer{width:min(420px,100%);background:#fff;height:100%;padding:28px;overflow-y:auto;display:flex;flex-direction:column;}
.cart-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;}
.cart-drawer-head h2{font-family:'Sora',sans-serif;font-size:20px;font-weight:800;margin:0;}
.cart-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--muted-3);}
.cart-item{border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;gap:12px;justify-content:space-between;align-items:flex-start;}
.cart-item .info{flex-grow:1;}
.cart-item .name{font-weight:700;font-size:14px;margin-bottom:4px;}
.cart-item .price{font-size:13px;color:var(--muted-3);margin-bottom:8px;}
.qty-controls{display:flex;align-items:center;gap:10px;}
.qty-btn{width:26px;height:26px;border:1px solid var(--border-soft);background:#fff;border-radius:6px;cursor:pointer;font-weight:700;}
.cart-remove{background:none;border:none;color:var(--danger);font-size:13px;cursor:pointer;font-weight:600;}
.cart-total{border-top:1px solid var(--border);margin-top:18px;padding-top:18px;}
.cart-total .row{display:flex;justify-content:space-between;font-weight:800;font-size:17px;margin-bottom:18px;}
.cart-empty{text-align:center;padding:60px 10px;color:var(--muted-3);font-size:14px;}
.cart-done{text-align:center;padding:40px 10px;}
.cart-done .title{font-family:'Sora',sans-serif;font-size:19px;font-weight:800;margin-bottom:10px;color:var(--navy-active-link);}
.cart-done p{font-size:14px;color:var(--muted-2);line-height:1.6;}

/* Forms */
.field{padding:12px 14px;border:1px solid var(--border-soft);border-radius:8px;font-size:14px;width:100%;}
textarea.field{resize:vertical;}
.form-stack{display:flex;flex-direction:column;gap:14px;}
.consent-label{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--muted-2);}
.consent-label input{margin-top:2px;}
.consent-label a{color:var(--navy);font-weight:700;text-decoration:none;}

/* Instruktori */
.avatar{width:76px;height:76px;border-radius:50%;background:var(--navy);color:#fff;font-family:'Sora',sans-serif;font-weight:800;font-size:24px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.instructor-card{border:1px solid var(--border);border-radius:16px;padding:28px;text-align:center;background:#fff;}
.instructor-card h3{font-family:'Sora',sans-serif;font-size:18px;font-weight:800;margin:0 0 4px;}
.instructor-role{font-size:13px;color:var(--star);font-weight:700;margin-bottom:12px;}
.instructor-card p{font-size:13.5px;color:var(--muted-2);line-height:1.6;margin:0 0 12px;}
.instructor-lang{font-size:12.5px;color:var(--muted-3);}
.car-card{background:#fff;border-radius:14px;padding:22px;text-align:center;}
.car-photo{border-radius:10px;aspect-ratio:16/10;overflow:hidden;margin-bottom:14px;}
.car-photo img{width:100%;height:100%;object-fit:cover;}
.car-name{font-weight:700;font-size:14.5px;}

/* Contact page */
.contact-info{display:flex;flex-direction:column;gap:18px;margin-bottom:32px;}
.contact-info-row{display:flex;gap:14px;align-items:flex-start;}
.contact-icon{width:38px;height:38px;border-radius:9px;background:var(--icon-bg);flex-shrink:0;}
.contact-info-row .label{font-weight:700;font-size:14.5px;}
.contact-info-row .value{font-size:14px;color:var(--muted-2);}
.map-embed{border-radius:14px;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--border);}
.map-embed iframe{width:100%;height:100%;border:0;display:block;}
.contact-form-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px;}
.contact-form-card h2{font-family:'Sora',sans-serif;font-size:19px;font-weight:800;margin:0 0 18px;}

/* Blog */
.blog-card{text-decoration:none;color:inherit;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff;display:block;}
.blog-thumb{aspect-ratio:16/9;overflow:hidden;}
.blog-thumb img{width:100%;height:100%;object-fit:cover;}
.blog-card .body{padding:22px;}
.blog-meta{font-size:12.5px;color:var(--muted-3);margin-bottom:8px;}
.blog-card h3{font-family:'Sora',sans-serif;font-size:17px;font-weight:800;margin:0 0 8px;}
.blog-card p{font-size:13.5px;color:var(--muted-2);line-height:1.55;margin:0;}

/* Article */
.article{padding:clamp(40px,6vw,64px) 24px 60px;}
.back-link{font-size:13.5px;font-weight:700;color:var(--navy);text-decoration:none;}
.back-link:hover{text-decoration:underline;}
.article-meta{font-size:13px;color:var(--muted-3);margin:20px 0 10px;}
.article h1{font-family:'Sora',sans-serif;font-size:clamp(28px,4vw,38px);font-weight:800;line-height:1.15;margin:0 0 24px;color:var(--navy-heading);}
.article-hero{border-radius:14px;overflow:hidden;aspect-ratio:16/9;margin-bottom:32px;}
.article-hero img{width:100%;height:100%;object-fit:cover;}
.prose{font-size:16px;line-height:1.8;color:var(--muted-dark);}
.prose h2{font-family:'Sora',sans-serif;font-size:21px;font-weight:800;margin:32px 0 12px;color:var(--navy-heading);}
.article-cta{margin-top:40px;padding:28px;background:var(--surface-alt);border-radius:14px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.article-cta .label{font-weight:700;font-size:15px;}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:14px;}
.faq-item{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden;}
.faq-question{width:100%;text-align:left;background:none;border:none;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-family:inherit;}
.faq-question .q{font-weight:700;font-size:15.5px;color:var(--navy-heading);}
.faq-question .icon{font-size:20px;color:var(--muted-3);flex-shrink:0;}
.faq-answer{padding:0 22px 20px;font-size:14.5px;color:var(--muted-2);line-height:1.6;}
.faq-answer[hidden]{display:none;}

/* Reference masonry */
.masonry{columns:3;column-gap:24px;}
.masonry .testimonial{break-inside:avoid;margin-bottom:24px;}
.rating-row{display:flex;justify-content:center;align-items:center;gap:10px;}
.rating-row .stars-lg{color:var(--star);font-size:20px;}
.rating-row .score{font-weight:700;font-size:15px;}
.rating-row .count{color:var(--muted-3);font-size:14px;}

/* Legal pages */
.legal-header{background:oklch(98% 0.006 80 / 0.92);}
.legal-content{padding:clamp(48px,7vw,72px) 24px 80px;}
.legal-content h1{font-family:'Sora',sans-serif;font-size:clamp(26px,3.5vw,36px);font-weight:800;margin:0 0 8px;color:var(--navy-heading);}
.legal-date{font-size:13.5px;color:var(--muted-3);margin:0 0 36px;}
.legal-content .prose h2{margin:28px 0 10px;font-size:19px;}
.legal-content table{border-collapse:collapse;width:100%;font-size:13.5px;}
.legal-content th,.legal-content td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);}
.legal-form-box{background:var(--surface-alt);border-radius:14px;padding:28px;margin-top:32px;}
.legal-form-box h3{font-family:'Sora',sans-serif;font-size:16px;font-weight:800;margin:0 0 14px;}
.legal-form-box .lines{font-size:13.5px;line-height:1.8;margin:0;color:var(--muted-4);}

/* Responsive */
@media (max-width:860px){
  .hero{grid-template-columns:1fr;}
  .hero-photo,.ph-box{order:-1;}
  .part-block,.individual-block{grid-template-columns:1fr;}
  .part-detail-grid{grid-template-columns:1fr 1fr;}
  .site-footer .cols{grid-template-columns:1fr 1fr;}
  .masonry{columns:2;}
  section[style],.section{padding-left:20px;padding-right:20px;}
}
@media (max-width:640px){
  .part-detail-grid{grid-template-columns:1fr;}
  .site-footer .cols{grid-template-columns:1fr;}
  .masonry{columns:1;}
  section.section-tight.contact-grid,.contact-grid{grid-template-columns:1fr !important;}
}
