/*
Theme Name: Kiwi Gorilla Films
Theme URI: https://kiwigorilla.com
Author: Kiwi Gorilla Films
Description: キウイゴリラ映像のWordPress管理対応オリジナルテーマ
Version: 1.4.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: kiwi-gorilla-film
*/

:root { --ink:#0b0c0d; --paper:#f1f0e9; --accent:#ffc928; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:"Noto Serif JP","Yu Mincho",YuMincho,serif; }
main { position:relative; isolation:isolate; }
main>section { position:relative; z-index:1; }
* { box-sizing:border-box; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
.nav { height:78px; padding:0 3.5vw; display:flex; align-items:center; justify-content:space-between; position:absolute; z-index:20; width:100%; border-bottom:1px solid #ffffff2b; }
.nav.solid { position:relative; }
.brand { font-family:Georgia,serif; font-size:18px; font-weight:900; letter-spacing:.02em; }
.brand b,.brand span { color:var(--accent); }
.nav nav { display:flex; gap:28px; font-family:Arial,sans-serif; font-size:11px; font-weight:800; letter-spacing:1.4px; }
.hero { height:100svh; min-height:700px; position:relative; overflow:hidden; background:#111; }
.heroVideo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; pointer-events:none; }
.mobileVideo { display:none; }
.heroShade { position:absolute; inset:0; background:linear-gradient(90deg,#040506e8 0%,#0405068a 36%,#04050614 72%),linear-gradient(0deg,#04050699,transparent 40%); }
.heroCopy { position:absolute; left:5.3vw; bottom:7vh; z-index:3; }
.eyebrow { font-family:Arial,sans-serif; font-size:10px; letter-spacing:2.3px; font-weight:900; color:var(--accent); margin:0 0 20px; }
.eyebrow.dark { color:#111; }
.hero h1 { font-family:Georgia,serif; font-size:clamp(72px,10vw,154px); line-height:.76; letter-spacing:-.07em; margin:0; transform:scaleX(.82); transform-origin:left; }
.hero h1 em { font-style:normal; color:var(--accent); }
.lead { font-size:16px; line-height:1.75; font-weight:700; margin:28px 0; }
.siteIntro { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; background:var(--accent); animation:intro-out .7s 1.8s forwards; }
.siteIntro img {
  width:min(420px,62vw);
  position:relative;
  z-index:2;
  mix-blend-mode:multiply;
  animation:intro-logo 1.15s cubic-bezier(.2,.8,.2,1) both;
}
.sentIntro { position:fixed; inset:0; z-index:1000; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--accent); color:#08090a; animation:intro-out .65s 3s forwards; }
.sentIntro img { width:min(330px,54vw); animation:intro-logo .9s cubic-bezier(.2,.8,.2,1) both; }
.sentIntro strong { margin-top:8px; font:700 clamp(34px,5vw,68px)/1 Georgia,"Times New Roman",serif; letter-spacing:.04em; }
.sentIntro span { margin-top:10px; font:700 11px/1.4 Arial,sans-serif; letter-spacing:.22em; }
@keyframes intro-logo {
  from { opacity:0; transform:scale(.82); filter:blur(7px); }
  to { opacity:1; transform:scale(1); filter:blur(0); }
}
@keyframes intro-out { to { opacity:0; visibility:hidden; } }
.worksPreview { padding:110px 5vw 130px; }
.siteAtmosphere { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; opacity:0; visibility:hidden; transition:opacity .8s ease,visibility .8s; mix-blend-mode:screen; }
.siteAtmosphere.is-active { opacity:1; visibility:visible; }
.siteAtmosphere i { position:absolute; top:var(--ray-y); left:-72vw; width:var(--ray-w); height:1px; opacity:0; transform:rotate(-13deg); transform-origin:center; background:linear-gradient(90deg,transparent 0%,#ffc92822 28%,#ffd65fb8 70%,transparent 100%); box-shadow:0 0 13px #ffc92852,0 0 34px #ffc92825; animation:siteRayUp var(--ray-d) cubic-bezier(.2,.03,.28,1) var(--ray-delay) infinite; }
.siteAtmosphere i:nth-child(2n) { height:2px; filter:blur(.35px); }
.siteAtmosphere i:nth-child(2) { top:-18vh; left:var(--ray-x); transform:rotate(24deg); animation-name:siteRayDown; }
.siteAtmosphere i:nth-child(3) { left:auto; right:-72vw; transform:rotate(14deg); animation-name:siteRayRightDown; }
.siteAtmosphere i:nth-child(4) { top:-22vh; left:var(--ray-x); transform:rotate(31deg); animation-name:siteRayDownSteep; }
.siteAtmosphere i:nth-child(5) { left:auto; right:-72vw; transform:rotate(-16deg); animation-name:siteRayRightUp; }
.siteAtmosphere i:nth-child(6) { transform:rotate(18deg); animation-name:siteRayLeftDown; }
@keyframes siteRayUp { 0%{translate:0 0;opacity:0} 10%{opacity:var(--ray-a)} 68%{opacity:calc(var(--ray-a) * .62)} 100%{translate:190vw -28vh;opacity:0} }
@keyframes siteRayDown { 0%{translate:0 0;opacity:0} 10%{opacity:var(--ray-a)} 68%{opacity:calc(var(--ray-a) * .62)} 100%{translate:76vw 132vh;opacity:0} }
@keyframes siteRayRightDown { 0%{translate:0 0;opacity:0} 10%{opacity:var(--ray-a)} 68%{opacity:calc(var(--ray-a) * .62)} 100%{translate:-190vw 34vh;opacity:0} }
@keyframes siteRayDownSteep { 0%{translate:0 0;opacity:0} 12%{opacity:var(--ray-a)} 72%{opacity:calc(var(--ray-a) * .55)} 100%{translate:48vw 138vh;opacity:0} }
@keyframes siteRayRightUp { 0%{translate:0 0;opacity:0} 10%{opacity:var(--ray-a)} 68%{opacity:calc(var(--ray-a) * .62)} 100%{translate:-190vw -30vh;opacity:0} }
@keyframes siteRayLeftDown { 0%{translate:0 0;opacity:0} 10%{opacity:var(--ray-a)} 68%{opacity:calc(var(--ray-a) * .62)} 100%{translate:190vw 32vh;opacity:0} }
.sectionReveal { opacity:0; transform:translateY(42px) scale(.988); filter:blur(8px); transition:opacity .9s ease,filter 1s ease,transform 1.05s cubic-bezier(.16,.82,.2,1); }
.sectionReveal.is-shown { opacity:1; transform:none; filter:blur(0); }
.sectionReveal>* { opacity:0; transform:translateY(20px); transition:opacity .72s ease .12s,transform .9s cubic-bezier(.16,.82,.2,1) .12s; }
.sectionReveal>*:nth-child(2) { transition-delay:.2s; }
.sectionReveal>*:nth-child(3) { transition-delay:.28s; }
.sectionReveal.is-shown>* { opacity:1; transform:none; }
.sectionHead { display:flex; align-items:end; justify-content:space-between; margin-bottom:48px; }
.sectionHead span { font-size:10px; color:var(--accent); letter-spacing:2px; }
.sectionHead h2,.worksTitle h1 { font-family:Georgia,serif; font-size:clamp(54px,8vw,115px); line-height:.82; letter-spacing:-.06em; margin:14px 0 0; }
.arrowLink { color:var(--accent); font-size:12px; font-weight:800; border-bottom:1px solid; padding-bottom:8px; }
.previewGrid { display:grid; grid-template-columns:1.25fr 1fr .72fr; grid-template-rows:280px 260px; gap:12px; }
.workTile,.thumb { position:relative; overflow:hidden; background:#181818; }
.workTile img,.thumb img { width:100%; height:100%; object-fit:cover; transition:.45s; }
.workTile:after,.thumb:after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 45%,#000c); }
.workTile:hover img,.workCard:hover img { transform:scale(1.035); }
.workTile>div { position:absolute; z-index:2; left:18px; bottom:16px; }
.workTile small,.workCard small { color:var(--accent); font-size:9px; letter-spacing:1.4px; }
.workTile h3 { font-size:17px; margin:5px 0 2px; }
.workTile p { font-size:12px; margin:0; }
.play { position:absolute; z-index:3; top:18px; right:18px; width:42px; height:42px; border:1px solid #fff8; border-radius:50%; display:grid; place-items:center; font-size:12px; }
.tile0 { grid-column:1;grid-row:1; }.tile1 { grid-column:1;grid-row:2; }.tile2 { grid-column:2;grid-row:1; }.tile3 { grid-column:2;grid-row:2; }.tile4 { grid-column:3;grid-row:1/span 2; }
.visionField { position:relative; height:clamp(720px,62vw,1020px); overflow:clip; background:#070809; isolation:isolate; }
.visionSticky { position:relative; height:100%; overflow:hidden; perspective:850px; perspective-origin:50% 48%; }
.visionSticky:after { display:none; }
.visionCards { position:absolute; inset:0; z-index:10; transform-style:flat; perspective:850px; perspective-origin:50% 48%; }
.visionCard { position:absolute; left:var(--x); top:var(--y); width:var(--w); margin:0; overflow:visible; background:#151617; opacity:0; box-shadow:0 26px 85px #000c; transform-origin:center; transform:translate3d(var(--px,0px),var(--py,0px),var(--z)) rotateY(var(--ry)) rotateX(var(--rx)) rotateZ(var(--r)) scale(1); transition:opacity .72s ease .08s,filter .82s ease .08s; will-change:transform; backface-visibility:hidden; }
.visionCard img { display:block; width:100%; height:auto; }
.visionCard--near { --z:72px; z-index:22; filter:blur(2px) brightness(.96) saturate(1.03); }
.visionCard--top { --z:90px; z-index:80; }
.visionCard--focus { --z:24px; z-index:19; filter:blur(1px) brightness(.96) saturate(1.02); }
.visionCard--mid { --z:-45px; z-index:14; filter:blur(5px) brightness(.92) saturate(1); }
.visionCard--far { --z:-250px; z-index:6; filter:blur(10px) brightness(.72) saturate(.92); box-shadow:0 12px 44px #000c; }
.visionField.is-visible .visionCard { opacity:1; transform:translate3d(var(--px,0px),var(--py,0px),var(--z)) rotateY(var(--ry)) rotateX(var(--rx)) rotateZ(var(--r)) scale(1); }
.visionField.motion-ready .visionCard { transition:opacity .9s ease,filter .5s ease; }
.visionField.is-visible .visionCard--near { filter:blur(0) brightness(1) saturate(1.03); }
.visionField.is-visible .visionCard--top { filter:blur(0) brightness(1) saturate(1.03); }
.visionField.is-visible .visionCard--focus { filter:blur(0) brightness(1) saturate(1.03); }
.visionField.is-visible .visionCard--mid { filter:blur(3.2px) brightness(.98) saturate(1.02); }
.visionField.is-visible .visionCard--far { filter:blur(7.5px) brightness(.78) saturate(.94); }
.visionCopy { position:absolute; left:50%; top:50%; z-index:40; width:min(920px,64vw); padding:34px 28px; text-align:center; transform:translate3d(-50%,calc(-50% + var(--copy-y,12px)),35px) scale(1); opacity:0; filter:blur(6px); transition:opacity .75s ease .12s,filter .82s ease .12s,transform .9s cubic-bezier(.16,.82,.2,1) .12s; }
.visionCopy:before { content:""; position:absolute; inset:-24px -6%; z-index:-1; background:radial-gradient(ellipse at center,#070809e8 0%,#070809ae 50%,transparent 75%); }
.visionField.is-visible .visionCopy { opacity:1; filter:blur(0); transform:translate3d(-50%,calc(-50% + var(--copy-y,0px)),35px) scale(1); }
.visionField.motion-ready .visionCopy { transition:opacity .5s ease,filter .5s ease; }
.visionCopy h2 { margin:0; color:#f4f2eb; font:900 clamp(42px,4.2vw,74px)/.92 Arial,Helvetica,sans-serif; letter-spacing:-.055em; white-space:nowrap; text-shadow:0 8px 38px #000; }
.visionCopy h2 em { color:var(--accent); font-style:normal; }
.visionCopy p { margin:24px 0 0; font-size:clamp(17px,1.65vw,28px); font-weight:700; letter-spacing:.08em; text-shadow:0 5px 24px #000; }
.visionLines { position:absolute; inset:-25%; z-index:4; overflow:hidden; transform:rotate(-11deg); pointer-events:none; }
.visionLines i { position:absolute; left:-45%; width:42%; height:1px; opacity:0; background:linear-gradient(90deg,transparent,#ffc92818 20%,#ffc928d9 67%,transparent); box-shadow:0 0 18px #ffc9284f; animation:visionLine 8s cubic-bezier(.24,.04,.27,1) infinite; }
.visionLines i:nth-child(1){top:18%;animation-delay:-2s}.visionLines i:nth-child(2){top:42%;width:28%;animation-duration:11s;animation-delay:-7s}.visionLines i:nth-child(3){top:66%;width:54%;animation-duration:14s;animation-delay:-4s}.visionLines i:nth-child(4){top:82%;width:35%;animation-duration:9s;animation-delay:-8s}
@keyframes visionLine { 0%{transform:translateX(0);opacity:0} 13%{opacity:.7} 70%{opacity:.28} 100%{transform:translateX(390%);opacity:0} }
.aboutStudio { min-height:560px; position:relative; display:grid; grid-template-columns:44% 56%; overflow:hidden; border-block:1px solid #292929; }
.aboutPicture { position:absolute; inset:0; z-index:0; }
.aboutStudio .bannerBg { position:absolute; top:-20px; left:0; width:94%; height:auto; max-width:none; object-fit:contain; object-position:left top; z-index:0; }
.aboutStudioLabel,.aboutStudioCopy { position:relative; z-index:2; padding:80px 5vw; }
.aboutStudioLabel { align-self:start; padding:42px 0 0 4.3vw; width:44vw; }
.aboutStudioLabel h2 { font:700 clamp(74px,9vw,140px)/.8 Georgia,serif; letter-spacing:-.045em; margin:6px 0 0; white-space:nowrap; }
.aboutStudioCopy { background:linear-gradient(90deg,#08090ae8,#08090afa); }
.aboutStudioCopy h3 { font-size:clamp(28px,3vw,48px); line-height:1.45; margin:0 0 32px; }
.aboutStudioCopy p { max-width:700px; line-height:2; color:#d1d1ce; }
.homePrice { padding:80px 5vw; }
.homePriceHead { display:flex; justify-content:space-between; align-items:center; }
.homePriceHead a { color:var(--accent); font-size:12px; }
.homePrice img,.priceDetailHero img { display:block; width:100%; border:1px solid #343434; }
.priceBanner { position:relative; display:block; }.priceBanner>span { position:absolute; right:18px; bottom:14px; background:#0b0c0dda; color:var(--accent); padding:9px 13px; font-size:11px; }
.priceVisual { position:relative; overflow:hidden; border:1px solid #343434; min-height:260px; background:#080909; }
.priceVisual img { width:100%; height:auto; min-height:260px; object-fit:contain; object-position:center; border:0; transform:scale(.9); }
.priceVisual:after { display:none; }
.priceVisualCopy { position:absolute; z-index:2; inset:0 52% 0 0; padding:3.2% 4%; display:flex; flex-direction:column; justify-content:center; font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Noto Serif JP",serif; }
.priceVisualCopy strong { color:var(--accent); font:700 clamp(32px,4.7vw,84px)/.95 Georgia,"Times New Roman",serif; letter-spacing:-.03em; }
.priceVisualCopy small { margin-top:18px; font-size:clamp(13px,1.4vw,25px); letter-spacing:.14em; }
.priceVisualCopy b { margin-top:5px; font:700 clamp(38px,5.3vw,92px)/1 Georgia,"Times New Roman",serif; white-space:nowrap; }
.priceVisualCopy i { font:normal 14px/1 "Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif; }
.priceVisualCopy p { margin:17px 0 0; color:#d8d5cf; font-size:clamp(10px,1.05vw,18px); }
.process { padding:100px 5vw 120px; }
.processHead h2 { font-size:clamp(36px,5vw,72px); margin:0; }
.processTapHint { color:#a7a7a4; font-size:13px; }
.processPopGrid { display:grid; grid-template-columns:repeat(8,1fr); border-top:1px solid #333; margin-top:42px; }
.processPopItem { appearance:none; position:relative; overflow:hidden; background:transparent; color:inherit; border:0; border-right:1px solid #333; padding:20px 14px 18px; text-align:left; opacity:0; transform:translateY(18px) scale(.96); transition:border-color .32s ease,background .32s ease; cursor:pointer; }
.process,.processPopItem { font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Noto Serif JP",serif; }
.processPopItem.revealed { opacity:1; transform:none; }
.processPopItem small { color:var(--accent); }
.processPopItem h3 { min-height:26px; margin:9px 0 0; font-size:15px; }
.processPopItem p { visibility:hidden; max-height:0; margin:0; color:#aaa; font-size:13px; line-height:1.8; opacity:0; overflow:hidden; filter:blur(5px); transform:translateY(-12px) scaleY(.72); transform-origin:50% 0; transition:max-height .5s cubic-bezier(.22,.8,.22,1),margin .42s ease,opacity .25s ease,filter .34s ease,transform .48s cubic-bezier(.18,1.55,.35,1); }
.processPopItem:after { content:""; position:absolute; left:14px; right:14px; bottom:0; height:2px; background:var(--accent); transform:scaleX(0); transform-origin:left; opacity:0; }
.processPopGrid.detailsOpen .processPopItem { animation:processGraphicOpen .64s cubic-bezier(.18,1.48,.3,1) both; animation-delay:var(--open-delay,0ms); border-color:#4c4321; background:linear-gradient(180deg,#ffc9280a,transparent 42%); }
.processPopGrid.detailsOpen .processPopItem .popIcon { animation:processIconPop .64s cubic-bezier(.16,1.48,.3,1) both; animation-delay:calc(var(--open-delay,0ms) + 24ms); }
.processPopGrid.detailsOpen .processPopItem h3,.processPopGrid.detailsOpen .processPopItem small { animation:processTypePop .52s cubic-bezier(.18,1.35,.3,1) both; animation-delay:calc(var(--open-delay,0ms) + 55ms); }
.processPopGrid.detailsOpen .processPopItem p { visibility:visible; max-height:180px; margin-top:14px; opacity:1; filter:blur(0); transform:none; transition-delay:calc(var(--open-delay,0ms) + 90ms); }
.processPopGrid.detailsOpen .processPopItem:after { opacity:1; transform:scaleX(1); transition:transform .48s cubic-bezier(.2,.8,.2,1) calc(var(--open-delay,0ms) + 80ms),opacity .18s ease calc(var(--open-delay,0ms) + 80ms); }
@keyframes processGraphicOpen {
  0% { transform:translateY(0) scale(1); }
  32% { transform:translateY(-7px) scale(.975,1.055); }
  58% { transform:translateY(2px) scale(1.012,.992); }
  78% { transform:translateY(-1px) scale(.997,1.006); }
  100% { transform:translateY(0) scale(1); }
}
@keyframes processIconPop { 0%{transform:scale(.72) rotate(-5deg);filter:blur(3px);opacity:.35} 55%{transform:scale(1.13) rotate(2deg);filter:blur(0);opacity:1} 78%{transform:scale(.97)} 100%{transform:scale(1) rotate(0)} }
@keyframes processTypePop { 0%{transform:translateY(7px) scale(.94);opacity:.25} 62%{transform:translateY(-2px) scale(1.025);opacity:1} 100%{transform:none;opacity:1} }
.popIcon { display:block; width:58px; height:58px; margin-bottom:10px; background-image:url('assets/media/process-icons.png'); background-repeat:no-repeat; background-size:800% auto; background-position-y:center !important; }
.profileImageSection img,.profileImageSection picture { display:block; width:100%; }
.contact { background:var(--accent); color:#111; padding:100px 6vw; display:grid; grid-template-columns:1fr 1fr; gap:10vw; }
.contact h2 { font:700 clamp(60px,8vw,120px)/.8 Georgia,serif; letter-spacing:-.06em; margin:0 0 30px; }
.contact form { display:flex; flex-direction:column; gap:20px; }
.contact label { font-size:12px; font-weight:800; }
.contact input,.contact textarea { display:block; width:100%; background:transparent; border:0; border-bottom:2px solid #111; padding:12px 0; font:inherit; outline:none; }
.contact button,.priceCta { background:#101112; color:#fff; padding:17px 24px; border:0; font-weight:800; cursor:pointer; }
.contactHoney { position:absolute!important; left:-9999px!important; }
.formStatus { font-size:13px; font-weight:bold; }
footer { padding:28px 4vw; display:flex; justify-content:space-between; align-items:center; gap:24px; font-size:9px; letter-spacing:1.5px; }
.footerLinks { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:18px; }
.footerLinks a { color:inherit; }
.footerLinks a:hover { color:var(--accent); }
.legalPage { min-height:calc(100vh - 78px); padding:clamp(110px,12vw,180px) max(6vw,24px) 110px; }
.legalPageInner { width:min(820px,100%); margin:0 auto; }
.legalKicker { color:var(--accent); font:700 9px/1 Arial,sans-serif; letter-spacing:.2em; }
.legalPage h1 { margin:14px 0 46px; font-size:clamp(42px,6vw,82px); line-height:1.1; }
.businessData { margin:0; border-top:1px solid #343434; }
.businessData div { display:grid; grid-template-columns:130px 1fr; gap:20px; padding:20px 0; border-bottom:1px solid #343434; }
.businessData dt { color:#999; font-size:12px; }
.businessData dd { margin:0; font-size:14px; line-height:1.8; }
.legalPolicy h3 { margin:28px 0 7px; color:var(--accent); font-size:14px; }
.legalPolicy p { margin:0; color:#c9c8c3; font-size:13px; line-height:2; }
.legalPolicy .policyDate { margin-top:32px; color:#888; font-size:11px; }
.worksTitle { padding:100px 5vw 70px; }.worksTitle h1 { color:var(--accent); font-size:clamp(90px,18vw,280px); }
.allWorks { padding:0 5vw 100px; display:grid; grid-template-columns:repeat(3,1fr); gap:56px 16px; }
.workCard .thumb { height:24vw; max-height:390px; }.workCard h2 { font-size:22px; margin:8px 0 3px; }.workCard>p { margin:0; color:#aaa; }
.num { position:absolute; z-index:3; left:14px; bottom:12px; color:var(--accent); }
.worksBottom { padding:40px 5vw; background:var(--accent); color:#111; font-weight:800; }
.singleWork { padding:70px 6vw 0; }
.workBreadcrumb { display:flex; flex-wrap:wrap; gap:9px; color:#888; font:700 10px/1.6 Arial,sans-serif; letter-spacing:.12em; }
.workBreadcrumb a:hover { color:var(--accent); }
.singleWorkHead { padding:55px 0 42px; }
.singleWorkHead small { color:var(--accent); font:700 10px/1 Arial,sans-serif; letter-spacing:.18em; }
.singleWorkHead p { margin:25px 0 5px; color:#b6b4ae; font-size:clamp(18px,2vw,28px); }
.singleWorkHead h1 { margin:0; max-width:1100px; font-size:clamp(44px,7vw,108px); line-height:1.05; letter-spacing:-.04em; }
.workEmbed { position:relative; width:100%; aspect-ratio:16/9; background:#000; }
.workEmbed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.singleWorkInfo { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #333; margin-top:45px; }
.singleWorkInfo>div { display:flex; flex-direction:column; gap:9px; padding:26px 0; border-bottom:1px solid #333; }
.singleWorkInfo>div+div { padding-left:4vw; border-left:1px solid #333; }
.singleWorkInfo span { color:var(--accent); font:700 9px/1 Arial,sans-serif; letter-spacing:.16em; }
.singleWorkInfo strong { font-size:19px; }
.singleWorkActions { display:flex; justify-content:space-between; gap:25px; padding:34px 0 75px; color:#bbb; font-size:13px; }
.singleWorkActions a:hover { color:var(--accent); }
.workInquiry { margin-inline:-6vw; padding:62px 6vw; display:flex; justify-content:space-between; align-items:center; gap:30px; background:var(--accent); color:#111; }
.workInquiry p { margin:0; font-size:clamp(20px,2.2vw,34px); font-weight:700; }
.priceDetailHero,.priceDetail { padding:80px 6vw; }.priceDetailHero { padding-top:120px; }
.priceIntro { display:grid; grid-template-columns:1fr 1.4fr; gap:8vw; margin-bottom:90px; }.priceIntro h1 { font-size:clamp(52px,7vw,100px); line-height:1.1; margin:0; }.priceIntroLead { font-size:20px; line-height:2; }.priceIntroLead strong { color:var(--accent); }
.priceFacts { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #333; }.priceFacts article { padding:44px 5vw 44px 0; border-bottom:1px solid #333; }.priceFacts span { color:var(--accent); }.priceFacts h2 { font-size:25px; }.priceFacts p { color:#bbb; line-height:2; }
.priceClosing { padding:80px 0 30px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
@media(max-width:800px){
 .desktopVideo{display:none}.mobileVideo{display:block}
 .nav{height:64px;padding:0 20px}.nav nav{gap:13px}.nav nav a:nth-child(3),.nav nav a:nth-child(4){display:none}.brand{font-size:14px}
 .hero{min-height:650px}.heroCopy{left:24px;bottom:45px}.hero h1{font-size:70px}.lead{font-size:13px}
 .worksPreview,.process{padding:80px 20px}.previewGrid{display:block}.workTile{display:block;height:230px;margin-bottom:10px}
 .visionField{height:clamp(520px,125vw,620px)}.visionSticky{height:100%;min-height:0;perspective:720px}.visionCopy{width:92vw;padding:20px 10px}.visionCopy h2{font-size:clamp(32px,10.3vw,54px);white-space:normal;line-height:.96}.visionCopy p{margin-top:13px;font-size:14px;letter-spacing:.025em;white-space:nowrap}.visionCard{box-shadow:0 14px 45px #000c}.visionCard--near{--z:55px}.visionCard--mid{--z:-35px}.visionCard--far{--z:-130px}.visionCard:nth-child(n+15){display:none}.visionCard:nth-child(1){--x:-9%!important;--y:4%!important;--w:60%!important}.visionCard:nth-child(2){--x:58%!important;--y:7%!important;--w:43%!important}.visionCard:nth-child(3){--x:-7%!important;--y:72%!important;--w:52%!important}.visionCard:nth-child(4){--x:59%!important;--y:69%!important;--w:42%!important}.visionCard:nth-child(5){--x:34%!important;--y:1%!important;--w:32%!important}.visionCard:nth-child(6){--x:5%!important;--y:27%!important;--w:30%!important}.visionCard:nth-child(7){--x:70%!important;--y:29%!important;--w:29%!important}.visionCard:nth-child(8){--x:0%!important;--y:55%!important;--w:31%!important}.visionCard:nth-child(9){--x:34%!important;--y:80%!important;--w:32%!important}.visionCard:nth-child(10){--x:9%!important;--y:85%!important;--w:24%!important}.visionCard:nth-child(11){--x:70%!important;--y:84%!important;--w:26%!important}.visionCard:nth-child(12){--x:73%!important;--y:52%!important;--w:26%!important}.visionCard:nth-child(13){--x:18%!important;--y:14%!important;--w:16%!important}.visionCard:nth-child(14){--x:63%!important;--y:19%!important;--w:15%!important}
 .aboutStudio{display:flex;min-height:0;flex-direction:column}.aboutPicture{position:relative;display:block;width:100%;height:auto}.aboutStudio .bannerBg{position:relative;top:0;left:0;display:block;width:100%;height:auto;object-fit:contain}.aboutStudioLabel{position:absolute;top:0;left:0;padding:38px 24px 10px;width:auto}.aboutStudioLabel h2{font-size:62px}.aboutStudioCopy{position:relative;padding:45px 24px;background:#08090a}
 .homePrice{padding:70px 20px}.priceVisual{min-height:320px}.priceVisual img{min-height:320px;object-position:72% center;transform:scale(.9)}.priceVisualCopy{inset:0 36% 0 0;padding:28px 18px}.priceVisualCopy strong{font-size:34px}.priceVisualCopy small{margin-top:16px;font-size:13px}.priceVisualCopy b{font-size:36px}.priceVisualCopy p{font-size:10px;line-height:1.7}.processPopGrid{grid-template-columns:repeat(2,1fr)}.processPopItem{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-content:center;align-items:center;min-height:106px;padding:15px 12px}.processPopItem .popIcon{grid-column:1;grid-row:1/span 2;width:50px;height:50px;margin:0}.processPopItem small{grid-column:2;grid-row:1;align-self:end}.processPopItem h3{grid-column:2;grid-row:2;align-self:start;min-height:0;margin:4px 0 0;font-size:14px;line-height:1.35}.processPopItem p{grid-column:1/-1;grid-row:3;margin-top:0}
 .contact{grid-template-columns:1fr;padding:80px 20px;gap:45px}.allWorks{grid-template-columns:1fr;padding:0 20px 80px}.workCard .thumb{height:62vw}.worksTitle{padding:70px 20px 50px}
 footer{padding:24px 20px;align-items:flex-start;flex-direction:column}.footerLinks{justify-content:flex-start;gap:14px 17px}.businessData div{grid-template-columns:1fr;gap:7px}.legalPage{padding-top:100px}.legalPage h1{margin-bottom:34px}
 .singleWork{padding:45px 20px 0}.singleWorkHead{padding:38px 0 30px}.singleWorkHead h1{font-size:44px}.singleWorkInfo{grid-template-columns:1fr}.singleWorkInfo>div+div{padding-left:0;border-left:0}.singleWorkActions{padding-bottom:55px}.workInquiry{margin-inline:-20px;padding:45px 20px;align-items:flex-start;flex-direction:column}
 .priceDetailHero,.priceDetail{padding:60px 20px}.priceIntro{grid-template-columns:1fr;gap:25px}.priceIntroLead{font-size:17px}.priceFacts{grid-template-columns:1fr}.priceClosing{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.processPopGrid.detailsOpen .processPopItem,.processPopGrid.detailsOpen .popIcon,.processPopGrid.detailsOpen h3,.processPopGrid.detailsOpen small{animation:none}.processPopItem p,.processPopItem:after,.visionCard,.visionCopy,.sectionReveal,.sectionReveal>*{transition:none}.visionLines,.siteAtmosphere{display:none}.sectionReveal,.sectionReveal>*{opacity:1;transform:none;filter:none}}
