@font-face{font-family:"Pretendard";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/Pretendard-SemiBold.subset.woff2") format("woff2")}
@font-face{font-family:"Pretendard";font-weight:700;font-style:normal;font-display:swap;src:url("fonts/Pretendard-Bold.subset.woff2") format("woff2")}
@font-face{font-family:"Pretendard";font-weight:800;font-style:normal;font-display:swap;src:url("fonts/Pretendard-ExtraBold.subset.woff2") format("woff2")}
/* Layout concept: the page is built from the clinic's own materials. Each band is one surface in the room
   (stone wall, oak, espresso counter, the logo's wine red), joined by a brass line taken from the logo's circle and stem. */
:root{
  --espresso:#231814; --walnut:#3a2a23; --wine:#5f1521; --logo:#922230;
  --stone:#c5b4a0;    --sand:#e7dccd;   --paper:#f8f3eb;
  --brass:#c7a56c;    --brass-deep:#7d5e31;
  --ink:#2c211c;      --ink-soft:#54463e;
  --on-dark:#f4ece1;  --on-dark-soft:#d9cdbf;
  --display:"Pretendard","Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --body:"Gothic A1","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --g:clamp(20px,6.4vw,104px);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--espresso);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.75;font-weight:400;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--espresso)}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
h1,h2{font-family:var(--display);font-weight:800;text-wrap:balance;letter-spacing:-.03em}
h3{font-family:var(--display);font-weight:700;text-wrap:balance;letter-spacing:-.02em}
a{color:inherit}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.wrap{max-width:1440px;margin-inline:auto;padding-left:max(var(--g),env(safe-area-inset-left,0px));padding-right:max(var(--g),env(safe-area-inset-right,0px))}
.band{padding-block:clamp(84px,11vw,168px)}
h2{font-size:clamp(34px,4.3vw,64px);line-height:1.22}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;font-size:16px;font-weight:500;letter-spacing:.01em;text-decoration:none;border:1px solid transparent;transition:background-color .25s,color .25s,border-color .25s}
.btn-wine{background:var(--logo);color:#fff}
.btn-wine:hover{background:#7a1a27}
.btn-line{border-color:rgba(244,236,225,.55);color:var(--on-dark)}
.btn-line:hover{background:var(--on-dark);color:var(--espresso)}
.btn-ink{border-color:var(--ink);color:var(--ink)}
.btn-ink:hover{background:var(--ink);color:var(--paper)}

/* header */
.top{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:50;transition:background-color .35s,box-shadow .35s}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:84px;transition:height .35s}
.logo{position:relative;display:block;height:38px;width:230px;flex:none}
.logo img{position:absolute;inset:0;height:100%;width:auto;transition:opacity .35s}
.logo .d{opacity:0}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px);font-size:15px;color:var(--on-dark);transition:color .35s}
.nav a{text-decoration:none;white-space:nowrap}
.nav a:not(.res):hover{color:var(--brass)}
.nav .res{padding:10px 20px;background:var(--logo);color:#fff;font-weight:500}
.nav .res:hover{background:#7a1a27}
.top.on{background:var(--paper);box-shadow:0 1px 0 rgba(44,33,28,.12)}
.top.on .wrap{height:68px}
.top.on .logo .l{opacity:0}.top.on .logo .d{opacity:1}
.top.on .nav{color:var(--ink)}
.top.on .nav a:not(.res):hover{color:var(--logo)}

/* brass line drawn from the logo: circle + stem, grows with reading */
.spine{position:fixed;top:0;bottom:0;left:max(calc(var(--g)/2 - 7px),8px);width:15px;z-index:40;pointer-events:none}
.spine svg{position:absolute;top:128px;left:0;width:15px;height:15px;overflow:visible}
.spine circle{fill:none;stroke:var(--brass);stroke-width:1.2;stroke-dasharray:44;animation:ring 1.5s .3s cubic-bezier(.6,0,.2,1) both}
.spine i{position:absolute;left:7px;top:143px;bottom:0;width:1px;background:var(--brass);transform-origin:top;transform:scaleY(var(--p,.03))}
.spine b{position:absolute;left:7px;top:143px;bottom:0;width:1px;background:var(--brass);opacity:.22}
@keyframes ring{from{stroke-dashoffset:44}to{stroke-dashoffset:0}}

/* hero: the clinic's real wall is the page */
.hero{position:relative;background:var(--espresso);color:var(--on-dark);overflow:hidden;height:min(100svh,62vw);min-height:640px}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:0 38%;animation:settle 3.2s cubic-bezier(.2,.6,.2,1) both;transform-origin:18% 40%}
.hero-shade{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(35,24,20,.62) 0,rgba(35,24,20,0) 17%),
  radial-gradient(ellipse 66% 74% at 88% 92%,rgba(35,24,20,.93) 0,rgba(35,24,20,.8) 48%,rgba(35,24,20,0) 100%)}
.hero .wrap{position:relative;height:100%;display:flex;justify-content:flex-end;align-items:flex-end;padding-bottom:clamp(40px,5.4vw,84px)}
.hero-copy{width:min(50%,720px);min-width:0}
h1{font-size:clamp(46px,5.5vw,92px);line-height:1.16}
h1 span{display:block;overflow:hidden;padding-bottom:.08em}
h1 span>em{display:block;font-style:normal;animation:rise 1.25s .25s cubic-bezier(.16,.8,.2,1) both}
h1 span+span>em{animation-delay:.42s}
.hero .sub{font-family:var(--display);font-size:clamp(20px,1.85vw,28px);line-height:1.5;margin-top:22px}
.hero .desc{margin-top:12px;color:var(--on-dark-soft);max-width:34em}
.hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero .note{margin-top:22px;font-size:15px;color:var(--on-dark-soft)}
@keyframes settle{from{transform:scale(1.07)}to{transform:scale(1)}}
@keyframes rise{from{transform:translateY(106%)}to{transform:none}}

/* concerns on sand */
.concerns{background:var(--sand)}
.concerns .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(36px,6vw,110px)}
.concerns h2{position:sticky;top:120px;align-self:start}
.big{display:grid}
.big li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:12px 40px;align-items:baseline;padding-block:clamp(28px,3.2vw,46px);border-top:1px solid rgba(44,33,28,.28)}
.big li:last-child{border-bottom:1px solid rgba(44,33,28,.28)}
.big h3{font-size:clamp(28px,2.9vw,42px);line-height:1.25;color:var(--wine)}
.big p{color:var(--ink-soft)}
.more{grid-column:2;display:flex;flex-wrap:wrap;gap:10px 44px;font-family:var(--display);font-size:clamp(20px,1.7vw,24px);margin-top:calc(-1*clamp(10px,3vw,50px))}

/* process on paper, photo holds while the steps pass */
.process{background:var(--paper)}
.process .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(36px,7vw,120px)}
.process figure{position:sticky;top:104px;align-self:start;overflow:hidden;height:min(76vh,720px)}
.process figure img{width:100%;height:100%;object-fit:cover;object-position:32% 50%}
.process h2{margin-bottom:clamp(30px,4vw,60px)}
.steps li{display:grid;grid-template-columns:64px minmax(0,1fr);padding-block:26px;border-top:1px solid rgba(44,33,28,.18);transition:color .35s}
.steps .n{font-family:var(--display);font-size:38px;line-height:1.1;color:var(--brass-deep);transition:color .35s}
.steps h3{font-size:clamp(24px,2.1vw,30px);line-height:1.3;margin-bottom:6px}
.steps p{color:var(--ink-soft)}
.steps li.on .n{color:var(--logo)}

/* exam + treatment in the logo's wine */
.care{background:var(--wine);color:var(--on-dark)}
.care-head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:20px 60px;align-items:end;margin-bottom:clamp(44px,6vw,90px)}
.care-head p{font-size:clamp(18px,1.5vw,21px);line-height:1.7;color:var(--on-dark)}
.care-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(44px,7vw,120px)}
.care h3.cap{font-size:clamp(24px,2vw,28px);color:var(--brass);padding-bottom:18px;border-bottom:1px solid rgba(199,165,108,.55)}
.rows>div{display:grid;gap:4px;padding-block:20px;border-bottom:1px solid rgba(244,236,225,.16)}
.rows dt{font-family:var(--display);font-size:24px;line-height:1.35}
.rows dd{color:var(--on-dark-soft)}
.rows.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.caution{margin-top:clamp(40px,5vw,64px);max-width:64em;color:var(--on-dark-soft);font-size:15.5px}

/* doctor on stone */
.doctor{background:var(--stone);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.doctor figure{min-height:100%;overflow:hidden}
.doctor figure img{width:100%;height:100%;object-fit:cover;object-position:22% 30%}
.doctor-text{padding:clamp(64px,8vw,130px) max(var(--g),env(safe-area-inset-right,0px)) clamp(64px,8vw,130px) clamp(32px,5vw,84px)}
.doctor h2{font-size:clamp(32px,3.5vw,54px)}
.doctor .body{margin-top:26px;color:var(--ink)}
.doctor .sign{margin-top:26px;font-family:var(--display);font-size:22px}
.cv{margin-top:32px;border-top:1px solid rgba(44,33,28,.35)}
.cv li{padding-block:9px;border-bottom:1px solid rgba(44,33,28,.16);font-size:16px}

/* space: slow walk through the rooms */
.space{background:var(--espresso);color:var(--on-dark)}
.space-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px 60px;align-items:end;margin-bottom:clamp(34px,4vw,60px)}
.space-head p{color:var(--on-dark-soft)}
.tour{display:grid;grid-template-columns:minmax(0,9fr) minmax(0,3fr);gap:clamp(24px,3.4vw,56px);align-items:stretch}
.stage{position:relative;aspect-ratio:16/9.6;overflow:hidden;background:var(--walnut)}
.stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.09);transition:opacity 1.5s ease,transform 8s linear;filter:saturate(.94) contrast(1.02)}
.stage img.show{opacity:1;transform:scale(1)}
.rooms{display:flex;flex-direction:column;justify-content:space-between}
.rooms button{all:unset;box-sizing:border-box;display:block;position:relative;width:100%;padding-block:11px;cursor:pointer;font-family:var(--display);font-size:clamp(19px,1.6vw,23px);line-height:1.35;color:var(--on-dark-soft);border-bottom:1px solid rgba(244,236,225,.16);transition:color .3s}
.rooms button:hover,.rooms button[aria-current=true]{color:var(--on-dark)}
.rooms button:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.rooms button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left}
.rooms button[aria-current=true]::after{transform:scaleX(1);transition:transform var(--t,6s) linear}
.space .cap-line{display:flex;justify-content:space-between;gap:20px;margin-top:16px;color:var(--on-dark-soft);font-size:15.5px}
.pause{all:unset;cursor:pointer;color:var(--on-dark);border-bottom:1px solid var(--brass);flex:none}
.pause:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* columns on paper */
.columns{background:var(--paper)}
.columns .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(36px,6vw,110px)}
.columns h2{font-size:clamp(32px,3.5vw,54px)}
.columns .blog{display:inline-block;margin-top:26px;border-bottom:1px solid var(--ink);text-decoration:none;font-size:16px}
.list li{font-family:var(--display);font-size:clamp(21px,2vw,29px);line-height:1.4;padding-block:22px;border-top:1px solid rgba(44,33,28,.2)}
.list li:last-child{border-bottom:1px solid rgba(44,33,28,.2)}

/* location */
.place{background:var(--sand)}
.place .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(40px,7vw,120px)}
.place .way{font-family:var(--display);font-size:clamp(22px,2vw,28px);line-height:1.45;margin-top:26px;color:var(--wine)}
.place address{font-style:normal;margin-top:8px}
.place .parking{margin-top:24px;color:var(--ink-soft)}
.contact{margin-top:24px;border-top:1px solid rgba(44,33,28,.28)}
.contact div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;padding-block:10px;border-bottom:1px solid rgba(44,33,28,.16)}
.contact dt{color:var(--ink-soft)}
.contact dd{font-variant-numeric:tabular-nums;min-width:0}
.contact a{text-underline-offset:3px}
.place .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hours{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.hours th,.hours td{padding-block:15px;border-top:1px solid rgba(44,33,28,.28);text-align:left;vertical-align:top;font-weight:400}
.hours th{font-family:var(--display);font-size:21px;padding-right:20px;white-space:nowrap}
.hours tr:last-child th,.hours tr:last-child td{border-bottom:1px solid rgba(44,33,28,.28)}
.hours small{display:block;font-size:15px;color:var(--ink-soft)}

.close{background:var(--logo);color:#fff;text-align:left}
.close .wrap{display:flex;flex-wrap:wrap;gap:24px 60px;align-items:center;justify-content:space-between;padding-block:clamp(48px,6vw,84px)}
.close p{font-family:var(--display);font-size:clamp(26px,3vw,44px);line-height:1.3;max-width:18em;min-width:0}
.close .acts{display:flex;flex-wrap:wrap;gap:12px}
.btn-white{background:var(--paper);color:var(--wine)}
.btn-white:hover{background:var(--sand)}

footer{background:var(--espresso);color:var(--on-dark-soft);font-size:15px;line-height:1.8}
footer .wrap{padding-block:clamp(48px,6vw,76px) clamp(100px,6vw,76px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:30px 60px}
footer img{height:36px;width:auto}
footer .info{display:flex;flex-wrap:wrap;gap:2px 26px}
footer .legal{grid-column:2;color:var(--on-dark-soft)}

.dock{display:none}

@media (max-width:1020px){
  .nav a:not(.res):not(.tel){display:none}
  .process .wrap,.concerns .wrap,.columns .wrap,.place .wrap,.care-grid,.care-head,.space-head{grid-template-columns:minmax(0,1fr)}
  .concerns h2{position:static}.more{grid-column:1;margin-top:0}
  .process figure{position:relative;top:auto;height:auto;aspect-ratio:5/4}
  .doctor{grid-template-columns:minmax(0,1fr)}
  .doctor figure{aspect-ratio:3/2;min-height:0}
  .doctor-text{padding-left:max(var(--g),env(safe-area-inset-left,0px))}
  .tour{grid-template-columns:minmax(0,1fr)}
  .rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
  .spine{display:none}
}
@media (max-width:760px){
  .hero{height:auto;min-height:0}
  .hero-photo{position:relative;height:auto;aspect-ratio:1/1;object-position:10% 40%}
  .hero-shade{bottom:auto;height:30vw;background:linear-gradient(180deg,rgba(35,24,20,.7) 0,rgba(35,24,20,0) 100%)}
  .hero .wrap{height:auto;display:block;padding-block:34px 44px}
  .hero-copy{width:auto}
  .btn{white-space:nowrap;padding:0 18px;font-size:15.5px}
  .hero .acts .btn{flex:1 1 auto}
  .top .wrap,.top.on .wrap{height:64px}
  .logo{height:30px;width:182px}
  .nav .tel,.nav .res{display:none}
  .big li{grid-template-columns:minmax(0,1fr)}
  .rows.two{grid-template-columns:minmax(0,1fr)}
  footer .wrap{grid-template-columns:minmax(0,1fr)}footer .legal{grid-column:1}
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))}
  .dock{position:fixed;left:0;right:0;bottom:0;z-index:55;display:grid;grid-template-columns:1fr 1.25fr 1fr;background:var(--espresso);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
  .dock a{display:flex;align-items:center;justify-content:center;height:62px;color:var(--on-dark);text-decoration:none;font-size:16px;font-weight:500}
  .dock a.m{background:var(--logo);color:#fff}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .stage img{transform:none}
}

/* contact line on the first screen */
.reach{display:flex;flex-wrap:wrap;gap:4px 30px;margin-top:20px;font-size:16.5px;font-variant-numeric:tabular-nums}
.reach span{color:var(--on-dark-soft);margin-right:9px}
.reach a{text-decoration:none}
.reach a:hover{text-decoration:underline;text-underline-offset:3px}
.hero .reach+.note{margin-top:8px}

/* linked rows */
.big li{display:block;padding:0}
.big li a{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,5fr) auto;gap:12px 36px;align-items:baseline;padding-block:clamp(28px,3.2vw,46px);text-decoration:none;transition:background-color .3s,padding .3s}
.big li a:hover{background:rgba(197,180,160,.45);padding-inline:18px}
.go{font-size:15.5px;color:var(--ink);border-bottom:1px solid var(--logo);white-space:nowrap}
.more a{text-decoration:none;border-bottom:1px solid rgba(44,33,28,.45)}
.more a:hover{color:var(--logo);border-color:var(--logo)}
.list li{padding:0}
.list li a{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-block:22px;text-decoration:none;transition:color .25s}
.list li a::after{content:"\203A";color:var(--brass-deep);font-size:1.15em;line-height:1}
.list li a:hover{color:var(--logo)}

/* symptom pages */
.subhero{background:var(--espresso);color:var(--on-dark)}
.subhero .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:end;padding-top:clamp(120px,12vw,176px);padding-bottom:clamp(52px,6vw,88px)}
.subhero .crumb{display:inline-block;margin-bottom:22px;color:var(--brass);text-decoration:none;font-size:16px}
.subhero .crumb:hover{text-decoration:underline;text-underline-offset:4px}
.subhero h1{font-size:clamp(42px,5vw,80px);line-height:1.18}
.subhero .lead{font-family:var(--display);font-size:clamp(20px,1.85vw,27px);line-height:1.55;margin-top:22px}
.subhero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.subhero figure{overflow:hidden;aspect-ratio:5/4}
.subhero figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.02)}
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,110px)}
.split h2,.care-sub h2,.alert h2,.faq h2{font-size:clamp(30px,3.3vw,50px)}
.split h2{position:sticky;top:110px;align-self:start}
.bg-paper{background:var(--paper)}.bg-sand{background:var(--sand)}
.intro{font-size:clamp(19px,1.5vw,21px);line-height:1.75;margin-bottom:30px}
.ticks li{padding-block:14px;border-top:1px solid rgba(44,33,28,.2)}
.ticks li:last-child{border-bottom:1px solid rgba(44,33,28,.2)}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.checks div{padding-block:20px;border-top:1px solid rgba(44,33,28,.26)}
.checks dt{font-family:var(--display);font-size:23px;line-height:1.35;color:var(--wine);margin-bottom:4px}
.checks dd{color:var(--ink-soft)}
.care-sub{background:var(--wine);color:var(--on-dark)}
.care-sub .rows.two{margin-top:0}
.alert{background:var(--stone)}
.alert .ticks li{font-weight:500;color:var(--ink);border-color:rgba(44,33,28,.34)}
.alert .where{margin-bottom:20px;font-family:var(--display);font-size:clamp(20px,1.7vw,25px);line-height:1.5;color:var(--wine)}
details{border-top:1px solid rgba(44,33,28,.26)}
details:last-child{border-bottom:1px solid rgba(44,33,28,.26)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding-block:20px;font-family:var(--display);font-size:clamp(20px,1.7vw,24px);line-height:1.4}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--logo);font-size:1.2em;line-height:1}
details[open] summary::after{content:"\2212"}
details p{padding-bottom:22px;color:var(--ink-soft);max-width:44em}
@media (max-width:1020px){
  .subhero .wrap,.split{grid-template-columns:minmax(0,1fr)}
  .split h2{position:static}
  .subhero figure{aspect-ratio:3/2}
}
@media (max-width:760px){
  .big li a{grid-template-columns:minmax(0,1fr);gap:6px}
  .big li a:hover{padding-inline:0}
  .go{justify-self:start;margin-top:6px}
  .checks{grid-template-columns:minmax(0,1fr)}
  .subhero .wrap{padding-top:100px}
  .subhero .acts .btn{flex:1 1 auto}
  .reach{font-size:16px}
}


.hero .sub,.subhero .lead,.place .way,.alert .where,summary,.list li,.doctor .sign{font-weight:600;letter-spacing:-.015em}
.more,.steps .n,.rows dt,.rooms button,.hours th,.checks dt{font-weight:700;letter-spacing:-.02em}
.close p{font-weight:800;letter-spacing:-.03em}
@media (min-width:761px) and (max-width:900px){.hero{min-height:700px}}
.btn-kakao{background:var(--brass);color:var(--espresso);font-family:inherit;cursor:pointer;font-variant-numeric:tabular-nums}
.btn-kakao:hover{background:#d6b983}
@media (min-width:761px) and (max-width:1020px){.hero .acts{gap:10px}.hero .acts .btn{padding-inline:18px}}
/* 첫 화면 제목이 사진 속 간판과 겹치지 않도록 */
@media (min-width:761px){.hero h1{font-size:clamp(40px,min(4.4vw,8.4svh),84px)}}
@media (min-width:761px) and (max-width:1199px),(min-width:761px) and (max-height:880px){.hero .desc{display:none}}
@media (min-width:761px) and (max-height:780px){.hero .note{display:none}}
@media (max-width:760px){.hero h1{font-size:clamp(34px,11vw,46px)}}
.top:not(.on) .nav .res{display:none}
.tele{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 40px;margin-top:clamp(36px,4vw,56px);padding-top:clamp(24px,3vw,34px);border-top:1px solid rgba(199,165,108,.55)}
.tele p{font-size:clamp(18px,1.5vw,21px);line-height:1.5}
.columns .blog.yt{margin-left:22px}
.list li a span{flex:1;min-width:0}
.list li a small{flex:none;font-family:var(--body,inherit);font-size:15px;font-weight:400;letter-spacing:0;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.video[hidden]{display:none}
.video{background:var(--paper);padding-top:0}
.video .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(36px,6vw,110px)}
.video h2{font-size:clamp(32px,3.5vw,54px)}
.video .blog{display:inline-block;margin-top:26px;border-bottom:1px solid var(--ink);text-decoration:none;font-size:16px}
.video .frame{aspect-ratio:16/9;background:var(--espresso)}
.video iframe{display:block;width:100%;height:100%;border:0}
.place .wrap.map{display:block;margin-top:clamp(36px,5vw,64px)}
.map iframe{display:block;width:100%;height:clamp(320px,36vw,480px);border:0}
@media (max-width:1020px){.video .wrap{grid-template-columns:minmax(0,1fr)}}
.notices[hidden]{display:none}
.notices{background:var(--paper);padding-top:0}
.notices .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(36px,6vw,110px)}
.notices h2{font-size:clamp(32px,3.5vw,54px)}
.notice-list summary small{margin-left:auto;font-family:var(--body);font-size:15px;font-weight:400;letter-spacing:0;color:var(--ink-soft);white-space:nowrap}
.notice-list p{white-space:pre-line}
@media (max-width:1020px){.notices .wrap{grid-template-columns:minmax(0,1fr)}}
.pop-back{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;background:rgba(35,24,20,.5)}
.pop{width:min(440px,100%);max-height:calc(100svh - 32px);overflow:auto;background:var(--paper);color:var(--ink)}
.pop img{display:block;width:100%;height:auto}
.pop .in{padding:24px}
.pop h2{font-size:26px;line-height:1.3}
.pop p{margin-top:10px;color:var(--ink-soft);white-space:pre-line}
.pop .go-link{margin-top:18px;width:100%}
.pop .foot{display:flex;border-top:1px solid rgba(44,33,28,.2)}
.pop .foot button{flex:1;min-height:52px;border:0;background:none;color:var(--ink);font:inherit;font-size:16px;cursor:pointer}
.pop .foot button+button{border-left:1px solid rgba(44,33,28,.2)}
.related .list[hidden]{display:none}
.related .list{margin-top:26px}
.more-links{display:flex;flex-wrap:wrap;gap:14px 28px}
.more-links .blog{border-bottom:1px solid var(--ink);text-decoration:none;font-size:18px;font-weight:500}
.more-links .blog:hover{color:var(--logo);border-color:var(--logo)}
.menu-btn{display:none}
@media (min-width:901px) and (max-width:1199px){
  .nav{gap:16px}
  .logo{width:200px;height:33px}
  .nav a:not(.res):not(.tel){display:inline}
  .top.on .nav .tel{display:none}
}
@media (max-width:900px){
  .nav{margin-left:auto}
  .menu-btn{display:grid;gap:5px;flex:none;width:44px;height:44px;place-content:center;padding:0;border:0;background:none;color:var(--on-dark);cursor:pointer}
  .top.on .menu-btn,.top.menu-open .menu-btn{color:var(--ink)}
  .menu-btn span{display:block;width:24px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
  .top.menu-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .top.menu-open .menu-btn span:nth-child(2){opacity:0}
  .top.menu-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .top.menu-open{background:var(--paper);box-shadow:0 1px 0 rgba(44,33,28,.12)}
  .top.menu-open .logo .l{opacity:0}
  .top.menu-open .logo .d{opacity:1}
  .top.menu-open .nav{position:absolute;top:100%;left:0;right:0;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:6px 24px 16px;background:var(--paper);color:var(--ink);font-size:18px;box-shadow:0 12px 24px rgba(35,24,20,.14);max-height:calc(100svh - 64px);overflow:auto}
  .top.menu-open .nav a,.top.menu-open .nav a:not(.res):not(.tel),.top.menu-open .nav .tel{display:block;padding-block:12px;border-bottom:1px solid rgba(44,33,28,.14)}
  .top.menu-open .nav a:not(.res):hover{color:var(--logo)}
  .top.menu-open .nav .res{display:block;margin-top:14px;padding:14px;border:0;text-align:center}
}
.nav a.m-only:not(.res):not(.tel){display:none}
.top.menu-open .nav a.m-only:not(.res):not(.tel){display:block}
