:root {
  --espresso: #0f0d0e;
  --espresso-2: #171314;
  --espresso-3: #211a18;
  --cream: #f5efe6;
  --cream-2: #e9dfd1;
  --sand: #c09a6b;
  --sand-light: #d9ba91;
  --ink: #171311;
  --muted: #8f8780;
  --line-dark: rgba(245, 239, 230, .13);
  --line-light: rgba(15, 13, 14, .12);
  --ease: cubic-bezier(.22, 1, .36, 1);
  --section-x: clamp(22px, 5vw, 88px);
  --header-h: 82px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--espresso); }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: clip;
  background: var(--cream);
  color: var(--ink);
  font-family: "Manrope", "DM Sans", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
::selection { background: var(--sand); color: var(--espresso); }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
svg { display: block; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.skip-link {
  position: fixed; left: 18px; top: 12px; z-index: 9999; transform: translateY(-150%);
  background: var(--cream); color: var(--ink); padding: 10px 14px; border-radius: 999px;
  transition: transform .25s ease;
}
.skip-link:focus { transform: translateY(0); }
.section-pad { padding-left: var(--section-x); padding-right: var(--section-x); }
.noise-layer {
  position: fixed; inset: 0; z-index: 1000; pointer-events: none; opacity: .035; mix-blend-mode: soft-light;
  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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
.page-transition { display: none; position: fixed; inset: 0; z-index: 9998; pointer-events: none; background: var(--espresso); transform: translateY(0); }
.js .page-transition { display: block; }
.page-transition span { position: absolute; width: 150px; height: 150px; left: 50%; top: 50%; transform: translate(-50%, -50%); border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }
.cursor-dot, .cursor-glow { position: fixed; left: 0; top: 0; z-index: 9997; pointer-events: none; opacity: 0; }
.cursor-dot { width: 6px; height: 6px; margin: -3px; background: var(--cream); border-radius: 50%; mix-blend-mode: difference; }
.cursor-glow { width: 42px; height: 42px; margin: -21px; border: 1px solid rgba(245,239,230,.55); border-radius: 50%; mix-blend-mode: difference; transition: width .25s var(--ease), height .25s var(--ease), margin .25s var(--ease), background .25s; }
.cursor-glow.is-hover { width: 74px; height: 74px; margin: -37px; background: rgba(245,239,230,.08); }

.site-header { position: fixed; top: 0; left: 0; width: 100%; z-index: 200; padding: 14px var(--section-x); color: var(--cream); transition: padding .45s var(--ease), color .35s; }
.header-shell { height: 62px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 10px 0 20px; border: 1px solid transparent; border-radius: 20px; transition: all .45s var(--ease); }
.site-header.is-scrolled { padding-top: 9px; }
.site-header.is-scrolled .header-shell { height: 58px; background: rgba(15,13,14,.7); border-color: rgba(255,255,255,.11); box-shadow: 0 15px 60px rgba(0,0,0,.18); backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); }
.brand-link { width: 146px; display: inline-flex; align-items: center; }
.brand-link img { width: 100%; height: auto; }
.desktop-nav { display: flex; align-items: center; gap: 28px; }
.nav-link { position: relative; padding: 8px 0; font-size: 13px; font-weight: 600; letter-spacing: .02em; color: rgba(245,239,230,.68); transition: color .25s; }
.nav-link::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 2px; height: 1px; background: var(--cream); transition: right .4s var(--ease); }
.nav-link:hover, .nav-link.is-active { color: var(--cream); }
.nav-link:hover::after, .nav-link.is-active::after { right: 0; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 10px; }
.menu-pill { height: 42px; display: inline-flex; align-items: center; gap: 12px; padding: 0 10px 0 17px; border: 1px solid rgba(245,239,230,.28); border-radius: 999px; background: rgba(15,13,14,.18); backdrop-filter: blur(10px); font-size: 12px; font-weight: 700; letter-spacing: .02em; transition: background .3s, color .3s, border-color .3s; }
.menu-pill svg { width: 25px; height: 25px; padding: 6px; border-radius: 50%; background: var(--cream); color: var(--espresso); }
.menu-pill:hover { background: var(--cream); color: var(--espresso); border-color: var(--cream); }
.menu-pill:hover svg { background: var(--espresso); color: var(--cream); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(245,239,230,.25); border-radius: 50%; background: rgba(15,13,14,.2); cursor: pointer; }
.menu-toggle span { display: block; width: 16px; height: 1px; margin: 5px auto; background: currentColor; }
.mobile-menu { position: fixed; inset: 0; z-index: 300; pointer-events: none; visibility: hidden; }
.mobile-menu.is-open { pointer-events: auto; visibility: visible; }
.mobile-menu-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.52); opacity: 0; backdrop-filter: blur(8px); transition: opacity .45s; }
.mobile-menu-panel { position: absolute; right: 0; top: 0; width: min(91vw, 480px); height: 100%; padding: 24px; background: var(--espresso); color: var(--cream); transform: translateX(105%); transition: transform .6s var(--ease); display: flex; flex-direction: column; }
.mobile-menu.is-open .mobile-menu-backdrop { opacity: 1; }
.mobile-menu.is-open .mobile-menu-panel { transform: translateX(0); }
.mobile-menu-top { display: flex; justify-content: space-between; align-items: center; }
.mobile-menu-top img { width: 132px; }
.mobile-menu-close { border: 1px solid var(--line-dark); background: transparent; width: 44px; height: 44px; border-radius: 50%; font-size: 25px; cursor: pointer; }
.mobile-menu nav { display: grid; margin: auto 0; }
.mobile-menu nav a { display: flex; align-items: baseline; gap: 15px; padding: 13px 0; border-bottom: 1px solid var(--line-dark); font-family: "Playfair Display", serif; font-size: clamp(30px, 8vw, 48px); line-height: 1.15; }
.mobile-menu nav a span { font-family: "Manrope", sans-serif; font-size: 10px; color: var(--sand); }
.mobile-menu-meta { display: flex; justify-content: space-between; gap: 15px; font-size: 12px; color: rgba(245,239,230,.6); }

.section-kicker { display: flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: .18em; font-size: 10px; font-weight: 800; color: #74685f; }
.section-kicker::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.section-kicker.light { color: rgba(245,239,230,.7); }
.display-title { margin: 0; font-family: "Manrope", sans-serif; font-size: clamp(42px, 6.2vw, 92px); letter-spacing: -.06em; line-height: .99; font-weight: 600; }
.display-title em, .signature-title em, .inner-hero h1 em, .final-cta h2 em, .about-quote em, .error-copy h1 em { font-family: "Playfair Display", serif; font-weight: 500; letter-spacing: -.03em; }
.text-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 700; }
.text-link svg { width: 18px; height: 18px; transition: transform .3s var(--ease); }
.text-link:hover svg { transform: translate(3px, -3px); }
.primary-cta, .ghost-cta { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 58px; border-radius: 999px; font-size: 13px; font-weight: 700; transition: transform .35s var(--ease), background .35s, color .35s, border-color .35s; }
.primary-cta { padding: 7px 8px 7px 23px; background: var(--cream); color: var(--espresso); border: 1px solid var(--cream); }
.primary-cta .cta-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--espresso); color: var(--cream); }
.primary-cta .cta-icon svg { width: 20px; height: 20px; }
.primary-cta:hover { transform: translateY(-3px); background: var(--sand-light); border-color: var(--sand-light); }
.primary-cta.light { background: rgba(245,239,230,.96); }
.ghost-cta { padding: 7px 0; color: inherit; }
.ghost-cta span { font-size: 16px; }
.ghost-cta:hover { transform: translateY(-2px); }

.hero { position: relative; min-height: 100svh; background: var(--espresso); color: var(--cream); overflow: hidden; isolation: isolate; }
.hero-media { position: absolute; inset: 0; z-index: -4; }
.hero-image { position: absolute; background-position: center; background-size: cover; will-change: transform; }
.hero-image-main { inset: 0; background-image: url("/assets/img/gallery/ig-07.webp"); filter: saturate(.72) contrast(1.08) brightness(.55); transform: scale(1.06); }
.hero-image-detail { width: min(34vw, 520px); aspect-ratio: .84; right: 6vw; top: 18vh; border-radius: 180px 180px 26px 26px; background-image: url("/assets/img/gallery/ig-11.webp"); box-shadow: 0 35px 100px rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.18); filter: saturate(.75) brightness(.76); }
.hero-vignette { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,13,14,.95) 0%, rgba(15,13,14,.6) 42%, rgba(15,13,14,.18) 75%), linear-gradient(0deg, rgba(15,13,14,.82), transparent 55%); }
.hero-grain { position: absolute; inset: 0; opacity: .15; background: radial-gradient(circle at 70% 40%, rgba(192,154,107,.28), transparent 32%); }
.hero-orbit { position: absolute; border: 1px solid rgba(245,239,230,.12); border-radius: 50%; pointer-events: none; }
.hero-orbit-one { width: 42vw; height: 42vw; right: -8vw; top: -10vw; }
.hero-orbit-two { width: 20vw; height: 20vw; right: 18vw; bottom: -11vw; }
.hero-content { min-height: 100svh; padding-top: clamp(145px, 19vh, 205px); padding-bottom: 130px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.hero-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 25px; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: rgba(245,239,230,.67); }
.hero-eyebrow span { width: 34px; height: 1px; background: currentColor; }
.hero-title { position: relative; z-index: 2; margin: 0; max-width: 1040px; font-size: clamp(55px, 8.6vw, 142px); letter-spacing: -.075em; line-height: .83; font-weight: 600; }
.hero-line { display: block; }
.hero-line-italic { padding-left: clamp(20px, 6vw, 110px); font-family: "Playfair Display", serif; font-style: italic; font-weight: 500; letter-spacing: -.045em; color: var(--cream-2); }
.hero-copy { max-width: 465px; margin: 34px 0 0 clamp(0px, 10vw, 170px); color: rgba(245,239,230,.72); font-size: clamp(15px, 1.3vw, 19px); }
.hero-actions { display: flex; align-items: center; gap: 27px; margin: 35px 0 0 clamp(0px, 10vw, 170px); }
.hero-footer { position: absolute; left: var(--section-x); right: var(--section-x); bottom: 24px; display: flex; align-items: center; gap: 15px; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: rgba(245,239,230,.46); }
.hero-footer span:last-child { margin-left: auto; }
.scroll-line { width: 78px; height: 1px; background: rgba(245,239,230,.18); overflow: hidden; }
.scroll-line i { display: block; width: 40%; height: 100%; background: var(--cream); animation: scrollLine 2s ease-in-out infinite; }
@keyframes scrollLine { 0% { transform: translateX(-120%); } 100% { transform: translateX(320%); } }

.manifesto { padding-top: clamp(110px, 15vw, 220px); padding-bottom: clamp(85px, 12vw, 170px); background: var(--cream); }
.manifesto-grid { display: grid; grid-template-columns: minmax(140px, .52fr) 2fr; gap: 50px; }
.manifesto-grid > div:last-child { display: grid; grid-template-columns: 1.45fr .65fr; gap: clamp(35px, 7vw, 110px); align-items: end; }
.manifesto-copy { padding-bottom: 6px; }
.manifesto-copy p { margin: 0 0 34px; font-size: 16px; line-height: 1.75; color: #5f554e; }

.story-cards { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; padding-bottom: clamp(120px, 16vw, 230px); background: var(--cream); perspective: 1400px; }
.story-card { position: relative; min-height: 670px; overflow: hidden; border-radius: 28px; color: var(--cream); isolation: isolate; transform-style: preserve-3d; box-shadow: 0 18px 70px rgba(35,24,18,.12); }
.story-card:nth-child(1) { grid-column: 1 / 6; }
.story-card:nth-child(2) { grid-column: 6 / 10; margin-top: 110px; }
.story-card:nth-child(3) { grid-column: 10 / 13; margin-top: 35px; }
.story-card-media, .story-card-media::after { position: absolute; inset: 0; }
.story-card-media::after { content: ""; background: linear-gradient(0deg, rgba(15,13,14,.9), rgba(15,13,14,.05) 68%); }
.story-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease), filter .8s; filter: saturate(.7) brightness(.83); }
.story-card:hover .story-card-media img { transform: scale(1.055); filter: saturate(.9) brightness(.9); }
.story-card-number { position: absolute; top: 24px; right: 24px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; font-size: 10px; backdrop-filter: blur(10px); }
.story-card-content { position: absolute; left: 0; right: 0; bottom: 0; padding: 32px; transform: translateZ(35px); }
.story-card-content > span { text-transform: uppercase; font-size: 9px; font-weight: 800; letter-spacing: .18em; color: var(--sand-light); }
.story-card-content h3 { margin: 13px 0 16px; font-size: clamp(31px, 3vw, 51px); line-height: 1; letter-spacing: -.05em; font-weight: 600; }
.story-card-content p { max-width: 360px; margin: 0; color: rgba(245,239,230,.68); font-size: 13px; }
.story-card:nth-child(3) .story-card-content { padding: 25px; }
.story-card:nth-child(3) .story-card-content h3 { font-size: clamp(27px, 2.4vw, 40px); }

.signature-scene { height: 165vh; position: relative; background: var(--espresso); }
.signature-sticky { position: sticky; top: 0; min-height: 100svh; overflow: hidden; color: var(--cream); }
.signature-image { position: absolute; inset: -8%; background: url("/assets/img/gallery/ig-12.webp") center/cover; filter: saturate(.68) brightness(.48); }
.signature-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,13,14,.9) 0%, rgba(15,13,14,.38) 68%, rgba(15,13,14,.64)), linear-gradient(0deg, rgba(15,13,14,.8), transparent 55%); }
.signature-content { position: relative; min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto; padding-top: 130px; padding-bottom: 70px; }
.signature-title { align-self: center; margin: 0; font-size: clamp(53px, 8.5vw, 138px); line-height: .9; letter-spacing: -.07em; font-weight: 600; }
.signature-title span, .signature-title em { display: block; }
.signature-title em { padding-left: clamp(20px, 12vw, 190px); color: var(--cream-2); }
.signature-meta { display: grid; grid-template-columns: minmax(240px, 410px) auto; gap: 40px; align-items: end; justify-content: space-between; margin-left: clamp(0px, 12vw, 190px); }
.signature-meta p { margin: 0; color: rgba(245,239,230,.65); }

.location-section { padding-top: clamp(110px, 15vw, 210px); padding-bottom: clamp(110px, 15vw, 210px); background: var(--cream); }
.location-card { position: relative; min-height: 620px; display: block; overflow: hidden; border-radius: 34px; background: #d8c8b5; }
.location-map { position: absolute; inset: 0; background: radial-gradient(circle at 65% 38%, rgba(255,255,255,.8), transparent 28%), linear-gradient(135deg, #d9ccbb, #bba58e); }
.map-grid { position: absolute; inset: 0; opacity: .26; background-image: linear-gradient(rgba(15,13,14,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(15,13,14,.13) 1px, transparent 1px); background-size: 48px 48px; transform: rotate(-7deg) scale(1.2); }
.map-road { position: absolute; display: block; height: 20px; background: rgba(245,239,230,.85); border: 1px solid rgba(15,13,14,.08); border-radius: 999px; box-shadow: 0 0 0 6px rgba(245,239,230,.25); }
.road-one { width: 78%; left: -5%; top: 55%; transform: rotate(-18deg); }
.road-two { width: 64%; right: -4%; top: 25%; transform: rotate(29deg); }
.road-three { width: 52%; right: 8%; bottom: 13%; transform: rotate(-53deg); }
.location-pin { position: absolute; left: 68%; top: 44%; width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; background: var(--espresso); box-shadow: 0 14px 45px rgba(15,13,14,.28); animation: pinPulse 2.4s ease-in-out infinite; }
.location-pin::after { content: "co"; color: var(--cream); font-family: "Playfair Display", serif; font-size: 25px; }
.location-pin i { position: absolute; inset: -14px; border: 1px solid rgba(15,13,14,.3); border-radius: 50%; }
@keyframes pinPulse { 50% { transform: translateY(-8px); box-shadow: 0 24px 52px rgba(15,13,14,.2); } }
.location-content { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(28px, 5vw, 68px); background: linear-gradient(90deg, rgba(245,239,230,.95), rgba(245,239,230,.44) 54%, transparent 80%); }
.location-label { display: inline-block; margin-bottom: 22px; text-transform: uppercase; font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.location-content h2 { margin: 0; font-size: clamp(43px, 6.3vw, 90px); line-height: .95; letter-spacing: -.065em; }
.location-content h2 em { font-family: "Playfair Display", serif; font-weight: 500; }
.location-details { display: flex; align-items: end; gap: 30px; justify-content: space-between; }
.location-details p { max-width: 330px; margin: 0; color: #5d5149; }
.location-details span { display: inline-flex; gap: 10px; align-items: center; font-size: 12px; font-weight: 800; }
.location-details svg { width: 18px; }

.final-cta { padding-top: 80px; padding-bottom: 170px; background: var(--cream); }
.final-cta-inner { position: relative; min-height: 660px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.final-cta-mark { position: absolute; right: 4%; top: 30px; width: 78px; height: 78px; display: grid; place-items: center; border: 1px solid var(--line-light); border-radius: 50%; font-family: "Playfair Display", serif; font-size: 29px; }
.final-cta-inner > p { margin: 0 0 25px; text-transform: uppercase; font-size: 10px; font-weight: 800; letter-spacing: .18em; color: #76685f; }
.final-cta h2 { margin: 0 0 38px; font-size: clamp(44px, 6.3vw, 94px); line-height: .96; letter-spacing: -.07em; }
.final-cta .primary-cta { background: var(--espresso); color: var(--cream); border-color: var(--espresso); }
.final-cta .primary-cta .cta-icon { background: var(--cream); color: var(--espresso); }

.inner-hero { position: relative; min-height: 92svh; overflow: hidden; background: var(--espresso); color: var(--cream); }
.inner-hero-media { position: absolute; inset: -4%; background-position: center; background-size: cover; filter: saturate(.64) brightness(.52); }
.about-hero-media { background-image: url("/assets/img/gallery/ig-12.webp"); }
.contact-hero-media { background-image: url("/assets/img/gallery/ig-07.webp"); }
.inner-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,13,14,.93), rgba(15,13,14,.25) 75%), linear-gradient(0deg, rgba(15,13,14,.72), transparent 60%); }
.inner-hero-content { position: relative; min-height: 92svh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-top: 145px; padding-bottom: 110px; }
.inner-hero h1 { max-width: 1120px; margin: 24px 0 30px; font-size: clamp(53px, 8vw, 130px); line-height: .88; letter-spacing: -.075em; }
.inner-hero-content > p { max-width: 600px; margin: 0 0 0 clamp(0px, 9vw, 150px); font-size: clamp(16px, 1.6vw, 21px); color: rgba(245,239,230,.68); }
.inner-hero-index { position: absolute; left: var(--section-x); bottom: 25px; text-transform: uppercase; font-size: 9px; letter-spacing: .17em; color: rgba(245,239,230,.48); }

.about-intro { display: grid; grid-template-columns: .7fr 2fr; gap: clamp(40px, 9vw, 145px); padding-top: clamp(120px, 15vw, 220px); padding-bottom: clamp(120px, 15vw, 220px); }
.about-intro-aside span { display: block; margin-bottom: 35px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
.about-intro-aside p { max-width: 280px; margin: 0; color: #6a5d55; }
.about-intro-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; margin-top: 60px; color: #655950; }
.about-intro-columns p { margin: 0; }
.philosophy-pin { min-height: 300vh; position: relative; display: grid; grid-template-columns: 1fr 1fr; background: var(--espresso); color: var(--cream); }
.philosophy-copy, .philosophy-visuals { position: sticky; top: 0; height: 100svh; }
.philosophy-copy { padding-top: 120px; padding-bottom: 70px; display: flex; flex-direction: column; }
.philosophy-progress { width: 100%; height: 1px; margin-top: 35px; background: var(--line-dark); overflow: hidden; }
.philosophy-progress i { display: block; height: 100%; width: 33.33%; background: var(--sand); transform-origin: left; }
.philosophy-texts { position: relative; flex: 1; }
.philosophy-text { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; opacity: 0; transform: translateY(35px); pointer-events: none; }
.philosophy-text.is-active { opacity: 1; transform: translateY(0); }
.philosophy-text > span { color: var(--sand); font-size: 10px; letter-spacing: .2em; }
.philosophy-text h2 { margin: 22px 0 26px; font-size: clamp(49px, 5.8vw, 88px); line-height: .92; letter-spacing: -.065em; }
.philosophy-text h2 em { font-family: "Playfair Display", serif; font-weight: 500; }
.philosophy-text p { max-width: 460px; margin: 0; color: rgba(245,239,230,.61); }
.philosophy-visuals { overflow: hidden; }
.philosophy-visual { position: absolute; inset: 0; margin: 0; opacity: 0; clip-path: inset(100% 0 0 0); }
.philosophy-visual.is-active { opacity: 1; clip-path: inset(0 0 0 0); }
.philosophy-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) brightness(.72); }
.values-section { padding-top: clamp(120px, 15vw, 210px); padding-bottom: clamp(120px, 15vw, 210px); }
.values-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 55px; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.value-card { min-height: 360px; padding: 30px; border-right: 1px solid var(--line-light); display: flex; flex-direction: column; }
.value-card:last-child { border-right: 0; }
.value-card > span { font-size: 10px; color: #75685f; }
.value-card h3 { margin: auto 0 18px; font-size: clamp(26px, 2.4vw, 38px); letter-spacing: -.04em; }
.value-card p { margin: 0; color: #6a5d55; font-size: 13px; }
.about-quote { padding-top: 80px; padding-bottom: 190px; }
.about-quote blockquote { margin: 0; font-size: clamp(50px, 7.7vw, 117px); line-height: .93; letter-spacing: -.07em; }
.about-quote-meta { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-top: 60px; padding-top: 25px; border-top: 1px solid var(--line-light); font-size: 12px; }

.contact-overview { padding-top: clamp(120px, 14vw, 200px); padding-bottom: 100px; }
.contact-overview-grid { display: grid; grid-template-columns: .85fr 1.4fr; gap: clamp(50px, 10vw, 150px); margin-top: 45px; }
.contact-intro p { max-width: 450px; margin: 35px 0 0; color: #665950; }
.contact-details-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.contact-detail-card { min-height: 230px; display: flex; flex-direction: column; padding: 25px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); transition: background .35s, color .35s; }
.contact-detail-card:hover { background: var(--espresso); color: var(--cream); }
.contact-detail-card > span { font-size: 9px; text-transform: uppercase; letter-spacing: .16em; color: var(--muted); }
.contact-detail-card strong { margin: auto 0 12px; font-size: clamp(18px, 1.6vw, 25px); line-height: 1.3; letter-spacing: -.03em; overflow-wrap: anywhere; }
.contact-detail-card small { font-size: 11px; color: #7a6d64; }
.contact-detail-card:hover small { color: rgba(245,239,230,.6); }
.map-section { padding-bottom: clamp(120px, 14vw, 190px); }
.map-shell { position: relative; height: min(68vw, 700px); min-height: 480px; overflow: hidden; border-radius: 30px; background: #d8ccbc; }
.map-shell iframe { width: 100%; height: 100%; border: 0; filter: grayscale(1) sepia(.18) contrast(.92); }
.map-overlay-card { position: absolute; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 18px; padding: 8px 8px 8px 20px; border-radius: 999px; background: var(--espresso); color: var(--cream); font-size: 12px; font-weight: 700; box-shadow: 0 15px 50px rgba(0,0,0,.25); }
.map-overlay-card svg { width: 40px; height: 40px; padding: 10px; border-radius: 50%; background: var(--cream); color: var(--espresso); }
.contact-form-section { display: grid; grid-template-columns: .72fr 1.45fr; gap: clamp(60px, 10vw, 160px); padding-top: 120px; padding-bottom: 180px; background: var(--espresso); color: var(--cream); }
.contact-form-copy h2 { margin: 28px 0 20px; font-size: clamp(45px, 5.6vw, 80px); line-height: .95; letter-spacing: -.06em; }
.contact-form-copy > p { max-width: 360px; color: rgba(245,239,230,.58); }
.contact-form-note { display: flex; gap: 14px; margin-top: 60px; padding-top: 20px; border-top: 1px solid var(--line-dark); }
.contact-form-note span { width: 7px; height: 7px; margin-top: 8px; border-radius: 50%; background: var(--sand); flex: none; }
.contact-form-note p { margin: 0; font-size: 11px; color: rgba(245,239,230,.47); }
.contact-form { align-self: start; }
.form-alert { margin-bottom: 25px; padding: 16px 18px; border-radius: 14px; font-size: 13px; }
.form-alert.is-success { background: rgba(122,183,133,.14); border: 1px solid rgba(122,183,133,.35); }
.form-alert.is-error { background: rgba(205,104,86,.14); border: 1px solid rgba(205,104,86,.35); }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.field { position: relative; display: block; margin-bottom: 35px; }
.field > span { display: flex; justify-content: space-between; margin-bottom: 11px; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(245,239,230,.58); }
.field > span small { font-size: 8px; font-weight: 500; }
.field input, .field textarea { width: 100%; padding: 16px 0 17px; border: 0; border-bottom: 1px solid rgba(245,239,230,.18); outline: 0; background: transparent; color: var(--cream); border-radius: 0; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: rgba(245,239,230,.28); }
.field i { position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: var(--sand-light); transition: width .45s var(--ease); }
.field:focus-within i { width: 100%; }
.field:focus-within > span { color: var(--sand-light); }
.field-message { margin-top: 10px; }
.form-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.form-submit-row p { max-width: 390px; margin: 0; font-size: 10px; color: rgba(245,239,230,.4); }
.form-submit-row button { cursor: pointer; }

.error-page { background: var(--espresso); color: var(--cream); }
.error-main { min-height: 100svh; }
.error-scene { position: relative; min-height: 100svh; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 8vw; padding-top: 120px; padding-bottom: 80px; overflow: hidden; }
.error-copy { position: relative; z-index: 2; }
.error-code { position: absolute; right: 0; top: -100px; font-size: clamp(130px, 20vw, 330px); line-height: 1; font-weight: 800; letter-spacing: -.11em; color: rgba(245,239,230,.035); pointer-events: none; }
.error-copy h1 { margin: 25px 0 25px; font-size: clamp(55px, 7.2vw, 104px); line-height: .9; letter-spacing: -.07em; }
.error-copy p { max-width: 550px; margin: 0; color: rgba(245,239,230,.57); }
.error-actions { display: flex; align-items: center; gap: 28px; margin-top: 36px; }
.spill-art { position: relative; min-height: 600px; }
.spill { position: absolute; background: radial-gradient(circle at 35% 35%, #7a4d2b, #2c160e 70%); filter: drop-shadow(0 25px 45px rgba(0,0,0,.38)); }
.spill-one { width: 460px; height: 360px; left: 6%; top: 20%; border-radius: 50% 45% 62% 38% / 43% 53% 47% 57%; transform: rotate(17deg); }
.spill-two { width: 180px; height: 110px; right: 6%; bottom: 18%; border-radius: 65% 35% 55% 45%; }
.cup { position: absolute; width: 250px; height: 170px; left: 28%; top: 25%; border: 4px solid #e8dfd5; border-radius: 20px 20px 90px 90px; background: linear-gradient(130deg, #f2eae1, #b9aa9c); transform: rotate(-28deg); box-shadow: 0 28px 55px rgba(0,0,0,.4); }
.cup span { position: absolute; inset: 13px 15px auto; height: 42px; border-radius: 50%; background: #2d150c; }
.cup i { position: absolute; right: -74px; top: 32px; width: 85px; height: 75px; border: 18px solid #d8cdc2; border-left: 0; border-radius: 0 60px 60px 0; }
.drop { position: absolute; border-radius: 50%; background: #5c321d; }
.drop-one { width: 23px; height: 23px; right: 20%; top: 25%; }
.drop-two { width: 12px; height: 12px; left: 17%; bottom: 24%; }
.barista-door { position: relative; height: 650px; display: grid; place-items: center; perspective: 1000px; }
.door-frame { position: relative; width: min(72%, 410px); height: 570px; border: 14px solid #2f2826; border-bottom-width: 24px; background: linear-gradient(145deg, #251f1e, #120f10); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 40px 80px rgba(0,0,0,.45); transform: rotateY(-7deg); }
.door-sign { position: absolute; top: 26%; left: 50%; transform: translateX(-50%); width: 150px; padding: 18px; text-align: center; border: 1px solid var(--sand); color: var(--sand-light); font-size: 16px; font-weight: 800; letter-spacing: .22em; }
.door-handle { position: absolute; right: 35px; top: 53%; width: 14px; height: 14px; border-radius: 50%; background: var(--sand); box-shadow: 0 0 0 7px rgba(192,154,107,.15); }
.door-glow { position: absolute; width: 280px; height: 80px; bottom: 15px; background: rgba(192,154,107,.28); filter: blur(40px); border-radius: 50%; }

.instagram-strip { padding-top: 130px; padding-bottom: 140px; background: var(--espresso-2); color: var(--cream); }
.instagram-head { display: flex; justify-content: space-between; gap: 35px; align-items: end; margin: 38px 0 60px; }
.instagram-head h2 { margin: 0; font-size: clamp(42px, 6vw, 84px); line-height: .95; letter-spacing: -.06em; }
.instagram-head h2 em { font-family: "Playfair Display", serif; font-weight: 500; }
.instagram-grid { display: grid; grid-template-columns: 1.15fr .8fr 1fr; gap: 16px; }
.insta-card { position: relative; min-height: 470px; overflow: hidden; border-radius: 22px; }
.insta-card:nth-child(2) { margin-top: 70px; }
.insta-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) brightness(.77); transition: transform 1s var(--ease), filter .5s; }
.insta-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(15,13,14,.85), transparent 50%); }
.insta-card span { position: absolute; z-index: 2; left: 24px; bottom: 22px; font-size: 12px; font-weight: 700; }
.insta-card:hover img { transform: scale(1.05); filter: saturate(.9) brightness(.87); }
.footer-main { display: grid; grid-template-columns: 1.2fr 2fr; gap: 80px; padding-top: 100px; padding-bottom: 95px; background: var(--espresso); color: var(--cream); border-top: 1px solid var(--line-dark); }
.footer-brand img { width: min(330px, 100%); }
.footer-brand p { margin: 27px 0 0; color: rgba(245,239,230,.45); }
.footer-columns { display: grid; grid-template-columns: .7fr 1.3fr 1fr; gap: 40px; }
.footer-column { display: flex; flex-direction: column; gap: 13px; }
.footer-column > span { margin-bottom: 10px; text-transform: uppercase; font-size: 9px; font-weight: 800; letter-spacing: .17em; color: var(--sand); }
.footer-column a { font-size: 13px; color: rgba(245,239,230,.65); transition: color .25s; }
.footer-column a:hover { color: var(--cream); }
.footer-bottom { display: flex; gap: 25px; align-items: center; padding: 20px var(--section-x); background: var(--espresso); color: rgba(245,239,230,.35); border-top: 1px solid var(--line-dark); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
.footer-bottom p { margin: 0; }
.footer-bottom a { margin-left: auto; }

.reveal { will-change: transform, opacity, filter; }
@media (hover: hover) and (pointer: fine) { body, a, button { cursor: none; } }
@media (max-width: 1100px) {
  .desktop-nav { display: none; }
  .header-shell { grid-template-columns: 1fr auto; }
  .menu-toggle { display: block; }
  .hero-image-detail { width: 42vw; right: -4vw; opacity: .72; }
  .manifesto-grid > div:last-child { grid-template-columns: 1fr; }
  .story-card:nth-child(1) { grid-column: 1 / 7; }
  .story-card:nth-child(2) { grid-column: 7 / 13; }
  .story-card:nth-child(3) { grid-column: 3 / 11; margin-top: 0; min-height: 560px; }
  .about-intro { grid-template-columns: 1fr; }
  .philosophy-copy { padding-top: 110px; }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .value-card:nth-child(2) { border-right: 0; }
  .value-card:nth-child(-n+2) { border-bottom: 1px solid var(--line-light); }
  .contact-overview-grid { grid-template-columns: 1fr; }
  .contact-form-section { grid-template-columns: 1fr; }
  .contact-form-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
  .contact-form-copy .section-kicker { grid-column: 1 / -1; }
  .contact-form-note { margin-top: 0; }
}
@media (max-width: 760px) {
  :root { --section-x: 20px; --header-h: 72px; }
  .site-header { padding: 10px 12px; }
  .header-shell { height: 54px; padding: 0 6px 0 14px; border-radius: 17px; }
  .brand-link { width: 118px; }
  .menu-pill { display: none; }
  .hero-content { padding-top: 130px; padding-bottom: 120px; justify-content: flex-end; }
  .hero-image-main { background-position: 61% center; }
  .hero-image-detail { width: 50vw; top: 18vh; right: -8vw; border-radius: 100px 100px 18px 18px; opacity: .58; }
  .hero-vignette { background: linear-gradient(0deg, rgba(15,13,14,.96) 0%, rgba(15,13,14,.55) 65%, rgba(15,13,14,.2)); }
  .hero-title { font-size: clamp(49px, 15.3vw, 78px); line-height: .9; }
  .hero-line-italic { padding-left: 0; }
  .hero-copy, .hero-actions { margin-left: 0; }
  .hero-copy { margin-top: 25px; max-width: 90%; }
  .hero-actions { width: 100%; flex-direction: column; align-items: stretch; gap: 8px; }
  .primary-cta { justify-content: space-between; }
  .ghost-cta { justify-content: flex-start; }
  .hero-footer span:last-child { display: none; }
  .manifesto { padding-top: 105px; padding-bottom: 90px; }
  .manifesto-grid { grid-template-columns: 1fr; gap: 32px; }
  .display-title { font-size: clamp(40px, 12vw, 58px); }
  .manifesto-copy p { margin-top: 25px; }
  .story-cards { display: block; padding-bottom: 110px; }
  .story-card, .story-card:nth-child(n) { min-height: 600px; margin: 0 0 18px; }
  .story-card:nth-child(3) { min-height: 520px; }
  .signature-scene { height: 145vh; }
  .signature-content { padding-top: 105px; padding-bottom: 35px; }
  .signature-title { font-size: clamp(48px, 14vw, 74px); }
  .signature-title em { padding-left: 0; }
  .signature-meta { grid-template-columns: 1fr; margin-left: 0; }
  .signature-meta .primary-cta { width: 100%; }
  .location-card { min-height: 680px; border-radius: 24px; }
  .location-content { background: linear-gradient(0deg, rgba(245,239,230,.96), rgba(245,239,230,.45)); }
  .location-content h2 { font-size: clamp(42px, 12vw, 62px); }
  .location-details { display: block; }
  .location-details p { margin-bottom: 22px; }
  .location-pin { left: 60%; top: 47%; }
  .final-cta { padding-bottom: 110px; }
  .final-cta-inner { min-height: 610px; }
  .final-cta-mark { width: 56px; height: 56px; font-size: 21px; }
  .inner-hero, .inner-hero-content { min-height: 88svh; }
  .inner-hero-content { justify-content: flex-end; padding-bottom: 100px; }
  .inner-hero h1 { font-size: clamp(50px, 14vw, 76px); }
  .inner-hero-content > p { margin-left: 0; }
  .about-intro { padding-top: 100px; padding-bottom: 110px; }
  .about-intro-columns { grid-template-columns: 1fr; gap: 25px; margin-top: 40px; }
  .philosophy-pin { min-height: 300vh; display: block; }
  .philosophy-copy { position: sticky; z-index: 2; width: 100%; height: 100svh; background: linear-gradient(0deg, rgba(15,13,14,.95) 0%, rgba(15,13,14,.44) 72%, rgba(15,13,14,.12)); }
  .philosophy-visuals { position: absolute; inset: 0; height: 100%; }
  .philosophy-visual { position: sticky; top: 0; height: 100svh; }
  .philosophy-text h2 { font-size: clamp(46px, 13vw, 68px); }
  .philosophy-text p { max-width: 90%; }
  .values-grid { grid-template-columns: 1fr; }
  .value-card { min-height: 270px; border-right: 0; border-bottom: 1px solid var(--line-light); }
  .value-card:last-child { border-bottom: 0; }
  .about-quote { padding-bottom: 120px; }
  .about-quote blockquote { font-size: clamp(44px, 12vw, 64px); }
  .about-quote-meta { align-items: flex-start; flex-direction: column; }
  .contact-overview { padding-top: 100px; }
  .contact-details-grid { grid-template-columns: 1fr; }
  .contact-detail-card { min-height: 190px; }
  .map-shell { min-height: 520px; border-radius: 22px; }
  .contact-form-section { padding-top: 100px; padding-bottom: 110px; }
  .contact-form-copy { display: block; }
  .contact-form-note { margin-top: 40px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-submit-row { flex-direction: column; align-items: stretch; }
  .form-submit-row .primary-cta { width: 100%; }
  .error-scene { grid-template-columns: 1fr; padding-top: 115px; }
  .spill-art, .barista-door { min-height: 350px; height: 350px; order: 2; opacity: .8; }
  .spill-one { width: 280px; height: 220px; }
  .cup { width: 170px; height: 115px; }
  .cup i { right: -52px; width: 62px; height: 55px; border-width: 12px; }
  .door-frame { height: 330px; width: 220px; }
  .error-actions { flex-direction: column; align-items: stretch; gap: 8px; }
  .instagram-head { display: block; }
  .instagram-head .text-link { margin-top: 25px; }
  .instagram-grid { grid-template-columns: 1fr; }
  .insta-card, .insta-card:nth-child(2) { min-height: 430px; margin-top: 0; }
  .footer-main { grid-template-columns: 1fr; gap: 65px; padding-top: 80px; }
  .footer-columns { grid-template-columns: 1fr 1fr; }
  .footer-column:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .footer-bottom { flex-wrap: wrap; }
  .footer-bottom a { margin-left: 0; }
}
@media (max-width: 420px) {
  .story-card, .story-card:nth-child(n) { min-height: 540px; }
  .story-card-content { padding: 24px; }
  .hero-copy { max-width: 100%; }
  .footer-columns { grid-template-columns: 1fr; }
  .footer-column:nth-child(2) { grid-column: auto; grid-row: auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .cursor-dot, .cursor-glow { display: none !important; }
  .reveal { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* =========================================================
   coBrew Experience System v2
   ========================================================= */
.brand-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:#0f0d0e;color:#f5efe6;will-change:transform}
.brand-intro.is-skipped{display:none}.intro-halo{position:absolute;width:min(78vw,820px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(192,154,107,.22),rgba(192,154,107,.04) 38%,transparent 68%);filter:blur(8px)}
.intro-lockup{position:relative;width:min(72vw,480px);text-align:center}.intro-logo-frame{height:88px;display:flex;align-items:center;justify-content:center;overflow:visible}.intro-logo-frame img{width:min(360px,100%);height:100%;object-fit:contain;object-position:center}
.intro-lockup p{margin:28px 0 18px;font-size:9px;letter-spacing:.28em;color:rgba(245,239,230,.48)}.intro-progress{width:100%;height:1px;background:rgba(255,255,255,.12);overflow:hidden}.intro-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,transparent,#c09a6b,#f5efe6);transform:scaleX(0);transform-origin:left}
.intro-bean{position:absolute;width:28px;height:42px;border-radius:55% 45% 55% 45%;background:linear-gradient(145deg,#6f4125,#26150e 55%,#9d6540);box-shadow:inset -5px -6px 10px rgba(0,0,0,.4),0 20px 45px rgba(0,0,0,.25)}.intro-bean:after{content:"";position:absolute;left:48%;top:5px;bottom:5px;width:2px;border-radius:50%;background:rgba(235,193,139,.34);transform:rotate(12deg)}.intro-bean-a{left:16%;top:20%;transform:rotate(27deg)}.intro-bean-b{right:13%;bottom:17%;transform:rotate(-34deg) scale(.78)}.intro-bean-c{right:28%;top:13%;transform:rotate(58deg) scale(.55)}

.site-header{padding:18px var(--section-x)}.header-shell{height:68px;padding:0 9px 0 22px;border-radius:24px}.site-header.is-scrolled .header-shell{height:62px;background:rgba(12,10,11,.76);border-color:rgba(255,255,255,.12);box-shadow:0 18px 55px rgba(0,0,0,.28)}
.brand-link{width:168px;height:42px;align-items:center;justify-content:flex-start;overflow:visible}.brand-logo-box{display:flex;width:100%;height:38px;align-items:center}.brand-link img,.mobile-brand img,.footer-logo img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:left center}
.desktop-nav{gap:32px}.nav-link{font-size:12px}.menu-pill{height:46px;padding-left:19px}.menu-toggle{position:relative}.mobile-menu-panel{width:min(100%,520px);padding:26px clamp(22px,6vw,42px);background:radial-gradient(circle at 100% 0,rgba(192,154,107,.15),transparent 38%),#100d0e}.mobile-menu-top{min-height:58px}.mobile-brand{display:flex;width:158px;height:44px;align-items:center;overflow:visible}.mobile-menu-close{position:relative;font-size:0}.mobile-menu-close span{position:absolute;left:13px;right:13px;top:21px;height:1px;background:#f5efe6}.mobile-menu-close span:first-child{transform:rotate(45deg)}.mobile-menu-close span:last-child{transform:rotate(-45deg)}.mobile-menu-label{margin-top:48px;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#c09a6b}.mobile-menu nav{margin:20px 0 auto}.mobile-menu nav a{padding:16px 0;align-items:center}.mobile-menu nav a strong{font-family:"Manrope",sans-serif;font-weight:550;font-size:clamp(29px,8vw,48px);letter-spacing:-.055em}.mobile-menu-cta{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 20px;margin-top:24px;border-radius:18px;background:#f5efe6;color:#0f0d0e;font-size:13px;font-weight:800}.mobile-menu-cta b{font-size:21px}.mobile-menu-meta{padding-top:26px;margin-top:20px;border-top:1px solid var(--line-dark)}

.hero-v2{background:radial-gradient(circle at 73% 38%,#352119 0,#181112 24%,#0f0d0e 55%);isolation:isolate}.hero-v2:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,14,.98) 0,rgba(15,13,14,.72) 40%,rgba(15,13,14,.12) 76%),linear-gradient(0deg,rgba(15,13,14,.82),transparent 55%);z-index:-1}.hero-grid-lines{position:absolute;inset:0;z-index:-1;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:10vw 10vw;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.hero-aurora i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.18}.hero-aurora i:nth-child(1){width:42vw;height:42vw;right:-6vw;top:-8vw;background:#c09a6b}.hero-aurora i:nth-child(2){width:30vw;height:30vw;right:18vw;bottom:-12vw;background:#7a3d22}.hero-aurora i:nth-child(3){width:22vw;height:22vw;left:28vw;top:16vh;background:#d8b284;opacity:.07}
.hero-brand-title{margin:0;line-height:.82;letter-spacing:-.08em}.hero-brand-title>span{display:block;font-size:clamp(82px,15.2vw,246px);font-weight:650}.hero-brand-title>em{display:block;padding-left:clamp(8px,9vw,155px);margin-top:12px;font-family:"Playfair Display",serif;font-size:clamp(35px,6vw,91px);font-weight:500;letter-spacing:-.045em;color:#e9dfd1}.hero-v2 .hero-copy{margin-left:clamp(0px,9vw,155px);max-width:535px}.hero-v2 .hero-actions{margin-left:clamp(0px,9vw,155px)}
.hero-sculpture{position:absolute;right:3vw;top:15vh;width:min(38vw,610px);aspect-ratio:1;perspective:1200px}.hero-ring{position:absolute;inset:8%;border:1px solid rgba(245,239,230,.17);border-radius:50%}.hero-ring-b{inset:22%;border-color:rgba(192,154,107,.32)}.hero-mini-cup{position:absolute;left:26%;top:26%;width:48%;height:50%;border-radius:20% 20% 40% 40%/12% 12% 26% 26%;background:linear-gradient(110deg,#31211c,#0f0d0e 54%,#5a3d2d);box-shadow:inset 15px 0 35px rgba(255,255,255,.06),0 70px 110px rgba(0,0,0,.52);transform:rotateY(-24deg) rotateX(5deg) rotateZ(-5deg)}.hero-mini-cup:before{content:"";position:absolute;left:6%;right:6%;top:-6%;height:18%;border:7px solid #604231;border-radius:50%;background:#1b0f0b}.hero-mini-cup:after{content:"";position:absolute;right:-25%;top:18%;width:35%;height:42%;border:16px solid #2d1e18;border-left:0;border-radius:0 55% 55% 0}.hero-mini-cup img{position:absolute;width:68%;height:30%;left:15%;top:40%;object-fit:contain}.hero-bean{position:absolute;width:22px;height:34px;border-radius:60% 40%;background:linear-gradient(145deg,#9c6844,#2a160e 60%);box-shadow:0 18px 38px rgba(0,0,0,.36)}.hero-bean:after{content:"";position:absolute;left:48%;top:4px;bottom:4px;width:1px;background:#d09d76}.hero-bean.b1{left:5%;top:18%;transform:rotate(42deg)}.hero-bean.b2{right:2%;top:47%;transform:rotate(-28deg) scale(.7)}.hero-bean.b3{left:9%;bottom:9%;transform:rotate(78deg) scale(.8)}.hero-bean.b4{right:18%;top:4%;transform:rotate(12deg) scale(.5)}

.ritual-scene{height:420vh;position:relative;background:#0b090a;color:#f5efe6}.ritual-sticky{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate}.ritual-sticky:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 57% 52%,rgba(192,154,107,.18),transparent 30%),linear-gradient(120deg,#0b090a,#181011 58%,#0b090a);z-index:-3}.ritual-copy{position:absolute;z-index:5;left:var(--section-x);top:50%;width:min(35vw,520px);transform:translateY(-50%);opacity:0;pointer-events:none}.ritual-copy:first-of-type{opacity:1}.ritual-copy>span{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#c09a6b}.ritual-copy h2{margin:22px 0 20px;font-size:clamp(50px,6vw,94px);line-height:.92;letter-spacing:-.065em}.ritual-copy h2 em{font-family:"Playfair Display",serif;font-weight:500}.ritual-copy p{max-width:390px;color:rgba(245,239,230,.58)}.coffee-world{position:absolute;inset:0;perspective:1400px}.coffee-spotlight{position:absolute;right:5%;top:6%;width:62%;height:87%;background:radial-gradient(ellipse,rgba(245,214,170,.16),transparent 60%);filter:blur(14px)}
.cup-stage{position:absolute;left:59%;top:52%;width:min(31vw,430px);aspect-ratio:1;transform:translate(-50%,-50%);transform-style:preserve-3d}.coffee-cup{position:absolute;left:10%;right:10%;top:18%;bottom:10%;border-radius:16% 16% 35% 35%/10% 10% 24% 24%;background:linear-gradient(100deg,#4d3228 0,#140e0d 35%,#251716 62%,#624431 100%);box-shadow:inset 22px 0 40px rgba(255,255,255,.055),inset -18px -18px 45px rgba(0,0,0,.4),0 80px 120px rgba(0,0,0,.5);overflow:hidden}.coffee-cup>img{position:absolute;left:18%;top:39%;width:64%;height:24%;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}.cup-rim{position:absolute;z-index:3;left:5%;right:5%;top:-7%;height:19%;border-radius:50%;background:linear-gradient(#6a4a39,#241714);box-shadow:inset 0 8px 10px rgba(255,255,255,.12),0 8px 18px rgba(0,0,0,.4)}.cup-rim i{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle at 48% 42%,#9f6e48 0,#5b321e 34%,#1b0d08 70%);box-shadow:inset 0 5px 15px rgba(0,0,0,.5)}.cup-handle{position:absolute;z-index:-1;right:-3%;top:32%;width:35%;height:39%;border:24px solid #2b1b17;border-left-width:10px;border-radius:0 60% 60% 0;box-shadow:10px 25px 40px rgba(0,0,0,.32)}.cup-shine{position:absolute;left:8%;top:10%;width:14%;height:72%;border-radius:50%;background:linear-gradient(rgba(255,255,255,.12),transparent);filter:blur(5px)}.cup-shadow{position:absolute;left:5%;right:0;bottom:-3%;height:16%;border-radius:50%;background:rgba(0,0,0,.7);filter:blur(22px)}
.steam{position:absolute;z-index:4;top:-18%;left:42%;width:20%;height:38%;border-left:3px solid rgba(245,239,230,.25);border-radius:50%;filter:blur(2px);opacity:0}.steam-b{left:53%;height:46%;transform:rotate(14deg)}.steam-c{left:34%;height:34%;transform:rotate(-13deg)}.bean-rain{position:absolute;inset:0}.bean-rain span{position:absolute;left:calc(42% + (var(--i) * 2.1%));top:-12%;width:clamp(12px,1.4vw,22px);height:clamp(18px,2vw,33px);border-radius:58% 42%;background:linear-gradient(145deg,#9b6845,#2b160e 62%);box-shadow:inset -3px -5px 8px rgba(0,0,0,.38),0 12px 30px rgba(0,0,0,.28);opacity:0;transform:translateY(calc((var(--i) % 7) * -35px)) rotate(calc(var(--i) * 29deg))}.bean-rain span:after{content:"";position:absolute;left:49%;top:3px;bottom:3px;width:1px;background:rgba(239,190,142,.4)}.ritual-orbit{position:absolute;right:4vw;bottom:7vh;width:140px;height:140px;border:1px solid rgba(255,255,255,.13);border-radius:50%;display:grid;place-items:center}.ritual-orbit span{width:100%;font-size:8px;letter-spacing:.16em;text-align:center;color:rgba(245,239,230,.42)}.ritual-progress{position:absolute;left:var(--section-x);right:var(--section-x);bottom:28px;height:1px;background:rgba(255,255,255,.12)}.ritual-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#c09a6b,#f5efe6);transform:scaleX(0);transform-origin:left}

.experience-grid{padding-top:50px;padding-bottom:150px;display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.experience-card{position:relative;min-height:610px;padding:34px;border-radius:34px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transform-style:preserve-3d}.experience-card:nth-child(1){grid-column:1/7}.experience-card:nth-child(2){grid-column:7/13;margin-top:110px}.experience-card:nth-child(3){grid-column:3/11;margin-top:0;min-height:520px}.experience-dark{background:#171213;color:#f5efe6}.experience-cream{background:#e9dfd1}.experience-gold{background:#bd9265;color:#171311}.experience-index{position:absolute;left:32px;top:28px;font-size:10px;letter-spacing:.2em;opacity:.55}.experience-card>div:last-child{position:relative;z-index:2}.experience-card>div:last-child>span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.6}.experience-card h3{margin:15px 0;font-size:clamp(39px,4.4vw,70px);line-height:.94;letter-spacing:-.06em}.experience-card p{max-width:390px;opacity:.6}.experience-orb{position:absolute;width:72%;aspect-ratio:1;right:-10%;top:-8%;border-radius:50%;background:radial-gradient(circle at 33% 30%,#b98861,#4b2e25 38%,#171213 71%);box-shadow:inset -35px -30px 55px rgba(0,0,0,.35),0 45px 90px rgba(0,0,0,.32)}.dessert-sculpture{position:absolute;inset:10% 13% 39%;display:flex;align-items:flex-end;justify-content:center}.dessert-sculpture i{position:absolute;border-radius:50%;box-shadow:0 35px 60px rgba(60,35,20,.2)}.dessert-sculpture i:nth-child(1){width:72%;aspect-ratio:1;background:linear-gradient(145deg,#6a3b28,#2d1712);bottom:0}.dessert-sculpture i:nth-child(2){width:62%;height:18%;background:#faf4e8;bottom:31%;border-radius:50%}.dessert-sculpture i:nth-child(3){width:32%;aspect-ratio:1;background:radial-gradient(circle at 30% 25%,#e5c49b,#92552f);bottom:45%}.atmosphere-lines{position:absolute;inset:0;background:repeating-radial-gradient(circle at 72% 30%,transparent 0 38px,rgba(15,13,14,.12) 39px 40px);transform:scale(1.4)}
.marquee-section{overflow:hidden;background:#0f0d0e;color:#f5efe6;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.marquee-track{display:flex;width:max-content;animation:cobrewMarquee 22s linear infinite}.marquee-track span{padding:28px 0;font-size:clamp(36px,6vw,82px);letter-spacing:-.05em;white-space:nowrap;color:rgba(245,239,230,.82)}@keyframes cobrewMarquee{to{transform:translateX(-50%)}}
.visit-section{padding-top:130px;padding-bottom:130px;background:#f5efe6}.visit-card{position:relative;min-height:720px;border-radius:38px;overflow:hidden;background:#161313;color:#f5efe6}.visit-map{position:absolute;inset:0;background:radial-gradient(circle at 65% 44%,rgba(192,154,107,.3),transparent 22%),#161313}.visit-map .map-grid{position:absolute;inset:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:46px 46px}.visit-map .map-road{position:absolute;height:12px;border:1px solid rgba(245,239,230,.15);border-radius:999px;transform-origin:left}.visit-map .r1{width:75%;left:12%;top:24%;transform:rotate(24deg)}.visit-map .r2{width:68%;left:24%;top:70%;transform:rotate(-17deg)}.visit-map .r3{width:46%;left:48%;top:10%;transform:rotate(74deg)}.visit-map .location-pin{left:66%;top:44%}.visit-content{position:relative;z-index:2;min-height:720px;padding:70px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(90deg,rgba(15,13,14,.96),rgba(15,13,14,.56) 55%,rgba(15,13,14,.1))}.visit-content h2{margin:24px 0 0;font-size:clamp(60px,8vw,124px);line-height:.88;letter-spacing:-.07em}.visit-content h2 em{font-family:"Playfair Display",serif;font-weight:500}.visit-info{display:flex;align-items:end;justify-content:space-between;gap:30px}.visit-info p{max-width:390px;color:rgba(245,239,230,.65)}
.growth-section{padding-top:130px;padding-bottom:150px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end}.growth-copy>p{max-width:610px;margin:30px 0 0;color:#6f655d}.growth-card{min-height:360px;padding:34px;border-radius:30px;background:#171314;color:#f5efe6;display:flex;flex-direction:column}.growth-card>span{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#c09a6b}.growth-card strong{margin:auto 0;font-size:clamp(30px,3vw,48px);line-height:1;letter-spacing:-.05em}.growth-card b{align-self:flex-end;font-size:32px}

.instagram-wall{padding-top:130px;padding-bottom:140px;background:#151112;color:#f5efe6}.instagram-wall-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:55px}.instagram-wall-head h2{margin:26px 0 0;font-size:clamp(44px,6vw,88px);line-height:.92;letter-spacing:-.065em}.instagram-wall-head h2 em{font-family:"Playfair Display",serif;font-weight:500}.text-link.light{color:#f5efe6}.instagram-embeds{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}.instagram-embed-card{min-height:630px;border-radius:26px;overflow:hidden;background:linear-gradient(145deg,#241a17,#0e0c0d);border:1px solid rgba(255,255,255,.1)}.instagram-embed-card:nth-child(2){margin-top:55px}.instagram-embed-card iframe{display:block;width:100%;height:680px;border:0;background:#fff}
.footer-stage{position:relative;overflow:hidden;padding-top:115px;padding-bottom:105px;background:#0f0d0e;color:#f5efe6;border-top:1px solid var(--line-dark)}.footer-glow{position:absolute;right:-15%;top:-60%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(192,154,107,.16),transparent 66%)}.footer-brand{position:relative}.footer-logo{display:flex;width:min(310px,72vw);height:96px;align-items:center}.footer-brand h2{margin:55px 0 20px;font-size:clamp(52px,7.6vw,124px);line-height:.88;letter-spacing:-.075em}.footer-brand h2 em{font-family:"Playfair Display",serif;font-weight:500}.footer-brand>p{color:rgba(245,239,230,.45)}.footer-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:110px;padding-top:50px;border-top:1px solid var(--line-dark)}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-column>span{margin-bottom:12px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#c09a6b}.footer-column a{font-size:13px;color:rgba(245,239,230,.63)}.footer-column a:hover{color:#fff}.footer-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:22px var(--section-x);background:#0b090a;color:rgba(245,239,230,.35);border-top:1px solid var(--line-dark);font-size:9px;letter-spacing:.13em;text-transform:uppercase}.footer-bottom p{margin:0}.footer-bottom p:nth-child(2){text-align:center}.footer-bottom p:nth-child(3){text-align:right}

.franchise-hero-media,.contact-hero-media{background:#171213!important;overflow:hidden}.franchise-symbol,.contact-orbit{position:absolute;right:8vw;top:18%;width:min(43vw,610px);aspect-ratio:1;border:1px solid rgba(255,255,255,.14);border-radius:50%;display:grid;place-items:center}.franchise-symbol span,.contact-orbit span{font-size:clamp(90px,16vw,240px);font-weight:800;letter-spacing:-.12em;color:rgba(245,239,230,.11)}.franchise-symbol i,.contact-orbit i{position:absolute;inset:14%;border:1px solid rgba(192,154,107,.25);border-radius:50%}.franchise-symbol i:last-child,.contact-orbit i:last-child{inset:31%}.franchise-intro{padding-top:130px;padding-bottom:140px}.franchise-intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-top:35px}.franchise-intro-grid>p{max-width:520px;color:#6f655d}.franchise-values{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px;border:1px solid var(--line-light);border-radius:28px;overflow:hidden}.value-card{min-height:330px;padding:30px;border-right:1px solid var(--line-light);display:flex;flex-direction:column}.value-card:last-child{border-right:0}.value-card>span{font-size:10px;color:#9a8063}.value-card h3{margin:auto 0 12px;font-size:25px;letter-spacing:-.04em}.value-card p{margin:0;color:#746a62;font-size:14px}.franchise-process{padding-top:130px;padding-bottom:150px;background:#171314;color:#f5efe6}.process-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:80px}.process-head h2{margin:0;font-size:clamp(54px,7vw,108px);line-height:.9;letter-spacing:-.07em}.process-head h2 em{font-family:"Playfair Display",serif;font-weight:500}.process-steps{border-top:1px solid var(--line-dark)}.process-step{display:grid;grid-template-columns:100px 1fr;padding:34px 0;border-bottom:1px solid var(--line-dark)}.process-step b{font-size:12px;color:#c09a6b}.process-step>div{display:grid;grid-template-columns:.6fr 1fr;gap:50px}.process-step h3{margin:0;font-size:32px}.process-step p{margin:0;max-width:520px;color:rgba(245,239,230,.55)}.application-section{padding-top:140px;padding-bottom:150px;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.application-copy{position:sticky;top:130px}.application-copy h2,.career-content>h2{margin:24px 0;font-size:clamp(48px,5.5vw,84px);line-height:.94;letter-spacing:-.065em}.application-copy h2 em,.career-content>h2 em{font-family:"Playfair Display",serif;font-weight:500}.application-copy>p{color:#746a62}.application-note,.contact-form-note{display:flex;gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line-light)}.application-note>span,.contact-form-note>span{width:9px;height:9px;border-radius:50%;background:#c09a6b;flex:none;margin-top:7px}.application-note p,.contact-form-note p{margin:0;color:#746a62;font-size:13px}
.premium-form{padding:clamp(24px,4vw,52px);border-radius:30px;background:#fff;box-shadow:0 25px 90px rgba(40,25,16,.08)}.premium-form .field{position:relative;display:block;padding-top:12px;margin-bottom:23px}.premium-form .field>span{display:flex;justify-content:space-between;margin-bottom:8px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#766a61}.premium-form input,.premium-form textarea,.premium-form select{width:100%;border:0;border-bottom:1px solid rgba(15,13,14,.18);border-radius:0;background:transparent;padding:11px 0 14px;outline:0;color:#171311;appearance:none}.premium-form textarea{resize:vertical}.premium-form .field i{position:absolute;left:0;right:100%;bottom:0;height:1px;background:#c09a6b;transition:right .45s var(--ease)}.premium-form .field:focus-within i{right:0}.premium-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.submit-button{width:100%;min-height:64px;border:0;border-radius:18px;background:#171314;color:#f5efe6;padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-weight:750;cursor:pointer}.submit-button b{font-size:22px}.honeypot{position:absolute!important;left:-9999px!important}.form-alert{margin-bottom:24px;padding:16px 18px;border-radius:14px;font-size:13px}.form-alert.is-success{background:#edf6ef;color:#275d35}.form-alert.is-error{background:#fbefed;color:#8e3028}.file-field input{padding:15px 0}.file-field input::file-selector-button{border:0;border-radius:999px;padding:10px 14px;margin-right:13px;background:#eee7de;color:#171311;font-weight:700}
.career-section{padding-top:145px;padding-bottom:160px;background:#e9dfd1;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.career-visual{position:sticky;top:120px;height:720px;border-radius:34px;overflow:hidden;background:#171314;color:#f5efe6}.career-word{position:absolute;left:-30px;top:40px;writing-mode:vertical-rl;font-size:clamp(100px,13vw,190px);font-weight:800;letter-spacing:-.08em;color:rgba(245,239,230,.045)}.career-badge{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.career-badge span{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;margin:auto;background:radial-gradient(circle at 35% 30%,#c09a6b,#3d281f);font-size:70px;font-weight:800;letter-spacing:-.12em}.career-badge p{font-family:"Playfair Display",serif;font-size:38px;line-height:1.05}.career-content>p{max-width:640px;color:#6b615a}.career-form{margin-top:45px}

@media(max-width:1100px){.hero-sculpture{opacity:.65;right:-11vw;width:55vw}.ritual-copy{width:42vw}.cup-stage{left:68%;width:38vw}.experience-card:nth-child(1){grid-column:1/7}.experience-card:nth-child(2){grid-column:7/13}.franchise-values{grid-template-columns:1fr 1fr}.value-card:nth-child(2){border-right:0}.value-card:nth-child(-n+2){border-bottom:1px solid var(--line-light)}.application-section,.career-section{grid-template-columns:1fr}.application-copy,.career-visual{position:relative;top:auto}.career-visual{height:480px}.instagram-embeds{grid-template-columns:1fr 1fr}.instagram-embed-card:nth-child(3){grid-column:1/-1}.growth-section{grid-template-columns:1fr}.growth-card{min-height:280px}}
@media(max-width:760px){.brand-intro .intro-lockup{width:75vw}.intro-logo-frame{height:62px}.site-header{padding:10px 12px}.header-shell,.site-header.is-scrolled .header-shell{height:58px;padding:0 7px 0 14px}.brand-link{width:132px;height:38px}.brand-logo-box{height:31px}.menu-toggle{display:block;width:44px;height:44px}.hero-v2 .hero-content{padding-top:125px;justify-content:flex-end}.hero-brand-title>span{font-size:clamp(74px,24vw,115px)}.hero-brand-title>em{font-size:clamp(28px,9vw,45px);padding-left:0;margin-top:10px}.hero-v2 .hero-copy,.hero-v2 .hero-actions{margin-left:0}.hero-sculpture{width:92vw;right:-42vw;top:7vh;opacity:.38}.hero-grid-lines{background-size:24vw 24vw}.ritual-scene{height:360vh}.ritual-copy{left:20px;right:20px;top:auto;bottom:8vh;width:auto;transform:none}.ritual-copy h2{font-size:clamp(45px,13vw,67px);margin:14px 0}.ritual-copy p{font-size:13px;max-width:85%}.cup-stage{left:50%;top:37%;width:min(76vw,360px)}.coffee-spotlight{right:-20%;width:140%}.ritual-orbit{display:none}.bean-rain span{left:calc(18% + (var(--i) * 2.5%))}.experience-grid{display:block;padding-top:10px;padding-bottom:100px}.experience-card,.experience-card:nth-child(n){min-height:540px;margin:0 0 18px}.experience-card:nth-child(3){min-height:500px}.experience-card h3{font-size:clamp(41px,12vw,58px)}.marquee-track span{padding:22px 0}.visit-section{padding-top:90px;padding-bottom:90px}.visit-card,.visit-content{min-height:640px}.visit-card{border-radius:26px}.visit-content{padding:32px 24px;background:linear-gradient(0deg,rgba(15,13,14,.96),rgba(15,13,14,.45))}.visit-content h2{font-size:clamp(53px,16vw,80px)}.visit-info{display:block}.visit-info .primary-cta{width:100%;margin-top:20px}.growth-section{padding-top:100px;padding-bottom:110px;gap:40px}.growth-card{min-height:260px}.instagram-wall{padding-top:95px;padding-bottom:95px}.instagram-wall-head{display:block}.instagram-wall-head .text-link{margin-top:28px}.instagram-embeds{display:block}.instagram-embed-card,.instagram-embed-card:nth-child(n){min-height:580px;margin:0 0 16px}.instagram-embed-card iframe{height:620px}.footer-stage{padding-top:85px;padding-bottom:80px}.footer-logo{width:220px;height:72px}.footer-brand h2{margin-top:35px;font-size:clamp(49px,14vw,72px)}.footer-grid{grid-template-columns:1fr;margin-top:70px;gap:38px}.footer-bottom{grid-template-columns:1fr;gap:8px}.footer-bottom p:nth-child(n){text-align:left}.franchise-intro{padding-top:95px}.franchise-intro-grid{grid-template-columns:1fr;gap:28px}.franchise-values{grid-template-columns:1fr}.value-card{min-height:240px;border-right:0;border-bottom:1px solid var(--line-light)}.process-head{display:block}.process-head h2{margin-top:25px}.process-step{grid-template-columns:48px 1fr}.process-step>div{grid-template-columns:1fr;gap:12px}.application-section{padding-top:100px;padding-bottom:110px;gap:45px}.premium-form{padding:25px 20px;border-radius:22px}.premium-form .form-row{grid-template-columns:1fr;gap:0}.career-section{padding-top:100px;padding-bottom:110px;gap:48px}.career-visual{height:390px}.career-badge span{width:125px;height:125px;font-size:55px}.career-badge p{font-size:32px}.contact-form-section{grid-template-columns:1fr}.mobile-brand{width:145px;height:40px}.mobile-menu-top{min-height:48px}}
@media(max-width:420px){.brand-link{width:120px}.mobile-brand{width:132px}.hero-sculpture{right:-48vw}.instagram-embed-card iframe{height:590px}.footer-logo{width:195px;height:62px}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none}.marquee-track{animation:none}.ritual-copy{opacity:1!important;position:relative;left:auto;top:auto;bottom:auto;transform:none;margin:30px 20px}.ritual-scene{height:auto;padding:100px 0}.ritual-sticky{position:relative;height:auto}.coffee-world{position:relative;height:560px}.ritual-progress{display:none}}
body.intro-playing{overflow:hidden}

/* =========================================================
   coBrew Classic Photo Edition v2.6
   Önceki tasarım korunur; yalnızca gerçek coBrew görselleri
   ve gelişmiş scroll katmanları eklenir.
   ========================================================= */
.brand-link img,.mobile-brand img,.footer-logo img{width:auto!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:left center!important}
.mobile-brand,.brand-logo-box,.footer-logo{overflow:visible!important}

.hero-photo-stage{position:absolute;right:2.5vw;top:10vh;width:min(40vw,650px);height:72vh;z-index:-1;pointer-events:none;opacity:.68}
.hero-photo{position:absolute;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.13);box-shadow:0 30px 90px rgba(0,0,0,.4);background:#171314}
.hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.06) brightness(.58)}
.hero-photo-a{right:2%;top:3%;width:48%;height:66%;transform:rotate(5deg)}
.hero-photo-b{left:3%;top:22%;width:38%;height:49%;transform:rotate(-7deg)}
.hero-photo-c{right:21%;bottom:0;width:34%;height:36%;transform:rotate(3deg)}
.hero-v2:before{z-index:0}.hero-v2 .hero-content,.hero-sculpture,.hero-footer{z-index:2}.hero-grid-lines,.hero-aurora{z-index:1}.hero-photo-stage{z-index:0}

.ritual-photo-card{position:absolute;width:min(18vw,245px);aspect-ratio:4/5;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 35px 90px rgba(0,0,0,.5);pointer-events:none}
.ritual-photo-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.66)}
.ritual-photo-one{right:8%;top:15%;transform:rotate(-5deg)}
.ritual-photo-two{right:4%;bottom:13%;transform:rotate(5deg)}
.ritual-photo-three{left:42%;bottom:6%;transform:rotate(-4deg)}

.experience-photo{position:absolute;inset:0;margin:0;overflow:hidden}
.experience-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,13,14,.04),rgba(15,13,14,.2) 44%,rgba(15,13,14,.92) 100%)}
.experience-cream .experience-photo:after{background:linear-gradient(180deg,rgba(233,223,209,.02),rgba(233,223,209,.12) 44%,rgba(233,223,209,.95) 100%)}
.experience-gold .experience-photo:after{background:linear-gradient(180deg,rgba(189,146,101,.05),rgba(189,146,101,.16) 42%,rgba(189,146,101,.96) 100%)}
.experience-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.03);transition:transform 1s var(--ease)}
.experience-card:hover .experience-photo img{transform:scale(1.045)}
.experience-card .experience-index{z-index:3;color:inherit}
.experience-card>div:last-child{z-index:3}

.photo-story{padding-top:120px;padding-bottom:145px;background:#f5efe6}
.photo-story-head{max-width:920px;margin-bottom:65px}
.photo-story-head h2{margin:22px 0 18px;font-size:clamp(50px,7vw,106px);line-height:.92;letter-spacing:-.07em}
.photo-story-head h2 em{font-family:"Playfair Display",serif;font-weight:500}
.photo-story-head p{max-width:620px;color:#746a62}
.photo-story-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-items:start}
.photo-story-card{position:relative;margin:0;border-radius:26px;overflow:hidden;background:#171314;box-shadow:0 28px 70px rgba(30,20,15,.13)}
.photo-story-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.03)}
.photo-story-card figcaption{position:absolute;left:18px;right:18px;bottom:16px;display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:14px;background:rgba(15,13,14,.63);backdrop-filter:blur(12px);color:#f5efe6;font-size:11px;line-height:1.35}
.photo-story-card figcaption span{color:#c09a6b;font-size:9px;letter-spacing:.14em}
.photo-story-card-1{grid-column:1/5;aspect-ratio:4/5}.photo-story-card-2{grid-column:5/9;aspect-ratio:4/5;margin-top:75px}.photo-story-card-3{grid-column:9/13;aspect-ratio:4/5;margin-top:20px}
.photo-story-card-4{grid-column:2/6;aspect-ratio:4/5;margin-top:-10px}.photo-story-card-5{grid-column:6/10;aspect-ratio:4/5;margin-top:70px}.photo-story-card-6{grid-column:10/13;aspect-ratio:4/5;margin-top:10px}

.visit-photo{position:absolute;inset:0}
.visit-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,14,.42),rgba(15,13,14,.18)),linear-gradient(0deg,rgba(15,13,14,.78),transparent 62%)}
.visit-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.72)}
.visit-content{position:relative;z-index:2}

.instagram-local-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.instagram-local-card{position:relative;min-height:520px;border-radius:26px;overflow:hidden;background:#211718;border:1px solid rgba(255,255,255,.1)}
.instagram-local-card:nth-child(2),.instagram-local-card:nth-child(5){margin-top:55px}
.instagram-local-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.76);transition:transform 1s var(--ease),filter .45s}
.instagram-local-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,13,14,.94),transparent 62%)}
.instagram-local-card span{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;gap:10px;align-items:flex-start;color:#f5efe6;font-size:12px;line-height:1.45}
.instagram-local-card span b{color:#c09a6b;font-size:9px;letter-spacing:.14em}
.instagram-local-card:hover img{transform:scale(1.045);filter:saturate(.96) brightness(.84)}

.about-photo-strip,.franchise-photo-row,.contact-photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:0;padding-bottom:120px}
.about-photo,.franchise-photo-row figure,.contact-photo-row figure{margin:0;aspect-ratio:4/5;border-radius:26px;overflow:hidden;box-shadow:0 25px 65px rgba(30,20,15,.12)}
.about-photo:nth-child(2),.franchise-photo-row figure:nth-child(2),.contact-photo-row figure:nth-child(2){margin-top:55px}
.about-photo img,.franchise-photo-row img,.contact-photo-row img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.about-photo:hover img,.franchise-photo-row figure:hover img,.contact-photo-row figure:hover img{transform:scale(1.04)}
.franchise-photo-row{margin-top:70px;padding-left:0;padding-right:0;padding-bottom:0}
.contact-photo-row{padding-top:10px;padding-bottom:110px}

.franchise-hero-media,.contact-hero-media{background:#171213!important}
.inner-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.74) brightness(.48);opacity:.72}
.franchise-symbol,.contact-orbit{z-index:2;background:rgba(15,13,14,.08);backdrop-filter:blur(2px)}

.career-visual-photo{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#171314}
.career-visual-photo figure{margin:0;overflow:hidden}
.career-visual-photo figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.72)}
.career-visual-photo figure:nth-child(2){transform:translateY(9%)}
.career-visual-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,13,14,.82),transparent 65%)}
.career-visual-photo .career-badge{z-index:2}

@media(max-width:1100px){
  .hero-photo-stage{right:-4vw;width:50vw;opacity:.52}
  .ritual-photo-card{width:min(22vw,220px)}
  .photo-story-card-1{grid-column:1/7}.photo-story-card-2{grid-column:7/13}.photo-story-card-3{grid-column:2/7}.photo-story-card-4{grid-column:7/12}.photo-story-card-5{grid-column:1/7}.photo-story-card-6{grid-column:7/13}
  .instagram-local-grid{grid-template-columns:1fr 1fr}
  .instagram-local-card:nth-child(n){margin-top:0}.instagram-local-card:nth-child(even){margin-top:45px}
}
@media(max-width:760px){
  .brand-link{width:132px!important;height:38px!important}.brand-logo-box{height:31px!important}.mobile-brand{width:145px!important;height:40px!important}.footer-logo{width:220px!important;height:72px!important}
  .hero-photo-stage{right:-28vw;top:7vh;width:96vw;height:48vh;opacity:.34}
  .hero-photo-a{width:46%;height:67%}.hero-photo-b{left:9%;width:35%;height:48%}.hero-photo-c{right:16%;width:34%;height:34%}
  .ritual-photo-card{width:34vw;border-radius:18px;opacity:.55}.ritual-photo-one{right:4%;top:8%}.ritual-photo-two{right:2%;bottom:31%}.ritual-photo-three{left:4%;bottom:33%}
  .experience-photo:after{background:linear-gradient(180deg,rgba(15,13,14,.05),rgba(15,13,14,.25) 34%,rgba(15,13,14,.95) 100%)}
  .photo-story{padding-top:95px;padding-bottom:105px}.photo-story-head{margin-bottom:42px}.photo-story-head h2{font-size:clamp(44px,13vw,67px)}
  .photo-story-grid{display:block}.photo-story-card,.photo-story-card:nth-child(n){margin:0 0 16px;aspect-ratio:4/5}
  .instagram-local-grid{display:block}.instagram-local-card,.instagram-local-card:nth-child(n){display:block;min-height:520px;margin:0 0 16px}
  .about-photo-strip,.franchise-photo-row,.contact-photo-row{grid-template-columns:1fr;padding-bottom:90px}.about-photo:nth-child(n),.franchise-photo-row figure:nth-child(n),.contact-photo-row figure:nth-child(n){margin-top:0}
  .franchise-photo-row{padding-bottom:0}
  .career-visual-photo{height:460px;grid-template-columns:1fr 1fr}.career-visual-photo figure:nth-child(2){transform:none}
}
@media(max-width:420px){.brand-link{width:120px!important}.mobile-brand{width:132px!important}.footer-logo{width:195px!important;height:62px!important}}
.intro-lockup strong{display:block;margin-top:24px;font-size:clamp(20px,3vw,32px);line-height:1.05;letter-spacing:-.04em;color:#f5efe6}
.intro-lockup strong+.intro-lockup p{margin-top:10px}
.hero-v2:before{z-index:1}

/* =========================================================
   coBrew Experience v3.2 — Signature Story Edition
   Klasik tasarım dili + gerçek fotoğraflar + akıllı deneyim
   ========================================================= */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: cobrew-vt-old .45s cubic-bezier(.4,0,1,1) both; }
::view-transition-new(root) { animation: cobrew-vt-new .72s cubic-bezier(.22,1,.36,1) both; }
::view-transition-group(cobrew-logo) { animation-duration: .72s; }
@keyframes cobrew-vt-old { to { opacity: 0; transform: scale(.985); filter: blur(6px); } }
@keyframes cobrew-vt-new { from { opacity: 0; transform: translateY(18px) scale(1.01); filter: blur(8px); } }

:root { --period-accent: var(--sand); }
html[data-atmosphere="morning"] { --period-glow: rgba(229,190,136,.24); }
html[data-atmosphere="afternoon"] { --period-glow: rgba(192,154,107,.22); }
html[data-atmosphere="evening"] { --period-glow: rgba(160,103,65,.3); }
html[data-atmosphere="night"] { --period-glow: rgba(108,83,110,.28); }
body.atmosphere-morning .hero-aurora i:first-child { background: #d7ae78; }
body.atmosphere-afternoon .hero-aurora i:first-child { background: #c09a6b; }
body.atmosphere-evening .hero-aurora i:first-child { background: #a56949; }
body.atmosphere-night .hero-aurora i:first-child { background: #6c536e; }

body.lightbox-open { overflow: hidden; }
.site-header { transform: translateY(0); }
.site-header.is-hidden { transform: translateY(-115%); }
.header-period { color: rgba(245,239,230,.5); font-size: 10px; letter-spacing: .11em; text-transform: uppercase; white-space: nowrap; }
.brand-logo-box { height: 38px; display: flex; align-items: center; view-transition-name: cobrew-logo; }
.brand-logo-box img { height: 100% !important; width: auto !important; object-fit: contain !important; }
.mobile-menu-moment { margin-top: 34px; padding: 18px; border: 1px solid var(--line-dark); border-radius: 18px; background: rgba(255,255,255,.025); }
.mobile-menu-moment span { display: block; margin-bottom: 7px; color: var(--sand); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.mobile-menu-moment p { margin: 0; color: var(--cream); font-family: "Playfair Display",serif; font-size: 20px; line-height: 1.2; }
.mobile-menu-cta { display: flex; align-items: center; justify-content: space-between; margin: 18px 0 20px; min-height: 58px; padding: 0 18px 0 20px; border-radius: 999px; background: var(--cream); color: var(--espresso); font-size: 13px; font-weight: 800; }
.mobile-menu-cta b { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--espresso); color: var(--cream); }

.brand-intro { clip-path: inset(0 0 0 0); }
.intro-grain { position: absolute; inset: 0; opacity: .08; background-image: radial-gradient(circle at 20% 20%,rgba(255,255,255,.2) 0 1px,transparent 1px); background-size: 7px 7px; mix-blend-mode: soft-light; }
.intro-overline { color: rgba(245,239,230,.54); font-size: 9px; font-weight: 800; letter-spacing: .28em; }
.intro-lockup p { max-width: 480px; color: rgba(245,239,230,.64); letter-spacing: .04em; text-transform: none; }
.intro-halo { background: radial-gradient(circle,var(--period-glow) 0%,rgba(192,154,107,.08) 33%,transparent 70%); }

.page-transition { display: grid; place-items: center; clip-path: inset(0 0 100% 0); }
.page-transition-mark { display: grid; justify-items: center; gap: 20px; width: min(76vw,360px); text-align: center; }
.page-transition-mark img { width: min(220px,58vw); height: 74px; object-fit: contain; }
.page-transition-mark span { position: static; width: auto; height: auto; transform: none; border: 0; color: rgba(245,239,230,.62); font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }

.cursor-glow { display: grid; place-items: center; overflow: hidden; mix-blend-mode: normal; background: rgba(15,13,14,.2); backdrop-filter: blur(8px); }
.cursor-glow span { opacity: 0; color: var(--cream); font-size: 9px; font-weight: 800; letter-spacing: .12em; transition: opacity .2s; }
.cursor-glow.has-label { width: 78px; height: 78px; margin: -39px; border-color: rgba(245,239,230,.72); background: rgba(15,13,14,.58); }
.cursor-glow.has-label span { opacity: 1; }
.cursor-dot { background: var(--period-accent); mix-blend-mode: normal; }

.hero-period-line { margin: 13px 0 0; color: var(--period-accent); font-family: "Playfair Display",serif; font-size: clamp(18px,2vw,29px); font-style: italic; }
.hero-copy { max-width: 620px; }
.hero-v2::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background: radial-gradient(circle at 72% 38%,var(--period-glow),transparent 34%); }

/* Signature Scroll Story */
.signature-scroll { position: relative; height: 430vh; background: var(--espresso); color: var(--cream); }
.signature-sticky { position: sticky; top: 0; height: 100svh; overflow: hidden; display: grid; grid-template-columns: minmax(320px,.82fr) minmax(420px,1.18fr); gap: clamp(28px,5vw,88px); align-items: center; padding: calc(var(--header-h) + 38px) var(--section-x) 48px; }
.signature-sticky::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 72% 46%,var(--period-glow),transparent 33%), linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px), linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px); background-size: auto, 70px 70px, 70px 70px; opacity:.9; }
.signature-copy-stack { position: relative; z-index:2; min-height: 520px; }
.signature-copy { position:absolute; inset:50% 0 auto; transform:translateY(-50%); opacity:0; pointer-events:none; }
.signature-copy.is-active { pointer-events:auto; }
.signature-copy > span { display:block; margin-bottom:20px; color:var(--period-accent); font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.signature-copy h2 { margin:0; font-size:clamp(42px,5.1vw,82px); line-height:.96; letter-spacing:-.065em; font-weight:600; }
.signature-copy h2 em { font-family:"Playfair Display",serif; font-weight:500; color:var(--period-accent); }
.signature-copy p { max-width:560px; margin:26px 0 0; color:rgba(245,239,230,.68); font-size:clamp(15px,1.4vw,18px); line-height:1.72; }
.signature-copy .text-link { margin-top:28px; }
.signature-visual-stage { position:relative; z-index:2; height:min(72vh,760px); min-height:520px; border-radius:34px; overflow:hidden; background:#181313; box-shadow:0 40px 120px rgba(0,0,0,.38); }
.signature-visual { position:absolute; inset:0; margin:0; opacity:0; clip-path:inset(100% 0 0 0 round 30px); }
.signature-visual img { width:100%; height:100%; object-fit:cover; filter:saturate(.9) contrast(1.04) brightness(.82); }
.signature-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,13,14,.02),rgba(15,13,14,.18) 50%,rgba(15,13,14,.78)); }
.signature-visual figcaption { position:absolute; z-index:2; left:28px; right:28px; bottom:25px; display:flex; align-items:end; justify-content:space-between; gap:20px; color:var(--cream); }
.signature-visual figcaption b { font-size:clamp(32px,5vw,78px); line-height:.85; letter-spacing:-.07em; }
.signature-visual figcaption span { max-width:180px; color:rgba(245,239,230,.68); font-size:12px; text-align:right; }
.signature-frame { position:absolute; z-index:4; inset:20px; pointer-events:none; border:1px solid rgba(245,239,230,.12); border-radius:24px; }
.signature-frame span { position:absolute; left:22px; top:18px; color:rgba(245,239,230,.6); font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.signature-frame i { position:absolute; right:20px; top:20px; width:44px; height:44px; border:1px dashed rgba(245,239,230,.42); border-radius:50%; }
.signature-frame i::after { content:""; position:absolute; left:50%; top:-3px; width:6px; height:6px; margin-left:-3px; border-radius:50%; background:var(--period-accent); }
.signature-progress { position:absolute; z-index:4; left:var(--section-x); bottom:28px; width:min(36vw,430px); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; color:rgba(245,239,230,.54); font-size:10px; letter-spacing:.12em; }
.signature-progress i { height:2px; overflow:hidden; background:rgba(245,239,230,.12); }
.signature-progress b { display:block; width:100%; height:100%; transform:scaleX(.03); background:linear-gradient(90deg,var(--period-accent),var(--cream)); }

/* Mood experience */
.mood-experience { padding-top:130px; padding-bottom:140px; background:var(--espresso-2); color:var(--cream); }
.mood-head { max-width:850px; margin-bottom:64px; }
.mood-head h2 { margin:18px 0 18px; font-size:clamp(48px,7vw,102px); line-height:.92; letter-spacing:-.07em; font-weight:600; }
.mood-head h2 em { font-family:"Playfair Display",serif; font-weight:500; color:var(--period-accent); }
.mood-head p { max-width:620px; color:rgba(245,239,230,.66); }
.mood-layout { display:grid; grid-template-columns:minmax(320px,.75fr) minmax(480px,1.25fr); gap:28px; align-items:stretch; }
.mood-options { display:grid; gap:10px; }
.mood-option { width:100%; min-height:84px; display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:14px; padding:0 20px; border:1px solid var(--line-dark); border-radius:20px; background:rgba(255,255,255,.025); color:var(--cream); text-align:left; cursor:pointer; transition:background .35s,border-color .35s,transform .35s var(--ease); }
.mood-option span { color:rgba(245,239,230,.42); font-size:10px; letter-spacing:.12em; }
.mood-option strong { font-size:16px; font-weight:650; }
.mood-option i { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:rgba(245,239,230,.06); font-style:normal; }
.mood-option:hover,.mood-option.is-active { transform:translateX(8px); border-color:rgba(192,154,107,.48); background:linear-gradient(90deg,rgba(192,154,107,.16),rgba(255,255,255,.035)); }
.mood-option.is-active i { background:var(--period-accent); color:var(--espresso); }
.mood-result { position:relative; min-height:590px; border-radius:30px; overflow:hidden; background:#211818; }
.mood-result figure { position:absolute; inset:0; margin:0; }
.mood-result figure::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,13,14,.95),rgba(15,13,14,.04) 70%); }
.mood-result img { width:100%; height:100%; object-fit:cover; filter:saturate(.9) brightness(.82); }
.mood-result-copy { position:absolute; z-index:2; left:32px; right:32px; bottom:30px; }
.mood-result-copy > span { color:var(--period-accent); font-size:9px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.mood-result-copy h3 { margin:8px 0 8px; font-size:clamp(32px,4vw,58px); line-height:.95; letter-spacing:-.05em; }
.mood-result-copy p { max-width:530px; margin:0 0 22px; color:rgba(245,239,230,.7); }

/* Editorial gallery */
.editorial-gallery { padding-top:135px; padding-bottom:155px; background:var(--cream); }
.editorial-head { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:end; margin-bottom:75px; }
.editorial-head h2 { margin:18px 0 0; font-size:clamp(52px,7.6vw,116px); line-height:.89; letter-spacing:-.075em; font-weight:600; }
.editorial-head h2 em { font-family:"Playfair Display",serif; font-weight:500; }
.editorial-head > p { max-width:520px; color:#766a61; font-size:17px; line-height:1.75; }
.editorial-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; align-items:start; }
.editorial-card { position:relative; display:block; padding:0; border:0; border-radius:26px; overflow:hidden; background:#171314; color:var(--cream); text-align:left; cursor:pointer; box-shadow:0 28px 70px rgba(32,20,15,.14); }
.editorial-card figure { margin:0; width:100%; height:100%; }
.editorial-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.92) contrast(1.03); }
.editorial-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,13,14,.92),transparent 55%); }
.editorial-card > span { position:absolute; z-index:2; left:18px; right:18px; bottom:16px; display:flex; align-items:center; gap:11px; font-size:12px; }
.editorial-card > span b { color:var(--period-accent); font-size:9px; letter-spacing:.14em; }
.editorial-card-1 { grid-column:1/5; aspect-ratio:4/5; }
.editorial-card-2 { grid-column:5/9; aspect-ratio:4/6; margin-top:90px; }
.editorial-card-3 { grid-column:9/13; aspect-ratio:4/5; margin-top:25px; }
.editorial-card-4 { grid-column:2/7; aspect-ratio:5/4; margin-top:20px; }
.editorial-card-5 { grid-column:7/12; aspect-ratio:5/4; margin-top:100px; }
.editorial-card-6 { grid-column:1/5; aspect-ratio:4/5; margin-top:30px; }
.editorial-card-7 { grid-column:5/9; aspect-ratio:4/5; margin-top:110px; }
.editorial-card-8 { grid-column:9/13; aspect-ratio:4/5; margin-top:45px; }

/* Location experience */
.visit-experience { padding-top:120px; padding-bottom:140px; background:var(--cream); }
.visit-experience-head { max-width:900px; margin-bottom:56px; }
.visit-experience-head h2 { margin:18px 0 0; font-size:clamp(48px,6.7vw,100px); line-height:.92; letter-spacing:-.07em; font-weight:600; }
.visit-experience-head h2 em { font-family:"Playfair Display",serif; font-weight:500; }
.visit-experience-grid,.location-experience { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.visit-real-photo,.location-photo { position:relative; min-height:650px; margin:0; border-radius:28px; overflow:hidden; background:#171314; }
.visit-real-photo::after,.location-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,13,14,.92),transparent 62%); }
.visit-real-photo img,.location-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(.84) brightness(.78); }
.visit-real-photo figcaption,.location-photo > div { position:absolute; z-index:2; left:26px; right:26px; bottom:24px; color:var(--cream); }
.visit-real-photo figcaption span,.location-photo span { display:block; margin-bottom:8px; color:var(--period-accent); font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.visit-real-photo figcaption strong,.location-photo strong { display:block; max-width:480px; font-size:clamp(22px,3vw,38px); line-height:1.1; letter-spacing:-.04em; }
.visit-map-shell,.map-shell { position:relative; min-height:650px; border-radius:28px; overflow:hidden; background:#ddd; }
.visit-map-shell iframe,.map-shell iframe { width:100%; height:100%; border:0; filter:grayscale(.86) sepia(.12) contrast(.9); }
.visit-map-copy { position:absolute; left:20px; right:20px; bottom:20px; padding:24px; border-radius:22px; background:rgba(15,13,14,.82); color:var(--cream); backdrop-filter:blur(16px); }
.visit-map-copy > span { color:var(--period-accent); font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.visit-map-copy p { max-width:520px; color:rgba(245,239,230,.68); }

/* About editorial */
.about-editorial { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center; padding-top:120px; padding-bottom:140px; background:var(--cream); }
.about-editorial-copy h2 { margin:18px 0 22px; font-size:clamp(46px,6.3vw,92px); line-height:.93; letter-spacing:-.07em; font-weight:600; }
.about-editorial-copy h2 em { font-family:"Playfair Display",serif; font-weight:500; }
.about-editorial-copy p { max-width:600px; color:#786c63; line-height:1.8; }
.about-editorial-image { position:relative; min-height:690px; padding:0; border:0; border-radius:30px; overflow:hidden; background:#171314; cursor:pointer; }
.about-editorial-image img { width:100%; height:100%; object-fit:cover; }

/* Multi-step forms */
.multi-step-form { position:relative; }
.form-progress { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:32px; padding-bottom:22px; }
.form-progress > button { display:grid; gap:6px; padding:12px 10px; border:0; border-radius:14px; background:transparent; color:#8d8178; text-align:left; cursor:pointer; transition:background .3s,color .3s; }
.form-progress > button:disabled { cursor:not-allowed; opacity:.45; }
.form-progress > button span { font-size:9px; font-weight:800; letter-spacing:.14em; }
.form-progress > button b { font-size:12px; font-weight:700; }
.form-progress > button.is-active { color:var(--ink); background:rgba(192,154,107,.16); }
.form-progress > button.is-complete { color:#7b5d3f; }
.form-progress > i { position:absolute; left:0; right:0; bottom:0; height:2px; overflow:hidden; background:rgba(15,13,14,.08); }
.form-progress > i b { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left center; background:linear-gradient(90deg,var(--sand),#8c623c); transition:transform .5s var(--ease); }
.form-step { min-inline-size:0; margin:0; padding:0; border:0; }
.form-step[hidden] { display:none !important; }
.form-step legend { width:100%; display:flex; align-items:flex-start; gap:16px; margin-bottom:26px; padding:0; }
.form-step legend > span { flex:0 0 42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--espresso); color:var(--cream); font-size:10px; }
.form-step legend strong { display:block; font-size:clamp(22px,2.4vw,32px); line-height:1.1; letter-spacing:-.04em; }
.form-step legend small { display:block; max-width:540px; margin-top:8px; color:#877a71; line-height:1.55; }
.form-insight { margin-top:18px; padding:18px 20px; border:1px solid rgba(15,13,14,.1); border-radius:18px; background:rgba(192,154,107,.08); }
.form-insight span { color:#7c5939; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.form-insight p { margin:7px 0 0; color:#6e6259; font-size:13px; line-height:1.6; }
.franchise-mini-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:18px; }
.franchise-mini-gallery figure { margin:0; aspect-ratio:4/3; border-radius:14px; overflow:hidden; }
.franchise-mini-gallery img { width:100%; height:100%; object-fit:cover; }
.consent-field { display:flex; align-items:flex-start; gap:13px; margin-top:20px; padding:17px; border:1px solid rgba(15,13,14,.1); border-radius:16px; cursor:pointer; }
.consent-field input { flex:0 0 auto; width:18px; height:18px; margin-top:2px; accent-color:var(--sand); }
.consent-field b { display:block; font-size:12px; line-height:1.5; }
.consent-field small { display:block; margin-top:5px; color:#857970; line-height:1.5; }
.form-review { margin-top:20px; padding:20px; border-radius:18px; background:var(--espresso); color:var(--cream); }
.form-review > span { display:block; margin-bottom:12px; color:var(--sand-light); font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.form-review [data-review-content] { display:grid; gap:8px; color:rgba(245,239,230,.68); font-size:12px; }
.form-review p { display:grid; grid-template-columns:130px 1fr; gap:14px; margin:0; padding-bottom:8px; border-bottom:1px solid rgba(245,239,230,.08); }
.form-review p:last-child { border:0; padding-bottom:0; }
.form-review p span { color:rgba(245,239,230,.46); }
.form-review p strong { color:var(--cream); font-weight:600; overflow-wrap:anywhere; }
.form-step-actions { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:28px; }
.form-back,.form-next { min-height:52px; padding:0 20px; border-radius:999px; cursor:pointer; font-size:12px; font-weight:800; }
.form-back { border:1px solid rgba(15,13,14,.14); background:transparent; }
.form-next { margin-left:auto; border:1px solid var(--espresso); background:var(--espresso); color:var(--cream); }
.form-next span { margin-left:16px; }
.form-step-actions .submit-button { margin-left:auto; }
.submit-button.is-loading { pointer-events:none; opacity:.72; }
.draft-status { margin:15px 0 0; color:#998d84; font-size:10px; text-align:right; transition:color .25s; }
.draft-status.is-saved { color:#7b5a3f; }

/* Contact & career refinements */
.location-experience { padding-top:30px; padding-bottom:120px; background:var(--cream); }
.career-photo-pair { position:absolute; inset:0; display:grid; grid-template-columns:1fr 1fr; gap:0; }
.career-photo-pair figure { margin:0; overflow:hidden; }
.career-photo-pair figure:nth-child(2) { transform:translateY(8%); }
.career-photo-pair img { width:100%; height:100%; object-fit:cover; filter:saturate(.82) brightness(.72); }
.career-photo-pair::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,13,14,.86),transparent 65%); }
.career-badge { z-index:3; }

/* Footer moments */
.footer-moments { padding-top:115px; padding-bottom:45px; background:var(--espresso); color:var(--cream); }
.footer-moment-rail { display:grid; grid-template-columns:repeat(7,minmax(260px,1fr)); gap:14px; overflow-x:auto; padding:8px 2px 18px; scrollbar-width:thin; scrollbar-color:rgba(245,239,230,.24) transparent; scroll-snap-type:x mandatory; }
.footer-moment-card { position:relative; min-height:470px; padding:0; border:1px solid rgba(245,239,230,.1); border-radius:24px; overflow:hidden; background:#211718; color:var(--cream); text-align:left; cursor:pointer; scroll-snap-align:start; }
.footer-moment-card:nth-child(even) { margin-top:44px; }
.footer-moment-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.82) brightness(.75); }
.footer-moment-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,13,14,.94),transparent 60%); }
.footer-moment-card span { position:absolute; z-index:2; left:18px; right:18px; bottom:16px; display:flex; gap:10px; align-items:flex-start; font-size:11px; line-height:1.45; }
.footer-moment-card span b { color:var(--period-accent); font-size:9px; letter-spacing:.14em; }

/* Lightbox */
.lightbox { position:fixed; inset:0; z-index:1200; display:grid; place-items:center; padding:28px; visibility:hidden; pointer-events:none; }
.lightbox.is-open { visibility:visible; pointer-events:auto; }
.lightbox-backdrop { position:absolute; inset:0; border:0; background:rgba(8,7,8,.88); backdrop-filter:blur(18px); opacity:0; transition:opacity .4s; }
.lightbox.is-open .lightbox-backdrop { opacity:1; }
.lightbox-shell { position:relative; z-index:2; width:min(92vw,980px); max-height:92vh; display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:16px; border:1px solid rgba(245,239,230,.14); border-radius:28px; background:rgba(15,13,14,.88); color:var(--cream); box-shadow:0 40px 140px rgba(0,0,0,.55); transform:translateY(20px) scale(.98); opacity:0; transition:transform .45s var(--ease),opacity .45s; }
.lightbox.is-open .lightbox-shell { transform:translateY(0) scale(1); opacity:1; }
.lightbox-top,.lightbox-nav { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.lightbox-top { padding:2px 4px 13px; color:rgba(245,239,230,.55); font-size:10px; letter-spacing:.15em; }
.lightbox-top button { width:42px; height:42px; border:1px solid rgba(245,239,230,.16); border-radius:50%; background:transparent; color:var(--cream); font-size:24px; cursor:pointer; }
.lightbox figure { min-height:0; margin:0; display:grid; grid-template-rows:minmax(0,1fr) auto; overflow:hidden; border-radius:20px; background:#090809; }
.lightbox figure img { width:100%; height:100%; max-height:72vh; object-fit:contain; }
.lightbox figcaption { padding:14px 16px; color:rgba(245,239,230,.72); font-family:"Playfair Display",serif; font-size:18px; }
.lightbox-nav { padding:14px 2px 0; }
.lightbox-nav button { border:0; background:transparent; color:rgba(245,239,230,.7); cursor:pointer; font-size:12px; font-weight:700; }
.lightbox-nav button:hover { color:var(--cream); }

@media (max-width: 1180px) {
  .header-period { display:none; }
  .signature-sticky { grid-template-columns:.92fr 1.08fr; gap:34px; }
  .mood-layout { grid-template-columns:.85fr 1.15fr; }
  .footer-moment-rail { grid-template-columns:repeat(7,280px); }
}

@media (max-width: 900px) {
  .signature-scroll { height:390vh; }
  .signature-sticky { grid-template-columns:1fr; grid-template-rows:.72fr 1.28fr; gap:18px; padding-top:calc(var(--header-h) + 20px); }
  .signature-copy-stack { min-height:280px; }
  .signature-copy { inset:46% 0 auto; }
  .signature-copy h2 { font-size:clamp(36px,7vw,62px); }
  .signature-copy p { margin-top:16px; font-size:14px; line-height:1.6; }
  .signature-visual-stage { height:48vh; min-height:360px; }
  .signature-progress { left:var(--section-x); right:var(--section-x); bottom:18px; width:auto; }
  .mood-layout,.editorial-head,.visit-experience-grid,.location-experience,.about-editorial { grid-template-columns:1fr; }
  .mood-result { min-height:560px; }
  .editorial-grid { grid-template-columns:repeat(2,1fr); }
  .editorial-card:nth-child(n) { grid-column:auto; margin-top:0; aspect-ratio:4/5; }
  .visit-real-photo,.location-photo,.visit-map-shell,.map-shell { min-height:560px; }
  .about-editorial-image { min-height:600px; }
  .form-progress > button b { display:none; }
}

@media (max-width: 760px) {
  :root { --header-h:72px; }
  .site-header.is-hidden { transform:none; }
  .brand-logo-box { height:30px; width:132px; }
  .header-shell { padding-left:14px; }
  .brand-intro .intro-logo-frame { width:min(74vw,300px); }
  .intro-lockup strong { font-size:22px; }
  .intro-lockup p { max-width:290px; font-size:11px; line-height:1.5; }
  .hero-period-line { max-width:88%; font-size:19px; }
  .signature-scroll { height:360vh; }
  .signature-sticky { padding-left:20px; padding-right:20px; grid-template-rows:43% 57%; }
  .signature-copy-stack { min-height:240px; }
  .signature-copy { inset:42% 0 auto; }
  .signature-copy > span { margin-bottom:10px; font-size:8px; }
  .signature-copy h2 { font-size:clamp(31px,9vw,45px); line-height:.98; }
  .signature-copy p { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-top:12px; font-size:12px; }
  .signature-copy .text-link { margin-top:13px; font-size:11px; }
  .signature-visual-stage { min-height:320px; height:46vh; border-radius:24px; }
  .signature-visual figcaption { left:18px; right:18px; bottom:17px; }
  .signature-visual figcaption b { font-size:38px; }
  .signature-visual figcaption span { max-width:115px; font-size:10px; }
  .signature-frame { inset:12px; border-radius:17px; }
  .signature-frame i { width:34px; height:34px; right:12px; top:12px; }
  .signature-frame span { left:13px; top:11px; font-size:8px; }
  .signature-progress { bottom:10px; }
  .mood-experience,.editorial-gallery,.visit-experience,.footer-moments { padding-top:92px; padding-bottom:96px; }
  .mood-head { margin-bottom:34px; }
  .mood-head h2,.editorial-head h2,.visit-experience-head h2 { font-size:clamp(42px,12.5vw,63px); }
  .mood-options { display:flex; gap:10px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x mandatory; }
  .mood-option { flex:0 0 82%; min-height:76px; scroll-snap-align:start; }
  .mood-option:hover,.mood-option.is-active { transform:none; }
  .mood-result { min-height:500px; }
  .mood-result-copy { left:20px; right:20px; bottom:20px; }
  .editorial-head { gap:18px; margin-bottom:38px; }
  .editorial-head > p { font-size:14px; }
  .editorial-grid { display:flex; overflow-x:auto; gap:14px; padding-bottom:14px; scroll-snap-type:x mandatory; }
  .editorial-card:nth-child(n) { flex:0 0 84%; aspect-ratio:4/5; scroll-snap-align:center; transform:none !important; }
  .visit-real-photo,.location-photo,.visit-map-shell,.map-shell { min-height:480px; }
  .visit-map-copy { left:12px; right:12px; bottom:12px; padding:18px; }
  .about-editorial { padding-top:90px; padding-bottom:100px; gap:26px; }
  .about-editorial-copy h2 { font-size:clamp(42px,12vw,62px); }
  .about-editorial-image { min-height:500px; }
  .form-progress { grid-template-columns:repeat(4,1fr); gap:4px; margin-bottom:24px; }
  .form-progress > button { justify-items:center; padding:10px 4px; text-align:center; }
  .form-progress > button span { font-size:8px; }
  .form-step legend { gap:12px; }
  .form-step legend > span { flex-basis:36px; height:36px; }
  .form-step legend strong { font-size:23px; }
  .form-step legend small { font-size:11px; }
  .franchise-mini-gallery { grid-template-columns:repeat(3,1fr); }
  .form-step-actions { flex-wrap:wrap; }
  .form-back,.form-next,.form-step-actions .submit-button { width:100%; margin:0; }
  .draft-status { text-align:center; }
  .form-review p { grid-template-columns:1fr; gap:2px; }
  .career-photo-pair figure:nth-child(2) { transform:none; }
  .footer-moment-rail { grid-template-columns:repeat(7,76vw); }
  .footer-moment-card { min-height:470px; }
  .footer-moment-card:nth-child(even) { margin-top:0; }
  .lightbox { padding:12px; }
  .lightbox-shell { width:100%; max-height:96vh; border-radius:22px; padding:10px; }
  .lightbox figcaption { font-size:15px; }
}

@media (max-width: 420px) {
  .signature-copy p { -webkit-line-clamp:2; }
  .signature-visual-stage { min-height:295px; }
  .mood-option { flex-basis:90%; }
  .editorial-card:nth-child(n) { flex-basis:90%; }
}

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation:none; }
  .signature-scroll { height:auto; padding:90px 20px; }
  .signature-sticky { position:relative; height:auto; display:block; padding:0; }
  .signature-copy-stack { min-height:auto; }
  .signature-copy { position:relative; inset:auto; transform:none; opacity:1 !important; filter:none !important; margin-bottom:36px; }
  .signature-visual-stage { display:grid; gap:14px; height:auto; overflow:visible; background:transparent; box-shadow:none; }
  .signature-visual { position:relative; inset:auto; opacity:1 !important; clip-path:none !important; aspect-ratio:4/5; border-radius:24px; overflow:hidden; }
  .signature-progress,.signature-frame { display:none; }
}

/* Progressive enhancement: açılış perdesi JavaScript yoksa içerik erişimini engellemez. */
.brand-intro { display:none; }
.js .brand-intro { display:grid; }
