@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--paper:#f6f3ed;--ink:#39392f;--muted:#76766a;--line:#d9d4c8;--olive:#5c604d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #8b6744;outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:'Italiana',Georgia,serif;font-weight:400;line-height:1.06}h2{font-size:clamp(38px,4.7vw,66px);letter-spacing:-1.5px}h3{font-size:30px}em{font-family:Georgia,serif;font-weight:400;font-size:.92em}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.8px;margin-bottom:24px}.section{padding:100px max(6.7vw,24px)}header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:30px;padding:32px 6.7vw;color:white;transition:background .3s,padding .3s}header.fixed{position:fixed;background:#f6f3edf5;color:var(--ink);padding:16px 6.7vw;box-shadow:0 1px 0 var(--line)}.brand{font-size:38px;letter-spacing:-1px}.brand span{font-family:'DM Sans',sans-serif;display:block;font-size:7px;letter-spacing:2.4px;margin-top:8px}.brand{margin-right:auto}nav{display:flex;gap:29px;font-size:13px}nav a{border-bottom:1px solid transparent;padding:7px 0}nav a:hover{border-color:currentColor}.enquire{border:1px solid #ffffff90;padding:9px 26px;border-radius:30px;font-size:13px}header.fixed .enquire{border-color:var(--line)}#menu{border:0;background:none;padding:10px 0 10px 10px;width:34px;color:inherit}#menu span{display:block;height:1px;background:currentColor;margin:7px 0}#mobileNav{position:fixed;inset:0;background:var(--olive);color:var(--paper);z-index:19;padding:130px 8vw 40px}#mobileNav a{display:block;font-family:Georgia,serif;font-size:36px;padding:8px 0}body.menuOpen{overflow:hidden}.hero{position:relative;height:100svh;min-height:650px;color:#fff}.hero>img{height:100%;position:absolute;inset:0;object-position:center}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,#17130f7a,transparent 80%),linear-gradient(180deg,#17130f65,transparent 30%,transparent 80%,#17130f6b)}.heroText{position:absolute;left:13.3vw;top:32%;max-width:750px}.hero h1{font-size:clamp(64px,7.6vw,108px);letter-spacing:-2.8px;line-height:1.02}.heroText>p:not(.eyebrow){font-size:18px;margin-top:24px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:40px;border:0;padding:15px 27px;font-size:13px;transition:transform .2s,background .2s}.pill:hover{transform:translateY(-3px)}.light{background:var(--paper);color:var(--ink)}.dark{background:var(--olive);color:white}.hero .pill{margin-top:28px}.heroBottom{position:absolute;bottom:38px;left:6.7vw;right:6.7vw;display:flex;align-items:center;justify-content:space-between}.slides{display:flex;align-items:center;gap:24px}.slides button{background:none;color:#ffffff9c;border:0;padding:8px;font-size:12px}.slides button.active{color:white}.slides i{width:38px;height:1px;background:#ffffff7d}.slides .circle{width:36px;height:36px;border:1px solid #ffffff80;border-radius:50%;font-size:18px;padding:0}.scroll{font-size:9px;letter-spacing:2px}.scroll span{margin-left:20px}.introGrid{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw}.introGrid p{color:var(--muted);margin-bottom:20px}.introGrid .lead{font-size:20px;color:var(--ink);line-height:1.6}.textlink{display:inline-block;background:none;border:0;border-bottom:1px solid #a4a694;padding:8px 0;font-size:12px}.textlink span{margin-left:24px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:6vw;margin-top:65px;border-top:1px solid var(--line);padding-top:32px}.principles span{font-size:11px;color:var(--muted)}.principles h3{margin:14px 0;font-size:26px}.principles p{font-size:13px;color:var(--muted);max-width:260px}.projects{background:#eae6dc}.sectionHead{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:40px}.sectionHead>p{font-size:13px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filters button{border:1px solid transparent;border-radius:30px;background:none;padding:8px 17px;font-size:12px}.filters button.selected{border-color:var(--olive);background:var(--olive);color:white}.filters button:last-child{margin-left:auto}.projectGrid{display:grid;grid-template-columns:1.2fr 1fr;gap:34px}.projectCard:first-child{grid-row:span 2}.projectCard{position:relative}.projectCard button.view{border:0;padding:0;background:none;width:100%;text-align:left}.projectCard img{height:260px;border-radius:5px;transition:transform .7s}.projectCard:first-child img{height:611px}.projectCard .imageWrap{overflow:hidden;border-radius:5px}.projectCard:hover img{transform:scale(1.035)}.projectCard .caption{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.caption h3{font-size:27px}.caption small{font-size:9px;letter-spacing:1.4px;color:var(--muted)}.save{position:absolute;right:16px;top:16px;border:0;background:#f6f3eddc;border-radius:50%;width:36px;height:36px;font-size:22px}.save.saved{color:#7e4834}.smallnote{font-size:11px;margin-top:35px;color:var(--muted)}.noResults{padding:60px 0}.statement{position:relative;height:650px;color:white}.statement>img{height:100%}.statement:after{content:'';position:absolute;inset:0;background:#19150d40}.statement>div{position:absolute;z-index:1;top:28%;left:13.3vw}.statement h2{font-size:70px}.statement .pill{margin-top:30px}.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;border-top:1px solid var(--line)}.serviceGrid article{padding-top:32px}.serviceGrid article>span{font-size:9px;letter-spacing:1.5px}.serviceGrid h3{margin:24px 0 17px;font-size:32px}.serviceGrid p{color:var(--muted);font-size:13px}.serviceGrid ul{padding-left:17px;color:var(--muted);font-size:12px;margin:23px 0}.materials{background:#eae6dc;display:grid;grid-template-columns:1.05fr 1fr;gap:7vw;align-items:center}.materialPhoto{position:relative}.materialPhoto img{height:540px;border-radius:5px;object-position:45%}.materialPhoto>span{position:absolute;bottom:22px;left:24px;font-size:9px;color:white;letter-spacing:2px;text-shadow:0 1px 8px black}.materialCopy>p:not(.eyebrow){color:var(--muted);margin-top:25px;font-size:14px}.swatches{display:flex;gap:18px;margin-top:30px}.swatches button{background:none;border:0;font-size:10px;padding:0}.swatches i{display:block;width:50px;height:50px;border-radius:50%;margin-bottom:8px;border:4px solid #eae6dc;outline:1px solid transparent}.swatches .chosen i{outline-color:var(--olive)}.materialCopy .materialDetail{font-size:12px;min-height:65px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:4vw;margin-top:45px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps b{font-size:11px;font-weight:400;color:var(--muted)}.steps h3{margin:20px 0 15px}.steps p{font-size:13px;color:var(--muted)}.journal{background:#eeece5}.journalGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.article{text-align:left;border:0;background:none;padding:0}.article img{height:290px;border-radius:5px}.article>span{display:block;font-size:9px;letter-spacing:1.7px;margin:22px 0 14px}.article h3{font-size:29px;line-height:1.2}.article p{font-size:11px;margin-top:20px}.faq{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq details:first-child{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding-right:24px;position:relative;font-size:14px}summary:after{content:'+';position:absolute;right:0}details[open] summary:after{content:'−'}details p{color:var(--muted);font-size:13px;margin:16px 0 2px}.contact{background:#e4e2d7;display:grid;grid-template-columns:1fr 1.1fr;gap:8vw}.contact>div>p:not(.eyebrow){margin-top:25px;color:var(--muted)}.contactNote{font-size:9px;letter-spacing:1.7px;margin-top:55px}.contactNote span{display:block;letter-spacing:0;font-size:12px;color:var(--muted);max-width:280px;margin-top:10px}.formRow{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:11px;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #afafa0;border-radius:0;background:none;padding:10px 0;outline-offset:3px;color:var(--ink);font-size:13px}textarea{resize:vertical}.consent{display:flex;gap:9px;font-size:10px;align-items:start}.consent input{width:14px;flex-shrink:0;margin-top:3px}.contact .pill{width:100%}#formStatus{font-size:12px;margin-top:12px}footer{background:var(--olive);color:#f6f3ed;padding:55px 6.7vw 20px}.footerTop{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:30px}.footerTop>p{font-family:Georgia,serif;font-size:20px;line-height:1.5}.footerTop>div a,.footerTop button{display:block;font-size:11px;margin:0 0 9px}.footerTop button{background:none;border:0;padding:0;text-align:left;color:inherit}.footerBottom{display:flex;justify-content:space-between;font-size:9px;border-top:1px solid #ffffff30;padding-top:20px;margin-top:45px;color:#ffffffb0}dialog{border:0;border-radius:5px;padding:0;max-width:850px;width:calc(100% - 32px);max-height:90svh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#151811b5;backdrop-filter:blur(4px)}.close{position:sticky;float:right;top:12px;margin:12px 12px -48px 0;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:var(--paper);font-size:24px}#dialogContent>img{max-height:55svh}#dialogContent .modalText{padding:32px}#dialogContent h2{font-size:40px;margin-bottom:20px}#dialogContent p{margin:15px 0;color:var(--muted)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);background:var(--olive);color:white;padding:12px 25px;border-radius:30px;z-index:40;font-size:12px;opacity:0;pointer-events:none;transition:.3s}.toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:1600px){.section{padding-left:calc((100vw - 1400px)/2);padding-right:calc((100vw - 1400px)/2)}}
@media(max-width:900px){nav{gap:16px}.section{padding:70px 5vw}.heroText{left:7vw}.hero h1{font-size:80px}.projectCard:first-child img{height:521px}.projectCard img{height:215px}.statement{height:530px}.statement>div{left:7vw}.introGrid{gap:5vw}.serviceGrid{gap:25px}.materials{gap:5vw}.materialPhoto img{height:460px}.journalGrid{gap:18px}.article img{height:220px}.article h3{font-size:24px}.faq,.contact{gap:5vw}.footerTop{gap:20px}}
@media(max-width:650px){header,header.fixed{padding:22px 24px}header.fixed{padding-top:12px;padding-bottom:12px}.brand{font-size:32px}.brand span{font-size:6px}nav{display:none}.enquire{padding:7px 16px;font-size:11px}header{gap:15px}.hero{min-height:620px;height:94svh;max-height:960px}.hero>img{object-position:62% center}.heroShade{background:linear-gradient(90deg,#17130f70,#17130f10),linear-gradient(180deg,#17130f50,transparent 30%,#17130f40)}.heroText{left:26px;right:24px;top:30%;max-width:340px}.hero h1{font-size:60px;letter-spacing:-1.6px}.heroText .eyebrow{font-size:8px;letter-spacing:2px}.heroText>p:not(.eyebrow){font-size:14px;max-width:260px}.heroBottom{left:24px;right:24px;bottom:26px}.slides{gap:10px}.slides .circle{margin-left:4px}.scroll{display:none}.section{padding:60px 24px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:20px}h2{font-size:43px;letter-spacing:-1px}.introGrid{grid-template-columns:1fr;gap:28px}.introGrid .lead{font-size:17px}.introGrid p{font-size:13px}.principles{grid-template-columns:1fr;gap:26px;margin-top:36px;padding-top:25px}.principles>div{display:grid;grid-template-columns:25px 1fr;gap:0 12px}.principles h3{margin:0 0 10px;font-size:25px}.principles p{grid-column:2;max-width:none}.sectionHead{display:block;margin-bottom:28px}.sectionHead>p{margin-top:20px;font-size:12px}.filters{gap:0;flex-wrap:nowrap}.filters button{padding:7px 10px;font-size:10px}.projectGrid{grid-template-columns:1fr;gap:30px}.projectCard:first-child{grid-row:auto}.projectCard:first-child img{height:420px}.projectCard img{height:290px}.caption h3{font-size:26px}.caption small{font-size:8px}.statement{height:530px}.statement>img{object-position:45%}.statement>div{left:24px;right:24px;top:30%}.statement h2{font-size:49px}.serviceGrid{grid-template-columns:1fr;gap:30px}.serviceGrid article{border-bottom:1px solid var(--line);padding-bottom:30px}.serviceGrid h3{font-size:31px;margin-top:18px}.materials{grid-template-columns:1fr;gap:35px}.materialPhoto img{height:350px}.steps{grid-template-columns:1fr 1fr;gap:30px 22px}.steps h3{font-size:27px}.steps p{font-size:12px}.journalGrid{grid-template-columns:1fr;gap:35px}.article img{height:290px}.article h3{font-size:30px}.faq,.contact{grid-template-columns:1fr;gap:30px}.contactNote{margin-top:25px}.formRow{gap:16px}.footerTop{grid-template-columns:1fr 1fr;gap:35px 20px}.footerTop>p{font-size:17px}.footerBottom{display:block;font-size:8px}.footerBottom span{display:block;margin-top:6px}.smallnote{font-size:10px}.pill{padding:13px 23px}.close{top:8px}.modalText{padding:26px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}@media(max-width:650px){.hero>video{object-position:62% center}}

@media(min-width:651px){.hero.hasFilm>video{inset:auto;right:6.7vw;top:20%;height:67%;width:auto;max-width:30vw;aspect-ratio:512/910;object-fit:cover;border-radius:5px;z-index:2;box-shadow:0 20px 70px #18150c40}.hero.hasFilm .heroText{left:8vw;max-width:54vw}.hero.hasFilm h1{font-size:clamp(54px,6.3vw,90px)}}
@media(max-width:650px){.hero>video{object-position:center}}
/* Customer presentation: cinematic scale, Bootstrap layout and quiet movement. */
body{overflow-x:clip}main,section,header,footer{max-width:100%}a:hover{color:inherit}h1,h2,h3{margin-top:0;margin-bottom:0}p{margin-top:0}.hero{height:100svh;min-height:640px}.heroText{top:30%;left:9vw}.hero h1{font-size:clamp(62px,7.8vw,112px);line-height:1.03}.heroText .eyebrow{margin-bottom:24px}.heroShade{background:linear-gradient(90deg,#201b13a6 0%,#201b1330 64%,#201b1320),linear-gradient(180deg,#1b170b60,transparent 30%,#1b170b55)}
.hero.hasFilm>video{inset:0;top:0;right:0;width:100%;max-width:none;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 54%;border-radius:0;box-shadow:none;z-index:0}.hero.hasFilm .heroText{left:9vw;max-width:75vw}.hero.hasFilm h1{font-size:clamp(62px,7.8vw,112px)}.heroText,.heroBottom,.filmToggle{z-index:3}.heroShade{z-index:1}.hero>img{z-index:0}.filmToggle{position:absolute;right:6.7vw;bottom:94px;border:1px solid #ffffff70;background:#231f1840;backdrop-filter:blur(10px);color:white;border-radius:30px;padding:8px 14px;font-size:10px;letter-spacing:.4px}.filmToggle span{margin-left:12px}
#scrollProgress{position:fixed;top:0;left:0;height:2px;background:#8d7a5f;z-index:45;width:0;pointer-events:none}.sectionHead{gap:35px}.projectGrid.row{display:flex;gap:0;margin-top:-24px;margin-left:-12px;margin-right:-12px}.projectCard:first-child{grid-row:auto}.projectCard:first-child img,.projectCard img{height:420px}.projectCard:nth-child(even){padding-top:64px}.projectCard:last-child{width:100%}.projectCard:last-child img{height:460px;object-position:center 60%}.projectCard .save{right:28px;top:38px}.projectCard:nth-child(even) .save{top:80px}.imageWrap{position:relative}.imageWrap:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,#201a151c);pointer-events:none}.projectCard .caption{padding-bottom:24px}.filters{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;padding-bottom:8px}.filters button{flex-shrink:0}.filters button:last-child{margin-left:0}.filters::-webkit-scrollbar{height:2px}.filters::-webkit-scrollbar-thumb{background:#a3a58e}.form-control,.form-select{background-color:transparent;border:0;border-bottom:1px solid #afafa0;border-radius:0;padding:10px 0;color:var(--ink);font-size:13px;box-shadow:none!important}.form-select{padding-right:22px}.form-control:focus,.form-select:focus{background:transparent;border-color:var(--olive);outline:1px solid var(--olive);outline-offset:4px}.consent input{accent-color:var(--olive)}
.filmJourney{height:300svh;position:relative;background:#252219}.journeyStage{position:sticky;top:0;height:100svh;min-height:580px;overflow:hidden;color:var(--paper)}.journeyPoster,.journeyStage>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}.journeyStage>video{opacity:0}.journeyStage>video.ready{opacity:1}.journeyShade{position:absolute;inset:0;background:linear-gradient(90deg,#19170daa,#19170d05 80%),linear-gradient(0deg,#19170d8c,transparent 50%)}.journeyTop{position:absolute;top:110px;left:6.7vw;right:6.7vw;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px}.journeyTop button{color:white;font-size:10px;letter-spacing:0;border:1px solid #ffffff70;background:#1d180c25;backdrop-filter:blur(10px);border-radius:30px;padding:10px 20px}.journeyTop button span{margin-left:20px}.journeyCaption{position:absolute;left:9vw;bottom:25%;max-width:640px}.journeyCaption h2{font-size:clamp(48px,6vw,84px);line-height:1.04}.journeyCaption>p:last-child{font-size:14px;margin-top:22px;max-width:330px;color:#ffffffda}.journeyCaption .eyebrow{font-size:9px}.journeyBottom{position:absolute;bottom:45px;left:6.7vw;right:6.7vw;display:flex;gap:30px;align-items:center;font-size:9px;letter-spacing:1.7px}.journeyTrack{height:1px;background:#ffffff40;flex:1}.journeyTrack i{display:block;width:0;height:2px;background:white}.filmLibrary{background:#f3f0e8}.filmCard{display:block;position:relative;overflow:hidden;border:0;border-radius:5px;width:100%;padding:0;text-align:left;background:#252219;color:white}.filmCard img{height:430px;object-position:center 40%;transition:transform 1s}.filmCard:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#15140c0d 40%,#15140ca6)}.filmCard:hover img{transform:scale(1.045)}.playRing{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);width:65px;height:65px;border:1px solid #ffffffaa;display:flex;align-items:center;justify-content:center;font-size:24px;border-radius:50%;z-index:2;backdrop-filter:blur(5px);background:#ffffff0d}.filmCardCaption{position:absolute;left:32px;bottom:30px;right:20px;z-index:2}.filmCardCaption small{display:block;font-size:9px;letter-spacing:2px;margin-bottom:13px}.filmCardCaption b{font:32px 'Italiana',Georgia,serif}.cinemaDialog{background:#171911;max-width:1000px}.cinema{padding:18px;color:#f6f3ed}.cinema video{width:100%;height:75svh;object-fit:contain;background:#0b0c08;border-radius:5px}.cinema p{text-align:center;font-size:12px;color:inherit!important}.floatingEnquiry{position:fixed;bottom:24px;right:24px;background:#f6f3edee;border:1px solid #d0cbbc;padding:12px 20px;border-radius:30px;font-size:11px;z-index:18;box-shadow:0 5px 30px #18180a15;opacity:0;transform:translateY(20px);pointer-events:none;transition:.4s}.floatingEnquiry span{margin-left:20px}.floatingEnquiry.visible{opacity:1;transform:translateY(0);pointer-events:auto}.toast{display:block;width:auto;max-width:90vw;border:0}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s var(--delay),transform .8s var(--delay)}.reveal.revealed{opacity:1;transform:none}#mobileNav a{transition:opacity .3s;line-height:1.2}#mobileNav a:hover{opacity:.65}.materialPhoto img,.article img,.statement img{border-radius:5px}.statement{margin:0 24px;border-radius:5px;overflow:hidden}.statement>img{border-radius:0}.footerTop .brand{margin-right:0}.footerBottom{gap:20px}
@media(min-width:1000px){.heroText{max-width:850px}.filmJourney .journeyCaption{max-width:650px}.projectCard:nth-child(2) img{height:490px}.projectCard:nth-child(3) img{height:490px}.projectCard:nth-child(4){padding-top:90px}}
@media(max-width:900px){nav{gap:14px}nav a{font-size:11px}.journeyCaption{left:6vw;max-width:580px}.hero.hasFilm h1{font-size:76px}.projectCard:first-child img,.projectCard img{height:360px}.filmCard img{height:370px}}
@media(max-width:650px){.hero,.journeyStage{min-height:600px}.heroText,.hero.hasFilm .heroText{left:26px;right:24px;max-width:340px;top:30%}.hero h1,.hero.hasFilm h1{font-size:57px}.hero.hasFilm>video{object-position:center}.heroShade{background:linear-gradient(90deg,#201b136b,#201b1315),linear-gradient(0deg,#201b1350,transparent 55%,#201b1340)}.heroBottom{z-index:3}.filmToggle{right:24px;bottom:88px}.projectCard:nth-child(even){padding-top:24px}.projectCard:first-child img,.projectCard img{height:360px}.projectCard:last-child img{height:350px}.projectCard .save,.projectCard:nth-child(even) .save{top:38px}.filters{margin-right:-24px;padding-right:24px}.projectCard .caption{padding-bottom:0}.journeyTop{top:100px;left:24px;right:24px;gap:15px}.journeyTop>span{font-size:7px;letter-spacing:1px;max-width:135px}.journeyTop button{padding:8px 12px;font-size:9px}.journeyTop button span{margin-left:8px}.journeyCaption{left:24px;right:24px;bottom:23%;max-width:330px}.journeyCaption h2{font-size:46px}.journeyCaption>p:last-child{font-size:12px;max-width:240px}.journeyBottom{left:24px;right:24px;bottom:35px;gap:15px;font-size:7px}.journeyShade{background:linear-gradient(90deg,#19170d75,#19170d10),linear-gradient(0deg,#19170da3,transparent 65%)}.filmCard img{height:360px}.filmCardCaption{left:25px;bottom:25px}.filmCardCaption b{font-size:30px}.statement{margin:0 12px}.floatingEnquiry{bottom:16px;right:16px;font-size:10px;padding:10px 15px}.cinema video{height:70svh}.footerTop{grid-template-columns:1fr 1fr}.sectionHead.d-md-flex{display:block!important}.formRow{min-width:0}.formRow>*{min-width:0}.swatches{gap:15px}#mobileNav{overflow:auto}#mobileNav a{font-size:31px}.sectionHead{gap:24px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.filmJourney{height:100svh}.journeyStage{position:relative}.floatingEnquiry{transition:none}}
@media(min-width:651px) and (max-width:1000px){header nav{display:none}.hero.hasFilm h1{font-size:clamp(60px,8vw,80px)}}
@media(max-width:650px){.hero h1,.hero.hasFilm h1{font-size:clamp(43px,14vw,57px)}.heroText,.hero.hasFilm .heroText{max-width:calc(100vw - 50px)}}
/* Warm colour chapters and stronger visual hierarchy. */
:root{--olive:#6d5847;--ink:#443d35;--muted:#84796d;--line:#d2c3b2}body{background:#f8f4ec}.intro{background:#f3e9da}.intro .eyebrow{color:#a36d4d}.projects{background:#d9c3ad}.projects .sectionHead>p,.projects .caption small,.projects .smallnote{color:#685a4c}.filters button.selected{background:#684b39;border-color:#684b39}.projectCard .caption h3{color:#443526}.projectCard .save{box-shadow:0 4px 12px #34200b20}.filmLibrary{background:#b98e73;color:#fff5e9}.filmLibrary .sectionHead>p{color:#fff0e0cc}.filmLibrary .eyebrow{color:#f8dfc7}.filmCard{box-shadow:0 12px 35px #59372220}.filmJourney{height:210svh}.journeyControls{display:flex;gap:9px}.journeyTop .journeyControls button{font-size:9px}.journeyBottom #journeyMode{border:1px solid #ffffff60;border-radius:30px;background:#21190b30;color:white;padding:7px 13px;font-size:9px;letter-spacing:.5px;white-space:nowrap}.services{background:#44382d;color:#fcf4e9}.services .eyebrow{color:#d7b392}.services .sectionHead>p,.serviceGrid p,.serviceGrid ul{color:#ddd0c1}.serviceGrid{border-color:#ffffff30;gap:24px}.serviceGrid article{background:#55463a;padding:32px;border:1px solid #ffffff12;border-radius:5px;transition:transform .3s,background .3s}.serviceGrid article:hover{background:#625044;transform:translateY(-5px)}.serviceGrid .textlink{border-color:#c8a98d;color:#fff0df}.materials{background:#e7dac7}.swatches i{border-color:#e7dac7}.materialPhoto{box-shadow:0 14px 45px #67533218;border-radius:5px}.approach{background:#f8f4ec}.steps article{padding:25px 20px;background:#e9dfd0;border:0;border-radius:5px}.steps b{color:#95694e}.journal{background:#d6b6a0}.journal .sectionHead>p,.journal .article>span{color:#675447}.journal .article img{box-shadow:0 10px 30px #4a2c171a}.faq{background:#f5ede1}.faq summary{font-weight:500}.contact{background:#cbb8a0}.contact .eyebrow{color:#72543d}.contact .pill{background:#543e2d}.contact form{background:#f7f1e68f;border:1px solid #ffffff50;border-radius:5px;padding:30px}.contact>div>p:not(.eyebrow),.contactNote span{color:#625447}.footerTop{padding-bottom:10px}footer{background:#44382d}.pill.dark:hover{background:#8a674c}.textlink:hover{color:#a46e49}.journeyCaption{transition:opacity .3s}.journeyTop{align-items:start}.journeyBottom{gap:20px}.statement{box-shadow:0 12px 40px #5b473f15}.filmToggle:hover,.journeyTop button:hover,#journeyMode:hover{background:#ffffff20}.floatingEnquiry{background:#fff6e9;border-color:#c1a98e}.toast{background:#6d5847}.principles h3{color:#654a37}.introGrid .lead{color:#654a37}
@media(max-width:900px){.serviceGrid article{padding:25px 20px}.journeyControls{gap:7px}}
@media(max-width:650px){.serviceGrid article{padding:28px 24px}.serviceGrid{gap:18px}.contact form{padding:24px 18px}.journeyTop{gap:10px}.journeyTop>span{max-width:95px}.journeyControls{flex-wrap:wrap;justify-content:flex-end;max-width:200px}.journeyTop .journeyControls button{font-size:8px;padding:8px 10px}.journeyBottom{flex-wrap:wrap;gap:12px}.journeyBottom .journeyTrack{min-width:65px}.journeyBottom #journeyMode{font-size:8px;padding:6px 10px}.journeyBottom #journeyHint{font-size:6px;letter-spacing:1px}.steps{gap:18px 14px}.steps article{padding:20px 16px}.filmJourney{height:190svh}.contactNote{max-width:100%}.contactNote span{max-width:100%}}
@media(prefers-reduced-motion:reduce){.filmJourney{height:100svh}.serviceGrid article:hover{transform:none}}
/* Film-led composition, preserving Terra's own identity. */
.heroText,.hero.hasFilm .heroText{top:auto;bottom:19%;left:7vw;max-width:850px}.hero h1,.hero.hasFilm h1{font-size:clamp(62px,7.4vw,106px);letter-spacing:-2px}.heroShade{background:linear-gradient(180deg,#20190d4f,transparent 35%,#20190d35 60%,#20190d80),linear-gradient(90deg,#20190d35,transparent 75%)}.heroText>p:not(.eyebrow){max-width:440px;font-size:16px}.heroText .eyebrow{font-size:9px;letter-spacing:3px}.hero .pill{margin-top:24px}.hero.hasFilm>video{animation:filmArrival .7s both}.heroText{text-shadow:0 2px 20px #20170c25}.hero .pill{text-shadow:none}.footerInvitation{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:15px 0 55px;margin-bottom:50px;border-bottom:1px solid #ffffff30}.footerInvitation h2{font-size:clamp(44px,6vw,80px);line-height:1.06}.footerInvitation .eyebrow{color:#d7b392;font-size:9px}.footerInvitation .pill{flex-shrink:0}.galleryNav{display:flex;align-items:center;gap:12px;margin-bottom:25px}.galleryNav>span{margin-right:auto;font-size:11px;letter-spacing:2px;color:var(--muted)}.galleryNav button{border:1px solid var(--line);border-radius:50%;width:38px;height:38px;background:none;font-size:16px}.galleryNav button:hover{background:#e4d4c0}#mobileNav{background:#5b4432}#mobileNav:not([hidden]){animation:menuReveal .45s ease both}.article:hover p{color:#764429}.pill{transition:transform .25s,background .25s,box-shadow .25s}.pill:hover{box-shadow:0 8px 24px #22100615}.principles{border-color:#c8b29a}.section .eyebrow{font-weight:600}.journeyCaption h2{letter-spacing:-1px}.projectCard .view:focus-visible .imageWrap{outline:2px solid #543e2d;outline-offset:4px}
@keyframes filmArrival{from{opacity:0}to{opacity:1}}@keyframes menuReveal{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(max-width:650px){.heroText,.hero.hasFilm .heroText{left:26px;right:24px;bottom:24%;top:auto;max-width:calc(100vw - 50px)}.hero h1,.hero.hasFilm h1{font-size:clamp(43px,14vw,57px);letter-spacing:-1.2px}.heroText>p:not(.eyebrow){font-size:13px;max-width:250px}.heroText .eyebrow{font-size:8px;letter-spacing:2px}.footerInvitation{display:block;padding-bottom:35px;margin-bottom:35px}.footerInvitation .pill{margin-top:28px}.footerInvitation h2{font-size:48px}.journeyCaption h2{font-size:45px}.galleryNav{margin-bottom:20px}}

.slides .circle{width:auto;min-width:46px;height:32px;border-radius:25px;padding:0 10px;font-size:9px}.galleryNav button{width:auto;min-width:64px;border-radius:25px;padding:0 13px;font-size:11px}.playRing{font-size:11px;font-family:DM Sans,sans-serif;letter-spacing:1px}.pill{gap:0}.hero .slides{gap:16px}@media(max-width:650px){.hero .slides{gap:9px}.slides .circle{min-width:44px;font-size:8px;padding:0 8px}}

.heroFilmLink{margin-left:22px;border:0;border-bottom:1px solid #ffffff90;background:transparent;color:white;font-size:12px;padding:8px 0;text-shadow:none}.honey{display:none!important}.intro .principles{margin-top:48px}.section{padding-top:85px;padding-bottom:85px}.hero .heroFilmLink:hover{color:#f4d7b9}.filmJourney{height:180svh}.services{margin-top:0}.contactNote span{max-width:310px}.contact form{scroll-margin-top:90px}#formStatus{min-height:22px;line-height:1.6}button:disabled{cursor:wait;opacity:.65}@media(max-width:650px){.section{padding-top:58px;padding-bottom:58px}.heroFilmLink{margin-left:16px;font-size:10px}.hero .pill{padding-left:20px;padding-right:20px;font-size:12px}.filmJourney{height:165svh}.contactNote span{max-width:100%}.contact form .consent{font-size:10px}.heroText .eyebrow{letter-spacing:1.8px}}@media(prefers-reduced-motion:reduce){.filmJourney{height:100svh}}

/* Editorial refinement: restrained palette, one featured image, and quiet film controls. */
:root{--paper:#f8f6f1;--ink:#403a33;--muted:#756d63;--line:#d7d0c5}
body,.intro,.materials,.approach,.faq{background:#f8f6f1}
.projects{background:#efebe4}
.journal{background:#f3eee6}
.contact{background:#e9e0d4}
.intro .eyebrow,.contact .eyebrow,.steps b{color:#80634e}
.principles{border-color:var(--line)}
.steps article{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0 0}
.services{background:#3f3933}
.serviceGrid article{background:#49423b;border-color:#ffffff1c}
.serviceGrid article:hover{background:#514940}
.contact form{background:#f9f6f0;border-color:#e0d7ca}
.swatches i{border-color:#f8f6f1}
.heroBottom{justify-content:flex-start;pointer-events:none}
.heroBottom .scroll{pointer-events:auto;color:#f4efe7c9}
.filmToggle{right:6.7vw;bottom:30px;padding:7px 12px;border-color:#ffffff50;background:#1d1a1645;font-size:9px;z-index:4}
.projectGrid.row{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:38px 28px;margin:0}
.projectGrid.row>.projectCard{width:auto;max-width:none;padding:0;margin:0;min-width:0}
.projectCard:first-child{grid-row:span 2}
.projectCard:first-child img{height:756px}
.projectCard:nth-child(2) img,.projectCard:nth-child(3) img{height:330px}
.projectCard:nth-child(n+4) img,.projectCard:last-child img{height:430px}
.projectCard .imageWrap{border-radius:18px 18px 5px 5px}
.projectCard img{border-radius:18px 18px 5px 5px}
.projectCard .caption{margin-top:14px;min-height:54px}
.projectCard .caption h3{font-size:clamp(24px,2.3vw,34px);line-height:1.12}
.projectCard .save{top:16px;right:16px}
@media(max-width:900px){.projectGrid.row{gap:30px 20px}.projectCard:first-child img{height:626px}.projectCard:nth-child(2) img,.projectCard:nth-child(3) img{height:265px}.projectCard:nth-child(n+4) img,.projectCard:last-child img{height:350px}}
@media(max-width:650px){.projectGrid.row{grid-template-columns:1fr;gap:30px}.projectCard:first-child{grid-row:auto}.projectCard:first-child img,.projectCard:nth-child(2) img,.projectCard:nth-child(3) img,.projectCard:nth-child(n+4) img,.projectCard:last-child img{height:clamp(290px,94vw,430px)}.projectGrid.row>.projectCard{padding:0}.projectCard .save,.projectCard:nth-child(even) .save{top:16px}.filmToggle{right:24px;bottom:26px}.heroBottom{bottom:29px}.heroBottom .scroll{font-size:8px}.steps article{padding:20px 0 0}}

/* A bolder editorial rhythm, with readable supporting type. */
body{font-size:17px;line-height:1.65}
.section{padding-top:clamp(88px,9vw,150px);padding-bottom:clamp(88px,9vw,150px)}
h2{font-size:clamp(54px,6.3vw,96px);line-height:1.02;letter-spacing:-2px}
h3{line-height:1.12}
.eyebrow,.section .eyebrow{font-size:12px;letter-spacing:2px;line-height:1.4;margin-bottom:28px}
.sectionHead{margin-bottom:56px;align-items:end}
.sectionHead>p{font-size:17px;line-height:1.5;max-width:330px}
.brand{font-size:43px}
.brand span{font-size:10px;letter-spacing:2.2px}
nav,nav a,.enquire{font-size:14px}
.heroText,.hero.hasFilm .heroText{left:7vw;bottom:17%;max-width:900px}
.hero h1,.hero.hasFilm h1{font-size:clamp(72px,8.2vw,128px);line-height:.95;letter-spacing:-3px;max-width:950px}
.heroText .eyebrow{font-size:13px;letter-spacing:2.5px;margin-bottom:23px}
.heroText>p:not(.eyebrow){font-size:20px;max-width:600px;margin-top:28px}
.hero .pill{margin-top:34px}
.pill{font-size:15px;padding:17px 30px}
.heroBottom .scroll{font-size:11px;letter-spacing:2px}
.filmToggle{font-size:12px;padding:9px 16px}
.introGrid{grid-template-columns:1.15fr .85fr;gap:7vw;align-items:start}
.introGrid .lead{font-size:clamp(22px,2vw,30px);line-height:1.45}
.introGrid p{font-size:17px;line-height:1.7}
.principles{margin-top:90px;padding-top:38px}
.principles span,.steps b{font-size:13px}
.principles h3{font-size:clamp(28px,2.5vw,38px)}
.principles p,.steps p{font-size:16px;line-height:1.55}
.textlink{font-size:15px;padding:10px 0}
.interlude{position:relative;isolation:isolate;min-height:68svh;display:flex;align-items:center;overflow:hidden;padding:100px max(6.7vw,24px);background:#6e594b;color:#fff7ec}
.interlude:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 74% 30%,#ad877043,transparent 40%),linear-gradient(120deg,#3e342cd1,transparent 80%);z-index:-1}
.interludeMark{position:absolute;right:-.05em;bottom:-.37em;color:#fff9ef11;font-family:Italiana,Georgia,serif;font-size:clamp(500px,72vw,1200px);line-height:1;pointer-events:none;z-index:-1}
.interludeCopy{width:min(1100px,100%);position:relative}
.interlude .eyebrow{color:#efcfb5;font-size:13px}
.interlude h2{font-size:clamp(60px,7.5vw,126px);max-width:1100px;letter-spacing:-3px;line-height:.98}
.interludeFoot{display:flex;align-items:end;justify-content:space-between;gap:40px;border-top:1px solid #fff8e766;margin-top:72px;padding-top:25px}
.interludeFoot p{font-size:18px;max-width:400px}
.interlude .textlink{border-color:#fff8e7;color:#fff8e7;white-space:nowrap}
.filters{gap:10px;margin-bottom:42px}
.filters button{font-size:14px;padding:10px 18px;border-color:#bfb3a6}
.filters button:hover{background:#e2d8cc}
.filters button.selected:hover{background:#684b39}
.projectCard .imageWrap{position:relative;isolation:isolate}
.projectCard .imageWrap:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#211b143b,transparent 28%,transparent 55%,#211b1466);pointer-events:none}
.imageIndex,.viewCue{position:absolute;z-index:1;color:#fff;font-size:12px;letter-spacing:1.4px;text-shadow:0 1px 8px #1118}
.imageIndex{left:25px;top:23px}
.viewCue{left:25px;bottom:24px;border-bottom:1px solid #fff9;padding-bottom:4px;transform:translateY(8px);opacity:.85;transition:transform .35s,opacity .35s}
.projectCard:hover .viewCue,.projectCard .view:focus-visible .viewCue{transform:translateY(0);opacity:1}
.projectCard .caption h3{font-size:clamp(30px,2.8vw,44px)}
.projectCard .caption small{font-size:12px;letter-spacing:1.3px}
.projectCard .caption{margin-top:20px;min-height:75px}
.projectCard .save{width:44px;height:44px;font-size:27px;z-index:2}
.smallnote{font-size:13px;margin-top:50px}
.serviceGrid h3{font-size:clamp(35px,3vw,47px)}
.serviceGrid article>span{font-size:12px;letter-spacing:1.3px}
.serviceGrid p,.serviceGrid ul{font-size:16px;line-height:1.6}
.serviceGrid ul{margin:30px 0}
.serviceGrid article{padding:40px}
.materialCopy>p:not(.eyebrow){font-size:17px;line-height:1.65}
.materialCopy .materialDetail{font-size:15px;min-height:75px}
.swatches button{font-size:13px}
.swatches i{width:62px;height:62px}
.steps h3{font-size:35px}
.article>span{font-size:12px;letter-spacing:1.5px}
.article h3{font-size:clamp(30px,2.7vw,43px)}
.article p{font-size:14px}
.article img{transition:transform .65s;object-position:center}
.article:hover img{transform:scale(1.025)}
summary{font-size:18px}
details p{font-size:16px;line-height:1.6}
.contact>div>p:not(.eyebrow){font-size:19px}
.contactNote{font-size:12px;letter-spacing:1.4px}
.contactNote span{font-size:14px;max-width:370px}
label{font-size:14px}
input,select,textarea{font-size:16px;padding:12px 0}
.consent,.contact form .consent{font-size:13px}
#formStatus{font-size:14px}
.footerTop>p{font-size:25px}
.footerTop>div a,.footerTop button,.footerBottom{font-size:13px}
.galleryNav>span{font-size:13px}
#dialogContent p{font-size:16px}
.journeyCaption>p:last-child{font-size:17px}
.journeyTop>span,.journeyTop .journeyControls button,.journeyBottom,#journeyMode{font-size:12px}
.floatingEnquiry{font-size:13px}
@media(max-width:900px){.interlude{min-height:560px}.serviceGrid article{padding:28px}.hero h1,.hero.hasFilm h1{font-size:clamp(63px,8vw,92px)}}
@media(max-width:650px){body{font-size:16px}.section{padding:80px 24px}.eyebrow,.section .eyebrow{font-size:11px;margin-bottom:19px;letter-spacing:1.6px}h2{font-size:clamp(48px,13vw,65px);letter-spacing:-1.3px}.brand{font-size:34px}.brand span{font-size:8px}.enquire{font-size:12px}.heroText,.hero.hasFilm .heroText{bottom:20%;left:24px;right:24px}.hero h1,.hero.hasFilm h1{font-size:clamp(48px,12.6vw,66px);line-height:1;letter-spacing:-1.7px}.heroText .eyebrow{font-size:11px;letter-spacing:1.4px}.heroText>p:not(.eyebrow){font-size:17px;max-width:310px;line-height:1.45;margin-top:22px}.hero .pill{margin-top:22px}.pill{font-size:14px}.filmToggle{font-size:11px}.heroBottom .scroll{font-size:9px;display:block}.introGrid .lead{font-size:22px}.introGrid p,.principles p,.steps p{font-size:16px}.principles{margin-top:56px}.principles span,.steps b{font-size:12px}.principles h3{font-size:30px}.sectionHead{margin-bottom:35px}.sectionHead>p{font-size:16px}.interlude{min-height:620px;padding:85px 24px}.interludeMark{font-size:640px;right:-120px;bottom:-220px}.interlude h2{font-size:clamp(55px,13.5vw,76px);letter-spacing:-1.5px}.interludeFoot{display:block;margin-top:65px}.interludeFoot p{font-size:16px}.interlude .textlink{margin-top:20px}.filters{gap:8px;margin-bottom:28px}.filters button{font-size:13px;padding:9px 14px}.projectCard .caption h3{font-size:32px}.projectCard .caption small{font-size:11px}.projectCard .caption{min-height:0;margin-top:17px}.imageIndex,.viewCue{font-size:11px}.viewCue{transform:none;opacity:1}.smallnote{font-size:12px}.serviceGrid article{padding:30px 24px}.serviceGrid article>span{font-size:11px}.serviceGrid p,.serviceGrid ul{font-size:15px}.serviceGrid h3{font-size:37px}.steps h3{font-size:31px}.article h3{font-size:33px}.article>span{font-size:11px}.faq summary,summary{font-size:17px}.faq details p{font-size:15px}.contact>div>p:not(.eyebrow){font-size:17px}.contactNote span{font-size:13px}.contact form{padding:25px 20px}.journeyTop>span{font-size:10px;max-width:115px}.journeyTop .journeyControls button{font-size:10px}.journeyCaption>p:last-child{font-size:15px}.journeyBottom,#journeyMode{font-size:10px}.footerTop>div a,.footerTop button,.footerBottom{font-size:12px}.floatingEnquiry{font-size:12px}}
@media(prefers-reduced-motion:reduce){.viewCue,.article img{transition:none}}

/* Cinematic split opening and irregular editorial chapters. */
@media(min-width:901px){
 .hero{background:#332c26;min-height:700px}
 .hero>img,.hero.hasFilm>video{position:absolute;inset:0 0 0 auto;width:56%;height:100%;max-width:none;aspect-ratio:auto;object-fit:cover;object-position:center;border-radius:0;box-shadow:none;z-index:0}
 .hero>img{object-position:46% center}
 .heroShade{z-index:1;background:linear-gradient(90deg,#332c26 0%,#332c26 39%,#332c26b8 47%,transparent 65%),linear-gradient(0deg,#21181070,transparent 30%)}
 .heroText,.hero.hasFilm .heroText{z-index:3;left:6.7vw;bottom:17%;max-width:58vw}
 .hero h1,.hero.hasFilm h1{font-size:clamp(82px,8.8vw,148px);letter-spacing:-3.8px;max-width:760px;line-height:.92}
 .heroText>p:not(.eyebrow){max-width:450px;line-height:1.5}
 .heroBottom{z-index:3;justify-content:space-between}
 .heroFilmCaption{font-size:11px;letter-spacing:2.3px;color:#fff;display:block}
}
@media(max-width:900px){.heroFilmCaption{display:none}}
.typeRibbon{overflow:hidden;background:#a67d65;color:#fff9ee;border-top:1px solid #fff2;border-bottom:1px solid #6a463b3b;padding:22px 0 30px}
.ribbonTrack{display:flex;width:max-content;white-space:nowrap;animation:ribbonMove 32s linear infinite}
.ribbonTrack span{display:block;flex:none;font-family:Italiana,Georgia,serif;font-size:clamp(76px,9vw,150px);line-height:1.1;letter-spacing:-2px}
@keyframes ribbonMove{to{transform:translateX(-50%)}}
.projectGrid.row{grid-template-columns:repeat(12,minmax(0,1fr));gap:64px 28px;align-items:start}
.projectGrid.row>.projectCard{grid-row:auto;grid-column:span 6;padding:0!important}
.projectGrid.row>.projectCard:nth-child(1){grid-column:span 8}
.projectGrid.row>.projectCard:nth-child(2){grid-column:span 4;padding-top:150px!important}
.projectGrid.row>.projectCard:nth-child(3){grid-column:span 5}
.projectGrid.row>.projectCard:nth-child(4){grid-column:span 7;padding-top:100px!important}
.projectGrid.row>.projectCard:nth-child(5){grid-column:1 / -1}
.projectGrid.row>.projectCard:nth-child(1) img{height:min(66vw,780px)}
.projectGrid.row>.projectCard:nth-child(2) img{height:520px}
.projectGrid.row>.projectCard:nth-child(3) img{height:520px}
.projectGrid.row>.projectCard:nth-child(4) img{height:660px}
.projectGrid.row>.projectCard:nth-child(5) img{height:min(65vw,720px);object-position:center 55%}
.projectGrid.row[data-count="1"]>.projectCard{grid-column:1/-1;padding-top:0!important}
.projectGrid.row[data-count="1"]>.projectCard img{height:min(70vw,740px)}
.projectGrid.row[data-count="2"]>.projectCard{grid-column:span 6;padding-top:0!important}
.projectGrid.row[data-count="2"]>.projectCard img{height:520px}
.projectCard .imageWrap,.projectCard img{border-radius:6px 6px 70px 6px}
.projectCard:nth-child(even) .imageWrap,.projectCard:nth-child(even) img{border-radius:70px 6px 6px 6px}
.projectCard .caption{border-top:1px solid #b5a99d;padding-top:17px;margin-top:23px}
.services .sectionHead{border-bottom:1px solid #ffffff44;padding-bottom:50px;margin-bottom:0}
.serviceGrid{display:block;border:0}
.serviceGrid article{display:grid;grid-template-columns:minmax(120px,.34fr) minmax(250px,1.15fr) minmax(250px,1fr);column-gap:32px;align-items:start;background:transparent!important;border:0;border-bottom:1px solid #ffffff44;border-radius:0;padding:48px 0;transform:none!important}
.serviceGrid article>span{grid-column:1;grid-row:1;color:#d6bca5}
.serviceGrid h3{grid-column:2;grid-row:1 / span 2;margin:0;font-size:clamp(44px,4.7vw,72px);max-width:500px}
.serviceGrid p{grid-column:3;grid-row:1;margin:0}
.serviceGrid ul{grid-column:3;grid-row:2;margin:20px 0 0}
.serviceGrid .textlink{grid-column:2;grid-row:3;justify-self:start;margin-top:26px}
.journalGrid{grid-template-columns:1.35fr .85fr .85fr;gap:32px;align-items:start}
.journalGrid .article:first-child img{height:510px}
.journalGrid .article:nth-child(2){padding-top:110px}
.journalGrid .article:nth-child(2) img,.journalGrid .article:nth-child(3) img{height:330px}
.journalGrid .article:nth-child(3){padding-top:35px}
@media(max-width:1100px){.serviceGrid article{grid-template-columns:120px 1fr 1fr}.serviceGrid h3{font-size:48px}.projectGrid.row>.projectCard:nth-child(2) img{height:450px}}
@media(max-width:900px){.projectGrid.row{gap:40px 20px}.projectGrid.row>.projectCard:nth-child(1),.projectGrid.row>.projectCard:nth-child(2),.projectGrid.row>.projectCard:nth-child(3),.projectGrid.row>.projectCard:nth-child(4){grid-column:span 6;padding-top:0!important}.projectGrid.row>.projectCard:nth-child(5){grid-column:1/-1}.projectGrid.row>.projectCard img{height:clamp(300px,48vw,480px)}.serviceGrid article{grid-template-columns:100px 1fr;gap:12px 24px}.serviceGrid article>span{grid-column:1;grid-row:1}.serviceGrid h3{grid-column:2;grid-row:1;font-size:44px}.serviceGrid p{grid-column:2;grid-row:2}.serviceGrid ul{grid-column:2;grid-row:3}.serviceGrid .textlink{grid-column:2;grid-row:4;margin-top:5px}.journalGrid{grid-template-columns:1fr 1fr}.journalGrid .article:first-child{grid-column:1/-1}.journalGrid .article:first-child img{height:450px}.journalGrid .article:nth-child(2),.journalGrid .article:nth-child(3){padding-top:0}}
@media(max-width:650px){.heroShade{background:linear-gradient(0deg,#1e1712de,transparent 78%),linear-gradient(90deg,#2019155e,transparent 80%)}.heroText,.hero.hasFilm .heroText{bottom:17%}.hero h1,.hero.hasFilm h1{font-size:clamp(58px,15vw,78px);line-height:.94;letter-spacing:-1.8px}.heroText>p:not(.eyebrow){max-width:310px}.typeRibbon{padding:20px 0}.ribbonTrack span{font-size:75px}.projectGrid.row{grid-template-columns:1fr;gap:44px}.projectGrid.row>.projectCard,.projectGrid.row>.projectCard:nth-child(n),.projectGrid.row[data-count="2"]>.projectCard{grid-column:1/-1;padding:0!important}.projectGrid.row>.projectCard img,.projectGrid.row[data-count="1"]>.projectCard img,.projectGrid.row[data-count="2"]>.projectCard img{height:clamp(360px,110vw,520px)}.projectCard .imageWrap,.projectCard img,.projectCard:nth-child(even) .imageWrap,.projectCard:nth-child(even) img{border-radius:5px 5px 52px 5px}.projectCard .caption{min-height:0}.services .sectionHead{padding-bottom:28px}.serviceGrid article{display:block;padding:36px 0}.serviceGrid article>span{display:block;margin-bottom:17px}.serviceGrid h3{font-size:44px;margin-bottom:17px}.serviceGrid p{font-size:16px}.serviceGrid ul{font-size:15px;margin:18px 0}.serviceGrid .textlink{margin-top:0}.journalGrid{grid-template-columns:1fr}.journalGrid .article:first-child{grid-column:auto}.journalGrid .article:first-child img,.journalGrid .article:nth-child(2) img,.journalGrid .article:nth-child(3) img{height:clamp(300px,85vw,430px)}}
@media(prefers-reduced-motion:reduce){.ribbonTrack{animation:none}}
@media(min-width:651px) and (max-width:900px){.projectGrid.row[data-count="1"]>.projectCard{grid-column:1/-1;padding-top:0!important}.projectGrid.row[data-count="2"]>.projectCard{grid-column:span 6}}
@media(max-width:650px){.projectGrid.row>.projectCard:nth-child(n) img,.projectGrid.row[data-count="1"]>.projectCard:nth-child(n) img,.projectGrid.row[data-count="2"]>.projectCard:nth-child(n) img{height:clamp(360px,110vw,520px)}}

/* Weight and motion. Motion classes are added only when observers are available. */
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:-.055em}
h2 em{font-weight:700;letter-spacing:-.06em}
.hero h1,.hero.hasFilm h1{letter-spacing:-.055em;line-height:.97}
.journeyCaption h2,.footerInvitation h2{letter-spacing:-.05em}
@media(prefers-reduced-motion:no-preference){
 .heroText .eyebrow{animation:heroSlide .9s .08s both}
 .heroText h1{animation:heroSlide 1.1s .22s both}
 .heroText>p:not(.eyebrow){animation:heroSlide 1s .43s both}
 .heroText .pill{animation:heroSlide 1s .62s both}
}
@keyframes heroSlide{from{opacity:0;transform:translate3d(-68px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.imageMotion{opacity:0;transform:translate3d(0,72px,0) scale(.975);transition:opacity .95s ease var(--imageDelay,0ms),transform 1.1s cubic-bezier(.2,.7,.16,1) var(--imageDelay,0ms)}
.imageMotion.inView{opacity:1;transform:translate3d(0,0,0) scale(1)}
.imageMotion .imageWrap img,.materialPhoto.imageMotion img,.journalGrid .article.imageMotion img{transform:scale(1.07);transition:transform 1.4s cubic-bezier(.2,.7,.16,1) var(--imageDelay,0ms)}
.imageMotion.inView .imageWrap img,.materialPhoto.imageMotion.inView img,.journalGrid .article.imageMotion.inView img{transform:scale(1)}
.projectCard.imageMotion.inView:hover .imageWrap img,.journalGrid .article.imageMotion.inView:hover img{transform:scale(1.035)}
@media(max-width:650px){h2{letter-spacing:-.045em}.hero h1,.hero.hasFilm h1{letter-spacing:-.055em}.imageMotion{transform:translate3d(0,50px,0) scale(.985)}}
@media(prefers-reduced-motion:reduce){.imageMotion,.imageMotion.inView{opacity:1;transform:none;transition:none}.imageMotion img,.imageMotion.inView img{transform:none!important;transition:none}}
.materialPhoto,.journalGrid .article{overflow:hidden}

/* Light and dark appearance. The original warm palette is the light version. */
.themeToggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:78px;height:39px;border:1px solid #ffffff94;border-radius:30px;background:#ffffff12;color:inherit;padding:0 12px;font-size:12px;line-height:1;white-space:nowrap;transition:background .25s,border-color .25s}
.themeToggle:hover{background:#ffffff28}
.themeIcon{display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:20px;line-height:1;width:20px;height:20px}
header.fixed .themeToggle{border-color:var(--line);background:transparent}
header.fixed .themeToggle:hover{background:#9c795526}
html[data-theme=dark]{color-scheme:dark;--paper:#1e1c1a;--ink:#f4eee5;--muted:#c4b9aa;--line:#62594f;--olive:#c4a487}
html[data-theme=dark] body,html[data-theme=dark] .intro,html[data-theme=dark] .materials,html[data-theme=dark] .approach,html[data-theme=dark] .faq{background:#1e1c1a;color:var(--ink)}
html[data-theme=dark] .projects,html[data-theme=dark] .journal{background:#282420;color:var(--ink)}
html[data-theme=dark] .services{background:#151412;color:var(--ink)}
html[data-theme=dark] .contact{background:#332b25;color:var(--ink)}
html[data-theme=dark] footer{background:#141311;color:#f7f0e7}
html[data-theme=dark] header.fixed{background:#1d1b19f5;color:var(--ink);box-shadow:0 1px 0 var(--line)}
html[data-theme=dark] #mobileNav{background:#221e1a;color:#f7f0e7}
html[data-theme=dark] .themeToggle{border-color:#ffffffa0}
html[data-theme=dark] header.fixed .themeToggle{border-color:#8c8074}
html[data-theme=dark] .typeRibbon{background:#684e40;color:#fff3e5;border-color:#80685b}
html[data-theme=dark] .intro .eyebrow,html[data-theme=dark] .contact .eyebrow,html[data-theme=dark] .steps b,html[data-theme=dark] .services .eyebrow{color:#d5b698}
html[data-theme=dark] .introGrid .lead,html[data-theme=dark] .principles h3,html[data-theme=dark] .projectCard .caption h3{color:#f4eee5}
html[data-theme=dark] .introGrid p,html[data-theme=dark] .principles p,html[data-theme=dark] .steps p,html[data-theme=dark] .materialCopy>p:not(.eyebrow){color:var(--muted)}
html[data-theme=dark] .principles,html[data-theme=dark] .projectCard .caption{border-color:var(--line)}
html[data-theme=dark] .filters button{border-color:#756a5e;color:#f4eee5}
html[data-theme=dark] .filters button:hover{background:#413930}
html[data-theme=dark] .filters button.selected,html[data-theme=dark] .filters button.selected:hover{background:#c4a487;border-color:#c4a487;color:#1c1712}
html[data-theme=dark] .projects .sectionHead>p,html[data-theme=dark] .projects .caption small,html[data-theme=dark] .projects .smallnote,html[data-theme=dark] .journal .sectionHead>p,html[data-theme=dark] .journal .article>span{color:var(--muted)}
html[data-theme=dark] .swatches i{border-color:#1e1c1a}
html[data-theme=dark] .contact form{background:#211e1b;border-color:#6b5b4b}
html[data-theme=dark] .contact>div>p:not(.eyebrow),html[data-theme=dark] .contactNote span{color:#d3c4b4}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{color:var(--ink);border-color:#857668}
html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#b4a697;opacity:1}
html[data-theme=dark] select option{background:#211e1b;color:#f4eee5}
html[data-theme=dark] .contact .pill,html[data-theme=dark] .pill.dark{background:#d1b091;color:#1e1813}
html[data-theme=dark] .pill.light{background:#f4eee5;color:#30261e}
html[data-theme=dark] .textlink{border-color:#b49a82}
html[data-theme=dark] .galleryNav button{border-color:var(--line)}
html[data-theme=dark] .galleryNav button:hover{background:#3a332d}
html[data-theme=dark] .floatingEnquiry{background:#e6c7a8;color:#231b16;border-color:#e6c7a8}
html[data-theme=dark] #scrollProgress{background:#d0ae8c}
html[data-theme=dark] .toast{background:#a78265;color:#17120f}
@media(max-width:650px){.themeToggle{min-width:38px;width:38px;height:38px;padding:0}.themeLabel{display:none}.themeIcon{font-size:21px}header,header.fixed{gap:12px}}
@media(min-width:651px) and (max-width:1180px){header nav{display:none}}

/* Terra's mineral palette comes from limestone, shadow and the olive-grove setting. */
:root{--paper:#efeee9;--ink:#2b3332;--muted:#5e6a66;--line:#bdc5bf;--olive:#3c4a47}
body,.intro,.materials,.approach,.faq{background:#efeee9;color:var(--ink)}
.projects{background:#dfe3dd}
.journal{background:#e7e9e4}
.services{background:#293330}
.contact{background:#d3dbd5}
footer{background:#202a27}
header.fixed{background:#efeee9f5;color:var(--ink)}
#mobileNav{background:#2b3531}
.hero{background:#2b3332}
@media(min-width:901px){.heroShade{background:linear-gradient(90deg,#2b3332 0%,#2b3332 39%,#2b3332ba 48%,transparent 65%),linear-gradient(0deg,#121a1890,transparent 32%)}}
.heroText .eyebrow{color:#e6ddd0}
.intro .eyebrow,.contact .eyebrow,.steps b{color:#566d65}
.introGrid .lead,.principles h3,.projectCard .caption h3{color:#2b3332}
.principles{border-color:#aebbb2}
.principles h3{margin-top:0}
.principles>div{border-left:2px solid #778d82;padding-left:22px}
.projectCard .caption{border-color:#aab7ad}
.projects .sectionHead>p,.projects .caption small,.projects .smallnote,.journal .sectionHead>p,.journal .article>span{color:#54625d}
.filters button{border-color:#9cab9e}
.filters button:hover{background:#cad4ca}
.filters button.selected,.filters button.selected:hover{background:#364941;border-color:#364941;color:#f9f8f3}
.serviceGrid article>span,.services .eyebrow{color:#c6d5c9}
.serviceGrid .textlink{border-color:#c3d1c6}
.swatches i{border-color:#efeee9}
.contact form{background:#f3f4ee;border-color:#b9c8bc}
.contact>div>p:not(.eyebrow),.contactNote span{color:#4e5e57}
.contact .pill,.pill.dark{background:#354b40;color:#fff}
.pill.dark:hover{background:#536d5e}
.floatingEnquiry{background:#f3f4ec;border-color:#b5c3b6}
#scrollProgress{background:#748f7f}
.toast{background:#34473d}
.journeyStage::after{content:'';position:absolute;inset:24px;border:1px solid #ffffff6b;border-radius:6px 6px 72px 6px;pointer-events:none;z-index:2}
.journeyTop,.journeyCaption,.journeyBottom{z-index:3}
.journeyTop>span{font-size:12px;letter-spacing:1.6px}
.journeyCaption h2{max-width:850px}
.journeyBottom{font-size:12px}
@media(max-width:650px){.principles>div{display:block;border-left:2px solid #778d82;padding-left:18px}.principles p{max-width:none}.journeyStage::after{inset:12px;border-radius:5px 5px 42px 5px}.journeyTop{top:75px}.journeyTop>span{font-size:9px}.journeyBottom{font-size:10px}}
html[data-theme=dark]{--paper:#171e1b;--ink:#eff2eb;--muted:#b9c8bd;--line:#56655a;--olive:#bdd0c0}
html[data-theme=dark] body,html[data-theme=dark] .intro,html[data-theme=dark] .materials,html[data-theme=dark] .approach,html[data-theme=dark] .faq{background:#171e1b;color:var(--ink)}
html[data-theme=dark] .projects,html[data-theme=dark] .journal{background:#202b25;color:var(--ink)}
html[data-theme=dark] .services{background:#101915}
html[data-theme=dark] .contact{background:#293a2f}
html[data-theme=dark] footer{background:#101713}
html[data-theme=dark] header.fixed{background:#17211bf5;color:var(--ink)}
html[data-theme=dark] #mobileNav{background:#17211b}
html[data-theme=dark] .intro .eyebrow,html[data-theme=dark] .contact .eyebrow,html[data-theme=dark] .steps b{color:#b2cbb7}
html[data-theme=dark] .introGrid .lead,html[data-theme=dark] .principles h3,html[data-theme=dark] .projectCard .caption h3{color:#eff2eb}
html[data-theme=dark] .principles>div{border-color:#94aa99}
html[data-theme=dark] .filters button.selected,html[data-theme=dark] .filters button.selected:hover{background:#bed0bc;border-color:#bed0bc;color:#16221a}
html[data-theme=dark] .filters button:hover{background:#3b5041}
html[data-theme=dark] .projects .sectionHead>p,html[data-theme=dark] .projects .caption small,html[data-theme=dark] .projects .smallnote,html[data-theme=dark] .journal .sectionHead>p,html[data-theme=dark] .journal .article>span{color:#b9c8bd}
html[data-theme=dark] .swatches i{border-color:#171e1b}
html[data-theme=dark] .contact form{background:#18251c;border-color:#5a715e}
html[data-theme=dark] .contact>div>p:not(.eyebrow),html[data-theme=dark] .contactNote span{color:#ccd9ce}
html[data-theme=dark] .contact .pill,html[data-theme=dark] .pill.dark{background:#bdd0bc;color:#16221a}
html[data-theme=dark] .floatingEnquiry{background:#dce7d9;color:#16221a;border-color:#dce7d9}
html[data-theme=dark] #scrollProgress{background:#bdd0bc}

/* Deep teal is Terra's default night palette. */
.hero{background:#0b252a}
@media(min-width:901px){.heroShade{background:linear-gradient(90deg,#0b252a 0%,#0b252a 39%,#0b252ac2 48%,transparent 65%),linear-gradient(0deg,#07191e9c,transparent 32%)}}
html[data-theme=dark]{--paper:#0b252a;--ink:#f2f6f2;--muted:#b9d0cb;--line:#426a6d;--olive:#b5d7cd}
html[data-theme=dark] body,html[data-theme=dark] .intro,html[data-theme=dark] .materials,html[data-theme=dark] .approach,html[data-theme=dark] .faq{background:#0b252a;color:var(--ink)}
html[data-theme=dark] .projects,html[data-theme=dark] .journal{background:#12343a;color:var(--ink)}
html[data-theme=dark] .services{background:#071b20;color:var(--ink)}
html[data-theme=dark] .contact{background:#164047;color:var(--ink)}
html[data-theme=dark] footer{background:#061a1e;color:#f2f6f2}
html[data-theme=dark] header.fixed{background:#0b252af5;color:var(--ink);box-shadow:0 1px 0 var(--line)}
html[data-theme=dark] #mobileNav{background:#0b2b31;color:#f2f6f2}
html[data-theme=dark] .intro .eyebrow,html[data-theme=dark] .contact .eyebrow,html[data-theme=dark] .steps b,html[data-theme=dark] .services .eyebrow{color:#b5d8cd}
html[data-theme=dark] .introGrid .lead,html[data-theme=dark] .principles h3,html[data-theme=dark] .projectCard .caption h3{color:#f2f6f2}
html[data-theme=dark] .principles,html[data-theme=dark] .principles>div,html[data-theme=dark] .projectCard .caption{border-color:#5b8684}
html[data-theme=dark] .filters button{color:#f2f6f2;border-color:#5b8584}
html[data-theme=dark] .filters button:hover{background:#1f4c50}
html[data-theme=dark] .filters button.selected,html[data-theme=dark] .filters button.selected:hover{background:#b5d7cd;border-color:#b5d7cd;color:#08262a}
html[data-theme=dark] .projects .sectionHead>p,html[data-theme=dark] .projects .caption small,html[data-theme=dark] .projects .smallnote,html[data-theme=dark] .journal .sectionHead>p,html[data-theme=dark] .journal .article>span{color:#b9d0cb}
html[data-theme=dark] .serviceGrid article>span,html[data-theme=dark] .serviceGrid .textlink{color:#c1ded4;border-color:#6d9995}
html[data-theme=dark] .swatches i{border-color:#0b252a}
html[data-theme=dark] .contact form{background:#0d2e34;border-color:#4b797a}
html[data-theme=dark] .contact>div>p:not(.eyebrow),html[data-theme=dark] .contactNote span{color:#d0e1dc}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{border-color:#83aaa6;color:#f2f6f2}
html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#abc8c2}
html[data-theme=dark] select option{background:#0d2e34;color:#f2f6f2}
html[data-theme=dark] .contact .pill,html[data-theme=dark] .pill.dark{background:#b5d7cd;color:#08262a}
html[data-theme=dark] .pill.light{background:#f2f6f2;color:#0b252a}
html[data-theme=dark] .floatingEnquiry{background:#d1e8df;color:#08262a;border-color:#d1e8df}
html[data-theme=dark] #scrollProgress{background:#a8d1c5}
html[data-theme=dark] .toast{background:#b5d7cd;color:#08262a}
html[data-theme=dark] .galleryNav button:hover{background:#1b464b}

/* Film captions stay legible over moving photography in either theme. */
.journeyStage,html[data-theme=dark] .journeyStage{color:#fff8ed}
.journeyShade{background:linear-gradient(90deg,#08191dd1 0%,#08191d90 44%,#08191d08 79%),linear-gradient(0deg,#0717198f,transparent 55%)}
.journeyCaption h2,.journeyCaption h2 em{color:#fff8ed;text-shadow:0 3px 24px #06141770}
.journeyCaption .eyebrow,.journeyTop>span,.journeyBottom,.journeyBottom #journeyHint,.journeyBottom #journeyNumber{color:#fff8ed;text-shadow:0 1px 12px #07171980}
.journeyCaption>p:last-child{color:#fff8ede8}
.journeyBottom #journeyHint{font-size:11px;letter-spacing:1.4px}
.journeyTop button,.journeyBottom #journeyMode{color:#fff8ed;border-color:#ffffff8a;background:#07191c66}
@media(max-width:650px){.journeyShade{background:linear-gradient(90deg,#07191dc9,#07191d40 80%),linear-gradient(0deg,#071719b3,transparent 72%)}.journeyBottom #journeyHint{font-size:9px}}
