/* jointagro — Nature, reimagined. Shared visual system, September 2026. */
:root {
  --burgundy:#981d38; --burgundy-dark:#701329; --burgundy-light:#c45b6c;
  --burgundy-soft:#f3e7e7; --burgundy-tint:#f8f0ee;
  --ink:#292225; --muted:#7a7070; --muted-light:#958787;
  --paper:#faf7f2; --cream:#f0eae3; --line:#e3dad3; --line-soft:#ede5df;
  --gold:#b98a59; --radius:4px; --radius-sm:3px; --radius-lg:5px;
  --shadow-sm:0 4px 20px #341c1804; --shadow:0 18px 60px #341c180c;
  --shadow-lg:0 24px 70px #341c181a;
  --serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;
  --ease:cubic-bezier(.22,1,.36,1); --gutter:clamp(24px,6.3vw,120px);
}
html { scroll-padding-top:100px; }
body { background:var(--paper); }
::selection { background:var(--burgundy); color:white; }
:focus-visible { outline:2px solid var(--burgundy-light); outline-offset:6px; }
[hidden] { display:none!important; }
.skip-link { position:fixed; top:12px; left:20px; z-index:500; padding:12px 20px; background:white; color:var(--burgundy); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.reading-progress { position:fixed; left:0; top:0; width:100%; height:2px; background:var(--burgundy-light); transform:scaleX(0); transform-origin:left; z-index:201; pointer-events:none; }
.site-header { min-height:88px; padding:18px var(--gutter); gap:20px; background:#faf7f2ed; border-color:#e3dad380; transition:background .4s,box-shadow .4s,color .4s; }
.brand { gap:12px; min-width:184px; }
.brand-mark { width:43px; height:43px; border:1px solid currentColor; border-radius:50% 50% 48% 12%; background:transparent; color:var(--burgundy); font-family:Georgia,serif; font-size:31px; font-weight:400; box-shadow:none; }
.brand strong { font-family:var(--serif); font-size:20px; letter-spacing:.12em; }
.brand small { font-size:8px; letter-spacing:.11em; color:var(--muted); }
.site-nav { gap:9px; font-weight:400; font-size:13px; }
.nav-link { border-radius:0; padding:10px 9px; position:relative; }
.nav-link::after { content:""; position:absolute; bottom:3px; left:10px; right:10px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
.nav-link:hover,.nav-link.active { background:transparent; }
.nav-link:hover::after,.nav-link.active::after { transform:scaleX(1); }
.lang-toggle { border:0; background:transparent; font-size:11px; min-width:60px; font-weight:500; }
.mega-menu { border-radius:4px; padding:22px; background:var(--paper); }
.mega-menu::before { content:""; position:absolute; top:-14px; height:16px; width:100%; left:0; }
.home-page .site-header { position:absolute; inset:0 0 auto; background:transparent; border-bottom:1px solid #ffffff1f; color:#fff; backdrop-filter:none; }
.home-page .site-header .brand-mark,.home-page .site-header .nav-link,.home-page .site-header .lang-toggle [data-lang-current] { color:#fff; }
.home-page .site-header .brand small,.home-page .site-header .lang-toggle [data-lang-target] { color:#ffffff80; }
.site-header.is-scrolled { box-shadow:0 8px 36px #2013130c; }
.home-page .site-header.is-scrolled { position:fixed; background:#221316ed; backdrop-filter:blur(20px); }
.btn { min-height:53px; padding:0 27px; font-weight:500; font-size:13px; letter-spacing:.04em; transition:transform .4s var(--ease),background .3s,box-shadow .3s; }
.btn span[aria-hidden] { margin-left:22px; font-size:22px; line-height:1; transition:transform .4s var(--ease); }
.btn:hover { transform:translateY(-3px); box-shadow:0 12px 30px #57142520; }
.btn:hover span[aria-hidden] { transform:translate(2px,-2px); }
.btn.primary { box-shadow:none; }
.btn.ghost { background:transparent; border-color:#981d3840; }
.text-link { gap:24px; font-size:13px; font-weight:500; border-bottom:1px solid #981d3840; padding:0 0 8px; transition:gap .4s,color .3s; }
.text-link:hover { gap:32px; }
.eyebrow { color:var(--burgundy); font-size:11px; font-weight:500; letter-spacing:.18em; line-height:1.7; }
.section { padding:110px var(--gutter); }
.section h2,.page-hero h1,.product-detail-hero h1,.product-hub-copy h1,.partnership-cta h2,.nature-copy h2 { font-family:var(--serif); font-weight:500; letter-spacing:.025em; line-height:1.45; }
.section h2 { font-size:clamp(30px,3.3vw,50px); }
h2 em { font-style:normal; color:var(--burgundy); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:40px; }
.section-heading h2 { margin:14px 0 0; }
.section-heading>.text-link { margin-bottom:12px; flex-shrink:0; }
.section-heading>p { font-size:14px; line-height:1.9; color:var(--muted); }
.reveal { opacity:1; transform:none; }
.motion-ready .reveal:not(.is-visible) { opacity:0; transform:translateY(35px); }
.motion-ready .reveal { transition:opacity 1s var(--ease),transform 1.1s var(--ease); transition-delay:var(--reveal-delay,0ms); }
.back-to-top { position:fixed; right:24px; bottom:24px; z-index:80; height:44px; width:44px; border:1px solid #d6b9b4; border-radius:50%; background:var(--paper); color:var(--burgundy); cursor:pointer; opacity:0; visibility:hidden; transform:translateY(12px); transition:.3s; }
.back-to-top.is-visible { opacity:1; visibility:visible; transform:none; }

/* Immersive homepage. */
.cinema-hero { position:relative; isolation:isolate; min-height:820px; height:100svh; max-height:1200px; overflow:hidden; background:#210508; color:#fff; }
.cinema-image { position:absolute; inset:-5%; z-index:-4; will-change:transform; }
.cinema-image img { width:100%; height:100%; object-fit:cover; object-position:center; animation:hero-focus 2.4s var(--ease) both; }
.cinema-shade { position:absolute; inset:0; z-index:-3; background:linear-gradient(90deg,#1b060ceb 0%,#20060ba6 28%,#20060b10 68%),linear-gradient(0deg,#18070beb,transparent 27%,transparent 75%,#20060b55); }
.cinema-copy { position:relative; z-index:2; width:56%; max-width:820px; padding:clamp(150px,18vh,240px) 0 120px var(--gutter); }
.cinema-copy>.eyebrow { color:#e6c5be; font-size:12px; letter-spacing:.22em; display:flex; align-items:center; gap:12px; margin-bottom:30px; }
.live-dot { width:5px; height:5px; background:#f1b8a0; border-radius:50%; box-shadow:0 0 16px #ee987a; }
.cinema-copy h1 { font-family:var(--serif); font-size:clamp(58px,6.5vw,106px); font-weight:500; line-height:1.28; letter-spacing:.1em; margin:0 0 22px; }
.title-line { display:block; overflow:hidden; }
.title-line>span { display:block; animation:title-arrive 1.6s var(--ease) both; }
.title-line.accent { color:#e6b299; }
.title-line.accent>span { animation-delay:.15s; }
.hero-english { margin:0 0 28px; font:11px/1.6 Georgia,serif; letter-spacing:.38em; color:#dcbfa6; }
.hero-description { font-size:14px; line-height:2; color:#ffffffb0; max-width:430px; }
.hero-actions { gap:30px; align-items:center; margin-top:28px; }
.cinema-hero .btn.primary { background:#f5eadd; color:#581629; }
.cinema-hero .btn.primary:hover { background:white; }
.hero-text-link { font-size:13px; display:flex; align-items:center; gap:20px; border-bottom:1px solid #ffffff50; padding:12px 0; }
.hero-text-link span { font-size:19px; transition:transform .3s; }
.hero-text-link:hover span { transform:translate(3px,-3px); }
.hero-enter { animation:hero-enter 1.4s .4s var(--ease) both; }
.hero-orbit { position:absolute; z-index:-1; width:44vw; height:44vw; right:1%; top:18%; border:1px solid #f5c6a825; border-radius:50%; pointer-events:none; animation:orbit-turn 50s linear infinite; }
.hero-orbit::before { content:""; position:absolute; inset:-24px; border:1px solid #f5c6a810; border-radius:50%; }
.hero-orbit span { position:absolute; top:50%; left:-3px; width:5px; height:5px; border-radius:50%; background:#ffdbc1; box-shadow:0 0 15px #ffc29b; }
.hero-atmosphere { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
.hero-note { position:absolute; right:var(--gutter); bottom:170px; text-align:right; display:grid; gap:18px; color:#f2d5c0bf; font-size:10px; letter-spacing:.12em; }
.hero-note span:last-child { font-family:var(--serif); font-size:15px; line-height:1.8; letter-spacing:.2em; }
.hero-bottom { position:absolute; left:var(--gutter); right:var(--gutter); bottom:48px; display:flex; align-items:center; justify-content:space-between; gap:30px; border-top:1px solid #ffffff26; padding-top:28px; }
.scroll-cue { display:flex; align-items:center; gap:15px; font-size:9px; letter-spacing:.22em; color:#ffffffa3; }
.scroll-line { display:block; width:1px; height:34px; background:#ffffff30; position:relative; overflow:hidden; }
.scroll-line::after { content:""; position:absolute; top:-100%; width:1px; height:100%; background:#f4c8a7; animation:scroll-line 2.8s ease infinite; }
.hero-capabilities { display:flex; gap:36px; font-size:12px; color:#e9d7d0bd; letter-spacing:.1em; }
.motion-toggle { position:absolute; right:var(--gutter); bottom:13px; display:flex; gap:6px; align-items:center; background:none; border:0; color:#ffffffa3; font-size:10px; cursor:pointer; padding:5px; }
.brand-ribbon { background:var(--burgundy); color:#f5e8df; padding:21px 0; overflow:hidden; }
.ribbon-track { display:flex; width:max-content; animation:ribbon-flow 45s linear infinite; }
.ribbon-track>span { flex-shrink:0; display:flex; align-items:center; white-space:nowrap; gap:36px; padding-right:36px; font-family:var(--serif); font-size:13px; letter-spacing:.19em; }
.ribbon-track b { display:inline-block; flex-shrink:0; width:22px; height:22px; background-color:#dcaa8e; -webkit-mask:url("./assets/brand-star.svg") center/contain no-repeat; mask:url("./assets/brand-star.svg") center/contain no-repeat; }
.brand-ribbon:hover .ribbon-track { animation-play-state:paused; }
.story-section { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(60px,8vw,140px); align-items:center; }
.story-visual { position:relative; min-width:0; }
.story-image { overflow:hidden; aspect-ratio:4/4.2; border-radius:3px 90px 3px 3px; }
.story-image img { width:100%; height:100%; object-fit:cover; object-position:46% center; transition:transform 1.2s var(--ease); }
.story-visual:hover img { transform:scale(1.045); }
.story-seal { position:absolute; right:-40px; bottom:66px; height:130px; width:130px; background:var(--paper); border-radius:50%; display:grid; align-content:center; justify-items:center; gap:8px; color:var(--burgundy); box-shadow:0 0 0 1px #981d3820,inset 0 0 0 7px var(--paper),inset 0 0 0 8px #981d3820; transform:rotate(-12deg); }
.story-seal span { font-size:7px; letter-spacing:.12em; }
.story-seal strong { font:46px/1 Georgia,serif; }
.image-caption { margin-top:18px; display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:10px; letter-spacing:.05em; }
.image-caption span:last-child { font-size:8px; letter-spacing:.15em; }
.story-copy h2 { margin:18px 0 24px; font-size:clamp(27px,2.8vw,43px); }
.story-copy>p:not(.eyebrow) { font-size:14px; line-height:2; color:var(--muted); }
.story-copy>.text-link { margin-top:20px; }
.story-facts { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:20px; border-top:1px solid var(--line); margin-top:40px; padding-top:28px; }
.story-facts strong { display:block; font:38px/1.3 Georgia,serif; color:var(--burgundy); }
.story-facts strong small { font:12px sans-serif; margin-left:7px; }
.story-facts div>span { display:block; margin-top:10px; font-size:11px; color:var(--muted); }
.collection-section { background:#f0eae3; }
.collection-toolbar { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-bottom:38px; }
.collection-toolbar>p { color:var(--muted); font-size:13px; line-height:1.8; max-width:540px; }
.collection-tabs { display:flex; border-bottom:1px solid #cbbdb5; flex-shrink:0; }
.collection-tabs button { background:transparent; color:var(--muted); padding:15px 24px; cursor:pointer; border:0; border-bottom:2px solid transparent; margin-bottom:-1px; font-size:13px; transition:.3s; }
.collection-tabs button[aria-selected="true"] { border-bottom-color:var(--burgundy); color:var(--burgundy); }
.collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.collection-photo { aspect-ratio:4/4.3; position:relative; overflow:hidden; border-radius:3px; background:#d6c1b1; }
.collection-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#23121212,transparent 50%,#24141344); pointer-events:none; }
.collection-photo img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease),filter .6s; }
.fruit-photo img { object-position:76% center; }
.collection-card:hover .collection-photo img { transform:scale(1.075); filter:saturate(1.08); }
.collection-index { position:absolute; top:22px; left:22px; color:#fff; font:italic 16px Georgia,serif; z-index:1; }
.round-arrow { position:absolute; z-index:1; bottom:22px; right:22px; width:43px; height:43px; display:grid; place-items:center; border:1px solid #ffffff8a; border-radius:50%; color:white; font-size:22px; transition:background .4s,color .4s,transform .4s; }
.collection-card:hover .round-arrow { background:white; color:var(--burgundy); transform:rotate(45deg); }
.collection-copy { padding:25px 0 0; }
.collection-copy small { font-size:9px; color:var(--burgundy); letter-spacing:.18em; }
.collection-copy h3 { font-family:var(--serif); font-size:25px; font-weight:500; margin:12px 0 9px; }
.collection-copy p { margin:0; color:var(--muted); font-size:12px; line-height:1.8; }
.expertise-section { background:#231c20; color:#f6ece4; }
.expertise-section .eyebrow { color:#c78b82; }
.expertise-section h2 em { color:#d4a28d; }
.expertise-section .section-heading>p { color:#c1b1ad; }
.expertise-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(40px,6vw,100px); margin-top:60px; align-items:center; }
.expertise-image { overflow:hidden; position:relative; aspect-ratio:1; }
.expertise-image>img { width:100%; height:100%; object-fit:cover; transition:opacity .4s,transform 1.2s var(--ease); }
.expertise-image:hover>img { transform:scale(1.04); }
.expertise-image-label { position:absolute; left:0; right:0; bottom:0; padding:60px 24px 22px; background:linear-gradient(transparent,#130c11bb); display:flex; justify-content:space-between; gap:20px; font-size:8px; letter-spacing:.12em; }
.expertise-accordion details { border-bottom:1px solid #ffffff22; }
.expertise-accordion summary { display:flex; align-items:center; gap:25px; cursor:pointer; list-style:none; padding:26px 0; }
.expertise-accordion summary::-webkit-details-marker { display:none; }
.expertise-accordion summary>span { font:italic 13px Georgia,serif; color:#ba817d; }
.expertise-accordion h3 { font:500 23px/1.6 var(--serif); margin:0; }
.expertise-accordion summary b { font:300 26px sans-serif; margin-left:auto; color:#bd9287; transition:transform .4s; }
.expertise-accordion details[open] summary b { transform:rotate(45deg); }
.expertise-accordion details[open] h3 { color:#e4b7a0; }
.expertise-detail { padding:0 0 30px 40px; animation:hero-enter .6s var(--ease); }
.expertise-detail p { font-size:13px; line-height:2; color:#bbaaab; margin:0; }
.expertise-detail .text-link { color:#e5b29c; border-color:#e5b29c40; font-size:12px; }
.secondary-link { margin-left:22px; }
.nature-interlude { min-height:580px; height:72vh; max-height:850px; position:relative; overflow:hidden; isolation:isolate; display:grid; place-items:center; text-align:center; color:#fff; }
.nature-backdrop { position:absolute; z-index:-2; inset:-14% 0; }
.nature-backdrop img { width:100%; height:100%; object-fit:cover; }
.nature-interlude::after { content:""; position:absolute; inset:0; z-index:-1; background:#151c10a8; }
.nature-copy { padding:70px 24px; }
.nature-copy>.eyebrow { color:#e1caa5; font-size:10px; letter-spacing:.3em; }
.nature-copy h2 { font-size:clamp(36px,4vw,62px); margin:28px 0 35px; line-height:1.6; letter-spacing:.12em; }
.nature-copy .btn { background:transparent; }
.production-story { display:grid; grid-template-columns:1fr 1.15fr; gap:7vw; align-items:center; }
.production-copy h2 { margin:20px 0; font-size:clamp(28px,3vw,46px); }
.production-copy>p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:2; }
.production-image { position:relative; aspect-ratio:1.05; overflow:hidden; }
.production-image img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.production-image:hover img { transform:scale(1.04); }
.image-corner-label { position:absolute; bottom:20px; left:20px; font-size:9px; letter-spacing:.12em; color:white; background:#231c208a; backdrop-filter:blur(12px); padding:12px 18px; }
.production-links { margin-top:30px; }
.production-links a { display:flex; justify-content:space-between; align-items:center; padding:20px 0; border-top:1px solid var(--line); transition:color .3s,padding .3s; }
.production-links a:hover { padding-left:10px; color:var(--burgundy); }
.production-links small { display:block; font-size:8px; color:var(--muted); letter-spacing:.15em; margin-bottom:8px; }
.production-links strong { font-weight:400; font-size:17px; }
.production-links a>span:last-child { font-size:25px; color:var(--burgundy); }
.partnership-cta { position:relative; overflow:hidden; isolation:isolate; padding:100px var(--gutter) 75px; text-align:center; background:#eaded5; }
.partnership-cta .eyebrow { position:relative; }
.partnership-cta h2 { font-size:clamp(36px,4.5vw,66px); margin:24px 0 35px; }
.cta-phone { margin-left:30px; font:16px Georgia,serif; color:var(--burgundy); }
.cta-signature { font:9px/1.8 Georgia,serif; letter-spacing:.38em; color:#92736c; margin:50px 0 0; }
.cta-orbit { position:absolute; z-index:-1; inset:50% auto auto 50%; width:900px; height:900px; transform:translate(-50%,-50%); border:1px solid #981d380c; border-radius:50%; }
.cta-orbit::before,.cta-orbit::after { content:""; position:absolute; inset:70px; border:1px solid #981d3810; border-radius:50%; }
.cta-orbit::after { inset:140px; }

/* Inner pages: an editorial masthead and consistent content rhythm. */
.breadcrumb { padding:24px var(--gutter) 0; font-size:11px; gap:10px; }
.page-hero { position:relative; min-height:540px; padding:70px var(--gutter) 85px; grid-template-columns:1fr 1.12fr; gap:6vw; overflow:hidden; background:var(--paper); border-bottom:1px solid var(--line); }
.page-hero::before { content:attr(data-chapter); position:absolute; bottom:-25px; left:var(--gutter); font:clamp(64px,11vw,165px)/1 Georgia,serif; letter-spacing:-.035em; color:#981d3806; pointer-events:none; white-space:nowrap; }
.page-hero-copy { position:relative; z-index:1; }
.page-hero h1 { font-size:clamp(38px,4.2vw,65px); margin:22px 0; }
.page-hero p:not(.eyebrow) { max-width:490px; font-size:14px; line-height:2; }
.page-hero .eyebrow { color:var(--burgundy); font-size:11px; }
.hero-visual { border-radius:3px 64px 3px 3px; box-shadow:none; position:relative; }
.hero-visual img { height:390px; min-height:0; object-fit:cover; transition:transform 1.2s var(--ease); }
.hero-visual:hover img { transform:scale(1.045); }
.inner-page .section-head p { font-size:14px; line-height:1.9; }
.inner-page .section-head .eyebrow { font-size:11px; color:var(--burgundy); }
.inner-page .two-grid { display:grid; gap:24px; }
.inner-page .info-card,.inner-page .detail-grid article { background:transparent; border:0; border-top:1px solid #c9b8ae; border-radius:0; box-shadow:none; padding:30px 20px 30px 0; transition:background .4s,transform .4s; }
.inner-page .info-card:hover { background:#f2ebe560; transform:translateY(-5px); }
.inner-page .info-card h3 { font-family:var(--serif); font-size:24px; font-weight:500; }
.inner-page .info-card p { font-size:14px; line-height:1.9; }
.card-icon { background:#981d380d; border:1px solid #981d3818; height:48px; width:48px; font-size:21px; margin-bottom:26px; }
.prose-card { box-shadow:none; border:0; padding:0 5vw 0 0; background:transparent; }
.prose-card p { line-height:2.2; font-size:15px; }
.side-facts { gap:0; border-left:1px solid var(--line); }
.side-facts div { border:0; background:transparent; box-shadow:none; padding:25px 35px; }
.side-facts strong { font:36px Georgia,var(--serif); }
.side-facts span { font-size:12px; }
.framework-diagram article { border-width:1px; box-shadow:none; border-radius:3px; background:transparent; padding:50px 28px; transition:transform .5s,background .5s; }
.framework-diagram article:hover { background:#fff8; transform:translateY(-7px); }
.framework-diagram h3 { font-family:var(--serif); font-weight:500; }
.gallery-split { gap:6vw; }
.gallery-split>img { border-radius:3px; box-shadow:none; }
.gallery-split .card-grid { grid-template-columns:1fr; gap:0; }
.gallery-split .info-card { min-height:0; padding:20px 0; }
.product-hub-page { background:var(--paper); }
.product-hub-hero { position:relative; overflow:hidden; background:#ece1d8; padding:85px var(--gutter); }
.product-hub-hero::after { content:""; position:absolute; width:480px; height:480px; top:-150px; right:-90px; border:1px solid #981d3820; border-radius:50%; box-shadow:0 0 0 70px #981d3804,0 0 0 140px #981d3803; pointer-events:none; }
.product-hub-hero.primary { background:#571529; }
.product-hub-copy { position:relative; z-index:1; }
.product-hub-copy h1 { font-size:clamp(38px,4vw,62px); }
.product-hub-copy p { font-size:15px; }
.product-family-head h2 { font-family:var(--serif); font-weight:500; }
.product-family-grid,.product-grid { gap:28px; }
.family-card,.product-card { border:1px solid var(--line); box-shadow:none; border-radius:3px; background:transparent; transition:transform .6s var(--ease),box-shadow .6s,border-color .6s; }
.family-card:hover,.product-card:hover { transform:translateY(-8px); box-shadow:0 25px 45px #3d19200c; border-color:#bc9a91; }
.family-card-media { background:#fff; }
.family-card-media::after { display:none; }
.product-image { overflow:hidden; background:white; height:350px; }
.product-image img { transition:transform .8s var(--ease); }
.product-card:hover .product-image img { transform:scale(1.06); }
.family-card-copy,.product-copy { padding:26px; }
.product-copy h3,.family-card-copy h3 { font-family:var(--serif); font-size:24px; font-weight:500; }
.product-copy p,.family-card-copy p { font-size:13px; line-height:1.9; }
.product-detail-hero { background:var(--paper); padding:65px var(--gutter) 85px; gap:7vw; grid-template-columns:1fr 1fr; }
.product-detail-image { min-height:560px; border:1px solid var(--line); border-radius:3px; box-shadow:none; }
.product-detail-copy h1 { font-size:clamp(36px,4vw,58px); }
.product-detail-copy>p:not(.eyebrow) { font-size:15px; line-height:2; }
.product-detail-copy .eyebrow { font-size:11px; color:var(--burgundy); }
.detail-grid article h3 { font-family:var(--serif); font-size:18px; font-weight:500; }
.trace-page { background:transparent; gap:35px; }
.trace-card { border:1px solid var(--line); background:transparent; padding:40px; box-shadow:none; }
.trace-card h2 { font-size:30px; }
.trace-card li { background:#f5eee7; border:0; border-radius:2px; font-weight:400; transition:background .4s,transform .4s; }
.trace-card li:hover { background:#eddcd2; transform:translateY(-3px); }
.trace-card li::before { font:20px/1.4 Georgia,serif; margin-bottom:10px; }
.contact-info,.contact-form { border:1px solid var(--line); border-radius:3px; box-shadow:none; background:transparent; padding:45px; }
.contact-info { background:#351b25; }
.contact-info h2 { color:#f4dcca; font-family:var(--serif); font-size:32px; }
.contact-info p { color:#dccbc8; line-height:2.4; }
.contact-info strong { color:#edbcad!important; }
.contact-form { background:#fffcf8; }
.contact-form input,.contact-form textarea { border-radius:2px; border-color:var(--line); background:transparent; }
.download-panel,.rd-report-panel { background:#f1e8e0; border:1px solid var(--line); box-shadow:none; border-radius:3px; }
.wide-note { box-shadow:none; border-radius:3px; border:1px solid var(--line); background:#ffffff50; }
.site-footer { padding:75px var(--gutter) 28px; background:#21181d; }
.footer-main { max-width:none; grid-template-columns:1.25fr .6fr 1fr; gap:7vw; }
.footer-brand h2 { font:500 28px/1.5 var(--serif); letter-spacing:.15em; }
.footer-brand p,.footer-column p,.footer-column a { font-size:12px; color:#b6a7a8; line-height:2; }
.footer-column h3 { font-size:12px; font-weight:400; letter-spacing:.13em; color:#f0d7c9; margin-bottom:12px; }
.footer-column { gap:9px; }
.footer-brand span { font:10px Georgia,serif; letter-spacing:.15em; color:#b99080; }
.footer-contact strong { font-weight:400; color:#b6a7a8; }
.footer-bottom { max-width:none; text-align:left; font-size:10px; letter-spacing:.02em; padding-top:22px; margin-top:55px; color:#827175; }
.lang-en .cinema-copy h1 { font-family:Georgia,serif; font-size:clamp(44px,5vw,77px); letter-spacing:-.025em; line-height:1.12; }
.lang-en .hero-capabilities { gap:20px; font-size:11px; }
.lang-en .section h2 { font-family:Georgia,serif; line-height:1.25; letter-spacing:-.025em; }
.lang-en .story-facts strong { font-size:31px; }

@keyframes title-arrive { from { transform:translateY(110%); filter:blur(7px); opacity:0; } to { transform:translateY(0); filter:blur(0); opacity:1; } }
@keyframes hero-enter { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-focus { from { transform:scale(1.14); filter:brightness(.5); } to { transform:scale(1); filter:brightness(1); } }
@keyframes orbit-turn { to { transform:rotate(360deg); } }
@keyframes scroll-line { to { transform:translateY(250%); } }
@keyframes ribbon-flow { to { transform:translateX(-50%); } }

@media(min-width:1800px) { :root { --gutter:max(100px,calc((100vw - 1560px)/2)); } }
@media(max-width:1180px) {
  .site-header { gap:12px; padding-inline:30px; }
  .site-nav { gap:0; font-size:12px; }
  .nav-link { padding-inline:8px; }
  .brand { min-width:170px; }
  .section { padding-block:85px; }
  .story-section { gap:70px; }
  .story-seal { width:105px; height:105px; right:-30px; }
  .cinema-copy { width:64%; }
  .hero-capabilities { gap:22px; }
  .page-hero { grid-template-columns:1fr 1.05fr; gap:40px; }
  .hero-visual img { height:350px; }
  .product-detail-hero { grid-template-columns:1fr 1fr; }
  .product-detail-image { min-height:460px; }
  .detail-grid { grid-template-columns:repeat(2,1fr); }
  .footer-main { grid-template-columns:1fr .6fr 1fr; gap:35px; }
  .footer-brand { grid-column:auto; }
}
@media(max-width:900px) {
  .site-header { min-height:76px; padding:15px 24px; }
  .site-nav { top:76px; padding:22px; background:var(--paper); }
  .site-nav .nav-link,.home-page .site-header .site-nav .nav-link { color:var(--ink); font-size:16px; padding:15px 10px; }
  .mega-menu::before { display:none; }
  .brand strong { font-size:18px; }
  .menu-toggle { background:transparent; color:var(--burgundy); border-color:#981d3830; }
  .home-page .menu-toggle { color:white; border-color:#ffffff40; }
  .cinema-hero { min-height:780px; height:100svh; max-height:1050px; }
  .cinema-copy { width:75%; padding-top:170px; }
  .cinema-copy h1 { font-size:76px; }
  .cinema-image img { object-position:61% center; }
  .hero-orbit { width:60vw; height:60vw; right:-10%; top:25%; }
  .hero-note { display:none; }
  .hero-capabilities { font-size:10px; gap:18px; }
  .story-section { gap:45px; }
  .story-copy h2 { font-size:28px; }
  .story-image { aspect-ratio:3/4.4; }
  .story-seal { right:-20px; bottom:65px; width:90px; height:90px; }
  .story-seal span { font-size:5px; }
  .story-seal strong { font-size:32px; }
  .story-facts { gap:10px; }
  .story-facts strong { font-size:28px; }
  .story-facts div>span { font-size:10px; }
  .image-caption span:last-child { display:none; }
  .collection-grid { gap:16px; }
  .collection-copy h3 { font-size:22px; }
  .collection-tabs button { padding-inline:17px; }
  .expertise-layout { gap:35px; }
  .expertise-image { aspect-ratio:3/4; }
  .expertise-accordion h3 { font-size:20px; }
  .expertise-accordion summary { gap:16px; padding:20px 0; }
  .expertise-image-label span:last-child { display:none; }
  .production-story { gap:40px; }
  .page-hero { min-height:0; grid-template-columns:1fr; padding:55px var(--gutter) 65px; }
  .page-hero-copy { max-width:680px; }
  .hero-visual img { height:390px; }
  .page-hero h1 { font-size:48px; }
  .product-detail-hero { grid-template-columns:1fr 1fr; gap:30px; }
  .product-detail-image { min-height:360px; }
  .product-detail-copy h1 { font-size:36px; }
  .product-grid { grid-template-columns:repeat(2,1fr); }
  .footer-main { grid-template-columns:1fr 1fr; gap:40px; }
  .footer-brand { grid-column:1/-1; }
}
@media(max-width:620px) {
  :root { --gutter:24px; }
  html { scroll-padding-top:80px; }
  .section { padding-block:65px; }
  .site-header { min-height:70px; padding:12px 20px; }
  .brand { min-width:0; gap:9px; }
  .brand-mark { width:36px; height:36px; font-size:26px; }
  .brand strong { font-size:17px; }
  .brand small { display:none; }
  .site-nav { top:70px; }
  .header-actions { gap:2px; }
  .lang-toggle { min-width:54px; }
  .menu-toggle { height:36px; width:36px; }
  .cinema-hero { height:100svh; min-height:740px; max-height:960px; }
  .cinema-copy { padding:145px 24px 160px; width:100%; }
  .cinema-copy>.eyebrow { margin-bottom:24px; font-size:10px; }
  .cinema-copy h1 { font-size:clamp(53px,14.5vw,78px); line-height:1.32; letter-spacing:.06em; }
  .cinema-image { inset:-3%; }
  .cinema-image img { object-position:64% center; }
  .cinema-shade { background:linear-gradient(90deg,#1b060cde,#20060b5c),linear-gradient(0deg,#18070bf5,transparent 80%); }
  .hero-english { font-size:9px; letter-spacing:.25em; margin-bottom:24px; }
  .hero-description { font-size:12px; line-height:2; max-width:330px; }
  .hero-actions { width:auto; gap:24px; }
  .hero-actions .btn { flex:0 1 auto; }
  .btn { min-height:49px; padding-inline:23px; font-size:12px; }
  .hero-bottom { bottom:43px; padding-top:22px; display:grid; gap:22px; }
  .hero-capabilities { order:-1; justify-content:space-between; gap:10px; font-size:10px; }
  .scroll-cue { font-size:8px; gap:12px; }
  .scroll-line { height:22px; }
  .hero-orbit { top:26%; right:-37%; width:90vw; height:90vw; }
  .brand-ribbon { padding:17px 0; }
  .ribbon-track>span { font-size:11px; gap:24px; padding-right:24px; }
  .story-section { grid-template-columns:1fr; gap:45px; }
  .story-image { aspect-ratio:4/3.7; border-radius:3px 60px 3px 3px; }
  .story-seal { right:14px; bottom:50px; width:105px; height:105px; }
  .story-seal span { font-size:6px; }
  .story-copy h2 { font-size:31px; }
  .story-copy>p:not(.eyebrow) { font-size:13px; }
  .story-facts strong { font-size:35px; }
  .story-facts div>span { font-size:11px; }
  .section-heading { align-items:start; gap:18px; margin-bottom:26px; }
  .section h2 { font-size:31px; }
  .section-heading>.text-link { font-size:11px; gap:10px; margin-top:44px; white-space:nowrap; }
  .collection-section .section-heading h2 em { display:block; }
  .collection-toolbar { flex-direction:column; align-items:start; gap:12px; margin-bottom:28px; }
  .collection-toolbar>p { font-size:12px; }
  .collection-tabs { width:100%; }
  .collection-tabs button { flex:1; }
  .collection-grid { grid-template-columns:1fr; gap:35px; }
  .collection-photo { aspect-ratio:4/3.6; }
  .collection-copy { padding-top:19px; }
  .collection-copy h3 { font-size:25px; margin:8px 0; }
  .expertise-section .section-heading { display:block; }
  .expertise-section .section-heading>p { margin-top:22px; font-size:12px; }
  .expertise-layout { grid-template-columns:1fr; margin-top:32px; gap:22px; }
  .expertise-image { aspect-ratio:4/3; }
  .expertise-accordion h3 { font-size:22px; }
  .expertise-detail { padding-left:30px; }
  .nature-interlude { min-height:470px; height:65vh; }
  .nature-copy>.eyebrow { font-size:8px; letter-spacing:.14em; }
  .nature-copy h2 { font-size:32px; letter-spacing:.03em; }
  .nature-backdrop img { object-position:64% center; }
  .production-story { grid-template-columns:1fr; gap:30px; }
  .production-copy h2 { font-size:30px; }
  .production-image { aspect-ratio:4/3; }
  .partnership-cta { padding:65px 24px 50px; }
  .partnership-cta h2 { font-size:35px; }
  .partnership-cta h2 em { display:block; }
  .partnership-cta .eyebrow { font-size:10px; letter-spacing:.08em; }
  .cta-phone { display:block; margin:25px 0 0; font-size:15px; }
  .cta-signature { font-size:8px; }
  .page-hero { padding:40px 24px 55px; gap:25px; }
  .page-hero h1 { font-size:37px; }
  .page-hero p:not(.eyebrow) { font-size:13px; }
  .hero-visual { border-top-right-radius:50px; }
  .hero-visual img { height:270px; }
  .inner-page .two-grid { grid-template-columns:1fr; }
  .inner-page .card-grid { grid-template-columns:1fr; gap:12px; }
  .prose-card { padding:0; }
  .prose-card p { font-size:14px; }
  .side-facts { grid-template-columns:1fr 1fr; border-left:0; border-top:1px solid var(--line); margin-top:20px; }
  .side-facts div { padding:24px 12px; }
  .gallery-split>img { height:300px; }
  .product-hub-hero { padding:60px 24px; }
  .product-hub-copy h1 { font-size:38px; }
  .product-hub-copy p { font-size:13px; }
  .product-family-grid,.product-grid { grid-template-columns:1fr; }
  .product-detail-hero { grid-template-columns:1fr; padding:30px 24px 55px; }
  .product-detail-image { min-height:400px; }
  .product-detail-image img { max-height:360px; width:75%; }
  .product-detail-copy h1 { font-size:36px; }
  .detail-grid { grid-template-columns:1fr; }
  .trace-page { grid-template-columns:1fr; gap:20px; }
  .trace-card { padding:25px; }
  .trace-card ol { grid-template-columns:1fr 1fr; }
  .trace-card li { padding:17px 8px; font-size:13px; }
  .contact-info,.contact-form { padding:28px; }
  .contact-layout { grid-template-columns:1fr; }
  .footer-main { grid-template-columns:1fr; gap:35px; }
  .footer-brand { grid-column:auto; }
  .site-footer { padding:55px 24px 24px; }
  .footer-brand h2 { font-size:26px; }
  .footer-bottom { font-size:9px; line-height:1.9; }
  .back-to-top { bottom:16px; right:16px; width:38px; height:38px; }
  .lang-en .cinema-copy h1 { font-size:clamp(47px,12vw,66px); }
  .lang-en .hero-capabilities { gap:7px; font-size:8px; letter-spacing:0; }
  .lang-en .story-facts strong { font-size:30px; }
  .lang-en .brand strong { font-size:13px; letter-spacing:0; }
}
@media(max-width:380px) {
  .lang-en .cinema-hero { min-height:920px; }
  .lang-en .cinema-copy { padding-top:130px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .motion-ready .reveal:not(.is-visible) { opacity:1; transform:none; }
  [data-parallax] { transform:none!important; }
  .hero-atmosphere { display:none; }
}
.motion-paused *,.motion-paused *::before,.motion-paused *::after { animation-play-state:paused!important; }
.motion-paused .title-line>span,.motion-paused .hero-enter { animation:none!important; transform:none!important; opacity:1!important; filter:none!important; }
.motion-paused .cinema-image img { animation:none!important; }
.motion-paused .reveal { opacity:1!important; transform:none!important; transition:none!important; }
.motion-paused [data-parallax] { transform:none!important; }
.motion-paused .hero-atmosphere { display:none; }
