/* Crest compact homepage: all presentation stays scoped to native blocks. */
.crh-home {
  --crh-paper:#f5efe4; --crh-cream:#fffaf0; --crh-forest:#0c3129;
  --crh-ink:#10241f; --crh-muted:#506158; --crh-copper:#984724;
  --crh-line:rgba(16,36,31,.18);
  margin:0!important; color:var(--crh-ink); background:var(--crh-paper);
  font-family:"Faustina",Georgia,serif; font-size:18px; line-height:1.62;
}
.crh-home * { box-sizing:border-box; }
.crh-home .wp-block-group,.crh-home figure,.crh-home p,.crh-home h1,.crh-home h2,.crh-home h3 { margin-block-start:0; margin-block-end:0; }
.crh-home .crh-section { padding:76px 0; max-width:none; }
.crh-home .crh-wrap { width:min(1260px,calc(100% - 80px)); margin-inline:auto; max-width:none; }
.crh-home .crh-eyebrow { color:var(--crh-copper); font-family:"Faustina",Georgia,serif; font-size:12px; font-weight:600; letter-spacing:.12em; line-height:1.5; text-transform:uppercase; margin-bottom:22px; }
.crh-home .crh-title,.crh-home .crh-heading,.crh-home .crh-card-title { font-family:"Lora",Georgia,serif; font-weight:400; letter-spacing:-.035em; color:inherit; text-wrap:balance; }
.crh-home .crh-title { font-size:clamp(42px,4vw,62px); line-height:1.12; margin-bottom:28px; }
.crh-home .crh-heading { font-size:clamp(32px,3.1vw,45px); line-height:1.19; }
.crh-home .crh-card-title { font-size:clamp(27px,2.5vw,36px); line-height:1.23; }
.crh-home .crh-body,.crh-home .crh-lead,.crh-home .crh-range-intro { color:var(--crh-muted); font-size:18px; line-height:1.65; }
.crh-home .crh-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:28px; }
.crh-home .crh-button { margin:0; }
.crh-home .crh-button .wp-block-button__link {
  display:inline-flex; align-items:center; justify-content:center; min-height:48px;
  padding:12px 22px; border:1px solid var(--crh-forest); border-radius:999px;
  background:var(--crh-forest); color:var(--crh-cream); text-decoration:none;
  font-family:"Faustina",Georgia,serif; font-size:16px; font-weight:600; line-height:1.3;
  transition:background .2s,color .2s; box-shadow:none;
}
.crh-home .crh-button-secondary .wp-block-button__link { background:transparent; color:var(--crh-forest); border-color:rgba(12,49,41,.3); }
.crh-home .crh-button .wp-block-button__link:hover { background:#16483b; border-color:#16483b; color:var(--crh-cream); }
.crh-home a:focus-visible { outline:3px solid #a94e29; outline-offset:5px; }
.crh-home .crh-hero { padding-top:40px; padding-bottom:56px; }
.crh-home .crh-hero-grid { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:58px; align-items:center; }
.crh-home .crh-hero-copy { padding:30px 0; min-width:0; }
.crh-home .crh-lead { max-width:510px; }
.crh-home .crh-hero-visual { min-width:0; position:relative; }
.crh-home .crh-hero-image { width:100%; height:560px; overflow:hidden; border-radius:2px 2px 96px 2px; }
.crh-home .crh-hero-image img { display:block; width:100%; height:100%!important; object-fit:cover; object-position:53% center; }
.crh-home .crh-photo-caption { padding-top:13px; color:var(--crh-muted); font-size:14px; }
.crh-home .crh-intro { padding:52px 0 58px; border-top:1px solid var(--crh-line); border-bottom:1px solid var(--crh-line); }
.crh-home .crh-intro-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:90px; align-items:start; }
.crh-home .crh-intro-copy { padding-top:8px; }
.crh-home .crh-intro-heading .crh-heading { font-size:clamp(31px,2.5vw,38px); }
.crh-home .crh-portfolio { background:var(--crh-cream); }
.crh-home .crh-range-top { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:90px; align-items:end; margin-bottom:38px; }
.crh-home .crh-range-intro { max-width:440px; padding-bottom:3px; }
.crh-home .crh-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.crh-home .crh-card { min-width:0; background:var(--crh-paper); border:1px solid var(--crh-line); display:flex; flex-direction:column; }
.crh-home .crh-card-image { width:100%; height:270px; overflow:hidden; }
.crh-home .crh-card-image img { display:block; width:100%; height:100%!important; object-fit:cover; }
.crh-home .crh-card-coffee .crh-card-image img { object-position:50% 55%; }
.crh-home .crh-card-frozen .crh-card-image img { object-position:50% 42%; }
.crh-home .crh-card-copy { display:flex; flex-direction:column; flex:1; padding:32px; }
.crh-home .crh-card-copy .crh-eyebrow { margin-bottom:15px; }
.crh-home .crh-card-copy .crh-body { margin-top:20px; }
.crh-home .crh-detail { margin-top:20px; color:var(--crh-forest); font-size:15px; font-weight:600; }
.crh-home .crh-saigon { margin-top:12px; color:var(--crh-copper); font-size:14px; }
.crh-home .crh-card-copy .crh-actions { padding-top:25px; margin-top:auto; }
.crh-home .crh-origins { background:var(--crh-forest); color:var(--crh-cream); padding:58px 0; }
.crh-home .crh-origins-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:50px; }
.crh-home .crh-origins .crh-eyebrow { color:#dfb274; }
.crh-home .crh-origins .crh-body { color:#e0e8dd; max-width:620px; margin-top:25px; }
.crh-home .crh-origins .crh-button .wp-block-button__link { background:var(--crh-cream); border-color:var(--crh-cream); color:var(--crh-forest); }
.crh-home .crh-origins .crh-button .wp-block-button__link:hover { background:#ece2d0; }
.crh-home .crh-regions { display:flex; flex-wrap:wrap; gap:24px; margin-top:28px; padding-top:22px; border-top:1px solid rgba(255,250,240,.23); }
.crh-home .crh-place { font-family:"Lora",Georgia,serif; font-size:18px; color:var(--crh-cream); }
.crh-home .crh-crop { font-size:14px; color:#d6e0d8; margin-top:5px; }
.crh-home .crh-map { width:min(100%,330px); margin:auto; }
.crh-home .crh-map img { display:block; width:100%; height:auto; }
.crh-home .crh-map-note { color:#d6e0d8; text-align:center; font-size:13px; margin-top:10px; }
.crh-home .crh-cta { background:#ece2d0; padding:66px 0; }
.crh-home .crh-cta-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:center; }
.crh-home .crh-credits { padding:18px 0; font-size:12px; color:#58645c; line-height:1.5; }
.crh-home .crh-section :where(div,article,figure) { min-width:0; }
/* Keep images correctly proportioned in the native editor's iframe as well. */
.editor-styles-wrapper .crh-home { margin-inline:0!important; }
.editor-styles-wrapper .crh-home .block-editor-block-list__layout { max-width:none; }
@media (max-width:1100px) {
 .crh-home .crh-wrap { width:calc(100% - 56px); }
 .crh-home .crh-hero-grid { gap:34px; }
 .crh-home .crh-hero-image { height:510px; }
 .crh-home .crh-intro-grid,.crh-home .crh-range-top,.crh-home .crh-cta-grid { gap:42px; }
 .crh-home .crh-card-copy { padding:26px; }
 .crh-home .crh-button .wp-block-button__link { font-size:15px; padding-inline:18px; }
}
@media (max-width:760px) {
 .crh-home .crh-wrap { width:calc(100% - 40px); }
 .crh-home .crh-section { padding:48px 0; }
 .crh-home .crh-hero { padding-top:28px; padding-bottom:36px; }
 .crh-home .crh-hero-grid,.crh-home .crh-intro-grid,.crh-home .crh-range-top,.crh-home .crh-cards,.crh-home .crh-origins-grid,.crh-home .crh-cta-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .crh-home .crh-hero-copy { padding:8px 0 0; }
 .crh-home .crh-title { font-size:clamp(35px,8.7vw,48px); line-height:1.18; margin-bottom:22px; }
 .crh-home .crh-heading { font-size:32px; }
 .crh-home .crh-eyebrow { font-size:11px; letter-spacing:.09em; margin-bottom:16px; }
 .crh-home .crh-body,.crh-home .crh-lead,.crh-home .crh-range-intro { font-size:17px; }
 .crh-home .crh-hero-image { height:330px; border-radius:2px 2px 64px 2px; }
 .crh-home .crh-intro-copy { padding-top:0; }
 .crh-home .crh-range-top { margin-bottom:28px; }
 .crh-home .crh-card-image { height:240px; }
 .crh-home .crh-card-copy { padding:25px 23px; }
 .crh-home .crh-card-title { font-size:29px; }
 .crh-home .crh-regions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 .crh-home .crh-region:last-child { grid-column:1/-1; }
 .crh-home .crh-map { max-width:280px; }
 .crh-home .crh-actions { gap:10px; margin-top:24px; }
 .crh-home .crh-credits { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) { .crh-home * { transition:none!important; } }
