:root{
  --clc-bg:#f4efe7;
  --clc-surface:#ffffff;
  --clc-ink:#14140f;
  --clc-muted:#5c564a;
  --clc-accent:#8c6b3f;
  --clc-accent-dark:#8a4a26;
  --clc-accent-ink:#ffffff;
  --clc-accent-hover:#e8bc5c;
  --clc-line:#d8d2c4;
  --clc-line-soft:#e4ded0;
  --clc-on-photo:#eaf2ee;
  --clc-on-photo-muted:#a9c6c2;
  --clc-danger:#b5462f;
  --clc-danger-bg:#c85046;
  --clc-danger-text:#a4402f;
  --clc-header-bg:#fbfaf7;
  --clc-shell-fallback:#0a5c5c;
  --clc-select-text:#111111;
  --clc-select-muted:#555555;
  --clc-faint:#9c9285;
  --clc-muted-2:#8a8074;
  --clc-danger-soft:#c8463c;
  --clc-accent-light:#d98a52;
  /* Admin-only neutral palette (Sunrise Portal /admin/portal) */
  --clc-admin-ink:#1a1a1a;
  --clc-admin-bg:#fafaf9;
  --clc-admin-muted:#666666;
  --clc-admin-surface-alt:#f5f5f4;
  --clc-admin-label:#555555;
  --clc-admin-border:#e8e8e8;
  --clc-admin-border-soft:#f0f0ee;
  --clc-admin-success:#0a5c3e;
  --clc-admin-input-border:#d0d0d0;
  --clc-admin-link:#888888;
  --clc-admin-link-hover:#333333;
  --clc-admin-empty:#aaaaaa;
  --clc-admin-shadow:rgba(0,0,0,.09);
  --clc-serif:'Fraunces','Iowan Old Style','Palatino Linotype',Palatino,Georgia,'Times New Roman',serif;
  --clc-display:'Italiana','Iowan Old Style',Palatino,Georgia,serif;
  --clc-smallcaps:'Marcellus SC','Iowan Old Style',Palatino,Georgia,serif;
  --clc-sans:'Jost','Inter',system-ui,-apple-system,sans-serif;
  --clc-stone:#d6d1ca;
  /* Dark "chapter break" tokens — the single inverted section (First Light needs night) */
  --clc-chapter-bg:#17120c;
  --clc-chapter-ink:#f6f1e8;
  --clc-chapter-muted:#c4b8a4;
  --clc-chapter-line:rgba(232,188,92,.32);
  --clc-chapter-border:rgba(246,241,232,.34);
  --clc-gold:#e8bc5c;
}

body, button, input, select, textarea {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}
body { background:var(--clc-bg); color:var(--clc-ink); }
html, body {
  overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6, .clc-lia-dock span {
  font-family: var(--clc-serif);
}
.clc-eyebrow{font-family:var(--clc-display);font-style:normal;letter-spacing:.34em}
h2,h3,h4{font-weight:400;color:var(--clc-ink)}

.shell-header{height:72px;background:rgba(247,242,234,.94);color:var(--clc-ink);box-shadow:none;border-bottom:1px solid var(--clc-line);backdrop-filter:blur(18px)}
.shell-brand{color:var(--clc-ink);display:flex;align-items:center;gap:10px}.shell-brand img{width:36px!important;height:36px!important;border-radius:0!important;box-shadow:0 0 0 1px rgba(181,99,47,.3)}.shell-brand-text{display:flex;flex-direction:column;line-height:1.05}.shell-brand-text strong{font-family:var(--clc-serif);font-weight:400;font-size:19px;color:var(--clc-ink)}.shell-brand-text small{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--clc-accent);margin-top:2px}.shell-nav a{color:rgba(28,23,18,.72);border-radius:0;letter-spacing:.06em;font-size:13px;text-transform:uppercase}.shell-nav a:hover{background:rgba(28,23,18,.06)}.shell-nav a:last-child{background:var(--clc-accent);color:var(--clc-accent-ink)}
.clc-page{display:grid;gap:0;color:var(--clc-ink)}

/* Hero — two columns: copy left, circular photo (with concentric-ring motif) right */
.clc-hero{position:relative;overflow:hidden;margin:-28px calc(50% - 50vw) 0;padding:96px max(24px,calc((100vw - 1180px)/2)) 88px;background:var(--clc-bg);color:var(--clc-ink);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:56px;align-items:center}
.clc-hero>*{position:relative;z-index:1}
.clc-hero-content{display:grid;gap:0;max-width:640px}
.clc-eyebrow{display:inline-flex;gap:8px;align-items:center;width:max-content;max-width:100%;border-radius:0;padding:6px 0;background:transparent;color:var(--clc-accent);border:none;border-bottom:1px solid rgba(181,99,47,.35);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px}
.clc-hero h1{font-family:var(--clc-sans);text-transform:uppercase;font-size:clamp(38px,6vw,78px);line-height:1.05;margin:0 0 24px;max-width:880px;letter-spacing:.005em;color:var(--clc-ink);font-weight:500}
.clc-hero h1 .clc-word-accent{font-family:'Great Vibes',cursive;text-transform:none;font-weight:400;color:var(--clc-accent);font-size:1.55em;letter-spacing:0;line-height:1;display:inline-block;transform:translateY(.12em) rotate(-2deg);padding-right:.06em}
.clc-lead{font-size:18px;line-height:1.72;max-width:100%;color:var(--clc-muted);margin:0 0 34px;text-align:justify}
.clc-actions{display:flex;flex-wrap:wrap;gap:12px}.clc-actions a{font-family:var(--clc-sans);display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 24px;border-radius:0;text-decoration:none;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:opacity .2s}
.clc-actions a:hover{opacity:.78}
.clc-primary{background:var(--clc-accent);color:var(--clc-accent-ink)}.clc-secondary{border:1px solid var(--clc-line);color:var(--clc-ink);background:transparent}
.clc-path-hero .clc-secondary{border:1px solid var(--clc-line);color:var(--clc-ink);background:transparent}

/* Circular hero photo, concentric decorative rings (echoes the flf-mark logo motif) */
.clc-hero-media{display:block;position:relative;width:100%}
.clc-hero-media:before{content:"";position:absolute;inset:-22px;border-radius:50%;border:1px solid var(--clc-line);pointer-events:none}
.clc-hero-media:after{content:"";position:absolute;inset:-44px;border-radius:50%;border:1px solid var(--clc-line);pointer-events:none}
.clc-photo-frame{position:relative;overflow:hidden;border-radius:50%;aspect-ratio:1/1;min-height:0;background:var(--clc-line);box-shadow:0 0 0 1px var(--clc-line)}
.clc-photo-frame img{width:100%;height:100%;object-fit:cover;display:block}
.clc-photo-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,23,18,0),rgba(28,23,18,.08));pointer-events:none}
.clc-photo-badge{position:absolute;left:-8px;right:-8px;bottom:-14px;border-radius:0;padding:16px 20px;background:var(--clc-surface);color:var(--clc-ink);backdrop-filter:blur(10px);border:1px solid var(--clc-line);box-shadow:0 18px 40px rgba(28,23,18,.08)}.clc-photo-badge strong{display:block;color:var(--clc-accent);text-transform:uppercase;font-size:11px;letter-spacing:.12em}.clc-photo-badge span{display:block;margin-top:6px;color:var(--clc-muted);font-size:13px;line-height:1.45}

/* Floating Cora Dock */
.clc-lia-dock {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 999;
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  background: var(--clc-surface);
  color: var(--clc-ink);
  border: 1px solid var(--clc-line);
  border-radius: 0;
  padding: 10px 20px 10px 10px;
  box-shadow: 0 20px 48px rgba(28,23,18,.14);
  transition: opacity .3s;
}
.clc-lia-dock:hover { opacity:.78; }
.clc-lia-dock span {
  font-weight: 500;
  font-size: 15px;
  line-height: 1.1;
}
.clc-lia-dock small {
  display: block;
  color: var(--clc-muted);
  font-size: 11px;
  font-weight: 400;
  margin-top: 2px;
}
.clc-lia-icon {
  width: 44px;
  height: 44px;
  border-radius: 0;
  background: var(--clc-accent);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.clc-lia-icon svg { width:24px;height:24px; }

/* Slide-out Cora Drawer */
.clc-concierge {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 450px;
  max-width: 100vw;
  background: var(--clc-surface);
  border-left: 1px solid var(--clc-line);
  box-shadow: -15px 0 50px rgba(28,23,18,.14);
  z-index: 10000;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 0;
}
.clc-concierge.open { transform:translateX(0); }

.clc-drawer-header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--clc-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--clc-bg);
}
.clc-mascot { display:flex;gap:12px;align-items:center; }
.clc-avatar {
  width: 48px;
  height: 48px;
  border-radius: 0;
  background: var(--clc-accent);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.clc-avatar svg { width:28px;height:28px; }
.clc-mascot h2 { margin:0;font-size:16px;font-weight:400;color:var(--clc-ink); }
.clc-mascot p { margin:2px 0 0;font-size:12px;color:var(--clc-muted); }
.clc-drawer-close {
  border: none;
  background: transparent;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--clc-muted);
  transition: color .2s;
}
.clc-drawer-close:hover { color:var(--clc-ink); }

.clc-chat-area {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: var(--clc-bg);
}
.clc-bubble {
  border-radius: 0;
  padding: 14px 18px;
  background: var(--clc-surface);
  color: var(--clc-ink);
  line-height: 1.5;
  font-size: 15px;
  max-width: 85%;
  align-self: flex-start;
  border: 1px solid var(--clc-line);
}
.clc-bubble.alt {
  background: var(--clc-accent);
  color: var(--clc-accent-ink);
  align-self: flex-end;
  border-color: var(--clc-accent);
}
.clc-bubble p { margin:0 0 10px; }
.clc-bubble p:last-child { margin-bottom:0; }
.clc-bubble img { display:block;max-width:80px;margin-top:10px; }

.clc-drawer-input {
  padding: 20px 24px;
  border-top: 1px solid var(--clc-line);
  background: var(--clc-bg);
}
.clc-input-wrapper { display:flex;gap:10px;align-items:center; }
.clc-input-wrapper input {
  flex: 1;
  border: 1px solid var(--clc-line);
  border-radius: 0;
  padding: 14px 20px;
  font-size: 15px;
  outline: none;
  background: var(--clc-surface);
  color: var(--clc-ink);
  transition: border-color .2s;
}
.clc-input-wrapper input::placeholder { color:rgba(28,23,18,.35); }
.clc-input-wrapper input:focus { border-color:var(--clc-accent); }
.clc-input-wrapper button {
  border: none;
  border-radius: 0;
  background: var(--clc-accent);
  color: var(--clc-accent-ink);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 14px 22px;
  cursor: pointer;
  transition: opacity .2s;
}
.clc-input-wrapper button:hover { opacity:.82; }
.clc-input-wrapper button:disabled { opacity:0.35;cursor:not-allowed; }

.clc-suggest-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 24px;
  background: var(--clc-bg);
  border-bottom: 1px solid var(--clc-line);
}
.clc-chip {
  background: transparent;
  border: 1px solid var(--clc-line);
  color: var(--clc-muted);
  padding: 7px 13px;
  border-radius: 0;
  font-size: 12px;
  font-weight: 400;
  cursor: pointer;
  transition: all .2s;
}
.clc-chip:hover { border-color:var(--clc-accent);color:var(--clc-accent); }

.typing-indicator { display:flex;gap:4px;padding:4px 8px; }
.typing-indicator span {
  width:8px;height:8px;
  background:rgba(28,23,18,.3);
  border-radius:50%;
  animation:typing 1s infinite alternate;
}
.typing-indicator span:nth-child(2){animation-delay:.2s}
.typing-indicator span:nth-child(3){animation-delay:.4s}
@keyframes typing {
  from{opacity:.3;transform:translateY(0)}
  to{opacity:1;transform:translateY(-4px)}
}

.clc-section{display:grid;gap:22px;padding:82px 0}
.clc-section-head{display:grid;justify-items:center;text-align:center;gap:12px;max-width:720px;margin:0 auto 26px}.clc-section-head:before{content:"\2726";display:block;color:var(--clc-accent);font-size:14px;margin-bottom:2px}.clc-section h2{font-size:clamp(28px,3.6vw,42px);line-height:1.1;margin:0;font-weight:340;font-variation-settings:'opsz' 144;font-optical-sizing:auto;color:var(--clc-ink)}.clc-section p{color:var(--clc-muted);line-height:1.62}

/* Services grid — 5 equal columns, circular outline icon (reference layout) */
.clc-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.clc-card{border:none;background:transparent;border-radius:0;padding:8px 10px;box-shadow:none;text-align:center;transition:transform .22s}.clc-card:hover{transform:translateY(-3px)}.clc-card h3{margin:0 0 8px;font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.35;color:var(--clc-ink)}.clc-card p{margin:0 0 14px;font-size:13px;color:var(--clc-muted)}.clc-tag{display:inline-flex;margin-bottom:12px;border-radius:0;padding:5px 10px;background:transparent;color:var(--clc-accent);border:1px solid rgba(181,99,47,.28);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.clc-card-icon{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:transparent;border:1px solid var(--clc-accent);color:var(--clc-accent)}.clc-card-icon svg{width:28px;height:28px;display:block;stroke:var(--clc-accent);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}.clc-card-icon .gold{stroke:var(--clc-accent)}.clc-card-icon .fill-gold{fill:var(--clc-accent);stroke:none}.clc-card > a.clc-tag{border:none;background:transparent;padding:0;font-size:11px;letter-spacing:.06em}.clc-card > a.clc-tag:after{content:" \2192"}

/* Journey timeline — numbered circles connected by a thin horizontal line, no card chrome */
.clc-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px 12px;counter-reset:step;position:relative;padding-top:6px}
.clc-flow:before{content:"";position:absolute;top:27px;left:60px;right:60px;height:1px;background:var(--clc-line);z-index:0}
.clc-step{position:relative;border-radius:0;padding:0 12px;background:transparent;color:var(--clc-ink);border:none;min-height:0;text-align:center}
.clc-step:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--clc-surface);color:var(--clc-accent);font-weight:600;margin:0 auto 16px;position:relative;z-index:1;border:1px solid var(--clc-accent)}
.clc-step strong{display:block;font-family:var(--clc-serif);font-weight:400;font-size:16px;color:var(--clc-ink);margin-bottom:6px}
.clc-step p{color:var(--clc-muted);margin:8px 0 0;font-size:13.5px;line-height:1.5}

/* Origin / philosophy section */
.clc-origin{position:relative;overflow:hidden;margin:0 calc(50% - 50vw) 0;padding:96px max(24px,calc((100vw - 1180px)/2));min-height:0;color:var(--clc-ink);background:var(--clc-bg);
  display:grid;grid-template-columns:minmax(0,620px) minmax(0,1fr);gap:56px;align-items:center}
.clc-origin>*{position:relative;z-index:1}.clc-origin-copy{display:grid;gap:0}.clc-origin h2{font-size:clamp(34px,4.6vw,58px);line-height:1.04;margin:0 0 22px;color:var(--clc-ink);font-weight:340;font-variation-settings:'opsz' 144;font-optical-sizing:auto;letter-spacing:-.01em}
.clc-origin p{font-size:17px;line-height:1.76;color:var(--clc-muted);margin:0;max-width:560px}
.clc-origin-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.clc-origin-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 24px;border-radius:0;text-decoration:none;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.clc-origin-media{position:relative;overflow:hidden;border-radius:0;aspect-ratio:4/5}.clc-origin-media img{width:100%;height:100%;object-fit:cover;display:block}
.clc-origin-points{display:grid;gap:12px}.clc-origin-points div{border:1px solid var(--clc-line);border-radius:0;padding:18px;background:var(--clc-surface)}
.clc-origin-points strong{display:block;font-size:32px;line-height:1;color:var(--clc-accent);margin-bottom:8px;font-weight:300}.clc-origin-points span{display:block;color:var(--clc-muted);font-weight:500;line-height:1.45}
.clc-origin-quote{grid-column:1/-1;align-self:end;max-width:900px!important;margin-top:8px!important;padding-top:26px;border-top:1px solid var(--clc-line);font-size:21px!important;color:var(--clc-ink)!important;font-style:italic;font-family:var(--clc-serif);font-weight:300}
.clc-spark-manifest{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:stretch;border:1px solid rgba(181,99,47,.25);background:rgba(181,99,47,.04);border-radius:0;padding:28px;margin:18px 0 0}.clc-spark-manifest h2{margin:0 0 12px;color:var(--clc-ink);font-weight:400}.clc-spark-manifest p{margin:0;color:var(--clc-muted)}.clc-spark-stat{display:grid;gap:10px;align-content:center;border-left:1px solid rgba(181,99,47,.25);padding-left:24px}.clc-spark-stat strong{font-size:38px;line-height:1;color:var(--clc-accent);font-weight:300}.clc-spark-stat span{color:var(--clc-muted);font-weight:500;line-height:1.45}.clc-program-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.clc-program-strip div{border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:16px}.clc-program-strip strong{display:block;color:var(--clc-accent);margin-bottom:6px;font-weight:500}.clc-program-strip span{display:block;color:var(--clc-muted);line-height:1.48;font-size:14px}.clc-price-band{border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:22px;margin:24px 0;display:grid;gap:12px}.clc-price-band strong{font-size:22px;color:var(--clc-accent);font-weight:400}.clc-price-band p{margin:0;color:var(--clc-muted)}.clc-price-band small{color:var(--clc-muted);line-height:1.45}

.clc-trust{display:grid;grid-template-columns:1fr 1fr;gap:16px}.clc-console{background:var(--clc-surface);color:var(--clc-ink);border-radius:0;padding:20px;font-size:15px;line-height:1.65;border:1px solid var(--clc-line)}.clc-console b{color:var(--clc-accent)}.clc-panel-list{display:grid;gap:10px}.clc-panel-list div{display:flex;justify-content:space-between;gap:14px;border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:15px;font-weight:600;color:var(--clc-accent)}.clc-panel-list span{font-weight:400;color:var(--clc-muted)}
.clc-warning{border-left:3px solid var(--clc-accent);background:rgba(181,99,47,.06);border-radius:0;padding:18px}.clc-warning p{margin:0;color:var(--clc-ink)}.clc-missing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.clc-missing li{background:var(--clc-surface);border:1px solid var(--clc-line);border-radius:0;padding:14px;list-style:none;line-height:1.45;color:var(--clc-muted)}

/* Edge-to-edge photo strip — unequal columns, same height, no gap.
   Column count follows however many tiles are actually present (auto-fit) so it
   degrades gracefully from the reference's 5-photo layout to fewer real assets
   without leaving empty grid cells. */
.clc-gallery-strip{display:grid;grid-template-columns:1.1fr 1fr 1.2fr 1fr 1.1fr;gap:0;margin:0 calc(50% - 50vw);height:clamp(200px,30vw,380px)}
.clc-gallery-strip img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:920px){.clc-gallery-strip{grid-template-columns:1fr 1fr 1fr;height:220px}}
@media(max-width:620px){.clc-gallery-strip{grid-template-columns:1fr;height:220px}.clc-gallery-strip > *:nth-child(n+3){display:none}}

.clc-blog-hero{padding:72px 0 34px;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:32px;align-items:center}
.clc-blog-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.02;margin:0;color:var(--clc-ink);font-weight:300}
.clc-blog-hero p{font-size:18px;line-height:1.7;color:var(--clc-muted);max-width:760px}
.clc-blog-hero-media,.clc-blog-card-media,.clc-article-media{margin:0;overflow:hidden;background:var(--clc-line)}
.clc-blog-hero-media{aspect-ratio:4/3;border-radius:0}
.clc-blog-hero-media img,.clc-blog-card-media img,.clc-article-media img{display:block;width:100%;height:100%;object-fit:cover}
.clc-blog-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 30px}.clc-blog-tabs a{border:1px solid var(--clc-line);background:transparent;border-radius:0;padding:8px 14px;text-decoration:none;font-weight:500;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--clc-muted)}.clc-blog-tabs a.active{background:var(--clc-accent);color:var(--clc-accent-ink);border-color:var(--clc-accent)}
.clc-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:64px}.clc-blog-card{display:grid;grid-template-rows:auto auto auto 1fr;gap:12px;border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:0 0 22px;text-decoration:none;color:var(--clc-ink);overflow:hidden}.clc-blog-card:hover{border-color:var(--clc-accent)}.clc-blog-card-media{aspect-ratio:16/10}.clc-blog-card .clc-blog-meta,.clc-blog-card h2,.clc-blog-card p{padding:0 22px}.clc-blog-card h2{font-size:22px;line-height:1.14;margin:0;font-weight:400;color:var(--clc-ink)}.clc-blog-card p{margin:0;color:var(--clc-muted);line-height:1.58}.clc-blog-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--clc-muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em}
.clc-booking-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.clc-booking-card{display:grid;gap:12px;align-content:start;border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:20px}.clc-booking-card span{width:36px;height:36px;border-radius:0;display:inline-grid;place-items:center;background:var(--clc-accent);color:var(--clc-accent-ink);font-weight:900}.clc-booking-card h2{font-size:20px;line-height:1.12;margin:0;color:var(--clc-ink);font-weight:400}.clc-booking-card p{margin:0;color:var(--clc-muted);line-height:1.55}.clc-booking-card strong{font-size:12px;color:var(--clc-accent);text-transform:uppercase;letter-spacing:.1em}.clc-booking-card small{color:var(--clc-muted);line-height:1.45}.clc-booking-card a{margin-top:4px;display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:0;background:var(--clc-accent);color:var(--clc-accent-ink);text-decoration:none;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.clc-article{max-width:860px;margin:0 auto;padding:58px 0 78px}.clc-article h1{font-size:clamp(36px,5vw,62px);line-height:1.02;margin:0 0 18px;color:var(--clc-ink);font-weight:300}.clc-article-lead{font-size:20px;line-height:1.68;color:var(--clc-muted);margin:0 0 28px}.clc-article-media{aspect-ratio:16/9;border-radius:0;margin:8px 0 26px}.clc-article-body{display:grid;gap:22px;font-size:17px;line-height:1.76;color:var(--clc-ink)}.clc-article-body h2{font-size:28px;line-height:1.15;margin:22px 0 0;color:var(--clc-ink);font-weight:400}.clc-article-body ul{display:grid;gap:10px;margin:0;padding-left:22px}.clc-editorial-note{border:1px solid rgba(181,99,47,.28);background:rgba(181,99,47,.06);border-radius:0;padding:18px;color:var(--clc-ink)}.clc-review-box{margin:18px 0 30px;border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:20px;display:grid;gap:10px}.clc-review-box strong{color:var(--clc-ink);font-size:18px;font-weight:400}.clc-review-box p{margin:0;color:var(--clc-muted);line-height:1.55}.clc-review-box ul{margin:0;padding-left:20px;display:grid;gap:7px}.clc-review-box a{color:var(--clc-accent);font-weight:600}.clc-article-cta{margin-top:34px;border:1px solid var(--clc-line);border-radius:0;background:var(--clc-surface);padding:20px;display:grid;gap:10px}.clc-article-cta a{width:max-content;border-radius:0;background:var(--clc-accent);color:var(--clc-accent-ink);text-decoration:none;font-weight:700;font-size:12px;padding:12px 18px;letter-spacing:.08em;text-transform:uppercase}
.clc-path-hero{padding:82px 0 42px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:38px;align-items:center}.clc-path-hero h1{font-size:clamp(40px,5vw,68px);line-height:1.01;margin:0 0 20px;color:var(--clc-ink);font-weight:300}.clc-path-hero p{font-size:18px;line-height:1.72;color:var(--clc-muted)}.clc-path-panel{border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:22px;display:grid;gap:14px}.clc-path-panel strong{font-size:18px;color:var(--clc-ink);font-weight:400}.clc-path-panel ul{margin:0;padding-left:20px;display:grid;gap:9px;color:var(--clc-muted);line-height:1.48}
.clc-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:28px 0 66px}.clc-feature{border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:22px;display:grid;gap:10px}.clc-feature h2{font-size:22px;margin:0;color:var(--clc-ink);font-weight:400}.clc-feature p{margin:0;color:var(--clc-muted);line-height:1.58}.clc-legal-strip{border:1px solid var(--clc-line);background:var(--clc-surface);color:var(--clc-muted);border-radius:0;padding:24px;margin:34px 0;display:grid;gap:10px}.clc-legal-strip strong{color:var(--clc-ink);font-weight:500}.clc-legal-strip p{margin:0;color:var(--clc-muted);line-height:1.6}
.clc-accept-box{border:1px solid rgba(181,99,47,.28);background:rgba(181,99,47,.04);border-radius:0;padding:22px;display:grid;gap:16px;margin:28px 0 74px}.clc-accept-box label{display:flex;gap:12px;align-items:flex-start;line-height:1.55;color:var(--clc-ink)}.clc-accept-box input{margin-top:4px}.clc-accept-box button{width:max-content;border:0;border-radius:0;background:var(--clc-accent);color:var(--clc-accent-ink);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:13px 18px;cursor:pointer}.clc-accept-box button:disabled{opacity:.35;cursor:not-allowed}.clc-accept-links{display:flex;gap:12px;flex-wrap:wrap}.clc-accept-links a{font-weight:600;color:var(--clc-accent)}
.clc-sim{display:grid;grid-template-columns:360px 1fr;gap:18px;margin:28px 0 74px}.clc-sim-form,.clc-sim-output{border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:20px;display:grid;gap:14px}.clc-sim-form label{display:grid;gap:7px;font-weight:600;color:var(--clc-ink)}.clc-sim-form input,.clc-sim-form select{border:1px solid var(--clc-line);border-radius:0;padding:11px 12px;font:inherit;background:var(--clc-surface);color:var(--clc-ink)}.clc-sim-form select option{background:var(--clc-surface);color:var(--clc-ink)}.clc-sim-form button{border:0;border-radius:0;background:var(--clc-accent);color:var(--clc-accent-ink);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:12px 16px;cursor:pointer}.clc-agenda{display:grid;gap:10px}.clc-agenda-row{display:grid;grid-template-columns:140px 1fr;gap:12px;border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:12px}.clc-agenda-row time{font-weight:700;color:var(--clc-accent)}.clc-agenda-row span{color:var(--clc-muted);line-height:1.45}.clc-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:24px 0}.clc-metric{border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:18px}.clc-metric strong{display:block;font-size:34px;color:var(--clc-accent);font-weight:300}.clc-metric span{color:var(--clc-muted);font-weight:500}.clc-table{width:100%;border-collapse:separate;border-spacing:0 8px}.clc-table th{text-align:left;color:var(--clc-muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.clc-table td{background:var(--clc-surface);border-top:1px solid var(--clc-line);border-bottom:1px solid var(--clc-line);padding:12px;color:var(--clc-ink)}.clc-table td:first-child{border-left:1px solid var(--clc-line);font-weight:700;color:var(--clc-accent)}.clc-table td:last-child{border-right:1px solid var(--clc-line)}.clc-pill{display:inline-flex;border-radius:0;padding:4px 9px;font-size:11px;font-weight:700;background:rgba(28,23,18,.06);color:var(--clc-ink)}.clc-pill.warn{background:rgba(181,99,47,.14);color:var(--clc-accent)}.clc-pill.bad{background:rgba(180,60,50,.12);color:#a4402f}.clc-pill.good{background:rgba(181,99,47,.14);color:var(--clc-accent)}

@media(max-width:920px){.clc-hero,.clc-origin,.clc-trust,.clc-spark-manifest,.clc-program-strip{grid-template-columns:1fr}.clc-origin{gap:30px;min-height:auto}.clc-origin-media{aspect-ratio:16/9;order:-1}.clc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.clc-flow{grid-template-columns:1fr 1fr}.clc-flow:before{display:none}.clc-hero-media{max-width:320px;margin:0 auto}.clc-spark-stat{border-left:0;border-top:1px solid rgba(181,99,47,.25);padding-left:0;padding-top:18px}}
@media(max-width:920px){.clc-blog-hero{grid-template-columns:1fr}.clc-blog-hero-media{aspect-ratio:16/9}.clc-blog-grid,.clc-booking-grid{grid-template-columns:1fr 1fr}.clc-path-hero,.clc-feature-grid,.clc-sim{grid-template-columns:1fr}}
@media(max-width:620px){.shell-header{height:auto!important}.clc-hero{padding:64px 22px 56px}.clc-hero h1,.clc-origin h2{font-size:38px;line-height:1}.clc-origin p,.clc-lead{font-size:16px}.clc-origin-quote{font-size:18px!important}.clc-eyebrow{width:auto}.clc-grid,.clc-flow,.clc-missing,.clc-blog-grid,.clc-booking-grid{grid-template-columns:1fr}.clc-section{padding:56px 0}.clc-lia-dock{right:14px;bottom:14px;padding:8px}.clc-lia-dock span,.clc-lia-dock small{display:none}.clc-concierge{width:100%}}

.clc-world-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--clc-line);margin:0 calc(50% - 50vw)}.clc-clock-item{display:flex;flex-direction:column;gap:5px;padding:42px 36px;background:var(--clc-bg);text-align:center;align-items:center}.clc-clock-date{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--clc-muted)}.clc-clock-time{font-size:48px;font-weight:300;letter-spacing:-.01em;color:var(--clc-ink);line-height:1;font-family:var(--clc-serif)}.clc-clock-city{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--clc-accent);margin-top:4px}.clc-services-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0 0}.clc-services-col{border:1px solid var(--clc-line);background:var(--clc-surface);border-radius:0;padding:22px;display:grid;gap:10px;align-content:start}.clc-services-col h3{margin:0;font-size:17px;color:var(--clc-ink);font-weight:400}.clc-services-col ul{margin:0;padding-left:18px;display:grid;gap:7px;color:var(--clc-muted);line-height:1.48;font-size:15px}.clc-services-col p{margin:0;color:var(--clc-muted);line-height:1.52;font-size:15px}.clc-vtl{list-style:none;padding:0;margin:20px 0}.clc-vtl>li{position:relative}.clc-vtl>li:not(.clc-vtl-phase):not(:last-child)::after{content:"";position:absolute;left:14px;top:0;bottom:0;width:1px;background:rgba(181,99,47,.22);z-index:0}.clc-vtl-row{display:flex;gap:16px;padding:10px 0;align-items:flex-start;position:relative;z-index:1}.clc-vtl-marker{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--clc-accent);margin:6px 10px;box-shadow:0 0 0 5px rgba(181,99,47,.12);position:relative;z-index:2}.clc-vtl-num-marker{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid rgba(181,99,47,.4);background:var(--clc-surface);color:var(--clc-accent);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.clc-vtl-content strong{display:block;color:var(--clc-ink);font-size:14px;font-weight:600;margin-bottom:3px;line-height:1.3}.clc-vtl-content p{margin:0;color:var(--clc-muted);line-height:1.55;font-size:14px}.clc-vtl>li.clc-vtl-phase{padding:16px 0 4px;border-top:1px solid rgba(181,99,47,.14);margin-top:6px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(181,99,47,.7)}.clc-vtl>li.clc-vtl-phase:first-child{border-top:0;padding-top:0;margin-top:0}
@media(max-width:920px){.clc-world-clock{grid-template-columns:repeat(2,1fr)}.clc-services-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.clc-world-clock{grid-template-columns:1fr 1fr}.clc-clock-item{padding:26px 18px}.clc-clock-time{font-size:34px}.clc-services-cols{grid-template-columns:1fr}}

/* nextinluxury.com-derived look: scroll-reveal + Ken Burns (piloto home) */
.clc-tag{font-family:var(--clc-smallcaps);letter-spacing:.16em;font-size:10px}
.clc-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.clc-reveal.clc-vis{opacity:1;transform:none}
@keyframes clcKenBurns{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes clcKenPan{from{transform:scale(1) translate(0,0)}to{transform:scale(1.12) translate(-2%,-1.5%)}}
.clc-photo-frame img,.clc-origin-media img{animation:clcKenBurns 22s ease-out forwards}
.clc-gallery-strip img{animation:clcKenPan 26s ease-in-out infinite alternate}
.clc-gallery-strip>*:nth-child(2n) img{animation-duration:32s;animation-delay:-8s}

.clc-hero h1 .clc-word{display:inline-block;opacity:0;transform:translateY(120%);filter:blur(8px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1),filter .8s ease}
.clc-hero-content.clc-vis h1 .clc-word{opacity:1;transform:none;filter:blur(0)}
html:not(.js) .clc-hero h1 .clc-word,html:not(.js) .clc-reveal{opacity:1;transform:none;filter:none}

.clc-grid.clc-reveal .clc-card,.clc-flow.clc-reveal .clc-step{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.clc-grid.clc-reveal.clc-vis .clc-card,.clc-flow.clc-reveal.clc-vis .clc-step{opacity:1;transform:none}
html:not(.js) .clc-card,html:not(.js) .clc-step{opacity:1;transform:none}

/* ══════════════════════════════════════════════════════════════════════════
   Dark "chapter break" — ONE inverted section only (.clc-origin).
   First Light / El Destello de la Vida: a flash of light only reads against
   the dark. This is the alternating-chapter device (nextinluxury) applied with
   brand intent, not a repaint — every other section stays cream.
   ══════════════════════════════════════════════════════════════════════════ */
.clc-origin{background:var(--clc-chapter-bg);color:var(--clc-chapter-ink)}
.clc-origin:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 92% at 82% 16%,rgba(232,188,92,.11),transparent 58%)}
.clc-origin .clc-eyebrow{color:var(--clc-gold);border-bottom-color:var(--clc-chapter-line)}
.clc-origin h2{color:var(--clc-chapter-ink)}
.clc-origin p{color:var(--clc-chapter-muted)}
.clc-origin .clc-secondary{border:1px solid var(--clc-chapter-border);color:var(--clc-chapter-ink);background:transparent}
.clc-origin .clc-secondary:hover{border-color:var(--clc-gold);color:var(--clc-gold);opacity:1}
.clc-origin-quote{color:var(--clc-chapter-ink)!important;border-top-color:var(--clc-chapter-line)}

/* Duotone B&N treatment of the existing reception photo — CSS-only, no new asset
   (avoids Z-Image/FLUX OOM risk on genesis and an extra cache-busted image). */
.clc-origin-media{background:var(--clc-chapter-bg)}
.clc-origin-media img{filter:grayscale(1) contrast(1.06) brightness(.92)}
.clc-origin-media:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(23,18,12,.12),rgba(23,18,12,.58));mix-blend-mode:multiply}
.clc-origin-media:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:var(--clc-accent);mix-blend-mode:color;opacity:.24}

/* Pattern 1 — scroll cue: a hairline that grows downward then fades (editorial). */
.clc-scroll-cue{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;
  color:var(--clc-muted);z-index:2}
.clc-scroll-cue span{font-family:var(--clc-smallcaps);font-size:9px;letter-spacing:.34em;text-transform:uppercase}
.clc-scroll-cue i{display:block;width:1px;height:54px;transform-origin:top;
  background:linear-gradient(var(--clc-accent),transparent);animation:clcScrollLine 2.3s ease-in-out infinite}
@keyframes clcScrollLine{0%{transform:scaleY(0);opacity:.15}42%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
html:not(.js) .clc-scroll-cue{opacity:1}
@media(max-width:620px){.clc-scroll-cue{display:none}}

/* Pattern 2 — letter-spacing contraction for eyebrows/labels (was a generic fade). */
.clc-reveal .clc-eyebrow{opacity:0;letter-spacing:.66em;
  transition:opacity 1s ease,letter-spacing 1.1s cubic-bezier(.2,.7,.2,1)}
.clc-reveal.clc-vis .clc-eyebrow{opacity:1;letter-spacing:.18em}
html:not(.js) .clc-reveal .clc-eyebrow{opacity:1;letter-spacing:.18em}

/* Pattern 3 — "word drop": origin H2 words fall from above with a soft overshoot,
   distinct from the hero's rise-up entrance. */
.clc-origin h2 .clc-dropword{display:inline-block;opacity:0;transform:translateY(-95%);filter:blur(6px);
  transition:opacity .7s ease,transform .85s cubic-bezier(.2,1.28,.36,1),filter .7s ease}
.clc-origin.clc-vis h2 .clc-dropword{opacity:1;transform:none;filter:blur(0)}
html:not(.js) .clc-origin h2 .clc-dropword{opacity:1;transform:none;filter:none}
