@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&family=EB+Garamond:ital,wght@0,500;0,600;1,500&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');

:root{
  --beige:#F4EFE4;
  --beige-deep:#EAE2D2;
  --green:#22392C;
  --green-deep:#152219;
  --green-mid:#3C5745;
  --orange:#E8873B;
  --orange-deep:#D9701E;
  --text-gray:#5C6058;
  --ink:#20241F;
  --line:#DAD0BC;
  --white:#FDFBF6;
  --maxw:1240px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--beige);
  color:var(--text-gray);
  font-family:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',sans-serif;
  font-weight:400;
  line-height:1.85;
  letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

/* ---------- section heading: two-tier (Eng small / Jp large mincho) ---------- */
.eyebrow-en{
  font-family:'EB Garamond',serif;
  font-style:italic;
  font-size:14px;
  letter-spacing:.28em;
  color:var(--orange-deep);
  text-transform:uppercase;
  display:flex;align-items:center;gap:14px;
  margin-bottom:10px;
}
.eyebrow-en::before{content:"";width:34px;height:1px;background:var(--orange);}
h2.jp-title{
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:900;
  color:var(--green);
  font-size:clamp(26px,3.2vw,36px);
  letter-spacing:.04em;
  margin:0 0 24px;
  line-height:1.5;
}
.section-lead{font-size:15px;color:var(--text-gray);max-width:620px;}
.section-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:24px;
  font-size:13px;letter-spacing:.06em;color:var(--green);
  border-bottom:1px solid var(--green);padding-bottom:2px;
}
.section-link:hover{color:var(--orange-deep);border-color:var(--orange-deep);}
.section-link .arrow{transition:translate .2s;}
.section-link:hover .arrow{translate:4px 0;}
.section-foot{display:flex;justify-content:flex-end;margin-top:36px;}

section{padding:100px 0;}
.section-tight{padding:64px 0;}
.band{background:var(--beige-deep);}
.band-white{background:var(--white);}
.band-green{background:var(--green);color:rgba(253,251,246,.86);}
.band-green .jp-title{color:var(--white);}
.band-green .eyebrow-en{color:var(--orange);}
.band-green .section-lead{color:rgba(253,251,246,.72);}

/* ---------- header: 3-tier ---------- */
.utility-bar{background:var(--green-deep);color:var(--white);}
.utility-bar .wrap{
  display:flex;justify-content:flex-end;align-items:center;gap:10px;
  height:38px;font-size:11.5px;letter-spacing:.05em;
}
.utility-bar a{
  padding:5px 16px;border-radius:100px;
  background:rgba(253,251,246,.08);
  transition:background .2s;
}
.utility-bar a:hover{background:var(--orange);}
.utility-bar a.pill-primary{background:var(--orange);}
.utility-bar a.pill-primary:hover{background:var(--orange-deep);}

.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(253,251,246,.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-main{
  display:flex;align-items:center;justify-content:space-between;
  height:88px;
}
.logo-badge{
  display:flex;align-items:center;gap:12px;
}
.logo-badge img{height:48px;width:auto;display:block;}
.logo-badge .word-sub{
  display:none;
  font-family:'EB Garamond',serif;font-style:italic;
  font-size:11px;letter-spacing:.14em;color:var(--text-gray);font-weight:500;
  border-left:1px solid var(--line);padding-left:12px;
}
@media (min-width:560px){
  .logo-badge .word-sub{display:inline;}
}
.header-phone{
  display:flex;align-items:center;gap:12px;
}
.header-phone .num{
  font-family:'EB Garamond',serif;font-size:26px;font-weight:600;color:var(--green);
  letter-spacing:.02em;
}
.header-phone .num::before{content:"📞 ";font-size:16px;}
.header-phone .sub{font-size:10.5px;color:var(--text-gray);letter-spacing:.05em;}

.gnav-row{border-top:1px solid var(--line);}
.gnav{display:flex;align-items:stretch;justify-content:center;gap:6px;}
.gnav a{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:14px 20px;font-size:13px;letter-spacing:.04em;color:var(--ink);
  border-bottom:2px solid transparent;
  white-space:nowrap;
}
.gnav a .en{font-family:'EB Garamond',serif;font-style:italic;font-size:9.5px;letter-spacing:.1em;color:var(--text-gray);}
.gnav a:hover{border-color:var(--orange);color:var(--orange-deep);}
.gnav .dropdown{position:relative;}
.gnav .dropdown-panel{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:var(--white);border:1px solid var(--line);
  padding:10px 0;min-width:190px;
  box-shadow:0 16px 32px rgba(34,57,44,.12);
  opacity:0;visibility:hidden;translate:0 6px;transition:.18s;
  border-radius:4px;
}
.gnav .dropdown:hover .dropdown-panel{opacity:1;visibility:visible;translate:0 0;}
.dropdown-panel a{display:block;padding:9px 20px;font-size:13px;border-bottom:none;flex-direction:row;}
.dropdown-panel a:hover{background:var(--beige);color:var(--orange-deep);}

.header-cta-group{display:flex;gap:8px;}
.header-cta-btn{
  background:var(--orange);color:var(--white);
  font-size:12px;letter-spacing:.03em;font-weight:700;
  padding:11px 18px;border-radius:100px;white-space:nowrap;
  transition:background .2s;
}
.header-cta-btn:hover{background:var(--orange-deep);}
.header-cta-btn.outline{
  background:transparent;color:var(--green);border:1px solid var(--green);font-weight:500;
}
.header-cta-btn.outline:hover{background:var(--green);color:var(--white);}
@media (max-width:1080px){
  .header-cta-group{display:none;}
}

.nav-toggle{
  display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;
  background:var(--white);align-items:center;justify-content:center;
  flex-direction:column;gap:5px;cursor:pointer;
}
.nav-toggle span{width:18px;height:1.5px;background:var(--green);display:block;}
.mobile-nav{
  display:none;position:fixed;inset:0 0 0 0;z-index:70;
  background:var(--white);overflow-y:auto;padding:20px 0 40px;
}
.mobile-nav.open{display:block;}
.mobile-nav .mn-close{padding:16px 32px;text-align:right;font-size:13px;color:var(--text-gray);}
.mobile-nav a{
  display:block;padding:16px 32px;font-size:14.5px;letter-spacing:.04em;
  border-bottom:1px solid var(--line);color:var(--ink);
}
.mobile-nav .mn-group-label{padding:16px 32px 6px;font-size:11px;letter-spacing:.1em;color:var(--text-gray);}
.mobile-nav .mn-sub{padding-left:48px;font-size:13.5px;color:var(--text-gray);}
.mobile-nav .cta-pill{margin:24px 32px;display:block;text-align:center;background:var(--orange);color:var(--white);padding:15px;border-radius:100px;}

/* ---------- CTA banner ---------- */
.cta-banner{
  background:linear-gradient(100deg,var(--orange) 0%,var(--orange-deep) 100%);
  color:var(--white);
}
.cta-banner .wrap{
  display:flex;align-items:center;justify-content:center;gap:20px;
  padding:14px 32px;font-size:13.5px;letter-spacing:.03em;flex-wrap:wrap;text-align:center;
}
.cta-banner strong{font-weight:900;font-size:15px;}
.cta-banner .date{background:rgba(255,255,255,.22);padding:4px 14px;border-radius:100px;font-size:12px;}

/* ---------- buttons / pills ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;letter-spacing:.06em;padding:16px 32px;
  border-radius:100px;
  transition:.2s;
}
.btn-primary{background:var(--orange);color:var(--white);}
.btn-primary:hover{background:var(--orange-deep);}
.btn-outline{background:transparent;border:1px solid var(--green);color:var(--green);}
.btn-outline:hover{background:var(--green);color:var(--white);}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;}

/* ---------- hero ---------- */
.hero{position:relative;height:88vh;min-height:600px;overflow:hidden;}
.hero-media{position:absolute;inset:0;overflow:hidden;}
.hero-media img{width:100%;height:100%;object-fit:cover;}
.hero-media iframe{
  position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;
  transform:translate(-50%,-50%);pointer-events:none;border:0;
}
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(21,34,25,.75) 0%,rgba(21,34,25,.15) 45%,rgba(21,34,25,.05) 100%);
}
.hero-content{
  position:relative;z-index:2;height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding-bottom:80px;
}
.hero-content .eyebrow-en{color:var(--orange);}
.hero-content .eyebrow-en::before{background:var(--orange);}
.hero h1{
  font-family:'Zen Kaku Gothic New',sans-serif;color:var(--white);
  font-size:clamp(34px,5.6vw,58px);line-height:1.45;font-weight:900;
  margin:0 0 20px;text-shadow:0 2px 20px rgba(0,0,0,.25);
}
.hero .sub{color:rgba(253,251,246,.85);font-size:15px;letter-spacing:.04em;margin-bottom:36px;}

/* sticky side rail (signature element) */
.side-rail{
  position:fixed;right:0;top:50%;translate:0 -50%;z-index:55;
  display:flex;flex-direction:column;
}
.side-rail a{
  writing-mode:vertical-rl;text-orientation:mixed;
  background:var(--green);color:var(--white);
  padding:22px 11px;font-size:12.5px;letter-spacing:.15em;
  border-bottom:1px solid rgba(253,251,246,.18);
  transition:background .2s;
}
.side-rail a:hover{background:var(--orange);}
.side-rail a.accent{background:var(--orange);}
.side-rail a.accent:hover{background:var(--orange-deep);}

/* ---------- card grid (works / events) ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px;}
.info-card{
  display:block;
  background:var(--white);border-radius:12px;overflow:hidden;
  box-shadow:0 6px 24px rgba(34,57,44,.06);
  transition:transform .25s,box-shadow .25s;
}
.info-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(34,57,44,.12);}
.info-card .thumb{aspect-ratio:4/3;background:var(--beige-deep);overflow:hidden;position:relative;}
.info-card .thumb img{width:100%;height:100%;object-fit:cover;}
.info-card .thumb.video-thumb{position:relative;background:var(--ink);}
.info-card .thumb.video-thumb::before{
  content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;
  width:52px;height:52px;border-radius:50%;background:rgba(34,57,44,.6);
  z-index:1;
}
.info-card .thumb.video-thumb::after{
  content:"";width:0;height:0;position:absolute;left:50%;top:50%;
  translate:-38% -50%;
  border-top:10px solid transparent;border-bottom:10px solid transparent;
  border-left:16px solid var(--white);z-index:2;
}
.info-card .tag{
  position:absolute;top:14px;left:14px;
  background:var(--white);color:var(--green);
  font-size:11px;letter-spacing:.05em;padding:5px 14px;border-radius:100px;
  font-weight:700;
}
.info-card .status{
  position:absolute;top:14px;right:14px;
  font-size:10.5px;letter-spacing:.04em;padding:4px 12px;border-radius:100px;
  background:var(--green);color:var(--white);
}
.info-card .status.closed{background:var(--text-gray);}
.info-card .status.open{background:var(--orange);}
.info-card .body{padding:20px 22px 24px;}
.info-card .card-title{font-family:'Zen Kaku Gothic New',sans-serif;font-size:17px;color:var(--ink);font-weight:700;margin-bottom:8px;line-height:1.6;}
.info-card .card-desc{font-size:12.5px;color:var(--text-gray);line-height:1.8;}

/* ---------- plan grid (reuse for tsubo lineup) ---------- */
.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px;}
.plan-card{
  background:var(--white);border-radius:12px;overflow:hidden;padding:0 0 20px;
  box-shadow:0 6px 20px rgba(34,57,44,.06);transition:transform .2s,box-shadow .2s;
}
.plan-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(34,57,44,.1);}
.plan-card .thumb{aspect-ratio:4/3;background:var(--beige-deep);overflow:hidden;}
.plan-card .thumb img{width:100%;height:100%;object-fit:cover;}
.plan-card .thumb.empty{display:flex;align-items:center;justify-content:center;color:var(--text-gray);font-size:12px;}
.plan-card .info{padding:16px 18px 0;}
.plan-num{font-family:'Zen Kaku Gothic New',sans-serif;font-size:24px;color:var(--green);display:flex;align-items:baseline;gap:6px;}
.plan-num span{font-size:11px;font-family:'Zen Kaku Gothic New',sans-serif;color:var(--text-gray);}
.plan-type{font-size:11.5px;color:var(--orange-deep);margin-top:6px;}
.plan-card.disabled{opacity:.5;}

/* ---------- split layout ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.media-frame{border-radius:12px;background:var(--beige-deep);aspect-ratio:3/2;overflow:hidden;}
.media-frame img{width:100%;height:100%;object-fit:cover;}
.media-frame.placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-gray);font-size:12px;}
.two-col-text{display:grid;grid-template-columns:1fr 1fr;gap:56px;}

.pill-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.pill-list li{
  font-size:12.5px;letter-spacing:.03em;border:1px solid var(--line);padding:9px 18px;
  background:var(--white);border-radius:100px;color:var(--ink);
}

/* ---------- article list (footer-style blog/news) ---------- */
.article-list{margin-top:32px;border-top:1px solid var(--line);}
.article-list li{
  display:flex;align-items:center;gap:20px;padding:20px 0;
  border-bottom:1px solid var(--line);font-size:13.5px;
}
.article-list .date{font-family:'EB Garamond',serif;color:var(--text-gray);font-size:13px;min-width:90px;}
.article-list .cat{
  font-size:10.5px;color:var(--green);border:1px solid var(--green);
  padding:3px 12px;border-radius:100px;min-width:76px;text-align:center;
}
.article-list .atitle{color:var(--ink);flex:1;}
.article-list li:hover .atitle{color:var(--orange-deep);}

/* ---------- company / footer ---------- */
.company-block{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start;}
.company-info{margin-top:24px;font-size:13.5px;color:rgba(253,251,246,.78);line-height:2.1;}
.company-info strong{color:var(--white);font-weight:700;}

.site-footer{background:var(--green-deep);color:var(--white);padding:72px 0 32px;}
.site-footer .wrap{display:flex;flex-direction:column;gap:40px;}
.footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;}
.footer-logo{font-family:'Zen Kaku Gothic New',sans-serif;font-size:19px;letter-spacing:.06em;}
.footer-nav{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:12.5px;letter-spacing:.03em;}
.footer-nav a{opacity:.72;}
.footer-nav a:hover{opacity:1;color:var(--orange);}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(253,251,246,.15);padding-top:24px;
  font-size:11.5px;opacity:.55;flex-wrap:wrap;gap:12px;
}

/* ---------- page-hero (sub pages) ---------- */
.page-hero{
  padding:64px 0 56px;background:var(--green);color:var(--white);
  position:relative;overflow:hidden;
}
.page-hero .breadcrumb{font-size:11.5px;color:rgba(253,251,246,.65);letter-spacing:.03em;margin-bottom:20px;}
.page-hero .breadcrumb a:hover{color:var(--orange);}
.page-hero .eyebrow-en{color:var(--orange);}
.page-hero .eyebrow-en::before{background:var(--orange);}
.page-hero h1{font-family:'Zen Kaku Gothic New',sans-serif;font-size:clamp(30px,4.4vw,44px);color:var(--white);font-weight:900;}
.page-hero .sub{margin-top:16px;font-size:14px;color:rgba(253,251,246,.75);}

/* ---------- table ---------- */
table.spec-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:13.5px;}
table.spec-table th,table.spec-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);}
table.spec-table th{width:34%;color:var(--green);font-weight:700;letter-spacing:.02em;}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .gnav{display:none;}
  .nav-toggle{display:flex;}
  .side-rail{display:none;}
  .card-grid{grid-template-columns:repeat(2,1fr);}
  .plan-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:960px){
  .split,.company-block,.two-col-text{grid-template-columns:1fr;gap:32px;}
  .plan-grid{grid-template-columns:repeat(2,1fr);}
  section{padding:64px 0;}
  .utility-bar .wrap{justify-content:center;}
}
@media (max-width:560px){
  .card-grid,.plan-grid{grid-template-columns:1fr;}
  .wrap{padding:0 20px;}
  .hero{height:auto;min-height:520px;padding-top:60px;}
  .footer-top{flex-direction:column;}
  .header-main{height:74px;}
  .logo-badge img{height:38px;}
  .header-phone .num{font-size:20px;}
}

/* ============================================================
   追加セクション（仕様書ベース）
   ============================================================ */

/* header top-bar category label */
.header-catlabel{
  font-size:11px;letter-spacing:.1em;color:var(--green);
  border:1px solid var(--green);border-radius:100px;
  padding:6px 18px;white-space:nowrap;
}
.header-phones{display:flex;flex-direction:column;gap:2px;}
.header-phones .alt{font-size:10.5px;color:var(--text-gray);}
.header-phones .alt .num2{font-family:'EB Garamond',serif;font-size:13px;color:var(--green-mid);}

/* event ribbon (narrower, centered, arrow) */
.event-ribbon-wrap{background:var(--beige);padding:22px 0;}
.event-ribbon{
  max-width:900px;margin:0 auto;padding:0 32px;
}
.event-ribbon a{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:linear-gradient(100deg,var(--orange) 0%,var(--orange-deep) 100%);
  color:var(--white);border-radius:100px;
  padding:16px 28px;font-size:13.5px;letter-spacing:.02em;flex-wrap:wrap;
}
.event-ribbon a strong{font-weight:900;}
.event-ribbon a .arrow-circle{
  width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}

/* large banner */
.large-banner{padding:0 0 20px;}
.large-banner a{
  display:block;border-radius:14px;overflow:hidden;position:relative;
  aspect-ratio:980/220;background:var(--green);
}
.large-banner img{width:100%;height:100%;object-fit:cover;opacity:.55;}
.large-banner .lb-text{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;color:var(--white);
  padding:20px;
}
.large-banner .lb-text .eyebrow-en{color:var(--orange);}
.large-banner .lb-text .eyebrow-en::before{background:var(--orange);}
.large-banner .lb-text h2,.large-banner .lb-text h3{font-family:'Zen Kaku Gothic New',sans-serif;font-size:clamp(20px,3vw,28px);font-weight:700;margin:0;}

/* info / news 3-col */
.info-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.info-3col .info-col{border-right:1px solid var(--line);padding:26px 24px;}
.info-3col .info-col h3,.info-3col .info-col h4{
  font-family:'EB Garamond',serif;font-style:italic;font-size:13px;letter-spacing:.1em;
  color:var(--orange-deep);text-transform:uppercase;margin:0 0 16px;
}
.info-3col .info-row{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12.5px;}
.info-3col .info-row:last-child{border-bottom:none;}
.info-3col .info-row .date{font-family:'EB Garamond',serif;color:var(--text-gray);min-width:66px;}
.info-3col .info-row .atitle{color:var(--ink);}

/* blog twin */
.blog-twin{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;}
.blog-block h2,.blog-block h3{
  font-family:'Zen Kaku Gothic New',sans-serif;font-size:18px;color:var(--green);font-weight:700;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:2px solid var(--green);padding-bottom:12px;margin-bottom:20px;
}
.blog-block h3 .en{font-family:'EB Garamond',serif;font-style:italic;font-size:12px;color:var(--orange-deep);text-transform:uppercase;}
.blog-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.blog-card .thumb{aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--beige-deep);margin-bottom:10px;}
.blog-card .thumb img{width:100%;height:100%;object-fit:cover;}
.blog-card .meta{font-size:10.5px;color:var(--text-gray);display:flex;gap:8px;margin-bottom:6px;}
.blog-card .btitle{font-size:12.5px;color:var(--ink);line-height:1.6;}

/* instagram grid */
.insta-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:32px;}
.insta-grid a{aspect-ratio:1;overflow:hidden;display:block;position:relative;}
.insta-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.insta-grid a:hover img{transform:scale(1.06);}

/* info links + contact */
.info-links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px;}
.info-links-grid a{background:var(--white);padding:22px 24px;font-size:13px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;}
.info-links-grid a:hover{background:var(--beige);color:var(--orange-deep);}
.contact-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;}
.contact-cta-grid a{
  border-radius:12px;padding:32px;text-align:center;font-size:15px;font-weight:700;letter-spacing:.05em;
}
.contact-cta-grid a.primary{background:var(--orange);color:var(--white);}
.contact-cta-grid a.outline{background:var(--white);border:1px solid var(--green);color:var(--green);}

/* footer sitemap */
.footer-sitemap{display:grid;grid-template-columns:repeat(5,1fr);gap:32px;padding-bottom:32px;border-bottom:1px solid rgba(253,251,246,.15);}
.footer-sitemap h5,.footer-sitemap .footer-label{font-size:12px;letter-spacing:.06em;color:var(--orange);margin:0 0 14px;font-weight:700;}
.footer-sitemap ul{display:flex;flex-direction:column;gap:9px;}
.footer-sitemap a{font-size:12px;opacity:.75;}
.footer-sitemap a:hover{opacity:1;color:var(--orange);}

@media (max-width:960px){
  .info-3col{grid-template-columns:1fr;}
  .info-3col .info-col{border-right:none;border-bottom:1px solid var(--line);}
  .blog-twin{grid-template-columns:1fr;}
  .insta-grid{grid-template-columns:repeat(3,1fr);}
  .info-links-grid{grid-template-columns:1fr;}
  .contact-cta-grid{grid-template-columns:1fr;}
  .footer-sitemap{grid-template-columns:repeat(2,1fr);}
}
