/*
Theme Name: Gokakivi
Theme URI: https://gokakivi.local
Author: Gokakivi
Author URI: https://gokakivi.local
Description: Tampereen Gokakivi -teema. Suomalainen luonnonkivi, rakennus- ja ympäristökivet. Yhteensopiva Gutenbergin ja Elementorin kanssa. Tekstit voi muokata WordPress-sivuston muokkaimessa.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gokakivi
Tags: one-column, custom-menu, custom-logo, featured-images, translation-ready
*/

/* ============================================================
   Gokakivi -teema
   Pohja: demosivuston ulkoasu (Tampereen Gokakivi)
   ============================================================ */
:root{
  --gk-paper:#F6F4EF;
  --gk-paper-2:#EFEBE3;
  --gk-white:#FFFFFF;
  --gk-ink:#23262A;
  --gk-ink-2:#101214;
  --gk-ink-soft:#5A6066;
  --gk-stone:#9AA0A6;
  --gk-line:#DCD6CA;
  --gk-accent:#9A6A42;
  --gk-accent-deep:#7E5431;
  --gk-dark-text:#C9CDD1;
  --gk-serif:Georgia,'Times New Roman',serif;
  --gk-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --gk-shadow:0 14px 40px rgba(35,38,42,.10);
  --gk-radius:3px;
}
*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0;font-family:var(--gk-sans);color:var(--gk-ink);
  background:var(--gk-paper);line-height:1.65;font-size:1rem;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--gk-serif);font-weight:700;line-height:1.18;letter-spacing:-.01em;margin:0 0 1.1rem;}
h1{font-size:clamp(2rem,4.6vw,3.2rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem);}
h3{font-size:1.25rem;}
p{margin:0 0 1.2rem;}

.gk-container{width:100%;max-width:none;margin:0;padding:0 clamp(1.1rem,3vw,2.5rem);}
.gk-section{padding:clamp(3.5rem,7vw,6rem) 0;}
.gk-section-alt{background:var(--gk-paper-2);}
.gk-section-dark{background:var(--gk-ink);color:#fff;}
.gk-section-dark .lead{color:var(--gk-dark-text);}

.gk-eyebrow{
  display:flex;align-items:center;gap:.65rem;font-size:.82rem;font-weight:600;
  letter-spacing:.02em;color:var(--gk-accent-deep);margin-bottom:.9rem;
}
.gk-eyebrow::before{content:'';width:1.9rem;height:2px;background:var(--gk-accent);flex:none;}
.gk-section-dark .gk-eyebrow{color:#D8B392;}
.lead,.gk-lead{font-size:clamp(1rem,1.6vw,1.14rem);color:var(--gk-ink-soft);max-width:58ch;}
.gk-sec-head{max-width:760px;margin-bottom:clamp(2rem,4vw,3rem);}
.gk-section-dark .gk-sec-head .gk-eyebrow{color:#D8B392;}

/* 按钮 */
.gk-btn{
  display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.55rem;border-radius:var(--gk-radius);
  background:var(--gk-ink);color:#fff;border:1px solid var(--gk-ink);
  font-weight:600;font-size:.95rem;transition:background .18s,color .18s,border-color .18s;
}
.gk-btn:hover{background:var(--gk-accent-deep);border-color:var(--gk-accent-deep);color:#fff;}
.gk-btn-ghost{background:transparent;color:var(--gk-ink);border-color:var(--gk-ink);}
.gk-btn-ghost:hover{background:var(--gk-ink);color:#fff;border-color:var(--gk-ink);}
.gk-btn-light{background:#fff;color:var(--gk-ink);border-color:#fff;}
.gk-btn-light:hover{background:var(--gk-paper-2);border-color:var(--gk-paper-2);color:var(--gk-ink);}
.gk-btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}
.gk-btn-outline-light:hover{background:#fff;color:var(--gk-ink);border-color:#fff;}

.gk-link-more{
  display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:var(--gk-ink);
  border-bottom:1px solid var(--gk-line);padding-bottom:.15rem;transition:color .18s,border-color .18s;
}
.gk-link-more:hover{color:var(--gk-accent-deep);border-color:var(--gk-accent-deep);}
.gk-section-dark .gk-link-more{color:#fff;border-color:rgba(255,255,255,.4);}
.gk-section-dark .gk-link-more:hover{color:#E4C7A6;}

/* ============ 顶部工具条 ============ */
.gk-utility{background:var(--gk-ink);color:var(--gk-dark-text);font-size:.84rem;}
.gk-utility .gk-container{display:flex;align-items:center;justify-content:space-between;min-height:2.4rem;gap:1rem;}
.gk-utility a{color:var(--gk-dark-text);transition:color .18s;}
.gk-utility a:hover{color:#fff;}
.gk-utility-left{display:flex;align-items:center;gap:1.4rem;}
.gk-utility svg{vertical-align:-2px;margin-right:.3rem;opacity:.8;}

/* ============ 页眉 / 导航 ============ */
.gk-site-header{position:sticky;top:0;z-index:60;background:var(--gk-paper);border-bottom:1px solid var(--gk-line);}
.gk-nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.6rem;}
.gk-logo{display:flex;align-items:center;gap:.75rem;color:var(--gk-ink);}
.gk-logo-mark{width:2.35rem;height:2.35rem;flex:none;display:block;}
.gk-logo-text{display:flex;flex-direction:column;line-height:1.12;}
.gk-logo-name{font-family:var(--gk-serif);font-weight:700;font-size:1.22rem;}
.gk-logo-sub{font-size:.68rem;font-weight:600;letter-spacing:.16em;color:var(--gk-ink-soft);text-transform:uppercase;}
.gk-logo:hover .gk-logo-name{color:var(--gk-accent-deep);}

.gk-main-nav{}
.gk-main-nav > .menu{display:flex;align-items:center;gap:clamp(.5rem,1.6vw,1.7rem);}
.gk-main-nav .menu-item{position:relative;}
.gk-main-nav > .menu > .menu-item > a{
  display:inline-flex;align-items:center;gap:.35rem;font-weight:600;font-size:.96rem;color:var(--gk-ink);
  padding:.5rem .15rem;border-bottom:2px solid transparent;transition:border-color .18s,color .18s;
}
.gk-main-nav > .menu > .menu-item > a:hover{color:var(--gk-accent-deep);}
.gk-main-nav > .menu > .menu-item.current-menu-item > a,
.gk-main-nav > .menu > .menu-item.current-menu-ancestor > a{border-bottom-color:var(--gk-accent);}
.gk-main-nav .chev{display:none;background:none;border:none;color:inherit;padding:.3rem .2rem;}
.gk-main-nav .chev svg{transition:transform .18s;}
.gk-main-nav .sub-menu{
  position:absolute;top:100%;left:-.8rem;min-width:15.5rem;background:var(--gk-white);
  border:1px solid var(--gk-line);border-top:2px solid var(--gk-accent);box-shadow:var(--gk-shadow);
  border-radius:var(--gk-radius);padding:.5rem 0;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .16s,transform .16s,visibility .16s;z-index:70;
}
.gk-main-nav .sub-menu a{display:block;padding:.55rem 1.1rem;font-size:.93rem;font-weight:500;color:var(--gk-ink);transition:background .15s,color .15s;}
.gk-main-nav .sub-menu a:hover{background:var(--gk-paper);color:var(--gk-accent-deep);}
.gk-main-nav .menu-item:hover > .sub-menu,
.gk-main-nav .menu-item:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}

/* 汉堡 */
.gk-hamburger{
  display:none;background:none;border:1px solid var(--gk-line);border-radius:var(--gk-radius);
  width:2.7rem;height:2.7rem;position:relative;
}
.gk-hamburger span,.gk-hamburger span::before,.gk-hamburger span::after{
  content:'';position:absolute;left:50%;width:1.15rem;height:2px;background:var(--gk-ink);
  transform:translateX(-50%);transition:all .2s;
}
.gk-hamburger span{top:50%;transform:translate(-50%,-50%);}
.gk-hamburger span::before{top:-.38rem;transform:translateX(-50%);}
.gk-hamburger span::after{top:.38rem;transform:translateX(-50%);}
.gk-hamburger.open span{background:transparent;}
.gk-hamburger.open span::before{top:0;transform:translateX(-50%) rotate(45deg);}
.gk-hamburger.open span::after{top:0;transform:translateX(-50%) rotate(-45deg);}

.gk-skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--gk-ink);color:#fff;padding:.7rem 1.2rem;}
.gk-skip-link:focus{left:0;color:#fff;}

/* ============ 首屏 / 页头 ============ */
.gk-hero{position:relative;min-height:min(84vh,760px);display:flex;align-items:flex-end;overflow:hidden;background:var(--gk-ink);}
.gk-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.gk-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,18,20,.30) 0%,rgba(16,18,20,.28) 45%,rgba(16,18,20,.88) 100%);}
.gk-hero-content{position:relative;z-index:2;width:100%;padding:clamp(3rem,6vw,5rem) 0 clamp(2.6rem,4vw,3.6rem);color:#fff;}
.gk-hero .gk-eyebrow{color:#E4C7A6;}
.gk-hero .gk-eyebrow::before{background:#E4C7A6;}
.gk-hero h1{font-size:clamp(2.15rem,5.4vw,4rem);max-width:16ch;margin-bottom:1.1rem;color:#fff;}
.gk-hero .lead{color:rgba(255,255,255,.86);max-width:58ch;margin-bottom:1.7rem;}
.gk-hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;}

.gk-page-hero{position:relative;min-height:34vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--gk-ink);}
.gk-page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.gk-page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,18,20,.12) 0%,rgba(16,18,20,.20) 40%,rgba(16,18,20,.86) 100%);}
.gk-ph-content{position:relative;z-index:2;width:100%;padding:clamp(2.4rem,5vw,4rem) 0 clamp(1.8rem,3vw,2.6rem);color:#fff;}
.gk-ph-content .gk-eyebrow{color:#E4C7A6;}
.gk-ph-content .gk-eyebrow::before{background:#E4C7A6;}
.gk-ph-content h1{color:#fff;margin-bottom:.7rem;}
.gk-ph-content .lead{color:rgba(255,255,255,.85);}

/* ============ 内容组件（后台编辑器输出用） ============ */
.gk-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.gk-split img{border-radius:var(--gk-radius);width:100%;aspect-ratio:3/2;object-fit:cover;box-shadow:var(--gk-shadow);}
.gk-split h2,.gk-split h3{margin-bottom:1rem;}
.gk-split p{color:var(--gk-ink-soft);margin-bottom:1.2rem;max-width:56ch;}
.gk-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.2rem,2.6vw,2rem);}
.gk-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.6vw,2rem);}
.gk-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.2vw,1.6rem);}
.gk-card{background:var(--gk-white);border:1px solid var(--gk-line);border-radius:var(--gk-radius);overflow:hidden;display:block;transition:transform .2s,box-shadow .2s;}
.gk-card:hover{transform:translateY(-4px);box-shadow:var(--gk-shadow);}
.gk-card img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .4s;}
.gk-card:hover img{transform:scale(1.04);}
.gk-card-body{padding:1.5rem 1.5rem 1.7rem;}
.gk-card-body h3{margin-bottom:.7rem;}
.gk-card-body p{color:var(--gk-ink-soft);font-size:.96rem;}
.gk-card-body .gk-link-more{margin-top:.6rem;}

.gk-tile{position:relative;border-radius:var(--gk-radius);overflow:hidden;display:block;aspect-ratio:1/1;background:var(--gk-ink);}
.gk-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s;}
.gk-tile:hover img{transform:scale(1.06);}
.gk-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,18,20,0) 40%,rgba(16,18,20,.78) 100%);z-index:1;}
.gk-tile-label{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.2rem 1.2rem 1.1rem;color:#fff;}
.gk-tile-label b{display:block;font-family:var(--gk-serif);font-size:1.12rem;}
.gk-tile-label span{font-size:.82rem;color:rgba(255,255,255,.75);}

.gk-stats{border-top:1px solid var(--gk-line);}
.gk-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.gk-stat{padding:1.6rem 1.2rem 1.4rem 0;border-right:1px solid var(--gk-line);}
.gk-stat+.gk-stat{padding-left:1.6rem;}
.gk-stat:last-child{border-right:none;}
.gk-stat b{display:block;font-family:var(--gk-serif);font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.1;color:var(--gk-ink);}
.gk-stat span{font-size:.88rem;color:var(--gk-ink-soft);}

.gk-cta{background:var(--gk-ink);color:#fff;}
.gk-cta-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;}
.gk-cta h2{color:#fff;margin-bottom:.8rem;}
.gk-cta p{color:var(--gk-dark-text);max-width:52ch;}
.gk-cta-actions{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:flex-end;}
.gk-cta-contacts{display:flex;gap:1.6rem;margin-top:1.6rem;font-size:.95rem;color:var(--gk-dark-text);}
.gk-cta-contacts a{color:#fff;font-weight:600;}
.gk-cta-contacts a:hover{color:#E4C7A6;}

.gk-value{background:var(--gk-white);border:1px solid var(--gk-line);border-radius:var(--gk-radius);padding:1.7rem 1.6rem;}
.gk-value .gk-ic{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--gk-paper-2);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:var(--gk-accent-deep);}
.gk-value h3{margin-bottom:.5rem;}
.gk-value p{color:var(--gk-ink-soft);font-size:.94rem;}

.gk-feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem 2rem;margin:1.4rem 0;}
.gk-feature-list li{display:flex;align-items:flex-start;gap:.6rem;color:var(--gk-ink-soft);font-size:.97rem;}
.gk-feature-list svg{flex:none;margin-top:.28rem;color:var(--gk-accent-deep);}
.gk-finish-pills{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.1rem;}
.gk-finish-pills span{border:1px solid var(--gk-line);background:var(--gk-white);border-radius:99px;padding:.35rem 1rem;font-size:.86rem;font-weight:600;color:var(--gk-ink);}
.gk-note{border-left:3px solid var(--gk-accent);background:var(--gk-white);padding:1rem 1.2rem;font-size:.95rem;color:var(--gk-ink-soft);border-radius:0 var(--gk-radius) var(--gk-radius) 0;}
.gk-spec{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.4rem 0;}
.gk-spec .gk-spec-item{border-top:1px solid var(--gk-line);padding-top:.8rem;}
.gk-spec span{display:block;font-size:.78rem;font-weight:600;letter-spacing:.06em;color:var(--gk-ink-soft);text-transform:uppercase;margin-bottom:.25rem;}
.gk-spec b{font-size:1rem;font-weight:600;}

/* 时间轴（3列网格） */
.gk-timeline{display:grid;grid-template-columns:6rem 1.6rem 1fr;gap:.9rem;max-width:860px;}
.gk-tl-row{display:contents;}
.gk-tl-time{justify-self:end;align-self:start;text-align:right;font-family:var(--gk-serif);font-weight:700;font-size:1.05rem;padding-top:.15rem;color:var(--gk-accent-deep);white-space:nowrap;}
.gk-tl-axis{position:relative;justify-self:center;align-self:stretch;display:flex;justify-content:center;}
.gk-tl-axis::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:var(--gk-line);}
.gk-tl-dot{position:relative;margin-top:.35rem;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--gk-accent);box-shadow:0 0 0 3px var(--gk-paper);flex:none;}
.gk-tl-body{padding-bottom:2.4rem;}
.gk-tl-body h3{margin-bottom:.4rem;}
.gk-tl-body p{color:var(--gk-ink-soft);font-size:.96rem;max-width:52ch;}
.gk-tl-row:last-child .gk-tl-body{padding-bottom:0;}
.gk-timeline.gk-dark .gk-tl-axis::before{background:rgba(255,255,255,.22);}
.gk-timeline.gk-dark .gk-tl-dot{box-shadow:0 0 0 3px var(--gk-ink);}
.gk-timeline.gk-dark .gk-tl-time{color:#D8B392;}
.gk-timeline.gk-dark .gk-tl-body p{color:var(--gk-dark-text);}

/* 表单 / 地图 */
.gk-form{background:var(--gk-white);border:1px solid var(--gk-line);border-radius:var(--gk-radius);padding:clamp(1.5rem,3vw,2.4rem);}
.gk-form .gk-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.gk-field{margin-bottom:1.1rem;}
.gk-field label{display:block;font-size:.88rem;font-weight:600;margin-bottom:.4rem;}
.gk-field input,.gk-field textarea{width:100%;font-family:inherit;font-size:.97rem;color:var(--gk-ink);background:var(--gk-paper);border:1px solid var(--gk-line);border-radius:var(--gk-radius);padding:.75rem .9rem;transition:border-color .18s,background .18s;}
.gk-field input:focus,.gk-field textarea:focus{outline:none;border-color:var(--gk-accent);background:#fff;}
.gk-field textarea{min-height:8.5rem;resize:vertical;}
.gk-form-note{font-size:.84rem;color:var(--gk-ink-soft);margin-top:.9rem;}
.gk-map{border:1px solid var(--gk-line);border-radius:var(--gk-radius);overflow:hidden;background:var(--gk-paper-2);}
.gk-map iframe{display:block;width:100%;height:300px;border:0;}

.gk-crumbs{font-size:.86rem;color:var(--gk-ink-soft);margin-bottom:1.4rem;}
.gk-crumbs a{color:var(--gk-accent-deep);font-weight:600;}
.gk-crumbs a:hover{text-decoration:underline;}
.gk-crumbs span{margin:0 .45rem;color:var(--gk-line);}

/* ============ 内容排版（后台编辑器正文） ============ */
.gk-content h1,.gk-content h2,.gk-content h3{margin-top:2.2rem;}
.gk-content > :first-child{margin-top:0;}
.gk-content ul,.gk-content ol{margin:0 0 1.2rem;padding-left:1.4rem;list-style:disc;}
.gk-content li{margin-bottom:.4rem;}
.gk-content a{color:var(--gk-accent-deep);text-decoration:underline;}
.gk-content .aligncenter{display:block;margin-left:auto;margin-right:auto;}
.gk-content blockquote{border-left:3px solid var(--gk-accent);margin:0 0 1.2rem;padding:.3rem 0 .3rem 1.2rem;color:var(--gk-ink-soft);}

/* ============ 页脚 ============ */
.gk-site-footer{background:var(--gk-ink-2);color:var(--gk-dark-text);}
.gk-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:clamp(2rem,4vw,3.5rem);padding:clamp(3rem,6vw,4.5rem) 0 2.6rem;}
.gk-footer-brand p{max-width:38ch;font-size:.94rem;margin-top:1rem;}
.gk-footer-col h4{color:#fff;font-family:var(--gk-serif);font-size:1.05rem;margin-bottom:1.1rem;}
.gk-footer-col ul li{margin-bottom:.55rem;}
.gk-footer-col ul a{font-size:.93rem;color:var(--gk-dark-text);transition:color .18s;}
.gk-footer-col ul a:hover{color:#fff;}
.gk-footer-contact li{display:flex;gap:.6rem;font-size:.93rem;margin-bottom:.7rem;}
.gk-footer-contact svg{flex:none;margin-top:.2rem;color:var(--gk-accent);}
.gk-footer-contact a{color:var(--gk-dark-text);}
.gk-footer-contact a:hover{color:#fff;}
.gk-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:1.2rem 0;font-size:.83rem;color:var(--gk-stone);display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;}

/* 博客回退样式（如不使用文章） */
.gk-blog{max-width:760px;margin:0 auto;}
.gk-blog .gk-post{margin-bottom:3rem;}
.gk-blog .gk-post img{border-radius:var(--gk-radius);margin-bottom:1rem;}

/* ============ 响应式 ============ */
@media (max-width:1080px){
  .gk-hamburger{display:block;}
  .gk-main-nav{
    position:absolute;top:100%;left:0;right:0;background:var(--gk-paper);
    border-bottom:1px solid var(--gk-line);box-shadow:var(--gk-shadow);
    max-height:0;overflow:hidden;transition:max-height .3s;
  }
  .gk-main-nav.open{max-height:calc(100vh - 5rem);overflow-y:auto;}
  .gk-main-nav > .menu{flex-direction:column;align-items:stretch;gap:0;padding:.6rem 0 1rem;}
  .gk-main-nav .menu-item{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;}
  .gk-main-nav > .menu > .menu-item > a{padding:.85rem 0;border-bottom:none;flex:1;font-size:1.02rem;}
  .gk-main-nav .chev{display:inline-flex;}
  .gk-main-nav .sub-menu{flex-basis:100%;}
  .gk-main-nav .sub-menu{
    position:static;box-shadow:none;border:none;border-left:2px solid var(--gk-line);
    border-radius:0;background:transparent;padding:0 0 0 1.1rem;margin:0;
    max-height:0;overflow:hidden;opacity:1;visibility:visible;transform:none;
    transition:max-height .25s;
  }
  .gk-main-nav .sub-menu.open{max-height:30rem;}
  .gk-main-nav .sub-menu a{padding:.65rem 0;}
  .gk-main-nav .menu-item:hover > .sub-menu{opacity:1;visibility:visible;}
}
@media (max-width:900px){
  .gk-grid-4{grid-template-columns:repeat(2,1fr);}
  .gk-split{grid-template-columns:1fr;}
  .gk-cta-grid{grid-template-columns:1fr;}
  .gk-cta-actions{justify-content:flex-start;}
}
@media (max-width:640px){
  .gk-utility-left .gk-email-hide{display:none;}
  .gk-grid-2,.gk-grid-3{grid-template-columns:1fr;}
  .gk-grid-4{grid-template-columns:1fr;}
  .gk-stats-grid{grid-template-columns:repeat(2,1fr);}
  .gk-stat:nth-child(2){border-right:none;}
  .gk-stat:nth-child(1),.gk-stat:nth-child(2){border-bottom:1px solid var(--gk-line);}
  .gk-form .gk-form-row{grid-template-columns:1fr;}
  .gk-footer-grid{grid-template-columns:1fr;}
  .gk-timeline{grid-template-columns:4.2rem 1.3rem 1fr;gap:.6rem;}
  .gk-hero{min-height:76vh;}
  .gk-feature-list,.gk-spec{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;}
}
:focus-visible{outline:2px solid var(--gk-accent);outline-offset:2px;}
