@import 'tailwindcss';
:root { --cream:#f4efe8; --paper:#fbf9f5; --ink:#272321; --muted:#746b63; --line:#d9d0c6; --rose:#b35f66; --clay:#c88069; --espresso:#3b2b27; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.6; } a { color:inherit; text-decoration:none; } button, input, textarea, select { font:inherit; } img { display:block; max-width:100%; }
.site { overflow:hidden; } .wrap { width:min(1280px, calc(100% - 56px)); margin-inline:auto; } .grain { position:fixed; inset:0; pointer-events:none; opacity:.05; mix-blend-mode:multiply; z-index:4; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E"); }
.site-header { width:min(1400px, calc(100% - 56px)); margin:auto; min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:32px; border-bottom:1px solid var(--line); } .logo { display:flex; align-items:center; gap:11px; font-size:11px; font-weight:700; letter-spacing:.06em; line-height:1.1; text-transform:uppercase; } .logo-mark { display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--ink); border-radius:50%; font-size:10px; letter-spacing:-.02em; } .site-header nav { display:flex; align-items:center; gap:28px; font-size:13px; color:var(--muted); } .site-header nav a:not(.nav-cta) { transition:color .25s ease, transform .25s ease; } .site-header nav a:not(.nav-cta):hover { color:var(--ink); transform:translateY(-1px); } .nav-cta { padding:10px 15px; border:1px solid var(--ink); color:var(--ink); }
.eyebrow, .section-kicker { margin:0 0 18px; color:var(--rose); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; } h1, h2, h3, blockquote { font-family:Georgia, 'Times New Roman', serif; font-weight:400; letter-spacing:-.045em; line-height:1.03; } h1 { margin:0; font-size:clamp(52px, 7.2vw, 112px); max-width:900px; } h2 { margin:0; font-size:clamp(38px, 5vw, 70px); } h3 { margin:0; font-size:clamp(28px, 3vw, 42px); } p { margin:0 0 1.1em; } .lede { max-width:570px; margin-top:28px; color:var(--muted); font-size:clamp(18px, 2vw, 22px); line-height:1.55; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:50px; padding:13px 18px; border:1px solid transparent; font-size:12px; font-weight:700; letter-spacing:.04em; transition:transform .25s cubic-bezier(.16,1,.3,1), background .25s ease, color .25s ease; } .button:hover { transform:translateY(-2px); } .button:active { transform:translateY(0) scale(.98); } .button-dark { background:var(--ink); color:var(--paper); } .button-dark:hover { background:var(--espresso); } .button-rose { background:var(--rose); color:var(--paper); } .text-link { display:inline-flex; gap:12px; align-items:center; margin-top:22px; border-bottom:1px solid var(--ink); padding-bottom:4px; font-size:13px; font-weight:700; }
.home-hero { display:grid; grid-template-columns:minmax(0, .9fr) minmax(400px, 1.1fr); min-height:700px; align-items:center; gap:70px; padding-block:70px 110px; } .home-copy { padding-left:6vw; } .home-media { position:relative; min-height:600px; } .home-media img { width:100%; height:600px; object-fit:cover; filter:saturate(.75) sepia(.12); } .home-media:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg, var(--paper) -3%, transparent 35%), linear-gradient(0deg, rgba(39,35,33,.28), transparent 32%); pointer-events:none; } .image-caption { position:absolute; bottom:20px; left:24px; right:24px; display:flex; justify-content:space-between; color:white; font-size:11px; letter-spacing:.08em; text-transform:uppercase; z-index:1; } .hero-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:38px; }
.marquee { display:flex; gap:70px; width:max-content; padding:16px 0; border-block:1px solid var(--line); color:var(--rose); font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; animation:drift 26s linear infinite; } @keyframes drift { from{transform:translateX(-12%)} to{transform:translateX(8%)} } .home-intro { display:grid; grid-template-columns:1.1fr .9fr; gap:100px; padding-block:150px; } .home-intro h2 { max-width:720px; } .home-intro-copy { max-width:400px; align-self:end; color:var(--muted); } .feature-grid { display:grid; grid-template-columns:1.2fr .95fr .8fr; gap:18px; align-items:stretch; } .feature-card { min-height:440px; padding:36px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; } .feature-dark { background:var(--espresso); color:var(--paper); } .feature-dark .section-kicker, .feature-rose .section-kicker { color:#e5ad9f; } .feature-image { padding:0; background:#ddd0c4; color:var(--ink); } .feature-image img { width:100%; height:300px; object-fit:cover; filter:saturate(.72); } .feature-image div { padding:28px 30px; } .feature-rose { background:#c98d80; color:var(--ink); } .feature-arrow { font-size:32px; align-self:flex-end; } .home-quote { padding:160px 0 130px; max-width:1000px; } .quote-mark { color:var(--rose); font:100px/0.5 Georgia, serif; } .home-quote blockquote { font-size:clamp(36px, 5vw, 68px); max-width:900px; } .quote-credit { margin-top:36px; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.cta-band { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:58px 0 90px; border-top:1px solid var(--line); } .cta-band h2 { font-size:clamp(38px, 5vw, 62px); max-width:700px; } .site-footer { padding:80px 28px 26px; background:var(--ink); color:var(--paper); display:grid; grid-template-columns:1.1fr 1.9fr; gap:80px; } .site-footer .logo-mark { border-color:var(--paper); } .footer-brand p { max-width:270px; margin-top:28px; color:#bdb0a7; font-size:14px; } .footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; } .footer-links div { display:flex; flex-direction:column; gap:10px; color:#bdb0a7; font-size:13px; } .footer-links strong { color:var(--paper); font-size:11px; text-transform:uppercase; letter-spacing:.15em; margin-bottom:9px; } .footer-links a:hover { color:white; } .footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; padding-top:24px; border-top:1px solid #594b45; color:#978b84; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.page-hero { display:grid; grid-template-columns:1fr minmax(380px, .82fr); gap:85px; align-items:end; padding-block:56px 110px; } .page-hero-copy { padding-left:5vw; padding-bottom:32px; } .page-hero h1 { max-width:720px; font-size:clamp(50px, 6.6vw, 100px); } .breadcrumbs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:74px; color:var(--muted); font-size:11px; text-transform:capitalize; } .breadcrumbs span { display:flex; gap:8px; } .page-hero-media { height:580px; overflow:hidden; } .page-hero-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.72) sepia(.12); }
.content { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(280px, .55fr); gap:110px; padding-block:20px 130px; } .content-main { max-width:760px; } .content-main section { padding-block:40px; border-top:1px solid var(--line); } .content-main section:first-child { border-top:0; padding-top:0; } .content-main section h2 { font-size:clamp(36px, 4.2vw, 62px); max-width:730px; margin-bottom:28px; } .content-main section h3 { font-size:35px; } .content-main section p { color:var(--muted); font-size:18px; max-width:63ch; } .split-note { display:grid; grid-template-columns:.75fr 1.25fr; gap:45px; } .split-note h3 { letter-spacing:-.03em; } .guide-list ol { margin:0; padding-left:24px; color:var(--muted); font-size:18px; } .guide-list li { padding:12px 0 12px 10px; border-bottom:1px solid var(--line); } .location-note { background:#eee6de; padding:36px !important; border:0 !important; } .content-aside { align-self:start; position:sticky; top:30px; } .aside-card { padding:32px; background:#eee6de; margin-bottom:18px; } .aside-card h3 { margin-bottom:16px; font-size:36px; } .aside-card p { color:var(--muted); font-size:14px; } .aside-plain { background:transparent; border-top:1px solid var(--line); padding-inline:0; }
.related { padding-bottom:110px; } .related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; } .related-link { display:flex; justify-content:space-between; gap:24px; padding:22px 0; border-top:1px solid var(--line); font-family:Georgia, serif; font-size:23px; } .related-link:hover { color:var(--rose); } .hub-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding-bottom:130px; } .hub-card { min-height:270px; padding:27px; border-top:1px solid var(--ink); position:relative; transition:background .25s ease, transform .25s ease; } .hub-card:hover { background:#eee6de; transform:translateY(-4px); } .hub-card-featured { grid-column:span 2; min-height:340px; background:#eee6de; } .hub-number { display:block; color:var(--rose); font-size:11px; letter-spacing:.12em; } .hub-label { display:block; margin-top:42px; max-width:460px; font:34px/1.02 Georgia, serif; letter-spacing:-.04em; } .hub-card p { max-width:400px; margin-top:18px; color:var(--muted); font-size:14px; } .hub-arrow { position:absolute; top:24px; right:25px; font-size:22px; }
.request-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; padding-bottom:140px; } .request-grid h2 { margin-bottom:25px; } .request-grid>div>p { color:var(--muted); max-width:430px; } .request-points { margin-top:40px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; } .request-points p { display:flex; gap:18px; border-bottom:1px solid var(--line); padding:12px 0; } .request-points strong { color:var(--rose); font-size:11px; } .form-card { padding:38px; background:#eee6de; } .lead-form { display:grid; gap:20px; } .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; } .lead-form label { display:grid; gap:7px; color:var(--ink); font-size:12px; font-weight:700; } .lead-form label span em { color:var(--muted); font-style:normal; font-weight:400; } .lead-form input:not([type='checkbox']), .lead-form select, .lead-form textarea { width:100%; border:1px solid #cfc4ba; border-radius:0; background:var(--paper); color:var(--ink); padding:12px 13px; outline:none; } .lead-form textarea { resize:vertical; } .lead-form input:not([type='checkbox']):focus, .lead-form select:focus, .lead-form textarea:focus { border-color:var(--rose); box-shadow:0 0 0 3px rgba(179,95,102,.14); } .consent { display:flex !important; gap:10px !important; align-items:flex-start; color:var(--muted) !important; font-weight:400 !important; line-height:1.45; } .consent input { margin-top:4px; accent-color:var(--rose); } .form-note, .form-status { margin:0; color:var(--muted); font-size:12px; } .form-status.success { color:#50725c; } .form-status.error { color:#9a4d4b; }
@media (max-width:900px) { .site-header nav { gap:14px; } .home-hero, .page-hero { grid-template-columns:1fr; gap:40px; } .home-copy, .page-hero-copy { padding-left:0; } .home-media, .page-hero-media { min-height:430px; height:430px; } .home-intro, .content, .request-grid { grid-template-columns:1fr; gap:50px; } .content-aside { position:static; max-width:500px; } .feature-grid { grid-template-columns:1fr 1fr; } .feature-card:first-child { grid-row:span 2; } .feature-card:last-child { min-height:300px; } .hub-grid { grid-template-columns:1fr 1fr; } .hub-card-featured { grid-column:span 2; } }
@media (max-width:640px) { .wrap, .site-header { width:calc(100% - 32px); } .site-header { min-height:76px; } .site-header nav a:not(.nav-cta) { display:none; } .nav-cta { padding:8px 11px; } .home-hero { min-height:auto; padding-block:48px 80px; } h1 { font-size:clamp(48px, 15vw, 76px); } .home-media, .page-hero-media { min-height:360px; height:360px; } .home-intro { padding-block:90px; } .home-intro, .content { gap:35px; } .feature-grid, .hub-grid, .related-grid { grid-template-columns:1fr; } .feature-card:first-child, .hub-card-featured { grid-column:auto; grid-row:auto; } .feature-card { min-height:320px; } .hub-card-featured { min-height:270px; } .page-hero { padding-block:36px 80px; } .breadcrumbs { margin-bottom:46px; } .split-note { grid-template-columns:1fr; gap:15px; } .form-grid { grid-template-columns:1fr; } .form-card { padding:22px 18px; } .cta-band { flex-direction:column; align-items:flex-start; padding-bottom:70px; } .site-footer { padding:56px 20px 24px; grid-template-columns:1fr; gap:45px; } .footer-links { grid-template-columns:1fr 1fr; } .footer-links div:last-child { grid-column:span 2; } .footer-bottom { flex-direction:column; gap:8px; } } @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *:before, *:after { animation-duration:.001ms !important; transition-duration:.001ms !important; } }
.page-hero { position:relative; display:block; min-height:640px; padding-block:58px 90px; background:var(--espresso); color:var(--paper); overflow:hidden; }
.page-hero:after { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg, rgba(39,35,33,.9) 0%, rgba(39,35,33,.58) 38%, rgba(39,35,33,.12) 100%), linear-gradient(0deg, rgba(39,35,33,.56), transparent 60%); }
.page-hero-media { position:absolute; inset:0; z-index:0; height:auto; min-height:0; background-position:center; background-size:cover; background-repeat:no-repeat; filter:saturate(.78) sepia(.12); opacity:.92; }
.page-hero-copy { position:relative; z-index:1; max-width:900px; padding:0 5vw; }
.page-hero .breadcrumbs { color:#dfd4cc; margin-bottom:90px; }
.page-hero .breadcrumbs a:hover { color:white; }
.page-hero .eyebrow { color:#e5ad9f; }
.page-hero .lede { color:#e3d8d0; }
.home-gallery { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:16px; padding-block:20px 130px; }
.home-gallery figure, .editorial-images figure { margin:0; }
.home-gallery img { width:100%; height:420px; object-fit:cover; filter:saturate(.78) sepia(.1); }
.home-gallery-wide { grid-row:span 2; }
.home-gallery-wide img { height:860px; }
.home-gallery figcaption, .editorial-images figcaption { padding-top:10px; color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.editorial-images { display:grid; grid-template-columns:1.05fr .95fr; gap:18px; padding-bottom:120px; }
.editorial-images img { width:100%; height:460px; object-fit:cover; filter:saturate(.78) sepia(.1); }
.editorial-images .editorial-image-tall img { height:620px; }
.skip-link { position:fixed; left:16px; top:12px; z-index:20; transform:translateY(-160%); padding:10px 14px; background:var(--ink); color:var(--paper); font-size:12px; font-weight:700; transition:transform .2s ease; }
.skip-link:focus { transform:translateY(0); }
.hub-card { overflow:hidden; }
.hub-card-image { display:block; width:calc(100% + 54px); height:190px; margin:-27px -27px 24px; object-fit:cover; filter:saturate(.72) sepia(.1); transition:transform .45s cubic-bezier(.16,1,.3,1), filter .3s ease; }
.hub-card:hover .hub-card-image { transform:scale(1.045); filter:saturate(.88) sepia(.06); }
.hub-card-featured .hub-card-image { height:250px; }
.hub-label { margin-top:0; }
.answer-block { background:#eee6de; padding:42px !important; border-top:0 !important; }
.answer-block p:not(.section-kicker) { color:var(--ink) !important; font-size:20px !important; }
.keyword-note { margin-top:26px; color:var(--rose) !important; font-size:11px !important; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.faq-section dl { margin:0; }
.faq-section dl>div { padding:20px 0; border-top:1px solid var(--line); }
.faq-section dt { font:24px/1.15 Georgia, serif; }
.faq-section dd { margin:10px 0 0; color:var(--muted); font-size:17px; }
.button span[aria-hidden="true"], .text-link span[aria-hidden="true"], .nav-cta span[aria-hidden="true"], .related-link span[aria-hidden="true"], .hub-arrow, .feature-arrow { display:none !important; }
@media (max-width:900px) { .page-hero { min-height:560px; } .page-hero .breadcrumbs { margin-bottom:60px; } .home-gallery { grid-template-columns:1fr 1fr; } .home-gallery-wide { grid-column:span 2; grid-row:auto; } .home-gallery-wide img { height:520px; } }
@media (max-width:640px) { .page-hero { min-height:560px; padding-block:36px 70px; } .page-hero-copy { padding-inline:0; } .page-hero .breadcrumbs { margin-bottom:52px; } .home-gallery, .editorial-images { grid-template-columns:1fr; padding-bottom:90px; } .home-gallery-wide { grid-column:auto; } .home-gallery img, .home-gallery-wide img, .editorial-images img, .editorial-images .editorial-image-tall img { height:360px; } .answer-block { padding:26px !important; } .hub-card-image, .hub-card-featured .hub-card-image { height:200px; } }
.home-hero { position:relative; display:flex; align-items:center; width:100%; min-height:calc(100svh - 92px); margin:0; padding:0; overflow:hidden; background:var(--espresso); color:var(--paper); }
.home-hero-media { position:absolute; inset:0; z-index:0; background-image:linear-gradient(90deg, rgba(39,35,33,.88) 0%, rgba(39,35,33,.58) 39%, rgba(39,35,33,.08) 100%), linear-gradient(0deg, rgba(39,35,33,.52), transparent 55%), url('/images/ibc-home-hero-desktop.png'); background-size:cover; background-position:center; filter:saturate(.8) sepia(.08); }
.home-copy { position:relative; z-index:1; width:min(740px, 92vw); padding:clamp(56px, 9vw, 130px); padding-right:24px; }
.home-copy .eyebrow { color:#e5ad9f; }
.home-copy .lede { color:#eee3db; }
.button-light { background:var(--paper); color:var(--ink); }
.button-light:hover { background:white; color:var(--espresso); }
.text-link-light { color:var(--paper); border-color:var(--paper); }
.home-hero .image-caption { left:auto; right:clamp(24px, 5vw, 70px); bottom:clamp(24px, 4vw, 48px); }
.page-hero { width:100%; margin:0; border-radius:0; }
.combo-hero .page-hero-media { background: radial-gradient(circle at 18% 22%, rgba(229,173,159,.42), transparent 28%), radial-gradient(circle at 82% 70%, rgba(225,213,194,.28), transparent 32%), linear-gradient(135deg, #59423e, #272321 68%); filter:none; opacity:1; }
.home-gallery { gap:10px; padding-block:14px 96px; }
.editorial-images { gap:10px; padding-bottom:96px; }
.home-gallery figcaption, .editorial-images figcaption { padding-top:8px; }
.hub-grid { gap:10px; padding-bottom:104px; }
.related { padding-bottom:90px; }
.hub-grid-text .hub-label { margin-top:42px; }
@media (max-width:900px) { .home-hero { min-height:calc(100svh - 76px); } .home-copy { width:min(680px, 94vw); padding-left:6vw; } }
@media (max-width:640px) { .home-hero { min-height:calc(100svh - 76px); } .home-hero-media { background-image:linear-gradient(180deg, rgba(39,35,33,.28) 0%, rgba(39,35,33,.78) 78%), url('/images/ibc-home-hero-mobile.png'); background-position:center; } .home-copy { width:100%; padding:34vh 24px 90px; } .home-copy h1 { font-size:clamp(48px, 15vw, 76px); } .home-hero .image-caption { left:24px; right:24px; bottom:24px; } .page-hero { min-height:620px; } .home-gallery, .editorial-images { gap:10px; padding-bottom:72px; } }
