/* UPTOPMEDIA V2.9 AGENCY GRADE / 2026-08-07 */
:root{
  --v29-max:1440px;
  --v29-pad:clamp(22px,5.2vw,84px);
  --v29-black:#0a0a0a;
  --v29-ink:#171717;
  --v29-muted:#6c6c6c;
  --v29-line:rgba(20,20,20,.14);
  --v29-paper:#f4f1eb;
}
body.client-body.premium-site{background:#fff}
body.client-body.premium-site .v29-site{overflow:hidden;background:#fff;color:var(--v29-ink)}
body.client-body.premium-site .v29-site *{box-sizing:border-box}
body.client-body.premium-site .v29-site img{display:block;width:100%;height:100%;object-fit:cover}
body.client-body.premium-site .v29-site figure{margin:0;overflow:hidden}
body.client-body.premium-site .v29-site section{scroll-margin-top:88px}
body.client-body.premium-site .v29-eyebrow,
body.client-body.premium-site .v29-section-title>span{
  display:block;font-size:11px;line-height:1.2;font-weight:900;letter-spacing:.2em;text-transform:uppercase
}
body.client-body.premium-site .v29-section-title{max-width:var(--v29-max);margin:0 auto clamp(38px,5vw,76px)}
body.client-body.premium-site .v29-section-title h2{margin:12px 0 0;font-size:clamp(42px,5.5vw,82px);line-height:.95;letter-spacing:-.07em}
body.client-body.premium-site .v29-hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:30px}
body.client-body.premium-site .v29-hero-actions a,
body.client-body.premium-site .v29-primary-cta{
  min-height:50px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;border:1px solid currentColor;font-size:13px;font-weight:900;letter-spacing:-.02em
}
body.client-body.premium-site .v29-primary-cta{background:#111;color:#fff;border-color:#111}
body.client-body.premium-site .v29-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
body.client-body.premium-site .v29-service-grid article{padding:28px 24px;border-top:1px solid var(--v29-line);min-width:0}
body.client-body.premium-site .v29-service-grid article+article{border-left:1px solid var(--v29-line)}
body.client-body.premium-site .v29-service-grid article>span{font-size:11px;font-weight:900;letter-spacing:.15em;opacity:.5}
body.client-body.premium-site .v29-service-grid h3{margin:46px 0 12px;font-size:clamp(20px,2vw,30px);letter-spacing:-.045em}
body.client-body.premium-site .v29-service-grid p{margin:0;font-size:14px;line-height:1.8;color:var(--v29-muted)}
body.client-body.premium-site .v29-contact{
  padding:clamp(86px,10vw,170px) var(--v29-pad);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);
  gap:clamp(44px,8vw,140px);max-width:calc(var(--v29-max) + var(--v29-pad)*2);margin:0 auto
}
body.client-body.premium-site .v29-contact h2{margin:14px 0 24px;font-size:clamp(44px,6vw,90px);line-height:.94;letter-spacing:-.075em}
body.client-body.premium-site .v29-contact-copy>p{max-width:620px;font-size:16px;line-height:1.8;color:var(--v29-muted)}
body.client-body.premium-site .v29-contact-meta{display:flex;flex-direction:column;gap:8px;margin-top:34px}
body.client-body.premium-site .v29-contact-phone{font-size:clamp(28px,3.2vw,48px);font-weight:900;letter-spacing:-.055em;text-decoration:none;color:inherit}
body.client-body.premium-site .v29-contact-address{font-size:14px;color:var(--v29-muted)}
body.client-body.premium-site .v29-preserved-links{margin-top:16px}
body.client-body.premium-site .v29-form .mini-contact{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body.client-body.premium-site .v29-form .mini-contact textarea{grid-column:1/-1;min-height:150px;resize:vertical}
body.client-body.premium-site .v29-form .mini-contact button{grid-column:1/-1}
body.client-body.premium-site .v29-form input,
body.client-body.premium-site .v29-form textarea{
  width:100%;min-height:52px;border:0;border-bottom:1px solid rgba(20,20,20,.25);
  border-radius:0;padding:14px 2px;background:transparent;color:inherit;font:inherit
}
body.client-body.premium-site .v29-form button{
  min-height:54px;margin-top:8px;border:0;background:#111;color:#fff;font-weight:900;cursor:pointer
}
body.client-body.premium-site .v29-mobile-dock{display:none}

/* Header / Footer — 공통 골격도 이전 템플릿 흔적 제거 */
body.client-body.premium-site .v29-nav{
  min-height:78px;padding:0 var(--v29-pad);display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:28px;border-bottom:1px solid rgba(20,20,20,.11);background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:sticky;top:0;z-index:120
}
body.client-body.premium-site .v29-nav .client-logo{font-size:18px;font-weight:950;letter-spacing:-.045em;text-decoration:none;color:inherit}
body.client-body.premium-site .v29-nav nav{display:flex;align-items:center;gap:28px}
body.client-body.premium-site .v29-nav nav a{font-size:12px;font-weight:800;text-decoration:none;color:inherit;opacity:.72}
body.client-body.premium-site .v29-nav nav a:hover{opacity:1}
body.client-body.premium-site .v29-nav-cta{justify-self:end;min-height:40px;padding:0 16px;border:1px solid currentColor;text-decoration:none;color:inherit;font-size:12px;font-weight:900}
body.client-body.premium-site .v29-footer{
  padding:48px var(--v29-pad) 58px;display:flex;justify-content:space-between;align-items:end;gap:40px;
  border-top:1px solid rgba(20,20,20,.12);background:#fff;color:#171717
}
body.client-body.premium-site .v29-footer strong{font-size:24px;letter-spacing:-.05em}
body.client-body.premium-site .v29-footer p{margin:8px 0 0;font-size:12px;letter-spacing:.04em;opacity:.55}
body.client-body.premium-site .v29-footer>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:12px}
body.client-body.premium-site .v29-footer a{color:inherit;text-decoration:none;font-weight:900}

/* 01 Restaurant */
body.layout-premium_restaurant .v29-nav,
body.layout-premium_restaurant .v29-footer{background:#0a0a0a;color:#f6f0e6;border-color:rgba(255,255,255,.12)}
body.layout-premium_restaurant .v29-nav{position:absolute;width:100%;background:linear-gradient(#090909cc,transparent);border:0}
body.layout-premium_restaurant .v29-nav-cta{border-color:#bfa06c;color:#f7efe3}
body.layout-premium_restaurant .v29-restaurant{background:#0a0a0a;color:#f4eee4}
body.layout-premium_restaurant .v29-r-hero{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.42fr) minmax(350px,.72fr);position:relative}
body.layout-premium_restaurant .v29-r-visual{position:relative;min-height:100vh}
body.layout-premium_restaurant .v29-r-visual figure{height:100%}
body.layout-premium_restaurant .v29-r-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#0a0a0a 100%)}
body.layout-premium_restaurant .v29-image-note{position:absolute;left:36px;bottom:32px;z-index:2;font-size:10px;letter-spacing:.18em}
body.layout-premium_restaurant .v29-r-intro{align-self:center;padding:110px clamp(32px,5vw,76px) 70px 18px;position:relative;z-index:2}
body.layout-premium_restaurant .v29-r-intro h1{margin:18px 0 24px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(54px,6.4vw,106px);line-height:.9;letter-spacing:-.065em;font-weight:500}
body.layout-premium_restaurant .v29-r-intro p{font-size:15px;line-height:1.9;color:#c8bfb2;max-width:520px}
body.layout-premium_restaurant .v29-r-intro .v29-primary-cta{background:#b99863;color:#090909;border-color:#b99863}
body.layout-premium_restaurant .v29-r-side{position:absolute;right:28px;bottom:28px;text-align:right;font-size:9px;letter-spacing:.2em;color:#b99863}
body.layout-premium_restaurant .v29-r-side b{display:block;margin-top:7px;font-size:14px;letter-spacing:0;color:#f5efe5}
body.layout-premium_restaurant .v29-r-story{padding:clamp(100px,12vw,200px) var(--v29-pad);display:grid;grid-template-columns:1.05fr .7fr .75fr;gap:clamp(30px,6vw,90px);align-items:end;max-width:var(--v29-max);margin:auto}
body.layout-premium_restaurant .v29-r-story h2{font-family:Georgia,serif;margin:14px 0 0;font-size:clamp(48px,5.5vw,84px);line-height:.97;font-weight:500;letter-spacing:-.06em}
body.layout-premium_restaurant .v29-r-story p{line-height:1.9;color:#b8afa3}
body.layout-premium_restaurant .v29-r-story-photo{aspect-ratio:4/5}
body.layout-premium_restaurant .v29-r-menu{padding:0 var(--v29-pad) clamp(110px,12vw,190px);max-width:var(--v29-max);margin:auto}
body.layout-premium_restaurant .v29-r-menu .v29-section-title h2{font-family:Georgia,serif;font-weight:500}
body.layout-premium_restaurant .v29-r-menu-grid article{border-color:rgba(255,255,255,.15)}
body.layout-premium_restaurant .v29-r-menu-grid article+article{border-color:rgba(255,255,255,.15)}
body.layout-premium_restaurant .v29-r-menu-grid p{color:#a9a094}
body.layout-premium_restaurant .v29-r-gallery{display:grid;grid-template-columns:1.1fr .8fr .7fr;grid-template-rows:420px 300px;gap:12px;padding:0 12px}
body.layout-premium_restaurant .v29-r-gallery-a{grid-row:1/3;position:relative}.v29-r-gallery-a figure{height:100%}
body.layout-premium_restaurant .v29-r-gallery-a b{position:absolute;bottom:26px;left:26px;font-family:Georgia,serif;font-size:28px;font-weight:500}
body.layout-premium_restaurant .v29-r-gallery-b figure{height:100%}
body.layout-premium_restaurant .v29-r-gallery-c{padding:38px;background:#b99863;color:#111}.v29-r-gallery-c figure{height:180px;margin-bottom:24px}
body.layout-premium_restaurant .v29-r-gallery-c p{line-height:1.7;font-size:13px}
body.layout-premium_restaurant .v29-r-gallery-d{grid-column:2/4}.v29-r-gallery-d figure{height:100%}
body.layout-premium_restaurant .v29-contact{background:#f2ebdf;color:#14100c}
body.layout-premium_restaurant .v29-form input,
body.layout-premium_restaurant .v29-form textarea{border-color:rgba(20,16,12,.25)}

/* 02 Cafe */
body.layout-editorial_cafe .v29-cafe{background:#efe9dd;color:#29241e}
body.layout-editorial_cafe .v29-nav{background:#efe9dde8}
body.layout-editorial_cafe .v29-c-cover{min-height:calc(100vh - 78px);display:grid;grid-template-columns:.28fr 1.15fr .8fr;gap:0;padding:34px var(--v29-pad) 70px;align-items:end}
body.layout-editorial_cafe .v29-c-mast{align-self:start;border-top:2px solid #29241e;padding-top:10px;display:flex;flex-direction:column;gap:12px;font-size:10px;letter-spacing:.13em}
body.layout-editorial_cafe .v29-c-mast b{font-family:Georgia,serif;font-size:clamp(32px,3vw,50px);letter-spacing:-.05em;font-weight:500}
body.layout-editorial_cafe .v29-c-mast em{font-style:normal;opacity:.55}
body.layout-editorial_cafe .v29-c-cover-photo{height:min(70vh,780px);margin-right:clamp(20px,4vw,64px)}
body.layout-editorial_cafe .v29-c-cover-copy{padding-bottom:3vh}
body.layout-editorial_cafe .v29-c-cover-copy h1{margin:16px 0 24px;font-family:Georgia,serif;font-size:clamp(54px,6vw,96px);font-weight:500;line-height:.9;letter-spacing:-.065em}
body.layout-editorial_cafe .v29-c-cover-copy p{max-width:480px;line-height:1.9}
body.layout-editorial_cafe .v29-c-editorial{padding:clamp(100px,11vw,180px) var(--v29-pad);display:grid;grid-template-columns:.25fr .78fr 1fr;gap:clamp(30px,6vw,100px);align-items:center;max-width:var(--v29-max);margin:auto}
body.layout-editorial_cafe .v29-c-editorial aside{align-self:start;font-family:Georgia,serif;font-size:36px;line-height:1}
body.layout-editorial_cafe .v29-c-editorial h2{font-family:Georgia,serif;font-size:clamp(48px,5vw,80px);font-weight:500;line-height:.98;letter-spacing:-.06em}
body.layout-editorial_cafe .v29-c-editorial p{line-height:1.9}
body.layout-editorial_cafe .v29-c-editorial-photo{aspect-ratio:4/5}
body.layout-editorial_cafe .v29-c-menu{padding:0 var(--v29-pad) 130px;max-width:var(--v29-max);margin:auto}
body.layout-editorial_cafe .v29-c-rule{display:flex;justify-content:space-between;border-top:1px solid #29241e;border-bottom:1px solid #29241e;padding:12px 0;font-size:10px;letter-spacing:.15em}
body.layout-editorial_cafe .v29-c-menu-list{grid-template-columns:1fr 1fr}
body.layout-editorial_cafe .v29-c-menu-list article{border-left:0!important;border-bottom:1px solid rgba(41,36,30,.14)}
body.layout-editorial_cafe .v29-c-collage{padding:0 var(--v29-pad) 130px;display:grid;grid-template-columns:1fr .65fr .75fr;grid-template-rows:340px 340px;gap:16px;max-width:var(--v29-max);margin:auto}
body.layout-editorial_cafe .v29-c-collage .one{grid-row:1/3}.v29-c-collage .one figure{height:100%}
body.layout-editorial_cafe .v29-c-collage .two figure,body.layout-editorial_cafe .v29-c-collage .three figure,body.layout-editorial_cafe .v29-c-collage .four figure{height:100%}
body.layout-editorial_cafe .v29-c-collage blockquote{margin:0;padding:32px;display:flex;align-items:center;font-family:Georgia,serif;font-size:25px;line-height:1.35;background:#4e5a40;color:#f6f0e6}
body.layout-editorial_cafe .v29-contact{background:#2a3326;color:#f3eee5}.layout-editorial_cafe .v29-contact-copy>p,.layout-editorial_cafe .v29-contact-address{color:#c8c5ba}
body.layout-editorial_cafe .v29-form input,body.layout-editorial_cafe .v29-form textarea{color:#fff;border-color:rgba(255,255,255,.28)}
body.layout-editorial_cafe .v29-form button{background:#ede6d8;color:#222}

/* 03 Clinic */
body.layout-calm_clinic .v29-clinic{background:#f6f8f8;color:#17303c}
body.layout-calm_clinic .v29-nav{background:#f6f8f8ed}
body.layout-calm_clinic .v29-cl-hero{min-height:760px;display:grid;grid-template-columns:1.02fr .98fr;align-items:stretch}
body.layout-calm_clinic .v29-cl-copy{padding:clamp(70px,8vw,130px) var(--v29-pad);align-self:center}
body.layout-calm_clinic .v29-cl-copy h1{margin:18px 0 24px;font-size:clamp(48px,5.7vw,90px);line-height:.96;letter-spacing:-.075em}
body.layout-calm_clinic .v29-cl-copy p{max-width:600px;line-height:1.9;color:#58707a}
body.layout-calm_clinic .v29-cl-copy dl{display:grid;grid-template-columns:repeat(3,1fr);margin:52px 0 0;border-top:1px solid #cbd7dc}
body.layout-calm_clinic .v29-cl-copy dl div{padding:20px 16px 0 0}.v29-cl-copy dt{font-size:10px;font-weight:900}.v29-cl-copy dd{margin:8px 0 0;font-size:12px;color:#5d737d}
body.layout-calm_clinic .v29-cl-hero-photo{min-height:760px}
body.layout-calm_clinic .v29-cl-principle{padding:clamp(100px,11vw,180px) var(--v29-pad);display:grid;grid-template-columns:1fr .72fr;gap:80px;max-width:var(--v29-max);margin:auto}
body.layout-calm_clinic .v29-cl-principle h2{font-size:clamp(46px,5.2vw,80px);line-height:.99;letter-spacing:-.065em;margin:14px 0 0}
body.layout-calm_clinic .v29-cl-principle>p{align-self:end;line-height:1.95;color:#5d737d}
body.layout-calm_clinic .v29-cl-care{padding:0 var(--v29-pad) 130px;max-width:var(--v29-max);margin:auto}
body.layout-calm_clinic .v29-cl-care-grid article{background:#fff;border:1px solid #dbe3e6;margin-right:10px}
body.layout-calm_clinic .v29-cl-care-grid article+article{border-left:1px solid #dbe3e6}
body.layout-calm_clinic .v29-cl-facility{padding:120px var(--v29-pad);background:#17303c;color:#eaf0f2;display:grid;grid-template-columns:.75fr 1.25fr .6fr;gap:16px;align-items:end}
body.layout-calm_clinic .v29-cl-facility-copy{align-self:start;padding-right:40px}.v29-cl-facility-copy h2{font-size:clamp(42px,4.8vw,72px);line-height:1;letter-spacing:-.06em}.v29-cl-facility-copy p{color:#b8c7cd;line-height:1.9}
body.layout-calm_clinic .v29-cl-facility .large{height:580px}.v29-cl-facility figure:not(.large){height:280px}
body.layout-calm_clinic .v29-contact{background:#fff}

/* 04 Dental */
body.layout-clean_dental .v29-dental{background:#fbfaf7;color:#20282e}
body.layout-clean_dental .v29-nav{background:#fbfaf7ed}
body.layout-clean_dental .v29-d-hero{min-height:760px;display:grid;grid-template-columns:.9fr 1.1fr;position:relative;background:#e8eee9}
body.layout-clean_dental .v29-d-hero-copy{padding:clamp(80px,8vw,130px) var(--v29-pad);align-self:center}
body.layout-clean_dental .v29-d-hero-copy h1{font-size:clamp(48px,5.6vw,88px);line-height:.95;letter-spacing:-.075em;margin:16px 0 24px}
body.layout-clean_dental .v29-d-hero-copy p{line-height:1.9;color:#5f6b70;max-width:530px}
body.layout-clean_dental .v29-d-hero-photo{min-height:760px}
body.layout-clean_dental .v29-d-floating{position:absolute;right:5vw;bottom:32px;background:#fff;padding:24px 28px;box-shadow:0 20px 50px rgba(20,35,30,.12)}
body.layout-clean_dental .v29-d-floating span{display:block;font-size:9px;letter-spacing:.18em;margin-bottom:8px}.v29-d-floating b{font-size:14px}
body.layout-clean_dental .v29-d-standard{padding:120px var(--v29-pad);display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:var(--v29-max);margin:auto}
body.layout-clean_dental .v29-d-standard h2{font-size:clamp(46px,5vw,78px);letter-spacing:-.065em;line-height:.98}
body.layout-clean_dental .v29-d-standard ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--v29-line)}.v29-d-standard li{padding:22px 0;border-bottom:1px solid var(--v29-line);display:flex;gap:28px;font-weight:800}.v29-d-standard li b{font-size:10px}
body.layout-clean_dental .v29-d-treatment{padding:0 var(--v29-pad) 130px;max-width:var(--v29-max);margin:auto}
body.layout-clean_dental .v29-d-treatment-grid article{background:#fff;margin-right:8px}
body.layout-clean_dental .v29-d-space{padding:0 var(--v29-pad) 130px;display:grid;grid-template-columns:1.2fr .8fr;gap:16px;max-width:var(--v29-max);margin:auto;align-items:end}
body.layout-clean_dental .v29-d-space>.hero{height:600px}.v29-d-space>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v29-d-space>div figure{height:280px}.v29-d-space>p{grid-column:2;line-height:1.9;color:#667176}
body.layout-clean_dental .v29-contact{background:#e8eee9}

/* 05 Interior */
body.layout-masonry_interior .v29-nav{background:#f2f0ebec}
body.layout-masonry_interior .v29-interior{background:#f2f0eb;color:#151515}
body.layout-masonry_interior .v29-i-hero{height:calc(100vh - 78px);min-height:720px;position:relative}
body.layout-masonry_interior .v29-i-hero-image{height:100%}
body.layout-masonry_interior .v29-i-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5),rgba(0,0,0,.02) 55%)}
body.layout-masonry_interior .v29-i-hero-copy{position:absolute;left:var(--v29-pad);bottom:70px;color:#fff;z-index:2;max-width:780px}
body.layout-masonry_interior .v29-i-hero-copy span{font-size:10px;letter-spacing:.18em}.v29-i-hero-copy h1{font-size:clamp(54px,7vw,116px);line-height:.88;letter-spacing:-.075em;margin:16px 0 22px}.v29-i-hero-copy p{max-width:540px;line-height:1.8}
body.layout-masonry_interior .v29-i-index{position:absolute;right:var(--v29-pad);bottom:72px;color:#fff;z-index:2;text-align:right;font-size:10px;line-height:1.6;letter-spacing:.15em}
body.layout-masonry_interior .v29-i-manifesto{padding:clamp(120px,14vw,220px) var(--v29-pad);display:grid;grid-template-columns:.3fr 1.25fr .65fr;gap:50px;max-width:var(--v29-max);margin:auto;align-items:start}
body.layout-masonry_interior .v29-i-manifesto>span{font-size:10px;letter-spacing:.18em}.v29-i-manifesto h2{font-size:clamp(52px,6.4vw,100px);line-height:.9;letter-spacing:-.075em;margin:0}.v29-i-manifesto p{line-height:1.95;color:#666}
body.layout-masonry_interior .v29-i-projects{padding:0 var(--v29-pad) 150px;max-width:var(--v29-max);margin:auto}
body.layout-masonry_interior .v29-i-project{display:grid;grid-template-columns:.2fr 1.25fr .65fr;grid-template-rows:auto auto;gap:18px 40px;margin-bottom:120px;align-items:end}.v29-i-project>span{font-size:9px;letter-spacing:.15em;align-self:start}.v29-i-project figure{grid-row:1/3;grid-column:2;height:620px}.v29-i-project h3{font-size:clamp(30px,3.5vw,50px);letter-spacing:-.055em;margin:0}.v29-i-project p{line-height:1.85;color:#666}.v29-i-project.reverse{grid-template-columns:.65fr 1.25fr .2fr}.v29-i-project.reverse figure{grid-column:2}.v29-i-project.wide{display:block}.v29-i-project.wide figure{height:72vh}
body.layout-masonry_interior .v29-i-process{padding:110px var(--v29-pad);background:#151515;color:#f1eee7}
body.layout-masonry_interior .v29-i-process .v29-section-title{max-width:var(--v29-max)}
body.layout-masonry_interior .v29-i-process ol{max-width:var(--v29-max);margin:auto;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #444}.v29-i-process li{padding:30px 28px 0 0;border-right:1px solid #444;min-height:200px}.v29-i-process li:last-child{border:0}.v29-i-process li b{font-size:10px}.v29-i-process li span{display:block;font-size:28px;margin:42px 0 12px}.v29-i-process li p{color:#aaa;line-height:1.7}
body.layout-masonry_interior .v29-contact{background:#d7d0c5}

/* 06 Construction */
body.layout-process_construction .v29-construction{background:#e9e6de;color:#151515}
body.layout-process_construction .v29-nav{background:#e9e6deef}
body.layout-process_construction .v29-co-hero{min-height:760px;display:grid;grid-template-columns:.22fr .72fr 1.1fr;align-items:stretch;border-bottom:1px solid #222}
body.layout-process_construction .v29-co-code{padding:40px 24px;border-right:1px solid #222;font-size:10px;letter-spacing:.15em;line-height:1.7}
body.layout-process_construction .v29-co-copy{padding:clamp(80px,8vw,130px) clamp(30px,5vw,78px);align-self:center}.v29-co-copy h1{font-size:clamp(48px,5.8vw,92px);line-height:.94;letter-spacing:-.075em}.v29-co-copy p{line-height:1.9;color:#5c5a54}
body.layout-process_construction .v29-co-photo{min-height:760px}
body.layout-process_construction .v29-co-timeline{padding:130px var(--v29-pad);max-width:var(--v29-max);margin:auto}
body.layout-process_construction .v29-co-flow{grid-template-columns:1fr}.v29-co-flow article{display:grid;grid-template-columns:.16fr .35fr 1fr;align-items:start;border-left:0!important;border-bottom:1px solid #777;padding:26px 0}.v29-co-flow article h3{margin:0;font-size:28px}.v29-co-flow article p{max-width:650px}
body.layout-process_construction .v29-co-standard{padding:120px var(--v29-pad);background:#171717;color:#eee;display:grid;grid-template-columns:1fr 1fr;gap:90px}.v29-co-standard>div:first-child{max-width:650px}.v29-co-standard h2{font-size:clamp(46px,5.4vw,84px);line-height:.95;letter-spacing:-.07em}.v29-co-standard p{color:#aaa;line-height:1.9}.v29-co-standard dl{display:grid;grid-template-columns:1fr 1fr;margin:0}.v29-co-standard dl div{padding:26px;border-top:1px solid #444}.v29-co-standard dt{font-size:10px;letter-spacing:.15em}.v29-co-standard dd{margin:14px 0 0;font-size:18px}
body.layout-process_construction .v29-co-record{padding:130px var(--v29-pad);display:grid;grid-template-columns:.6fr 1.2fr .6fr;gap:14px;max-width:var(--v29-max);margin:auto}.v29-co-record-head{grid-column:1/4;margin-bottom:40px}.v29-co-record-head h2{font-size:clamp(44px,5vw,76px);letter-spacing:-.06em}.v29-co-record .large{height:600px}.v29-co-record figure:not(.large){height:360px;align-self:end}
body.layout-process_construction .v29-contact{background:#c9c2b4}

/* 07 Academy */
body.layout-academy_dash .v29-academy{background:#f7f4ee;color:#182237}
body.layout-academy_dash .v29-nav{background:#f7f4eef0}
body.layout-academy_dash .v29-a-hero{min-height:760px;display:grid;grid-template-columns:.28fr .72fr 1fr;background:#182237;color:#f4f1e9}
body.layout-academy_dash .v29-a-admission{padding:44px 24px;border-right:1px solid #526079;display:flex;flex-direction:column;justify-content:space-between;font-size:10px;letter-spacing:.15em}.v29-a-admission b{font-size:25px;line-height:1.05;letter-spacing:-.03em}
body.layout-academy_dash .v29-a-copy{padding:clamp(90px,9vw,140px) clamp(28px,5vw,74px);align-self:center}.v29-a-copy h1{font-size:clamp(48px,5.6vw,88px);line-height:.94;letter-spacing:-.07em}.v29-a-copy p{color:#bfc7d5;line-height:1.9}.v29-a-copy>a{display:inline-flex;margin-top:28px;color:#fff;text-decoration:none;border-bottom:1px solid #fff;padding-bottom:7px}
body.layout-academy_dash .v29-a-photo{min-height:760px}
body.layout-academy_dash .v29-a-method{padding:130px var(--v29-pad);display:grid;grid-template-columns:1fr .7fr;gap:80px;max-width:var(--v29-max);margin:auto}.v29-a-method h2{font-size:clamp(48px,5.5vw,84px);line-height:.96;letter-spacing:-.07em}.v29-a-method p{line-height:1.9;color:#667086}.v29-a-method ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #a9afba}.v29-a-method li{padding:30px 0;border-bottom:1px solid #a9afba;font-size:21px;font-weight:800}
body.layout-academy_dash .v29-a-programs{padding:0 var(--v29-pad) 130px;max-width:var(--v29-max);margin:auto}.v29-a-program-grid article{background:#fff;margin-right:8px}
body.layout-academy_dash .v29-a-classroom{padding:120px var(--v29-pad);background:#dfe6e0;display:grid;grid-template-columns:1.15fr .85fr;gap:14px;max-width:none}.v29-a-classroom>.wide{height:620px}.v29-a-classroom>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v29-a-classroom>div figure{height:300px}.v29-a-classroom blockquote{grid-column:2;margin:0;font-size:24px;line-height:1.45;align-self:end;padding:28px}
body.layout-academy_dash .v29-contact{background:#182237;color:#f5f2eb}.layout-academy_dash .v29-contact-copy>p,.layout-academy_dash .v29-contact-address{color:#b9c1cf}.layout-academy_dash .v29-form input,.layout-academy_dash .v29-form textarea{color:#fff;border-color:#66738a}

/* 08 Stay */
body.layout-resort_stay .v29-stay{background:#141818;color:#f2efe7}
body.layout-resort_stay .v29-nav{position:absolute;width:100%;background:linear-gradient(#111b,transparent);border:0;color:#fff}
body.layout-resort_stay .v29-footer{background:#141818;color:#eee;border-color:#333}
body.layout-resort_stay .v29-s-hero{height:100vh;position:relative}.v29-s-hero>img{width:100%;height:100%;object-fit:cover}.v29-s-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.56),rgba(0,0,0,.05) 70%)}
body.layout-resort_stay .v29-s-overlay{position:absolute;z-index:2;left:var(--v29-pad);bottom:86px;max-width:760px}.v29-s-overlay span{font-size:10px;letter-spacing:.18em}.v29-s-overlay h1{font-family:Georgia,serif;font-size:clamp(56px,7vw,112px);font-weight:500;line-height:.9;letter-spacing:-.06em;margin:14px 0 22px}.v29-s-overlay p{max-width:520px;line-height:1.9;color:#ddd}.v29-s-overlay a{color:#fff;text-decoration:none;border-bottom:1px solid #fff;padding-bottom:6px}
body.layout-resort_stay .v29-s-book{position:absolute;right:var(--v29-pad);bottom:86px;z-index:3}.layout-resort_stay .v29-s-book .v29-primary-cta{background:#efe6d8;color:#151515;border:0;padding:0 26px}
body.layout-resort_stay .v29-s-rooms{padding:140px var(--v29-pad);max-width:var(--v29-max);margin:auto}.layout-resort_stay .v29-section-title h2{font-family:Georgia,serif;font-weight:500}
body.layout-resort_stay .v29-s-room-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.v29-s-room-grid article{background:#202525}.v29-s-room-grid figure{height:580px}.v29-s-room-grid article>div{padding:26px 28px 32px}.v29-s-room-grid span{font-size:10px;letter-spacing:.15em}.v29-s-room-grid h3{font-family:Georgia,serif;font-size:34px;font-weight:500;margin:18px 0 10px}.v29-s-room-grid p{color:#aeb5b1;line-height:1.8}
body.layout-resort_stay .v29-s-experience{padding:120px var(--v29-pad);display:grid;grid-template-columns:1.2fr .7fr;gap:90px;align-items:center;background:#e8e0d3;color:#1f2423}.v29-s-exp-photo{height:620px}.v29-s-experience h2{font-family:Georgia,serif;font-size:clamp(48px,5vw,78px);font-weight:500;line-height:.98}.v29-s-experience p{line-height:1.9;color:#64655f}
body.layout-resort_stay .v29-s-space{padding:140px var(--v29-pad);display:grid;grid-template-columns:.8fr 1.2fr .6fr;grid-template-rows:auto 520px;gap:14px}.v29-s-space-title{grid-column:1/4}.v29-s-space-title h2{font-family:Georgia,serif;font-size:clamp(48px,5vw,80px);font-weight:500}.v29-s-space figure{height:100%}
body.layout-resort_stay .v29-contact{background:#e8e0d3;color:#1c2221}.layout-resort_stay .v29-contact-copy>p,.layout-resort_stay .v29-contact-address{color:#64655f}

/* 09 Product */
body.layout-product_split .v29-product{background:#f5f4ef;color:#181818}
body.layout-product_split .v29-nav{background:#f5f4eff0}
body.layout-product_split .v29-p-hero{min-height:760px;display:grid;grid-template-columns:.82fr 1.18fr;position:relative}.v29-p-copy{padding:clamp(90px,9vw,145px) var(--v29-pad);align-self:center}.v29-p-copy h1{font-size:clamp(50px,6vw,96px);line-height:.92;letter-spacing:-.075em}.v29-p-copy p{max-width:500px;line-height:1.9;color:#666}.v29-p-copy>a{display:inline-flex;margin-top:24px;color:#111;text-decoration:none;border-bottom:1px solid #111;padding-bottom:6px}.v29-p-photo{min-height:760px}.v29-p-serial{position:absolute;left:var(--v29-pad);bottom:34px;font-size:9px;letter-spacing:.18em}
body.layout-product_split .v29-p-brand{padding:150px var(--v29-pad);display:grid;grid-template-columns:.3fr 1.1fr .6fr;gap:50px;max-width:var(--v29-max);margin:auto}.v29-p-brand>span{font-size:10px;letter-spacing:.17em}.v29-p-brand h2{font-size:clamp(52px,6vw,94px);line-height:.9;letter-spacing:-.075em;margin:0}.v29-p-brand p{line-height:1.9;color:#666}
body.layout-product_split .v29-p-lineup{padding:0 var(--v29-pad) 130px;max-width:var(--v29-max);margin:auto}
body.layout-product_split .v29-p-product-grid{grid-template-columns:1fr 1fr}.v29-p-product-grid article{border-left:0!important;border-bottom:1px solid var(--v29-line)}
body.layout-product_split .v29-p-showroom{padding:0 var(--v29-pad) 140px;display:grid;grid-template-columns:1.2fr .7fr;gap:16px;max-width:var(--v29-max);margin:auto}.v29-p-showroom>.big{height:650px}.v29-p-showroom>div{display:grid;grid-template-rows:420px auto;gap:22px}.v29-p-showroom>div figure{height:100%}.v29-p-showroom dl{margin:0;border-top:1px solid #222;padding-top:14px}.v29-p-showroom dt{font-size:11px;font-weight:900}.v29-p-showroom dd{margin:8px 0 0;color:#666;line-height:1.8}.v29-p-showroom>.wide{grid-column:1/3;height:52vh}
body.layout-product_split .v29-contact{background:#202020;color:#eee}.layout-product_split .v29-contact-copy>p,.layout-product_split .v29-contact-address{color:#aaa}.layout-product_split .v29-form input,.layout-product_split .v29-form textarea{color:#fff;border-color:#555}

/* 10 Expert */
body.layout-expert_journal .v29-expert{background:#f3f0e8;color:#181816}
body.layout-expert_journal .v29-nav{background:#f3f0e8ef}
body.layout-expert_journal .v29-e-cover{min-height:780px;display:grid;grid-template-columns:.24fr .78fr .78fr;gap:0;border-bottom:1px solid #282823}.v29-e-volume{padding:40px 24px;border-right:1px solid #282823;font-family:Georgia,serif;font-size:18px;line-height:1.1}.v29-e-copy{padding:clamp(90px,9vw,145px) clamp(30px,5vw,76px);align-self:center}.v29-e-copy h1{font-family:Georgia,serif;font-size:clamp(50px,5.8vw,92px);font-weight:500;line-height:.93;letter-spacing:-.055em}.v29-e-copy p{line-height:1.95;color:#65645d}.v29-e-copy>a{color:inherit;text-decoration:none;border-bottom:1px solid;padding-bottom:6px}.v29-e-portrait{min-height:780px}
body.layout-expert_journal .v29-e-profile{padding:140px var(--v29-pad);display:grid;grid-template-columns:.5fr 1.2fr;gap:100px;max-width:var(--v29-max);margin:auto;border-bottom:1px solid #bbb8ae}.v29-e-profile span{font-size:10px;letter-spacing:.18em}.v29-e-profile h2{font-family:Georgia,serif;font-size:clamp(42px,5vw,74px);font-weight:500}.v29-e-profile blockquote{font-family:Georgia,serif;font-size:clamp(28px,3.5vw,48px);line-height:1.35;margin:0}
body.layout-expert_journal .v29-e-expertise{padding:130px var(--v29-pad);max-width:var(--v29-max);margin:auto}.layout-expert_journal .v29-section-title h2{font-family:Georgia,serif;font-weight:500}
body.layout-expert_journal .v29-e-list{grid-template-columns:1fr}.v29-e-list article{display:grid;grid-template-columns:.12fr .35fr 1fr;padding:24px 0;border-left:0!important;border-bottom:1px solid #bbb8ae}.v29-e-list h3{margin:0;font-family:Georgia,serif;font-weight:500}.v29-e-list p{max-width:680px}
body.layout-expert_journal .v29-e-insight{padding:120px var(--v29-pad);background:#292a26;color:#eee;display:grid;grid-template-columns:.7fr 1fr .7fr;gap:16px;align-items:end}.v29-e-insight-copy{padding-right:50px}.v29-e-insight h2{font-family:Georgia,serif;font-size:clamp(44px,5vw,76px);font-weight:500;line-height:.98}.v29-e-insight p{color:#bbb;line-height:1.9}.v29-e-insight .one{height:560px}.v29-e-insight .two{height:360px}
body.layout-expert_journal .v29-contact{background:#ded8ca}

/* 11 Wedding */
body.layout-wedding_gallery .v29-wedding{background:#f7f1ed;color:#3a302e}
body.layout-wedding_gallery .v29-nav{position:absolute;width:100%;background:linear-gradient(#33282480,transparent);border:0;color:#fff}
body.layout-wedding_gallery .v29-w-hero{height:100vh;position:relative}.v29-w-hero>img{width:100%;height:100%;object-fit:cover}.v29-w-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(40,25,20,.55),transparent 60%)}.v29-w-title{position:absolute;left:var(--v29-pad);bottom:100px;z-index:2;color:#fff;max-width:900px}.v29-w-title span{font-size:10px;letter-spacing:.2em}.v29-w-title h1{font-family:Georgia,serif;font-size:clamp(58px,7.5vw,124px);font-weight:500;line-height:.88;letter-spacing:-.055em}.v29-w-hero>p{position:absolute;right:var(--v29-pad);bottom:100px;z-index:2;color:#fff;max-width:380px;line-height:1.9}
body.layout-wedding_gallery .v29-w-story{padding:160px var(--v29-pad);text-align:center;max-width:1100px;margin:auto}.v29-w-story span{font-size:10px;letter-spacing:.2em}.v29-w-story h2{font-family:Georgia,serif;font-size:clamp(52px,6vw,96px);font-weight:500;line-height:.92}.v29-w-story p{max-width:620px;margin:28px auto 0;line-height:1.9;color:#7b6c68}
body.layout-wedding_gallery .v29-w-portfolio{padding:0 var(--v29-pad) 150px;max-width:var(--v29-max);margin:auto}.v29-w-row{display:grid;grid-template-columns:1fr .18fr;align-items:end;margin-bottom:80px}.v29-w-row figure{height:76vh}.v29-w-row span{padding:0 0 12px 18px;font-size:9px;letter-spacing:.16em}.v29-w-row.b{grid-template-columns:.18fr 1fr}.v29-w-row.b figure{grid-column:2}.v29-w-row.b span{grid-column:1;grid-row:1;padding-left:0;padding-right:18px;text-align:right}.v29-w-row.c figure{height:56vh}
body.layout-wedding_gallery .v29-w-collection{padding:130px var(--v29-pad);background:#e8ded8}.layout-wedding_gallery .v29-section-title h2{font-family:Georgia,serif;font-weight:500}.layout-wedding_gallery .v29-w-service-grid{max-width:var(--v29-max);margin:auto}
body.layout-wedding_gallery .v29-contact{background:#493d39;color:#f7f1ed}.layout-wedding_gallery .v29-contact-copy>p,.layout-wedding_gallery .v29-contact-address{color:#cdbfba}.layout-wedding_gallery .v29-form input,.layout-wedding_gallery .v29-form textarea{color:#fff;border-color:#7d6d68}

/* 12 Local */
body.layout-local_action .v29-local{background:#f1f3f2;color:#17211e}
body.layout-local_action .v29-nav{background:#f1f3f2ef}
body.layout-local_action .v29-l-hero{min-height:760px;display:grid;grid-template-columns:.85fr 1.15fr;position:relative}.v29-l-copy{padding:clamp(90px,9vw,145px) var(--v29-pad);align-self:center}.v29-l-copy h1{font-size:clamp(48px,5.7vw,90px);line-height:.94;letter-spacing:-.075em}.v29-l-copy p{line-height:1.9;color:#64706c}.v29-l-photo{min-height:760px}.v29-l-hero aside{position:absolute;right:4vw;bottom:34px;background:#17211e;color:#fff;padding:22px 26px;min-width:260px}.v29-l-hero aside span{display:block;font-size:9px;letter-spacing:.17em;margin-bottom:8px}.v29-l-hero aside b{font-size:14px}
body.layout-local_action .v29-l-standard{padding:130px var(--v29-pad);display:grid;grid-template-columns:1fr .8fr;gap:80px;max-width:var(--v29-max);margin:auto}.v29-l-standard h2{font-size:clamp(48px,5.5vw,84px);line-height:.95;letter-spacing:-.07em}.v29-l-standard p{line-height:1.9;color:#66706d}.v29-l-standard ol{list-style:none;padding:0;margin:0;border-top:1px solid #aeb5b2}.v29-l-standard li{padding:22px 0;border-bottom:1px solid #aeb5b2;display:flex;gap:24px;font-weight:850}.v29-l-standard li b{font-size:10px}
body.layout-local_action .v29-l-services{padding:0 var(--v29-pad) 130px;max-width:var(--v29-max);margin:auto}.v29-l-service-grid article{background:#fff;margin-right:8px}
body.layout-local_action .v29-l-cases{padding:120px var(--v29-pad);background:#1f2c28;color:#eff3f1;display:grid;grid-template-columns:.65fr 1.2fr .65fr;gap:14px}.v29-l-case-head{grid-column:1/4}.v29-l-case-head h2{font-size:clamp(46px,5vw,78px);letter-spacing:-.065em}.v29-l-cases .big{height:580px}.v29-l-cases figure:not(.big){height:340px;align-self:end}
body.layout-local_action .v29-contact{background:#dce3df}

/* Responsive */
@media (max-width:980px){
  body.client-body.premium-site .v29-nav{grid-template-columns:1fr auto;padding:0 20px;min-height:68px}
  body.client-body.premium-site .v29-nav nav{display:none}
  body.client-body.premium-site .v29-nav-cta{min-height:36px}
  body.client-body.premium-site .v29-service-grid{grid-template-columns:1fr 1fr}
  body.client-body.premium-site .v29-service-grid article:nth-child(odd){border-left:0}
  body.client-body.premium-site .v29-contact{grid-template-columns:1fr;gap:44px}
  body.layout-premium_restaurant .v29-r-hero{grid-template-columns:1fr}
  body.layout-premium_restaurant .v29-r-visual{min-height:62vh}
  body.layout-premium_restaurant .v29-r-intro{padding:60px 24px 80px}
  body.layout-premium_restaurant .v29-r-story,
  body.layout-editorial_cafe .v29-c-editorial,
  body.layout-calm_clinic .v29-cl-principle,
  body.layout-clean_dental .v29-d-standard,
  body.layout-masonry_interior .v29-i-manifesto,
  body.layout-academy_dash .v29-a-method,
  body.layout-product_split .v29-p-brand,
  body.layout-local_action .v29-l-standard{grid-template-columns:1fr;gap:36px}
  body.layout-editorial_cafe .v29-c-cover{grid-template-columns:1fr 1.4fr}.v29-c-cover-copy{grid-column:1/3;padding-top:44px}
  body.layout-calm_clinic .v29-cl-hero,
  body.layout-clean_dental .v29-d-hero,
  body.layout-product_split .v29-p-hero,
  body.layout-local_action .v29-l-hero{grid-template-columns:1fr}
  body.layout-calm_clinic .v29-cl-hero-photo,
  body.layout-clean_dental .v29-d-hero-photo,
  body.layout-product_split .v29-p-photo,
  body.layout-local_action .v29-l-photo{min-height:52vh}
  body.layout-masonry_interior .v29-i-project{grid-template-columns:1fr;display:grid}
  body.layout-masonry_interior .v29-i-project figure,.v29-i-project.reverse figure{grid-column:1;grid-row:auto;height:58vh}
  body.layout-masonry_interior .v29-i-process ol{grid-template-columns:1fr 1fr}
  body.layout-process_construction .v29-co-hero{grid-template-columns:.2fr 1fr}.v29-co-photo{grid-column:1/3;min-height:52vh}
  body.layout-process_construction .v29-co-standard,
  body.layout-academy_dash .v29-a-hero,
  body.layout-resort_stay .v29-s-experience,
  body.layout-resort_stay .v29-s-room-grid,
  body.layout-expert_journal .v29-e-cover,
  body.layout-expert_journal .v29-e-profile{grid-template-columns:1fr}
  body.layout-academy_dash .v29-a-admission{display:none}
  body.layout-academy_dash .v29-a-photo{min-height:52vh}
  body.layout-resort_stay .v29-s-room-grid figure{height:52vh}
  body.layout-resort_stay .v29-s-space{grid-template-columns:1fr 1fr;grid-template-rows:auto 360px 360px}.v29-s-space-title{grid-column:1/3}.v29-s-space .c{grid-column:1/3}
  body.layout-product_split .v29-p-showroom,
  body.layout-expert_journal .v29-e-insight,
  body.layout-local_action .v29-l-cases{grid-template-columns:1fr 1fr}
  body.layout-product_split .v29-p-showroom>.wide{grid-column:1/3}
  body.layout-expert_journal .v29-e-insight-copy,
  body.layout-local_action .v29-l-case-head{grid-column:1/3}
  body.layout-wedding_gallery .v29-w-hero>p{right:auto;left:var(--v29-pad);bottom:42px}
}
@media (max-width:680px){
  body.client-body.premium-site .v29-site{padding-bottom:68px}
  body.client-body.premium-site .v29-mobile-dock{
    position:fixed;left:10px;right:10px;bottom:10px;z-index:160;display:grid;grid-template-columns:1.1fr .9fr;
    border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.18);background:#111
  }
  body.client-body.premium-site .v29-mobile-dock a{min-height:52px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-size:13px;font-weight:900}
  body.client-body.premium-site .v29-mobile-dock a:last-child{background:#fff;color:#111}
  body.client-body.premium-site .v29-service-grid{grid-template-columns:1fr}
  body.client-body.premium-site .v29-service-grid article+article{border-left:0}
  body.client-body.premium-site .v29-service-grid h3{margin-top:24px}
  body.client-body.premium-site .v29-contact{padding:80px 22px}
  body.client-body.premium-site .v29-form .mini-contact{grid-template-columns:1fr}
  body.client-body.premium-site .v29-form .mini-contact textarea,
  body.client-body.premium-site .v29-form .mini-contact button{grid-column:1}
  body.client-body.premium-site .v29-footer{padding:38px 22px 92px;display:block}
  body.client-body.premium-site .v29-footer>div:last-child{align-items:flex-start;margin-top:26px}
  body.layout-premium_restaurant .v29-r-gallery,
  body.layout-editorial_cafe .v29-c-collage,
  body.layout-calm_clinic .v29-cl-facility,
  body.layout-clean_dental .v29-d-space,
  body.layout-process_construction .v29-co-record,
  body.layout-academy_dash .v29-a-classroom,
  body.layout-product_split .v29-p-showroom,
  body.layout-expert_journal .v29-e-insight,
  body.layout-local_action .v29-l-cases{display:block;padding-left:12px;padding-right:12px}
  body.layout-premium_restaurant .v29-r-gallery>div,
  body.layout-editorial_cafe .v29-c-collage>*,
  body.layout-calm_clinic .v29-cl-facility>*,
  body.layout-clean_dental .v29-d-space>*,
  body.layout-process_construction .v29-co-record>*,
  body.layout-academy_dash .v29-a-classroom>*,
  body.layout-product_split .v29-p-showroom>*,
  body.layout-expert_journal .v29-e-insight>*,
  body.layout-local_action .v29-l-cases>*{margin-bottom:12px}
  body.layout-premium_restaurant .v29-r-gallery figure,
  body.layout-editorial_cafe .v29-c-collage figure,
  body.layout-calm_clinic .v29-cl-facility figure,
  body.layout-clean_dental .v29-d-space figure,
  body.layout-process_construction .v29-co-record figure,
  body.layout-academy_dash .v29-a-classroom figure,
  body.layout-product_split .v29-p-showroom figure,
  body.layout-expert_journal .v29-e-insight figure,
  body.layout-local_action .v29-l-cases figure{height:58vw!important;min-height:250px}
  body.layout-editorial_cafe .v29-c-cover{display:block;padding:26px 20px 70px}.v29-c-mast{margin-bottom:24px}.v29-c-cover-photo{height:62vh;margin:0}.v29-c-cover-copy{padding-top:40px}
  body.layout-calm_clinic .v29-cl-copy,
  body.layout-clean_dental .v29-d-hero-copy,
  body.layout-product_split .v29-p-copy,
  body.layout-local_action .v29-l-copy{padding:66px 22px}
  body.layout-calm_clinic .v29-cl-copy dl{grid-template-columns:1fr}
  body.layout-masonry_interior .v29-i-hero{height:78vh;min-height:620px}.v29-i-hero-copy{left:22px;right:22px;bottom:50px}.v29-i-index{display:none}.v29-i-project{margin-bottom:70px}
  body.layout-masonry_interior .v29-i-process ol{grid-template-columns:1fr}.v29-i-process li{border-right:0;border-bottom:1px solid #444;min-height:auto;padding-bottom:24px}
  body.layout-process_construction .v29-co-hero{display:block}.v29-co-code{border-right:0;border-bottom:1px solid #222}.v29-co-copy{padding:64px 22px}.v29-co-photo{min-height:58vh}
  body.layout-process_construction .v29-co-flow article{grid-template-columns:.18fr 1fr}.v29-co-flow article p{grid-column:2}
  body.layout-process_construction .v29-co-standard dl{grid-template-columns:1fr}
  body.layout-academy_dash .v29-a-hero{display:block}.v29-a-copy{padding:68px 22px}.v29-a-photo{min-height:58vh}.v29-a-method ul{grid-template-columns:1fr}
  body.layout-resort_stay .v29-s-overlay{left:22px;right:22px;bottom:92px}.v29-s-book{display:none}.v29-s-room-grid{display:block}.v29-s-room-grid article{margin-bottom:14px}.v29-s-experience{padding:80px 22px;display:block}.v29-s-exp-photo{height:58vh;margin-bottom:34px}.v29-s-space{display:block;padding:90px 12px}.v29-s-space figure{height:58vw;margin-bottom:12px}
  body.layout-expert_journal .v29-e-cover{display:block}.v29-e-volume{border-right:0;border-bottom:1px solid #282823}.v29-e-copy{padding:68px 22px}.v29-e-portrait{min-height:62vh}.v29-e-profile{padding:80px 22px}.v29-e-list article{grid-template-columns:.2fr 1fr}.v29-e-list p{grid-column:2}
  body.layout-wedding_gallery .v29-w-title{left:22px;right:22px;bottom:130px}.v29-w-hero>p{left:22px;right:22px;bottom:44px}.v29-w-portfolio{padding:0 12px 80px}.v29-w-row,.v29-w-row.b{display:block}.v29-w-row figure,.v29-w-row.c figure{height:70vh}.v29-w-row span,.v29-w-row.b span{display:block;text-align:left;padding:10px 0 0}
  body.layout-local_action .v29-l-hero aside{left:22px;right:22px;bottom:22px}.v29-l-photo{min-height:62vh}
}
@media (prefers-reduced-motion:no-preference){
  body.client-body.premium-site .v29-site>section:first-child h1{animation:v29-in .75s cubic-bezier(.2,.7,.2,1) both}
  body.client-body.premium-site .v29-site>section:first-child figure{animation:v29-fade 1s ease both}
  @keyframes v29-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  @keyframes v29-fade{from{opacity:.2}to{opacity:1}}
}
