/* An editorial rhythm for INTERGROVE: open space, large imagery and quiet motion. */
:root{--paper:#f3f2e9;--ink:#1c382e;--line:#bfc8b9}
.section{padding:120px 6%}.section h2{font-size:clamp(36px,5.4vw,82px);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}.eyebrow{font-size:10px;letter-spacing:.19em}.section>.eyebrow{margin-bottom:48px}.section .eyebrow:before{display:none}
header{padding:28px 4%;transition:background .3s,color .3s}nav a{font-size:10px;letter-spacing:.1em}
.cinema-intro h1{line-height:1.08;letter-spacing:-.055em}.hero-subtitle{max-width:650px}.forest-shade{background:linear-gradient(#061b1250,#09241955 50%,#071b14c0)}
.cinema-card{border-radius:0;background:#f3f2e9;min-height:270px;border:0;border-top:3px solid transparent;padding:34px}.cinema-card:hover,.cinema-card:focus-visible{border-top-color:#c0d592;background:#e7edda}.cinema-card p{max-width:30ch}.slider-heading{padding-bottom:40px}
.intro{grid-template-columns:1fr 3fr;gap:5%;padding-top:145px;padding-bottom:145px}.intro>.eyebrow{align-self:start;margin-top:12px}.intro h2{max-width:1050px}.intro p{max-width:690px;margin:40px 0 22px;font-size:16px}.textlink{transition:color .2s,gap .2s}.textlink:hover{color:#718443}
#services{background:#e7eadd}.heading{gap:7%;margin-bottom:65px;align-items:start}.heading h2{flex:1}.heading p{max-width:330px;margin-top:5px;font-size:14px}.services{grid-template-columns:1fr 1.5fr;gap:6%;align-items:start}.service-button{padding:27px 0;min-height:88px;transition:color .25s,padding .25s}.service-button .name{font-size:clamp(15px,1.55vw,23px);line-height:1.35}.service-button[aria-selected=true]{padding-left:18px;color:#294a35;border-left:3px solid #294a35}.service-button .arrow{margin-right:4px}.service-view{min-height:590px;background:#193e30}.service-view img{height:66%;opacity:.86}.service-caption{inset:auto 0 0;min-height:34%;padding:30px 34px;background:#193e30;backdrop-filter:none}.service-caption h3{font-size:21px}.service-caption p{max-width:55ch}.service-caption.is-changing{animation:caption-enter .4s ease both}.service-image-note{position:absolute;top:20px;left:20px;z-index:1;color:white;font-size:9px;letter-spacing:.16em;background:#193e30b0;padding:9px 12px}
.approach{padding:0;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}.approach-photo{height:auto;min-height:800px}.approach-photo img{border-radius:0;position:absolute;inset:0}.approach-photo .photo-label{bottom:35px;left:35px}.approach>div:last-child{padding:100px 12%}.approach h2{font-size:clamp(34px,4.1vw,62px)}.approach details{padding:25px 0}.approach summary{gap:20px}.approach details p{animation:caption-enter .3s ease both}
.portfolio{background:var(--paper)}.portfolio-await{display:grid;grid-template-columns:1fr 1fr;gap:20px 7%;padding:48px 0 60px}.portfolio-await>span{grid-column:1/-1}.portfolio-await h3{font-family:'DM Sans','Microsoft YaHei',sans-serif;font-size:clamp(28px,3.5vw,50px);margin:16px 0;letter-spacing:-.035em}.portfolio-await p{margin-top:16px;max-width:52ch}.portfolio-await .textlink{grid-column:2;justify-self:start}
#media{border-top:1px solid var(--line)}.explore-grid{grid-template-columns:1.5fr 1fr;gap:5%}.concept{background:transparent}.concept img{height:560px}.concept:nth-child(2){margin-top:180px}.concept:nth-child(2) img{height:390px}.concept-info{border-bottom:1px solid var(--line);gap:18px;padding:22px 0}.concept-info h3{font-size:22px}.note{margin-top:36px;max-width:700px}
.contact{padding-top:120px;padding-bottom:120px;background:#dce4ce;gap:9%}.contact h2{font-size:clamp(40px,5vw,76px)}.contact form{padding-top:35px}.field{margin-bottom:28px}.submit{width:auto;min-width:220px;border-radius:0}.contact-details{font-size:clamp(12px,1.3vw,17px)}
footer{padding:60px 4% 25px}.footer-top{display:grid;grid-template-columns:1fr auto;align-items:start;gap:32px}.footer-mark{grid-column:1/-1;grid-row:2;font-size:clamp(30px,12vw,200px);line-height:1;letter-spacing:-.065em;white-space:nowrap}.footer-top>.textlink{grid-column:2;justify-self:end}.footer-bottom{padding-top:30px;margin-top:40px;line-height:1.7}
@keyframes caption-enter{from{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px){#service-tabs{position:sticky;top:45px}}
@media(max-width:760px){.section{padding:75px 6%}.section h2{font-size:clamp(32px,8vw,54px)}.section>.eyebrow{margin-bottom:30px}.intro,.services,.contact{grid-template-columns:1fr;gap:30px}.intro p{margin-top:28px;font-size:14px}.heading{margin-bottom:32px}.heading p{max-width:none}.service-button{min-height:66px;padding:20px 0}.service-button .name{font-size:17px}.service-view{min-height:490px}.service-caption{padding:25px;min-height:37%}.service-view img{height:63%}.approach{padding:0;grid-template-columns:1fr}.approach-photo{min-height:460px}.approach>div:last-child{padding:65px 6%}.portfolio-await{grid-template-columns:1fr;gap:15px}.portfolio-await .textlink{grid-column:1}.explore-grid{grid-template-columns:1fr;gap:45px}.concept:nth-child(2){margin-top:0}.concept img,.concept:nth-child(2) img{height:420px}.concept-info{align-items:start}.concept-info span{font-size:9px}.contact form{padding-top:0}.footer-top{display:grid}.footer-mark{font-size:12vw;margin:0}.cinema-card{min-height:240px}.slider-heading{padding-bottom:26px}}
@media(prefers-reduced-motion:reduce){.service-caption.is-changing,.approach details p{animation:none}.service-button,header{transition:none}}
