/* =========================================================
   NYSK — Homepage hi-fi design system
   おしゃれリゾート × ネイビー信頼感
   ========================================================= */
:root{
  --navy:#15324e;
  --navy-2:#1d4a6e;
  --navy-deep:#0f2438;
  --ink:#22282d;
  --ink-soft:#5b6168;
  --cream:#f4efe6;
  --paper:#fbf8f3;
  --line:rgba(21,50,78,.16);
  --line-soft:rgba(21,50,78,.09);
  --gold:#b9925a;            /* subtle warm accent, used sparingly */
  --font-en:"Marcellus", serif;
  --font-jp:"Shippori Mincho", serif;
  --font-body:"Zen Kaku Gothic New", sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-body);font-weight:400;line-height:1.95;
  font-feature-settings:"palt" 1;
  -webkit-font-smoothing:antialiased;letter-spacing:.01em;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* ----- type helpers ----- */
.en{font-family:var(--font-en);letter-spacing:.22em;text-transform:uppercase}
.kick{font-family:var(--font-en);font-size:13px;letter-spacing:.34em;text-transform:uppercase;color:var(--navy-2)}
.kick.light{color:rgba(255,255,255,.78)}
.jp-h{font-family:var(--font-jp);font-weight:600;line-height:1.5;letter-spacing:.04em;word-break:auto-phrase}
.lead{font-size:16px;line-height:2.1;color:var(--ink-soft);max-width:62ch;text-wrap:pretty;word-break:auto-phrase}

h1,h2,h3{margin:0}
.display{font-family:var(--font-jp);font-weight:600;font-size:clamp(34px,5.2vw,68px);line-height:1.42;letter-spacing:.05em;word-break:auto-phrase}
.h2{font-family:var(--font-jp);font-weight:600;font-size:clamp(26px,3.4vw,40px);line-height:1.5;letter-spacing:.05em;word-break:auto-phrase}
.h3{font-family:var(--font-jp);font-weight:600;font-size:21px;line-height:1.6;letter-spacing:.04em}

/* ----- layout ----- */
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.wrap-wide{max-width:1500px;margin:0 auto;padding:0 40px}
section{position:relative}
.pad{padding:clamp(72px,11vw,140px) 0}
.center{text-align:center}
.divider{width:46px;height:1px;background:var(--gold);margin:22px 0}
.center .divider{margin:22px auto}

/* ----- buttons ----- */
.btn{
  display:inline-flex;align-items:center;gap:12px;cursor:pointer;
  font-family:var(--font-body);font-size:14px;letter-spacing:.12em;font-weight:500;
  padding:16px 32px;border:1px solid var(--navy);background:var(--navy);color:#fff;
  transition:.4s var(--ease);
}
.btn:hover{background:transparent;color:var(--navy)}
.btn .ar{font-family:var(--font-en);transition:transform .4s var(--ease)}
.btn:hover .ar{transform:translateX(5px)}
.btn.line{background:transparent;color:var(--navy)}
.btn.line:hover{background:var(--navy);color:#fff}
.btn.onimg{border-color:rgba(255,255,255,.7);background:transparent;color:#fff}
.btn.onimg:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn.solid-light{background:#fff;color:var(--navy);border-color:#fff}
.btn.solid-light:hover{background:transparent;color:#fff}
.txtlink{font-family:var(--font-en);font-size:13px;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;gap:10px;align-items:center;white-space:nowrap;border-bottom:1px solid var(--line);padding-bottom:5px;transition:.3s var(--ease)}
.txtlink:hover{border-color:var(--navy);gap:16px}

/* ====================  HEADER  ==================== */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;transition:.5s var(--ease)}
.hdr-inner{display:flex;align-items:center;justify-content:space-between;padding:26px 40px;transition:.5s var(--ease)}
.logo{font-family:var(--font-en);font-size:26px;letter-spacing:.3em;color:#fff;transition:color .5s var(--ease)}
.logo small{display:block;font-size:9px;letter-spacing:.3em;opacity:.8;margin-top:3px}
.nav{display:flex;gap:34px;align-items:center}
.nav a{font-size:13px;letter-spacing:.16em;color:rgba(255,255,255,.92);position:relative;transition:color .5s var(--ease)}
.nav a span{font-family:var(--font-en);font-size:10px;opacity:.55;display:block;letter-spacing:.2em}
.nav a::after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:currentColor;transition:width .35s var(--ease)}
.nav a:hover::after{width:100%}
.hdr .resv{font-size:12px;letter-spacing:.16em;border:1px solid rgba(255,255,255,.6);padding:11px 20px;color:#fff;white-space:nowrap;transition:.4s var(--ease)}
.hdr .resv:hover{background:#fff;color:var(--navy)}
/* scrolled state */
.hdr.solid{background:rgba(251,248,243,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line-soft)}
.hdr.solid .hdr-inner{padding:16px 40px}
.hdr.solid .logo{color:var(--navy)}
.hdr.solid .nav a{color:var(--ink)}
.hdr.solid .resv{border-color:var(--navy);color:var(--navy)}
.hdr.solid .resv:hover{background:var(--navy);color:#fff}
/* header right group + instagram icon */
.hdr-right{display:flex;align-items:center;gap:18px}
.hdr .ig{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#fff;transition:color .5s var(--ease),opacity .3s var(--ease)}
.hdr .ig .ig-svg{width:22px;height:22px;display:block}
.hdr.solid .ig{color:var(--navy)}
.hdr .ig:hover{opacity:.62}
/* footer social icons */
.foot .social{display:flex;gap:14px;margin-top:24px}
.foot .social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.82);transition:.35s var(--ease)}
.foot .social a .ig-svg{width:18px;height:18px;display:block}
.foot .social a:hover{background:#fff;color:var(--navy-deep);border-color:#fff}

/* ====================  HERO  ==================== */
.hero{height:100vh;min-height:660px;position:relative;overflow:hidden;display:flex;align-items:flex-end;background:var(--navy-deep)}
.hero .bg{position:absolute;inset:0;background:var(--navy-deep)}
.hero .bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:heroZoom 14s var(--ease) forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero .grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,36,56,.5) 0%,rgba(15,36,56,.12) 28%,rgba(15,36,56,.5) 100%),radial-gradient(135% 120% at 2% 98%,rgba(15,36,56,.6) 0%,rgba(15,36,56,.18) 42%,rgba(15,36,56,0) 66%)}
.hero-inner{position:relative;z-index:2;width:100%;padding:0 40px 7vh;max-width:1500px;margin:0 auto}
.hero h1{color:#fff;font-family:var(--font-jp);font-weight:600;font-size:clamp(38px,6vw,86px);line-height:1.34;letter-spacing:.06em;text-shadow:0 2px 26px rgba(15,36,56,.6),0 1px 3px rgba(15,36,56,.45)}
.hero .sub{color:rgba(255,255,255,.92);font-size:clamp(14px,1.4vw,17px);line-height:2;margin-top:22px;max-width:none;text-shadow:0 2px 16px rgba(15,36,56,.4)}
.hero .sub .ph{display:inline-block;white-space:nowrap}
.hero .cta{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap}
.hero .vtag{position:absolute;right:46px;bottom:7vh;z-index:2;writing-mode:vertical-rl;font-family:var(--font-en);letter-spacing:.4em;font-size:12px;color:rgba(255,255,255,.8)}
.scrollcue{position:absolute;left:50%;bottom:26px;z-index:3;transform:translateX(-50%);font-family:var(--font-en);font-size:10px;letter-spacing:.3em;color:rgba(255,255,255,.85);display:flex;flex-direction:column;align-items:center;gap:10px}
.scrollcue::after{content:"";width:1px;height:46px;background:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,0));animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ====================  CONCEPT  ==================== */
.concept{background:var(--cream)}
.concept-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,7vw,110px);align-items:center}
.concept .imgwrap{position:relative}
.concept .imgwrap img{width:100%;height:540px;object-fit:cover;background:#dfe3e6}
.concept .imgwrap .cap{position:absolute;bottom:-22px;right:-22px;background:var(--navy);color:#fff;padding:22px 26px;max-width:230px}
.concept .imgwrap .cap .en{font-size:10px;letter-spacing:.14em;opacity:.7;display:block;margin-bottom:8px;white-space:nowrap}
.concept .imgwrap .cap b{font-family:var(--font-jp);font-weight:500;font-size:15px;letter-spacing:.04em}

/* ====================  BUSINESS  ==================== */
.biz-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:56px;flex-wrap:wrap}
.biz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.biz-card{background:var(--paper);transition:.5s var(--ease)}
.biz-card .imgwrap{overflow:hidden;height:330px;background:#dfe3e6}
.biz-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.biz-card:hover img{transform:scale(1.07)}
.biz-card .body{padding:30px 4px 0}
.biz-card .no{font-family:var(--font-en);font-size:12px;letter-spacing:.2em;color:var(--gold)}
.biz-card h3{margin:12px 0 14px}
.biz-card .lead{font-size:14.5px;line-height:2}
.biz-card .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.tag{font-family:var(--font-en);font-size:11px;letter-spacing:.12em;padding:5px 12px;border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap}

/* ====================  SIGNATURE / MENU  ==================== */
.menu{background:var(--paper)}
.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.dish .imgwrap{height:260px;overflow:hidden;background:#dfe3e6}
.dish img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.dish:hover img{transform:scale(1.06)}
.dish .row{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;gap:12px;border-bottom:1px solid var(--line-soft);padding-bottom:14px}
.dish .nm{font-family:var(--font-jp);font-weight:500;font-size:16px;letter-spacing:.03em}
.dish .pr{font-family:var(--font-en);font-size:17px;color:var(--navy-2);white-space:nowrap}
.dish .desc{font-size:13px;color:var(--ink-soft);line-height:1.85;margin-top:12px}

/* ====================  GALLERY  ==================== */
.gallery{background:var(--navy);color:#fff}
.gallery .kick{color:rgba(255,255,255,.75)}
.gallery .h2{color:#fff}
.gallery .divider{background:rgba(255,255,255,.5)}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;grid-auto-flow:dense;gap:14px;margin-top:54px}
.gal-grid figure{margin:0;overflow:hidden;background:rgba(255,255,255,.08)}
.gal-grid img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);filter:saturate(1.02)}
.gal-grid figure:hover img{transform:scale(1.08)}
.gal-grid .tall{grid-row:span 2}
.gal-grid .wide{grid-column:span 2}

/* ====================  NEWS  ==================== */
.news{background:var(--cream)}
.news-grid{display:grid;grid-template-columns:.6fr 1.4fr;gap:60px}
.news-list{display:flex;flex-direction:column}
.news-item{display:flex;gap:28px;align-items:center;padding:24px 0;border-top:1px solid var(--line);transition:.4s var(--ease)}
.news-item:last-child{border-bottom:1px solid var(--line)}
.news-item:hover{padding-left:10px}
.news-item .date{font-family:var(--font-en);font-size:14px;color:var(--navy-2);letter-spacing:.08em;white-space:nowrap}
.news-item .cat{font-size:11px;letter-spacing:.1em;border:1px solid var(--line);padding:4px 12px;white-space:nowrap;color:var(--ink-soft)}
.news-item .ttl{font-size:15px;letter-spacing:.02em}

/* ====================  RECRUIT  ==================== */
.recruit{position:relative;overflow:hidden;color:#fff}
.recruit .bg{position:absolute;inset:0;background:var(--navy-deep)}
.recruit .bg img{width:100%;height:100%;object-fit:cover}
.recruit .grad{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,36,56,.88) 0%,rgba(15,36,56,.62) 50%,rgba(15,36,56,.3) 100%)}
.recruit .inner{position:relative;z-index:2}
.recruit .h2{color:#fff}
.recruit .kick{color:rgba(255,255,255,.78)}
.recruit .lead{color:rgba(255,255,255,.85)}

/* ====================  RESERVE / CONTACT  ==================== */
.reserve{position:relative;overflow:hidden;color:#fff;text-align:center}
.reserve .bg{position:absolute;inset:0;background:var(--navy-deep)}
.reserve .bg img{width:100%;height:100%;object-fit:cover}
.reserve .grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,36,56,.78),rgba(15,36,56,.86))}
.reserve .inner{position:relative;z-index:2}
.reserve .h2{color:#fff}
.reserve .kick{color:rgba(255,255,255,.78)}
.reserve .tel{font-family:var(--font-en);font-size:clamp(30px,4vw,46px);letter-spacing:.06em;margin:6px 0 2px}
.reserve .small{font-size:13px;color:rgba(255,255,255,.78);letter-spacing:.06em}
.reserve .cta{display:flex;gap:16px;justify-content:center;margin-top:34px;flex-wrap:wrap}

/* ====================  FOOTER  ==================== */
.foot{background:var(--navy-deep);color:rgba(255,255,255,.8)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:80px 0 56px}
.foot .logo{color:#fff;font-size:30px}
.foot p{font-size:13px;line-height:2;color:rgba(255,255,255,.62);margin:18px 0 0}
.foot h4{font-family:var(--font-en);font-size:12px;letter-spacing:.2em;color:rgba(255,255,255,.55);margin:0 0 18px;font-weight:400}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.foot ul a{font-size:13.5px;color:rgba(255,255,255,.8);transition:.3s var(--ease)}
.foot ul a:hover{color:#fff;padding-left:5px}
.foot-bot{border-top:1px solid rgba(255,255,255,.12);padding:24px 0;display:flex;justify-content:space-between;font-family:var(--font-en);font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.45);flex-wrap:wrap;gap:10px}

/* ====================  SCROLL REVEAL  ==================== */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}

/* ====================  RESPONSIVE  ==================== */
@media(max-width:980px){
  .nav{display:none}
  .concept-grid{grid-template-columns:1fr;gap:48px}
  .concept .imgwrap img{height:380px}
  .biz-grid{grid-template-columns:1fr;gap:48px}
  .menu-grid{grid-template-columns:1fr 1fr}
  .gal-grid{grid-template-columns:1fr 1fr;grid-auto-rows:170px}
  .news-grid{grid-template-columns:1fr;gap:30px}
  .foot-top{grid-template-columns:1fr 1fr;gap:36px}
  .hero{height:auto;min-height:88vh}
}
@media(max-width:560px){
  .wrap,.wrap-wide,.hero-inner,.hdr-inner{padding-left:22px;padding-right:22px}
  .pad{padding:64px 0}
  .menu-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}
  .gal-grid{grid-template-columns:1fr 1fr;grid-auto-rows:135px;gap:10px}
  .biz-head{margin-bottom:38px}
  .hero .cta{flex-direction:column;align-items:stretch}
  .hero .cta .btn{justify-content:center}
  .reserve .cta{flex-direction:column;align-items:stretch}
  .reserve .cta .btn{justify-content:center}
  .concept .imgwrap .cap{right:0;bottom:-16px;padding:18px 20px}
  .news-item{flex-wrap:wrap;gap:10px 16px}
  .news-item .ttl{flex-basis:100%;order:3}
}

/* =========================================================
   SUBPAGE COMPONENTS
   ========================================================= */
/* ----- burger + drawer ----- */
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;z-index:120}
.burger span{display:block;width:26px;height:2px;background:#fff;transition:.4s var(--ease)}
.hdr.solid .burger span{background:var(--navy)}
.burger.on span{background:var(--navy)}
.burger.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:110;background:var(--paper);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;opacity:0;pointer-events:none;transform:translateY(-12px);transition:.5s var(--ease)}
.drawer.open{opacity:1;pointer-events:auto;transform:none}
.drawer nav{display:flex;flex-direction:column;align-items:center;gap:8px}
.drawer nav a{font-family:var(--font-jp);font-weight:500;font-size:22px;color:var(--ink);padding:10px;letter-spacing:.06em}
.drawer nav a .en{font-family:var(--font-en);font-size:11px;letter-spacing:.2em;color:var(--navy-2);display:block;text-align:center;margin-bottom:2px}
.drawer nav a.cur{color:var(--navy-2)}

/* ----- page hero (subpages) ----- */
.phero{height:54vh;min-height:400px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy-deep)}
.phero .bg{position:absolute;inset:0;background:var(--navy-deep)}
.phero .bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);animation:heroZoom 12s var(--ease) forwards}
.phero .grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,36,56,.5),rgba(15,36,56,.34) 45%,rgba(15,36,56,.66))}
.phero .inner{position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto;padding:60px 40px 0;text-align:center}
.phero .kick{color:rgba(255,255,255,.82)}
.phero .divider{background:rgba(255,255,255,.55);margin:18px auto 16px}
.phero h1{font-family:var(--font-jp);font-weight:600;color:#fff;font-size:clamp(30px,4.6vw,52px);letter-spacing:.08em;line-height:1.4}
.crumb{margin-top:22px;font-family:var(--font-en);font-size:11px;letter-spacing:.18em;color:rgba(255,255,255,.7)}
.crumb a{color:rgba(255,255,255,.7)}
.crumb a:hover{color:#fff}

/* ----- left section head ----- */
.sec-head{margin-bottom:54px}
.sec-head .divider{margin:18px 0}

/* ----- alternating service rows (reuse concept-grid) ----- */
.concept-grid.rev{direction:rtl}
.concept-grid.rev>*{direction:ltr}
.svc-img{width:100%;height:460px;object-fit:cover;background:#dfe3e6}
.svc-num{font-family:var(--font-en);font-size:46px;color:var(--line);line-height:1}

/* ----- info table ----- */
.info-table{width:100%;border-collapse:collapse;border-top:1px solid var(--line)}
.info-table th,.info-table td{text-align:left;padding:22px 4px;border-bottom:1px solid var(--line);vertical-align:top;font-size:15px;line-height:1.9}
.info-table th{width:230px;font-family:var(--font-jp);font-weight:500;color:var(--navy-2);letter-spacing:.04em}
.info-table td{color:var(--ink-soft)}

/* ----- timeline ----- */
.tl{position:relative;padding-left:42px}
.tl::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:1px;background:var(--line)}
.tl-item{position:relative;padding-bottom:42px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:1px;top:7px;width:15px;height:15px;border-radius:50%;background:var(--paper);border:2px solid var(--navy-2)}
.tl-year{font-family:var(--font-en);font-size:20px;letter-spacing:.08em;color:var(--navy-2)}
.tl-item h3{margin:6px 0 8px}

/* ----- chips / filter ----- */
.chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.chip2{font-size:13px;letter-spacing:.08em;padding:9px 22px;border:1px solid var(--line);color:var(--ink-soft);background:var(--paper);transition:.3s var(--ease);cursor:pointer}
.chip2:hover{border-color:var(--navy)}
.chip2.on{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ----- work cards ----- */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:54px}
.work-card{background:var(--paper);cursor:pointer}
.work-card .imgwrap{height:240px;overflow:hidden;background:#dfe3e6}
.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.work-card:hover img{transform:scale(1.07)}
.work-card .cat{font-family:var(--font-en);font-size:11px;letter-spacing:.14em;color:var(--gold);margin-top:20px;display:block}
.work-card h3{margin:10px 0 8px}
.work-card .lead{font-size:14px;line-height:1.95}

/* ----- pagination ----- */
.pager{display:flex;gap:10px;justify-content:center;margin-top:64px}
.pager a{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);font-family:var(--font-en);font-size:14px;color:var(--ink-soft);transition:.3s var(--ease)}
.pager a:hover,.pager a.on{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ----- staff voice ----- */
.voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:54px}
.voice{background:var(--paper);border:1px solid var(--line-soft);padding:34px;display:flex;gap:24px;align-items:flex-start}
.voice .avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;background:#dfe3e6;flex:0 0 84px}
.voice .nm{font-family:var(--font-jp);font-weight:500;font-size:16px;letter-spacing:.03em;margin-bottom:10px}
.voice .lead{font-size:14px;line-height:1.95}

/* ----- job list ----- */
.job{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 0;border-top:1px solid var(--line)}
.job:last-child{border-bottom:1px solid var(--line)}
.job .meta{display:flex;gap:10px;margin:12px 0;flex-wrap:wrap}
.job h3{margin:0}

/* ----- form ----- */
.form-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}
.field{margin-bottom:26px}
.field label{display:block;font-size:14px;letter-spacing:.04em;margin-bottom:10px}
.field label b{color:#c0492f;font-weight:400;font-size:12px;margin-left:8px}
.field .ipt{width:100%;border:1px solid var(--line);background:#fff;padding:15px 16px;font-family:var(--font-body);font-size:15px;color:var(--ink);transition:.3s var(--ease)}
.field .ipt:focus{outline:none;border-color:var(--navy)}
textarea.ipt{min-height:150px;resize:vertical}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.consent{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft);margin:6px 0 24px}
.info-card{background:var(--cream);padding:34px}
.info-card+.info-card{margin-top:22px}
.info-card .kick{margin-bottom:10px}
.info-card h3{margin-bottom:12px}
.info-card .tel{font-family:var(--font-en);font-size:26px;color:var(--navy-2);letter-spacing:.04em}
.info-card .map{height:170px;background:#dfe3e6;margin-top:18px;object-fit:cover;width:100%}

/* ----- generic CTA band ----- */
.cta-band{background:var(--cream);text-align:center}
.bg-cream{background:var(--cream)}
.bg-paper{background:var(--paper)}

@media(max-width:980px){
  .burger{display:flex}
  .hdr-right{display:none}
  .svc-img{height:340px}
  .work-grid{grid-template-columns:1fr 1fr;gap:22px}
  .voice-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr;gap:40px}
  .info-table th{width:150px}
  .job{flex-wrap:wrap}
}
@media(max-width:560px){
  .work-grid{grid-template-columns:1fr}
  .form-two{grid-template-columns:1fr}
  .info-table th,.info-table td{display:block;width:100%;border-bottom:none;padding:8px 0}
  .info-table td{padding-bottom:20px;border-bottom:1px solid var(--line)}
}

