:root{
  --bg:#f4eff3;
  --bg-2:#ebe5ec;
  --bg-3:#e7e0e8;
  --paper:#f8f5f8;
  --ink:#231f22;
  --muted:#6f6770;
  --muted-2:#958b96;
  --line:rgba(122,110,124,.12);
  --plum:#8f8191;
  --rose:#cdbfc8;
  --soft:rgba(255,255,255,.56);
  --soft-strong:rgba(255,255,255,.72);
  --shadow:0 24px 70px rgba(78,61,82,.08);
  --shadow-lg:0 38px 90px rgba(78,61,82,.12);
  --radius-xl:40px;
  --radius-lg:30px;
  --radius-md:22px;
  --max:1360px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,Arial,sans-serif;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 14% 10%, rgba(255,255,255,.76), transparent 24%),
    radial-gradient(circle at 88% 8%, rgba(208,211,232,.38), transparent 18%),
    linear-gradient(180deg, #f6f2f6 0%, #eee8ef 36%, #e7e0e8 100%);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0)),
    radial-gradient(circle at 75% 65%, rgba(222,213,224,.2), transparent 28%);
  z-index:-2;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.container{width:min(var(--max), calc(100% - 44px));margin:0 auto}
.section{padding:108px 0;position:relative}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease, transform .9s ease}
.reveal.is-visible{opacity:1;transform:none}
.section__label,.kicker{
  font-size:12px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--muted-2);
}
h1,h2,h3,.eyebrow-title,.story__title,.panel__title,.voucher__title,.quote__title{
  margin:0;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:500;
  line-height:.98;
  letter-spacing:.01em;
}
.header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:60;
  transition:background .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
}
.header.is-scrolled{
  background:rgba(244,239,243,.68);
  backdrop-filter:blur(18px);
  box-shadow:0 10px 28px rgba(79,63,83,.05);
}
.header__row{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.logo{display:flex;flex-direction:column;line-height:1;position:relative;z-index:2}
.logo__script{font-family:"Brush Script MT","Segoe Script",cursive;font-size:64px;transform:translateY(6px)}
.logo__sub{padding-left:8px;font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--muted)}
.nav{display:flex;gap:32px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.nav a{position:relative;transition:.22s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:linear-gradient(90deg, transparent, rgba(143,129,145,.7), transparent);transform:scaleX(0);transform-origin:center;transition:.25s}
.nav a:hover{color:var(--ink)}
.nav a:hover::after{transform:scaleX(1)}
.header__actions{display:flex;gap:12px;align-items:center}
.btn{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  border-radius:999px;
  border:0;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:transform .22s ease, background .22s ease, opacity .22s ease, box-shadow .22s ease;
  cursor:pointer;
}
.btn:hover{transform:translateY(-2px)}
.btn--dark{background:#272226;color:#fff;box-shadow:0 14px 28px rgba(39,34,38,.16)}
.btn--light{background:var(--soft-strong);box-shadow:0 12px 24px rgba(89,72,91,.06)}
.btn--ghost{background:rgba(255,255,255,.42)}
.hero{
  position:relative;
  min-height:100vh;
  padding:136px 0 84px;
  overflow:hidden;
}
.hero__bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(246,242,246,.96) 0%, rgba(246,242,246,.9) 18%, rgba(246,242,246,.72) 34%, rgba(246,242,246,.3) 54%, rgba(246,242,246,.08) 76%, rgba(246,242,246,.03) 100%),
    var(--hero-image) right center/cover no-repeat;
  transform:scale(1.045);
  will-change:transform;
}
.hero__veil{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.36), transparent 24%),
    radial-gradient(circle at 78% 78%, rgba(235,225,236,.18), transparent 28%);
}
.hero__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:32px;
  align-items:end;
  min-height:calc(100vh - 220px);
}
.hero__left{max-width:800px}
.hero h1{margin-top:22px;font-size:clamp(58px, 8vw, 112px);max-width:860px}
@media(max-width:600px){
	.hero h1{line-height:1.1}
}


.hero__text{margin-top:24px;max-width:640px;font-size:18px;line-height:1.95;color:var(--muted)}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}
.meta-pill{
  padding:14px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.46);
  box-shadow:0 12px 26px rgba(91,72,91,.05);
  color:#5f575e;
  font-size:13px;
}
.hero__right{
  display:grid;
  gap:18px;
  align-self:stretch;
}
.hero-card,
.glass,
.story,
.principle,
.service-chip,
.timeline__card,
.voucher,
.panel,
.gallery__item,
.quote{
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg, rgba(255,255,255,.56), rgba(255,255,255,.34));
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
}
.hero-card{padding:28px;display:grid;gap:18px;align-content:start}
.hero-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.eyebrow-title{font-size:42px}
.hero-card__copy{color:var(--muted);line-height:1.9}
.hero-card__media{height:240px;border-radius:22px;overflow:hidden;position:relative}
.hero-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease}
.hero-card:hover .hero-card__media img{transform:scale(1.04)}
.hero-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hero-mini{padding:22px}
.hero-mini strong{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;font-weight:500}
.hero-mini span{display:block;margin-top:8px;color:var(--muted);font-size:14px;line-height:1.75}
.float-note{
  position:absolute;
  right:8%;
  bottom:54px;
  z-index:2;
  padding:18px 22px;
  border-radius:24px;
  background:rgba(255,255,255,.44);
  box-shadow:var(--shadow-lg);
  max-width:300px;
}
.float-note__label{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-2)}
.float-note__title{margin-top:10px;font-family:"Cormorant Garamond",Georgia,serif;font-size:32px;line-height:1.02}
.float-note__text{margin-top:8px;color:var(--muted);line-height:1.75;font-size:14px}
.section__head{max-width:820px;margin-bottom:36px}
h2{margin-top:18px;font-size:clamp(42px, 5vw, 76px)}
.section__lead{margin-top:18px;color:var(--muted);font-size:18px;line-height:1.95;max-width:780px}
.stories{display:grid;grid-template-columns:1.08fr .92fr .92fr;gap:18px}
.story{position:relative;overflow:hidden;min-height:440px;transform:translateZ(0)}
.story--wide{grid-row:span 2;min-height:898px}
.story__image,.story__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story__shade{position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,10,14,.04), rgba(10,10,14,.18) 34%, rgba(10,10,14,.68) 100%)}
.story__content{position:absolute;left:0;right:0;bottom:0;padding:30px;color:#fff}
.story__tag{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:#e4dce4}
.story__title{margin-top:12px;font-size:54px}
.story__text{margin-top:12px;max-width:440px;line-height:1.85;color:#f0e9f1}
.story__arrow{margin-top:18px;display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#f3ecf3}
.story__arrow::after{content:'→';font-size:18px;line-height:1}
.principles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.principle{padding:26px;position:relative;overflow:hidden}
.principle::after{content:"";position:absolute;right:-28px;bottom:-28px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.25), rgba(255,255,255,0));pointer-events:none}
.principle__icon{
  width:54px;height:54px;border-radius:18px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.54);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.principle__icon svg{width:24px;height:24px;fill:none;stroke:#7d707f;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.principle__title{margin-top:18px;font-family:"Cormorant Garamond",Georgia,serif;font-size:34px;line-height:1.04}
.principle__text{margin-top:12px;color:var(--muted);line-height:1.82;font-size:15px}
.service-wrap{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
.service-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.service-chip{padding:24px;text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:31px;line-height:1.06}
.timeline{display:grid;grid-template-columns:.92fr 1.08fr;gap:24px;align-items:start}
.timeline__cards{display:grid;gap:16px}
.timeline__card{padding:24px 26px;display:grid;grid-template-columns:88px 1fr;gap:16px;align-items:start}
.timeline__num{font-family:"Cormorant Garamond",Georgia,serif;font-size:38px;line-height:1;color:#7f737f}
.timeline__title{font-family:"Cormorant Garamond",Georgia,serif;font-size:31px;line-height:1.06}
.timeline__text{margin-top:8px;color:var(--muted);font-size:15px;line-height:1.82}
.voucher{
  padding:34px;
  position:sticky;
  top:110px;
  background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(249,246,249,.4));
}
.voucher__top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.voucher__title{font-size:52px}
.voucher__sub{margin-top:8px;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--muted-2)}
.voucher__line{height:1px;background:linear-gradient(90deg, rgba(173,159,174,.42), rgba(173,159,174,0));margin:22px 0 20px}
.voucher__label{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-2)}
.voucher__hotel{margin-top:10px;font-family:"Cormorant Garamond",Georgia,serif;font-size:38px;line-height:1.06}
.voucher__copy{margin-top:10px;color:var(--muted);line-height:1.82}
.voucher__list{display:grid;gap:18px;margin-top:22px}
.voucher__item{display:grid;grid-template-columns:110px 1fr;gap:14px}
.voucher__day{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#7f747f}
.voucher__text{color:var(--muted);line-height:1.78;font-size:14px}
.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}
.gallery__item{overflow:hidden;min-height:320px;position:relative}
.gallery__item--tall{grid-row:span 2;min-height:658px}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease, filter .6s ease}
.gallery__item:hover img{transform:scale(1.04);filter:saturate(1.04)}
.gallery__cap{position:absolute;left:20px;right:20px;bottom:18px;color:#fff;font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.quote-wrap{display:grid;grid-template-columns:.96fr 1.04fr;gap:24px;align-items:center}
.quote{padding:38px}
.quote__title{font-size:56px}
.quote blockquote{margin:20px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:36px;line-height:1.14}
.quote p{margin-top:16px;color:var(--muted);line-height:1.9;font-size:16px}
.quote-figure{overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);min-height:620px}
.quote-figure img{width:100%;height:100%;object-fit:cover}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}
.panel{padding:34px}
.panel__title{margin-top:12px;font-size:56px}
.contact-list{display:grid;gap:20px;margin-top:28px}
.contact-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted-2)}
.contact-value{font-size:22px;margin-top:8px}
.form-grid{display:grid;gap:16px}
.field span{display:block;margin-bottom:8px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-2)}
.input,.textarea{
  width:100%;border:0;outline:none;border-radius:18px;background:rgba(255,255,255,.78);
  padding:15px 16px;color:var(--ink);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), 0 12px 24px rgba(89,72,91,.04);
  transition:box-shadow .22s ease, background .22s ease, transform .22s ease;
}
.input:focus,.textarea:focus{background:rgba(255,255,255,.95);box-shadow:0 0 0 3px rgba(143,129,145,.12), 0 12px 24px rgba(89,72,91,.05)}
.textarea{min-height:150px;resize:vertical}
.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:6px}
.note{max-width:360px;color:var(--muted);font-size:12px;line-height:1.8}
.footer{padding:28px 0 42px;color:var(--muted)}
.footer__row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-meta{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-2);text-align:right}
[data-tilt]{transform-style:preserve-3d;transition:transform .16s ease}
@media (max-width:1180px){
  .hero__grid,.stories,.timeline,.gallery,.quote-wrap,.contact,.principles-grid{grid-template-columns:1fr 1fr}
  .stories .story--wide{grid-row:auto;min-height:540px}
  .gallery .gallery__item--tall{grid-row:auto;min-height:360px}
  .service-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:920px){
  .nav{display:none}
  .hero,.section{padding-top:92px}
  .hero__grid,.stories,.principles-grid,.service-wrap,.service-ribbon,.timeline,.gallery,.quote-wrap,.contact,.hero-mini-grid{grid-template-columns:1fr}
  .header__row,.header__actions,.footer__row,.form-bottom{flex-direction:column;align-items:flex-start}
  .voucher{position:relative;top:auto}
  .float-note{position:relative;right:auto;bottom:auto;max-width:none;margin:18px 22px 0}
  .footer-meta{text-align:left}
}

.collection-grid .story__title{font-size:48px}
.detail-highlights-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.detail-sections-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.detail-panel-title{font-size:42px}
.detail-gallery-grid{grid-template-columns:1.1fr .9fr .9fr}
.detail-cta-grid{align-items:stretch}
.contacts-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.contacts-page-value{margin-top:12px}
.contact-form-spacing{margin-top:18px}
.contacts-side-list{margin-top:24px}
.legal-page-grid{grid-template-columns:.74fr 1.26fr}
.legal-content-panel{padding:40px}
.generic-page-panel{max-width:980px;padding:40px}
.generic-page-panel > :first-child{margin-top:0}
.generic-page-panel > :last-child{margin-bottom:0}
.legal-content-panel > :first-child{margin-top:0}
.legal-content-panel > :last-child{margin-bottom:0}
.legal-content-panel h2,.legal-content-panel h3,.generic-page-panel h2,.generic-page-panel h3{font-family:"Cormorant Garamond",Georgia,serif;color:var(--ink);font-weight:500}
.legal-content-panel p,.legal-content-panel li,.generic-page-panel p,.generic-page-panel li{color:var(--muted);line-height:1.9}
@media (max-width:1180px){
  .detail-highlights-grid,.detail-sections-grid,.contacts-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:920px){
  .detail-highlights-grid,.detail-sections-grid,.contacts-card-grid,.legal-page-grid{grid-template-columns:1fr}
}


.form-alert{
  display:grid;
  gap:6px;
  margin:0 0 18px;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 22px rgba(89,72,91,.05);
}
.form-alert strong{
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.form-alert span{
  color:var(--muted);
  line-height:1.75;
  font-size:14px;
}
.form-alert.is-success strong{color:#2a6f55}
.form-alert.is-error strong{color:#8d4a5a}
.field{display:block}
.field--hp{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.js-contact-form.is-submitting .btn[type="submit"]{
  opacity:.82;
  pointer-events:none;
}

.form-alert.is-hidden{display:none}
.js-contact-form.is-loading .btn[type="submit"]{
  opacity:.82;
  pointer-events:none;
}
.js-contact-form .btn[type="submit"][disabled]{
  opacity:.82;
  pointer-events:none;
}



/* Mobile cleanup */
@media (max-width: 920px) {
  .header {
    backdrop-filter: blur(10px);
  }

  .header__row {
    min-height: 86px;
    align-items: center;
  }

  .header__actions {
    display: none !important;
  }

  .logo__script {
    font-size: 54px;
  }

  .logo__sub {
    font-size: 11px;
    letter-spacing: .34em;
  }

  .hero {
    min-height: auto;
    padding-top: 108px;
  }

  .hero__grid {
    min-height: auto;
    gap: 20px;
  }

  .hero__title {
    font-size: clamp(44px, 12vw, 66px);
    max-width: none;
  }

  .hero__lead {
    font-size: 16px;
    line-height: 1.72;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: 100%;
    max-width: none;
  }

  .hero-actions .btn {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    letter-spacing: .12em;
    font-size: 12px;
  }

  .hero-actions .btn--dark {
    grid-column: 1 / -1;
  }

  .hero-meta {
    gap: 8px;
  }

  .hero-meta__pill {
    font-size: 10px;
    letter-spacing: .16em;
    padding: 10px 12px;
  }

  .hero-card {
    padding: 22px;
  }

  .hero-card__title {
    font-size: 34px;
  }

  .hero-mini-grid {
    gap: 12px;
  }

  .service-ribbon {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }

  .service-chip {
    padding: 18px 12px;
    font-size: 22px;
    line-height: 1.08;
  }

  .story {
    min-height: 420px;
  }

  .story__title {
    font-size: 38px;
  }

  .principles-grid,
  .timeline,
  .gallery,
  .quote-wrap,
  .contact {
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .container {
    width: min(var(--container), calc(100% - 28px));
  }

  .hero {
    padding-top: 96px;
    padding-bottom: 52px;
  }

  .hero__title {
    font-size: clamp(38px, 13vw, 58px);
  }

  .hero__lead {
    font-size: 15px;
  }

  .hero-actions {
    grid-template-columns: 1fr;
  }

  .service-ribbon {
    grid-template-columns: 1fr !important;
  }

  .service-chip {
    font-size: 24px;
    padding: 18px 16px;
  }
}


/* Mobile menu + mobile services fix */
.mobile-toggle,
.mobile-panel {
  display: none;
}

@media (max-width: 920px) {
  body.menu-open {
    overflow: hidden;
  }

  .header__row {
    min-height: 78px;
    flex-direction: row;
    align-items: center;
  }

  .header__actions,
  .nav {
    display: none;
  }

  .mobile-toggle {
    display: inline-flex;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 10px 24px rgba(89,72,91,.08);
    cursor: pointer;
    margin-left: auto;
    padding: 0;
  }

  .mobile-toggle span {
    display: block;
    width: 18px;
    height: 1.5px;
    border-radius: 999px;
    background: var(--ink);
    transition: transform .22s ease, opacity .22s ease;
  }

  .mobile-toggle.is-active span:nth-child(1) {
    transform: translateY(6.5px) rotate(45deg);
  }

  .mobile-toggle.is-active span:nth-child(2) {
    opacity: 0;
  }

  .mobile-toggle.is-active span:nth-child(3) {
    transform: translateY(-6.5px) rotate(-45deg);
  }

  .mobile-panel {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 120;
    pointer-events: none;
    opacity: 0;
    transition: opacity .24s ease;
  }

  .mobile-panel.is-open {
    pointer-events: auto;
    opacity: 1;
  }

  .mobile-panel__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(26, 22, 27, .24);
    backdrop-filter: blur(6px);
  }

  .mobile-panel__dialog {
    position: absolute;
    top: 0;
    right: 0;
    width: min(88vw, 380px);
    height: 100vh;
    padding: 24px 20px 28px;
    background: linear-gradient(180deg, rgba(248,245,248,.98), rgba(238,232,239,.98));
    box-shadow: -18px 0 44px rgba(67, 53, 70, .14);
    transform: translateX(100%);
    transition: transform .28s ease;
    display: flex;
    flex-direction: column;
    gap: 20px;
    overflow-y: auto;
  }

  .mobile-panel.is-open .mobile-panel__dialog {
    transform: translateX(0);
  }

  .mobile-panel__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
  }

  .mobile-panel__close {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 8px 20px rgba(89,72,91,.08);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: var(--ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }

  .mobile-nav {
    display: grid;
    gap: 8px;
    margin-top: 8px;
  }

  .mobile-nav a {
    display: block;
    padding: 14px 2px;
    color: var(--ink);
    font-size: 14px;
    letter-spacing: .18em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(122,110,124,.1);
  }

  .mobile-panel__actions {
    display: grid;
    gap: 12px;
    margin-top: auto;
    padding-top: 10px;
  }

  .mobile-panel__actions .btn {
    width: 100%;
    min-height: 52px;
    letter-spacing: .14em;
  }

  .hero,
  .section {
    padding-top: 92px;
  }

  .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    max-width: 320px;
  }

  .hero__actions .btn {
    width: 100%;
    min-height: 46px;
    padding: 0 18px;
    font-size: 12px;
    letter-spacing: .12em;
  }

  .service-ribbon {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .service-chip {
    font-size: 24px;
    padding: 18px 18px;
    text-align: left;
    line-height: 1.08;
  }

  #services-list .principles-grid {
    grid-template-columns: 1fr !important;
    gap: 14px;
  }

  #services-list .principle {
    padding: 22px;
  }

  #services-list .principle__title {
    font-size: 28px;
  }

  #services-list .principle__text {
    font-size: 14px;
    line-height: 1.78;
  }

  #expertise .stories,
  .collection-grid,
  .detail-gallery-grid,
  .contacts-card-grid,
  .detail-highlights-grid,
  .detail-sections-grid {
    grid-template-columns: 1fr !important;
  }

  #expertise .story,
  .collection-grid .story,
  .gallery__item,
  .gallery__item--tall,
  .story--wide {
    min-height: 320px;
  }

  .story__content {
    padding: 22px;
  }

  .story__title,
  .collection-grid .story__title {
    font-size: 38px;
  }

  .panel__title,
  .contact .panel__title,
  .detail-panel-title,
  .quote__title {
    font-size: 40px;
  }

  .timeline__card {
    grid-template-columns: 64px 1fr;
    padding: 20px;
  }

  .timeline__num {
    font-size: 30px;
  }

  .timeline__title {
    font-size: 26px;
  }
  
  .container {
	 padding:0 15px; 
	 }
}


.about-page .principles-grid {
	grid-template-columns:repeat(2,minmax(0,1fr));
	margin-top:28px;
}

@media(max-width:600px) {
	.about-page .principles-grid {
		grid-template-columns:repeat(1,minmax(0,1fr));
	}
}




/* Language switcher */
.header__meta{
  display:flex;
  align-items:center;
  gap:14px;
}

.lang-switcher{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px;
  border-radius:999px;
  background:rgba(255,255,255,.54);
  box-shadow:0 10px 24px rgba(89,72,91,.06);
  backdrop-filter:blur(10px);
}

.lang-switcher__link{
  min-width:42px;
  height:38px;
  padding:0 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  transition:background .22s ease, color .22s ease, transform .22s ease, opacity .22s ease;
}

.lang-switcher__link:hover{
  background:rgba(255,255,255,.78);
  color:var(--ink);
  transform:translateY(-1px);
}

.lang-switcher__link.is-current{
  background:#272226;
  color:#fff;
  box-shadow:0 10px 20px rgba(39,34,38,.14);
}

.lang-switcher__link.is-disabled{
  opacity:.46;
  pointer-events:none;
}

.lang-switcher--mobile{
  display:none;
}

@media (max-width: 920px){
  .header__meta{
    display:none;
  }

  .lang-switcher--desktop{
    display:none;
  }

  .lang-switcher--mobile{
    display:inline-flex;
    align-self:flex-start;
    margin-top:4px;
    margin-bottom:2px;
  }

  .lang-switcher--mobile .lang-switcher__link{
    min-width:48px;
    height:40px;
    padding:0 14px;
    font-size:12px;
  }

  .mobile-panel__dialog{
    gap:16px;
  }
}
