@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/brand/fonts/dm-sans.woff2') format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url('/brand/fonts/manrope.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/brand/fonts/cormorant-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('/brand/fonts/cormorant-italic.woff2') format('woff2')}
@font-face{font-family:Allura;src:url('/brand/Allura-Regular.ttf') format('truetype');font-display:swap}
:root{--paper:#f6f4ef;--white:#fffefa;--ink:#26333a;--muted:#647176;--line:#d8dad7;--accent:#b56b4f;--accent-dark:#914f37;--blue:#dce6e8;--dark:#18262d;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 'DM Sans',Arial,sans-serif}body.lock{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img,video{display:block;max-width:100%}img{width:100%}::selection{background:#d9b09d;color:var(--dark)}.wrap{width:min(100% - 56px,1440px);margin-inline:auto}.skip{position:absolute;left:-9999px;top:1rem;background:#fff;padding:.7rem 1rem;z-index:100}.skip:focus{left:1rem}.eyebrow{display:block;font:700 .74rem/1.4 Manrope,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--accent-dark)}.display{font:600 clamp(2.7rem,5vw,5.8rem)/1.05 Manrope,sans-serif;letter-spacing:-.075em;margin:0}.display em,.hero h1 em{font:italic 500 1.13em/0.8 'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em;color:var(--accent-dark)}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2rem}.section-intro p{max-width:29rem;color:var(--muted);margin:0}.section-intro .eyebrow{margin-bottom:1rem}.line-link{font:700 .78rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.12em;display:inline-flex;gap:1rem;align-items:center;border-bottom:1px solid currentColor;padding-bottom:.55rem;transition:gap .3s var(--ease),color .3s}.line-link:hover{gap:1.4rem;color:var(--accent-dark)}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.7rem;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:1.05rem 1.3rem;font:700 .76rem Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:background .25s,transform .35s var(--ease)}.button:hover{background:#3e5059;transform:translateY(-3px)}.button.alt{background:transparent;color:var(--ink)}.button.alt:hover{background:#e8e6e0}
.site-header{position:sticky;top:0;z-index:30;background:rgba(246,244,239,.91);backdrop-filter:blur(22px);border-bottom:1px solid rgba(38,51,58,.13);transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 10px 32px #15252a12}.nav{min-height:82px;display:flex;align-items:center;gap:2.4rem}.identity{display:inline-flex;align-items:center;gap:.65rem;min-width:190px;line-height:1.03;font:800 .78rem/1.15 Manrope,sans-serif;letter-spacing:.07em}.identity img{width:42px;height:42px;transition:transform .8s var(--ease)}.identity:hover img{transform:rotate(72deg)}.identity strong{font-weight:800}.nav-links{margin-left:auto;display:flex;align-items:center;gap:clamp(1rem,2vw,2.2rem);font:700 .7rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.12em}.nav-links a:not(.button){border-bottom:1px solid transparent;padding:.7rem 0}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--accent-dark);border-color:var(--accent-dark)}.nav-links .button{padding:.85rem 1rem}.menu-button{display:none;border:0;background:transparent;padding:.7rem;color:var(--ink);font-weight:700}.progress{position:absolute;bottom:-1px;left:0;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{display:grid;grid-template-columns:minmax(440px,.82fr) minmax(0,1.18fr);min-height:clamp(680px,75vh,900px);border-bottom:1px solid var(--line)}.hero-copy{align-self:center;padding:6rem 3rem 6rem max(28px,calc((100vw - 1440px)/2));position:relative;z-index:1}.hero-kicker{display:flex;gap:1.3rem;align-items:center}.hero-kicker:before{content:"";width:32px;height:1px;background:var(--accent)}.hero h1{font:600 clamp(3.2rem,4.7vw,6.5rem)/1.02 Manrope,sans-serif;letter-spacing:-.085em;margin:1.6rem 0 1.5rem;max-width:830px}.hero p{font-size:1.07rem;color:#526168;max-width:29rem;margin:0 0 2rem}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.6rem}.hero-side-note{display:flex;align-items:center;gap:1rem;margin-top:4rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.hero-side-note span{width:28px;height:1px;background:var(--line)}.hero-art{position:relative;min-width:0;overflow:hidden;background:#cad6d8}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;animation:hero-in 1.4s var(--ease) both}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#26333a25,transparent 55%),linear-gradient(0deg,#26333a70,transparent 38%);pointer-events:none}.hero-stamp{position:absolute;right:2.1rem;bottom:2rem;z-index:2;color:#fff;font:700 .7rem Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-align:right}.hero-stamp span{display:block;width:55px;height:1px;background:#fff;margin:0 0 .8rem auto}.hero-orbit{position:absolute;z-index:2;left:50%;top:10%;width:140px;opacity:.5;filter:brightness(0) invert(1);animation:spin 24s linear infinite}
.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);background:var(--white)}.quick-stats div{padding:1.4rem clamp(1rem,4vw,4rem);border-right:1px solid var(--line)}.quick-stats div:last-child{border:0}.quick-stats strong{display:block;font:700 .79rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.1em}.quick-stats span{display:block;color:var(--muted);font-size:.84rem;margin-top:.2rem}
.featured{padding:clamp(5rem,9vw,10rem) 0}.feature-grid{display:grid;grid-template-columns:1.1fr .75fr 1fr;gap:1rem;align-items:start}.feature-card{display:block;position:relative;overflow:hidden;background:#d9d7d0}.feature-card:nth-child(2){margin-top:4rem}.feature-card:nth-child(3){margin-top:1.4rem}.feature-card img{height:clamp(300px,37vw,580px);object-fit:cover;transition:transform .8s var(--ease)}.feature-card:nth-child(2) img{height:clamp(270px,31vw,475px)}.feature-card:hover img{transform:scale(1.055)}.feature-card:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#15242aca)}.feature-label{position:absolute;left:1.4rem;right:1.4rem;bottom:1.4rem;z-index:2;color:#fff}.feature-label small{display:block;font:700 .67rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.15em}.feature-label strong{display:block;font:600 clamp(1.4rem,2.4vw,2.4rem) Manrope,sans-serif;letter-spacing:-.05em;line-height:1.2;margin-top:.3rem}
.statement{background:var(--blue);padding:clamp(5rem,9vw,9rem) 0}.statement-inner{display:grid;grid-template-columns:.66fr 1.34fr;gap:clamp(2rem,5vw,6rem);align-items:start}.statement .display{max-width:1000px}.statement .small{margin:1.3rem 0 0;max-width:37rem;color:#53676e}.services{padding:clamp(5rem,9vw,9rem) 0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.service-card{border:1px solid var(--line);background:var(--white);padding:2rem;min-height:320px;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #15252a10}.service-card .number{font:700 .75rem Manrope,sans-serif;color:var(--accent-dark)}.service-card h3{font:600 clamp(1.55rem,2.1vw,2.1rem)/1.16 Manrope,sans-serif;letter-spacing:-.055em;margin:auto 0 .6rem}.service-card p{color:var(--muted);margin:0 0 1.5rem}.service-card .line-link{align-self:start}
.films{background:var(--dark);color:#f4f5f1;padding:clamp(5rem,9vw,9rem) 0}.films .eyebrow{color:#dda68f}.films .section-intro p{color:#aebec4}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.film-card{background:#21333d;min-width:0}.film-card video{width:100%;height:clamp(320px,34vw,490px);object-fit:contain;background:#101c22}.film-card:nth-child(3) video{object-fit:contain}.film-info{padding:1.35rem 1.4rem 1.7rem}.film-info small{color:#b0c2c7;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}.film-info h3{font:600 1.3rem Manrope,sans-serif;letter-spacing:-.04em;margin:.4rem 0 0}.film-info p{color:#bdcacc;font-size:.88rem;margin:.45rem 0 0}
.approach{padding:clamp(5rem,9vw,9rem) 0}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:start}.approach .display{position:sticky;top:130px}.steps{border-top:1px solid var(--line)}.step{border-bottom:1px solid var(--line);padding:1.55rem 0;display:grid;grid-template-columns:3rem 1fr;gap:1rem}.step b{color:var(--accent-dark);font-size:.8rem}.step h3{font:600 1.35rem Manrope,sans-serif;letter-spacing:-.04em;margin:0}.step p{color:var(--muted);margin:.45rem 0 0}.story{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(5rem,9vw,9rem) 0}.story-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem)}.story p{max-width:42rem;color:#54636a;font-size:1.06rem}.story p:first-of-type{margin-top:0}.story .line-link{margin-top:1rem}
.contact{padding:clamp(5rem,9vw,9rem) 0;background:#e9ebe8}.contact-inner{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,8vw,8rem)}.contact .display{max-width:540px}.contact-copy p{color:#54636a;max-width:28rem}.email-link{font:600 1.05rem Manrope,sans-serif;border-bottom:1px solid var(--accent-dark);word-break:break-word;display:inline-block;padding-bottom:.25rem;margin:1.5rem 0 1rem}.minimum{display:block;font-size:.8rem;color:#57666c}.inquiry{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1.5rem}.field{display:flex;flex-direction:column;gap:.3rem}.field.wide,.form-bottom,.form-feedback{grid-column:1/-1}.field label{font:700 .7rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.12em}.field input,.field select,.field textarea{border:0;border-bottom:1px solid #aab3b5;background:transparent;border-radius:0;min-height:49px;color:var(--ink);padding:.65rem 0;outline-offset:3px}.field textarea{min-height:110px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#78858a}.form-bottom{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.form-bottom small{color:#58686d;max-width:220px}.form-feedback{font-size:.87rem;color:#8f4027;min-height:1.5rem;margin:0}
.footer{background:var(--dark);color:#f6f5f1;padding:3rem 0 2rem}.footer-main{display:flex;justify-content:space-between;align-items:start;gap:3rem}.footer .identity{color:#fff}.footer .identity img{filter:brightness(0) invert(1)}.footer p{max-width:27rem;color:#aab9bd;font-size:.9rem}.footer-links{display:flex;gap:3.5rem}.footer-links div{display:grid;gap:.55rem}.footer-links a{font-size:.84rem}.footer-links a:hover{color:#e9b8a2}.footer-bottom{border-top:1px solid #45565d;margin-top:3rem;padding-top:1.2rem;display:flex;justify-content:space-between;gap:1rem;color:#aab9bd;font-size:.75rem}
.page-hero{padding:clamp(5rem,9vw,9rem) 0 4rem}.page-hero .display{max-width:1050px;margin:1.2rem 0}.page-hero p{max-width:640px;color:var(--muted);font-size:1.07rem}.portfolio-toolbar{position:sticky;top:82px;z-index:12;background:rgba(246,244,239,.96);border-block:1px solid var(--line);backdrop-filter:blur(18px)}.filters{display:flex;gap:2rem;align-items:center;overflow-x:auto;white-space:nowrap;padding:.9rem 0}.filters button{border:0;background:transparent;color:var(--muted);font:700 .73rem Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:.55rem 0;border-bottom:2px solid transparent}.filters button.active{color:var(--ink);border-color:var(--accent)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:2rem 0 7rem}.portfolio-item{border:0;padding:0;background:#d8d6d0;overflow:hidden;position:relative;aspect-ratio:4/3}.portfolio-item.tall{aspect-ratio:3/4}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.portfolio-item:hover img{transform:scale(1.04)}.portfolio-item .caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#10212aba);padding:3rem 1rem 1rem;color:#fff;text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;opacity:0;transition:opacity .3s}.portfolio-item:hover .caption,.portfolio-item:focus-visible .caption{opacity:1}.portfolio-item[hidden]{display:none}.portfolio-count{color:var(--muted);font-size:.8rem;margin:1rem 0 0}
.service-hero{padding:clamp(5rem,9vw,8rem) 0}.service-hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:center}.service-hero .display{margin:1.2rem 0}.service-hero p{color:var(--muted);max-width:32rem}.service-hero img{height:560px;object-fit:cover}.service-details{background:var(--white);padding:clamp(5rem,8vw,8rem) 0}.service-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.service-details p{color:var(--muted)}.service-details ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.service-details li{padding:1.1rem 0;border-bottom:1px solid var(--line);font-weight:600}.service-gallery{padding:clamp(5rem,8vw,8rem) 0}.service-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.service-gallery-grid img{height:clamp(240px,30vw,440px);object-fit:cover}
.lightbox{border:0;background:#132127;color:#fff;padding:0;max-width:min(95vw,1450px);max-height:95vh;box-shadow:0 30px 90px #0009}.lightbox::backdrop{background:#081115e6}.lightbox img{width:auto;max-width:93vw;max-height:83vh;object-fit:contain;margin:auto}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;font-size:.73rem;text-transform:uppercase;letter-spacing:.1em}.lightbox button{border:0;background:transparent;color:#fff;font-size:1.5rem;padding:.2rem .4rem}
@keyframes hero-in{from{opacity:.45;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}@keyframes float-up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.hero{grid-template-columns:.9fr 1.1fr}.hero-copy{padding-left:28px}.hero h1{font-size:clamp(3.3rem,6vw,5rem)}.feature-grid{grid-template-columns:repeat(3,1fr)}.service-card{padding:1.45rem}.nav-links{gap:.8rem}}
@media(max-width:820px){.nav{min-height:70px}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:1rem 28px 2rem;box-shadow:0 20px 30px #10212a22;flex-direction:column;align-items:stretch;gap:.2rem}.nav-links.open{display:flex}.nav-links a{padding:.7rem 0!important}.menu-button{display:block;margin-left:auto}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:5rem 28px 3rem}.hero-art{height:65vw;min-height:460px}.quick-stats{grid-template-columns:1fr 1fr}.quick-stats div:nth-child(2){border-right:0}.quick-stats div:last-child{grid-column:1/-1;border-top:1px solid var(--line)}.statement-inner,.story-inner,.approach-grid,.contact-inner,.service-hero-grid,.service-details-grid{grid-template-columns:1fr;gap:2rem}.approach .display{position:static}.service-grid,.film-grid{grid-template-columns:1fr 1fr}.film-card:last-child{grid-column:1/-1}.film-card video{height:430px}.portfolio-toolbar{top:70px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.service-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.wrap{width:min(100% - 32px,1440px)}.hero-copy{padding:4.3rem 16px 3rem}.hero h1{font-size:clamp(3.1rem,12vw,5rem)}.hero-side-note{margin-top:3rem}.hero-art{height:82vw;min-height:330px}.hero-orbit{width:90px}.hero-stamp{font-size:.6rem;right:1rem;bottom:1rem}.quick-stats{grid-template-columns:1fr}.quick-stats div,.quick-stats div:nth-child(2),.quick-stats div:last-child{grid-column:auto;border-right:0;border-top:1px solid var(--line);padding:1rem 16px}.quick-stats div:first-child{border-top:0}.section-intro{display:block}.section-intro p{margin-top:1.2rem}.feature-grid{grid-template-columns:1fr 1fr;gap:.6rem}.feature-card:first-child{grid-column:1/-1}.feature-card:nth-child(2),.feature-card:nth-child(3){margin:0}.feature-card img{height:320px}.feature-card:nth-child(2) img,.feature-card:nth-child(3) img{height:240px}.feature-label{left:.8rem;bottom:.8rem;right:.6rem}.feature-label strong{font-size:1.3rem}.service-grid,.film-grid{grid-template-columns:1fr}.film-card:last-child{grid-column:auto}.film-card video{height:420px}.footer-main,.footer-bottom{display:block}.footer-links{gap:2rem;margin-top:2rem}.footer-bottom span{display:block;margin-top:.5rem}.inquiry{grid-template-columns:1fr}.field{grid-column:1/-1}.portfolio-grid{gap:.6rem}.portfolio-item,.portfolio-item.tall{aspect-ratio:3/4}.portfolio-item .caption{opacity:1;font-size:.58rem}.service-gallery-grid img{height:260px}.service-hero img{height:390px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* A light editorial system: quiet surfaces let the photographs supply the drama. */
:root{--paper:#f8f7f3;--white:#fff;--ink:#242627;--muted:#626966;--line:#deded8;--accent:#a75e46;--accent-dark:#85432f;--blue:#efeee8;--dark:#242627}
body{background:var(--paper)}
:focus-visible{outline:2px solid var(--accent-dark);outline-offset:4px}
.site-header{background:rgba(248,247,243,.9);border-color:#deded8}
.identity{min-width:207px;gap:.75rem}
.identity img{width:48px;height:48px;object-fit:contain}
.identity:hover img{transform:rotate(18deg)}
.hero-art{background:#e7e8e5}
.hero-photo{transform:translate(calc(var(--px,0)*-9px),calc(var(--py,0)*-9px)) scale(1.025);transition:transform 1.2s var(--ease);animation:hero-fade 1.2s var(--ease) both}
.hero-orbit{width:120px;opacity:.85;filter:brightness(0) invert(1);animation:spin 45s linear infinite}
.hero h1{max-width:780px}
.hero-copy>*{animation:rise-in .8s var(--ease) both}
.hero-copy .hero-kicker{animation-delay:.05s}.hero-copy h1{animation-delay:.13s}.hero-copy p{animation-delay:.23s}.hero-copy .hero-actions{animation-delay:.33s}.hero-copy .hero-side-note{animation-delay:.43s}
.feature-card{isolation:isolate}
.feature-card img{transition:transform 1s var(--ease),filter .8s var(--ease)}
.feature-card:hover img{transform:scale(1.045);filter:saturate(1.07)}
.service-card{border-radius:2px}
.films{background:#ebeae4;color:var(--ink);border-block:1px solid var(--line)}
.films .eyebrow{color:var(--accent-dark)}.films .section-intro p{color:var(--muted)}
.film-card{background:var(--white);border:1px solid var(--line);box-shadow:0 8px 28px #24262708;transition:transform .55s var(--ease),box-shadow .55s var(--ease)}
.film-card:hover{transform:translateY(-7px);box-shadow:0 22px 40px #24262718}
.film-card video{background:#e5e5df}
.film-info small{color:var(--accent-dark)}.film-info p{color:var(--muted)}
.social-follow{margin:2.5rem 0 0;text-align:right}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);padding:clamp(5rem,9vw,9rem) 0}
.faq-intro p{color:var(--muted);max-width:24rem}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:1.1rem 0}
.faq-list summary{list-style:none;cursor:pointer;font:600 clamp(1rem,1.5vw,1.25rem) Manrope,sans-serif;letter-spacing:-.035em;padding-right:2.4rem;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:.25rem;top:-.15rem;font-size:1.5rem;font-weight:400;color:var(--accent-dark);transition:transform .35s var(--ease)}
.faq-list details[open] summary:after{transform:rotate(45deg)}
.faq-list p{margin:.8rem 2.4rem .5rem 0;color:var(--muted);max-width:39rem}
.footer{background:#fff;color:var(--ink);border-top:1px solid var(--line)}
.footer .identity{color:var(--ink)}.footer .identity img{filter:none}
.footer p,.footer-bottom{color:var(--muted)}
.footer-bottom{border-color:var(--line)}
.footer-links a:hover{color:var(--accent-dark)}
.portfolio-chapter{padding:2.8rem 0 1.8rem;border-top:1px solid var(--line)}
.portfolio-chapter[hidden]{display:none}
.chapter-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin:0 0 1.4rem}
.chapter-head .eyebrow{margin-bottom:.8rem}.chapter-head p{max-width:28rem;color:var(--muted);margin:0}
.chapter-head .display{font-size:clamp(2.2rem,4.2vw,4.6rem)}
.chapter-number{font:600 .26em Manrope,sans-serif;color:var(--accent-dark);vertical-align:middle;letter-spacing:0}
.portfolio-grid{padding:0 0 1.5rem;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.portfolio-item{aspect-ratio:4/3;background:#e5e5df;content-visibility:auto;contain-intrinsic-size:400px 300px}
.portfolio-item:nth-child(7n + 1){grid-row:span 2;aspect-ratio:auto;min-height:520px}
.portfolio-item img{transition:transform .9s var(--ease),filter .7s var(--ease)}
.portfolio-item:hover img{transform:scale(1.035);filter:saturate(1.06)}
.portfolio-item .caption{opacity:1;background:linear-gradient(transparent,#2023237d);text-shadow:0 1px 3px #0008}
.lightbox{background:#f8f7f3;color:var(--ink);box-shadow:0 30px 90px #14151466}
.lightbox::backdrop{background:#f8f7f3ec;backdrop-filter:blur(12px)}
.lightbox button{color:var(--ink)}.lightbox-bar{border-bottom:1px solid var(--line)}
@keyframes rise-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes hero-fade{from{opacity:.65}to{opacity:1}}
.reveal{transition-duration:.95s}.feature-card:nth-child(2).reveal{transition-delay:.1s}.feature-card:nth-child(3).reveal{transition-delay:.2s}
@media(max-width:820px){.faq{grid-template-columns:1fr;gap:2rem}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-item:nth-child(7n + 1){min-height:440px}.chapter-head{display:block}.chapter-head p{margin-top:1rem}}
@media(max-width:620px){.identity{min-width:0}.identity img{width:43px;height:43px}.hero-photo{transform:none}.hero-orbit{width:80px}.portfolio-grid{gap:.5rem}.portfolio-item,.portfolio-item:nth-child(7n + 1){aspect-ratio:3/4;grid-row:auto;min-height:0}.portfolio-item .caption{padding:2rem .6rem .6rem;font-size:.53rem}.faq-list summary{font-size:1.05rem}.social-follow{text-align:left}.film-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-copy>*,.hero-photo{animation:none!important}.hero-photo{transform:none}.hero-orbit{animation:none}}

/* Readable forms, policies, and privacy notice. */
.footer-links{flex-wrap:wrap}.footer-button{border:0;background:transparent;color:inherit;padding:0;text-align:left;font-size:.84rem;cursor:pointer}.footer-button:hover,.footer-button:focus-visible{color:var(--accent-dark)}
.form-notice{font-size:.86rem;line-height:1.6;color:#414846;margin:0;padding:.9rem 1rem;border-left:3px solid var(--accent-dark);background:#f8f7f3}
.form-notice a,.consent-field a,.legal-content a,.cookie-notice a{color:#773923;text-decoration:underline;text-underline-offset:.16em}
.consent-field label{display:flex;align-items:flex-start;gap:.7rem;font:400 .9rem/1.5 'DM Sans',Arial,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer}
.consent-field input{min-height:0;width:21px;height:21px;flex:none;margin:.1rem 0 0;accent-color:#85432f}
.consent-field input:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}
.field input::placeholder,.field textarea::placeholder{color:#59635f}
.cookie-notice{position:fixed;z-index:50;left:clamp(1rem,3vw,3rem);right:clamp(1rem,3vw,3rem);bottom:1rem;max-width:760px;margin-left:auto;display:flex;align-items:center;gap:1.5rem;padding:1.25rem 1.4rem;background:#fff;color:var(--ink);border:1px solid #c8c7bf;box-shadow:0 18px 50px #24262729;border-radius:4px}
/* Keep dismissal stronger than responsive :has(.cookie-actions) layouts. */
.cookie-notice[hidden]{display:none!important}
.cookie-notice strong{font:700 .9rem Manrope,sans-serif}.cookie-notice p{font-size:.85rem;line-height:1.5;margin:.3rem 0 0;color:#414846}
.cookie-notice .button{white-space:nowrap;min-height:44px;letter-spacing:.06em}
.legal-hero{padding-bottom:2rem}.legal-hero .display{max-width:980px}.legal-hero p{max-width:760px}.policy-date{display:block;margin-top:1.4rem;color:var(--muted);font-size:.85rem}
.legal-content{max-width:940px;padding-bottom:7rem}.legal-content section{padding:1.5rem 0;border-top:1px solid var(--line)}.legal-content h2{font:600 clamp(1.35rem,2vw,1.85rem)/1.2 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 .75rem}.legal-content p{color:#414846;max-width:70ch;margin:.5rem 0 1rem;line-height:1.75}.legal-content code{font-size:.85em;overflow-wrap:anywhere}.legal-contact{border-top:2px solid var(--ink);padding-top:1.5rem}
.filters button,.nav-links a:not(.button),.footer-links a,.footer-button{min-height:44px;display:inline-flex;align-items:center}
.portfolio-item:focus-visible,.feature-card:focus-visible{outline:3px solid #85432f;outline-offset:3px;z-index:2}
.film-card video:focus-visible{outline:3px solid #85432f;outline-offset:3px}
@media(max-width:820px){.footer-links{gap:1.4rem}.cookie-notice{max-width:none}}
@media(max-width:620px){.cookie-notice{display:block;padding:1rem;bottom:.75rem}.cookie-notice .button{margin-top:.8rem;width:100%}.legal-content{padding-bottom:4rem}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.footer-links div{align-content:start}}

/* Analytics preference controls, shown only when a measurement ID is configured. */
.cookie-notice:has(.cookie-actions){max-width:900px;align-items:flex-start}
.cookie-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;min-width:300px}
.cookie-actions .button{margin:0;min-width:135px;padding-inline:1rem}
.cookie-actions .text-button{border:0;background:transparent;color:#773923;text-decoration:underline;text-underline-offset:.16em;padding:.6rem;font:600 .85rem Manrope,Arial,sans-serif;min-height:44px;cursor:pointer}
.cookie-dialog{border:1px solid #c8c7bf;border-radius:5px;box-shadow:0 24px 80px #24262755;background:#fff;color:var(--ink);padding:clamp(1.2rem,4vw,2rem);max-width:min(520px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto}
.cookie-dialog::backdrop{background:#2229;backdrop-filter:blur(5px)}
.cookie-dialog h2{font:600 1.5rem/1.2 Manrope,Arial,sans-serif;margin:0 0 .65rem}
.cookie-dialog p{font-size:.9rem;line-height:1.55;color:#414846}
.cookie-dialog a{color:#773923;text-decoration:underline}
.preference-row{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1rem 0;border-top:1px solid var(--line);font-size:.9rem}
.preference-row strong,.preference-row small{display:block}.preference-row small{color:#414846;line-height:1.45;margin-top:.2rem}
.preference-row input{width:24px;height:24px;flex:none;accent-color:#85432f}
.preference-row>span:last-child{white-space:nowrap}
.cookie-dialog-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.2rem}
@media(max-width:820px){.cookie-notice:has(.cookie-actions){display:block}.cookie-actions{justify-content:flex-start;min-width:0;margin-top:1rem}}
@media(max-width:620px){.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions .button{min-width:0;width:100%;margin:0}.cookie-actions .text-button{grid-column:1/-1}.cookie-dialog-actions .button{flex:1;padding-inline:.5rem}}

/* Concrete scope and relevant work help visitors evaluate a proposal. */
.starting-scope{padding:clamp(4rem,7vw,7rem) 0}.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.scope-card{display:flex;flex-direction:column;gap:.9rem;padding:clamp(1.5rem,3vw,2.2rem);border:1px solid var(--line);background:var(--white)}.scope-card h3{font:600 clamp(1.25rem,2vw,1.7rem)/1.2 Manrope,sans-serif;letter-spacing:-.035em;margin:0}.scope-card p{color:var(--muted);margin:0 0 .8rem}.scope-card .line-link{margin-top:auto}.scope-card .eyebrow{color:var(--accent-dark)}
.service-example{padding:clamp(4rem,7vw,7rem) 0;background:#ebeae4;border-block:1px solid var(--line)}.service-example-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,6rem)}.service-example .display{margin:1rem 0 1.5rem}.service-example p{color:var(--muted);max-width:34rem}.service-example .example-price{color:var(--ink);font:600 1.15rem Manrope,sans-serif}.service-example .example-note{font-size:.85rem}.service-example .button{margin-top:1rem}.service-example figure{margin:0;background:var(--white);border:1px solid var(--line)}.service-example video{display:block;width:100%;height:clamp(340px,45vw,550px);object-fit:contain;background:#e5e5df}.service-example figcaption{padding:1rem 1.3rem 1.4rem}.service-example figcaption strong{display:block;margin-bottom:.3rem}.service-example figcaption span{display:block;font-size:.85rem;color:var(--muted)}
@media(max-width:820px){.scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-example-grid{grid-template-columns:1fr}}
@media(max-width:620px){.scope-grid{grid-template-columns:1fr}.service-example video{height:420px}}

/* Proposal flow */
.hero-investment{font-weight:600;font-size:.87rem!important;margin:1.3rem 0 0!important}.hero-side-note{margin-top:2.5rem}.minimum{font-weight:600;margin:1rem 0}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{cursor:wait;opacity:.65;transform:none}.form-feedback a{color:#773923;text-decoration:underline}.form-feedback{overflow-wrap:anywhere}.service-hero-grid .button{margin-top:1rem}.service-card h3{margin:1.3rem 0 .6rem}.service-card .line-link{margin-top:auto}

.form-notice.wide{grid-column:1/-1}

/* Preserve the approved JC emblem colors and upright orientation. */
.identity img,.footer .identity img{filter:none}
.identity:hover img{transform:none}
.hero-orbit{filter:none;animation:none;opacity:1}
