@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#0b1016;--panel:#111923;--gold:#d7c294;--text:#f1f3f3;--muted:#a5b0bc;--line:#ffffff18}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 'DM Sans',Arial,sans-serif}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.08;letter-spacing:-.045em;font-weight:500;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}header{position:fixed;inset:0 0 auto;z-index:20;background:#0b1016e8;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);transition:transform .55s cubic-bezier(.22,1,.36,1)}header.hidden{transform:translateY(-110%)}.nav{max-width:1440px;margin:auto;padding:22px 5%;display:flex;justify-content:space-between;align-items:center;gap:35px}.brand{display:flex;gap:12px;align-items:center}.brand img{width:42px;height:42px;object-fit:contain}.word{font:600 22px Manrope,Arial,sans-serif;letter-spacing:.14em}.word small{display:block;font:10px 'DM Sans',Arial;letter-spacing:.37em;color:var(--gold)}nav{display:flex;align-items:center;gap:32px}nav a{font-size:12px;letter-spacing:.06em;position:relative}nav a:not(.btn):after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.4s}nav a:hover:after,nav a.active:after{transform:scaleX(1)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 24px;border:1px solid #d7c29470;color:var(--gold);font-size:12px;letter-spacing:.04em;transition:background .4s,color .4s,transform .4s}.btn:hover{background:var(--gold);color:var(--bg);transform:translateY(-2px)}.btn.fill{background:var(--gold);color:var(--bg)}.btn.fill:hover{background:#eadbbc}.hero{min-height:95vh;position:relative;isolation:isolate;overflow:hidden;padding:190px 7% 70px;display:flex;flex-direction:column;justify-content:center}.slides{position:absolute;inset:0;z-index:-3}.slide{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;opacity:0;transition:opacity 2.3s}.slide.active{opacity:1;animation:zoom 12s linear both}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0b1016f2,#0b1016a0 58%,#0b101650),linear-gradient(0deg,#0b1016,transparent 45%)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:100px 100px;pointer-events:none}.eyebrow{font:11px/1.5 'DM Sans',Arial;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:13px;margin-bottom:28px}.dot{width:5px;height:5px;background:var(--gold);box-shadow:0 0 14px #d7c29466}.hero h1{font-size:clamp(54px,7.4vw,110px);max-width:1080px}.hero h1 span{color:var(--gold)}.hero p{color:#c0c8d0;max-width:590px;font-size:17px;margin:30px 0}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.hero-foot{display:flex;gap:30px;margin-top:65px;color:#a5b0bc;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.hero-foot span{border-top:1px solid #ffffff35;padding-top:13px}.section{padding:110px 7%;max-width:1500px;margin:auto}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.section h2{font-size:clamp(35px,4.3vw,62px)}.intro p,.copy p{color:var(--muted);margin:0 0 24px}.index{font-size:10px;color:#6d7c8e;letter-spacing:.13em;margin-bottom:25px}.section-top{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:50px}.section-top p{max-width:380px;color:var(--muted);font-size:14px}.services{border-top:1px solid var(--line)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.card{background:#101720;padding:42px 32px;position:relative;transition:background .5s}.card:hover{background:#17212d}.card:before{content:'';position:absolute;top:0;left:0;width:0;height:1px;background:var(--gold);transition:width .6s}.card:hover:before{width:100%}.card .num{color:var(--gold);font:11px monospace}.card h3{font-size:27px;margin:65px 0 22px;letter-spacing:-.035em}.card p{color:var(--muted);font-size:14px;min-height:100px}.card a{font-size:12px;color:var(--gold);border-bottom:1px solid #d7c29455;padding-bottom:6px}.insight{background:#101720;border-block:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.visual{position:relative}.visual img{width:100%;height:510px;object-fit:cover;filter:saturate(.65)}.visual .caption{position:absolute;bottom:20px;left:20px;right:20px;background:#0b1016df;border:1px solid #ffffff20;padding:20px;display:flex;justify-content:space-between;font-size:11px;color:#c2ccd6}.rows{margin-top:40px}.row{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;font-size:13px}.row span:first-child{color:var(--muted)}.row span:last-child{color:var(--gold)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px}.principles h3{font-size:22px;margin:18px 0}.principles p{color:var(--muted);font-size:14px}.contact{border-top:1px solid var(--line);text-align:center;padding:120px 7%;position:relative}.contact .eyebrow{justify-content:center}.contact h2{font-size:clamp(42px,5.5vw,78px);max-width:1000px;margin:auto}.contact p{max-width:620px;margin:28px auto;color:var(--muted)}.email{display:inline-block;margin-top:28px;color:var(--gold);font-size:clamp(17px,2.3vw,27px);border-bottom:1px solid #d7c29460;padding-bottom:10px}footer{border-top:1px solid var(--line);padding:60px 7% 30px;background:#080d13}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px;max-width:1300px;margin:auto}.footer-grid p{max-width:330px;font-size:13px;color:var(--muted)}.footer-title{font-size:10px;letter-spacing:.13em;color:var(--gold);margin-bottom:22px}.footer-grid a:not(.brand){display:block;font-size:13px;margin:10px 0;color:var(--muted)}.footer-grid a:hover{color:var(--gold)}.bottom{max-width:1300px;margin:45px auto 0;border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;color:#8391a0}.legals{display:flex;gap:20px;flex-wrap:wrap}.legals a:hover{text-decoration:underline;text-underline-offset:4px}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(32px);transition:opacity 1.4s ease,transform 1.4s cubic-bezier(.22,1,.36,1)}.js .reveal.visible{opacity:1;transform:none}.delay1{transition-delay:.15s}.delay2{transition-delay:.3s}.delay3{transition-delay:.45s}.hero .eyebrow,.hero h1,.hero p,.hero-actions{animation:rise 1.5s both}.hero h1{animation-delay:.15s}.hero p{animation-delay:.3s}.hero-actions{animation-delay:.45s}a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.legalpage{max-width:900px;padding-top:170px}.legalpage h1{font-size:52px}.legalpage h2{font-size:26px;margin:40px 0 18px}.legalpage p{color:var(--muted)}@keyframes zoom{from{transform:scale(1)}to{transform:scale(1.055)}}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(max-width:900px){.nav{padding:18px 6%;gap:18px}.brand img{width:32px;height:32px}.word{font-size:18px}nav{gap:18px}nav .btn{display:none}.hero{padding:165px 7% 65px;min-height:850px}.intro,.split{grid-template-columns:1fr;gap:40px}.cards,.principles{grid-template-columns:1fr}.card h3{margin-top:35px}.card p{min-height:0}.section{padding:75px 7%}.section-top{display:block}.visual img{height:370px}.footer-grid{grid-template-columns:1fr;gap:25px}.hero-foot{gap:20px;flex-wrap:wrap}}@media(max-width:550px){nav{gap:13px}nav a{font-size:10px}nav a:first-child{display:none}.word{font-size:15px}.word small{font-size:8px}.hero h1{font-size:52px}.hero p{font-size:15px}.hero{min-height:800px}.hero-foot{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
/* Edge-aligned header and immersive left-hand photography */
.nav{max-width:none;width:100%;padding-left:3%;padding-right:3%}
.insight{position:relative;overflow:hidden;isolation:isolate;background:#101720}
.insight .split{max-width:none;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;min-height:760px;align-items:stretch}
.insight .visual{position:relative;overflow:hidden;min-height:760px}
.insight .visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.65) brightness(.75);animation:insightZoom 26s ease-in-out infinite alternate}
.insight .visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10172005 25%,#10172055 72%,#101720),linear-gradient(0deg,#10172088,transparent 35%);pointer-events:none}
.insight .visual .caption{display:none}
.insight .copy{padding:100px 9% 100px 6%;position:relative;align-self:center;max-width:850px}
@keyframes insightZoom{from{transform:scale(1)}to{transform:scale(1.055)}}
@media(max-width:900px){.nav{padding-left:5%;padding-right:5%}.insight .split{grid-template-columns:1fr;min-height:0}.insight .visual{min-height:360px}.insight .visual:after{background:linear-gradient(0deg,#101720,transparent 75%)}.insight .copy{padding:25px 7% 75px;max-width:none}}
@media(prefers-reduced-motion:reduce){.insight .visual img{animation:none}}
.arrow-icon{display:inline-block;width:17px;height:17px;vertical-align:middle;flex-shrink:0;transition:transform .4s ease}.btn .arrow-icon{width:18px;height:18px}.btn:hover .arrow-icon{transform:translate(2px,-2px)}.email .arrow-icon{width:23px;height:23px;margin-left:8px}.card a .arrow-icon{margin-left:5px}@media(prefers-reduced-motion:reduce){.arrow-icon{transition:none}}

/* Portfolio page */
.pf-hero{padding:175px 6% 0}.pf-hero h1{font-size:clamp(54px,7.6vw,118px);line-height:.96;letter-spacing:-.055em;max-width:1300px;margin:0}.pf-hero h1 span{color:var(--gold)}.lead{font-size:19px;margin:28px 0 0;color:#b9c2cb;max-width:640px}
.tools{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:55px 0 30px}input{background:#111923;border:1px solid #ffffff25;color:var(--text);padding:14px 18px;font:14px Arial;width:min(440px,100%)}input:focus{outline:1px solid var(--gold)}.count{color:var(--gold);font-size:12px;letter-spacing:.06em}
.pf-wrap{padding:0 6% 100px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#ffffff15;border:1px solid #ffffff15}
.listing{background:#0f1720;border-bottom:1px solid #ffffff15;border-right:1px solid #ffffff15;overflow:hidden;display:flex;flex-direction:column;transition:background .4s}.listing:hover{background:#131d28}.listing[hidden]{display:none}
.media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0b1016}.media>img{width:100%;height:100%;object-fit:cover;filter:brightness(.92) saturate(.9);transition:transform 1.4s cubic-bezier(.22,1,.36,1)}.listing:hover .media>img{transform:scale(1.05)}.media:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b1016aa,transparent 45%);pointer-events:none}.area{position:absolute;left:18px;bottom:14px;z-index:1;font:10px Arial;letter-spacing:.16em;color:#e6dfce}
.body{padding:26px 30px 30px;display:flex;flex-direction:column;flex:1;min-height:170px}.listing .num{font:10px monospace;letter-spacing:.1em;color:var(--gold)}.listing h2{font-size:24px;line-height:1.2;max-width:380px;margin:14px 0 26px}.body a{margin-top:auto;color:var(--gold);font-size:12px;width:fit-content;border-bottom:1px solid #d7c29450;padding-bottom:8px;transition:border-color .3s}.body a:hover{border-color:var(--gold)}.body a .arrow-icon{margin-left:8px}.empty{display:none;color:var(--muted);padding-top:25px}
.pf-hero .eyebrow,.pf-hero h1,.pf-hero .lead,.pf-hero .tools{animation:rise 1.5s both}.pf-hero h1{animation-delay:.15s}.pf-hero .lead{animation-delay:.3s}.pf-hero .tools{animation-delay:.45s}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.pf-hero{padding-top:150px}}
@media(max-width:620px){.grid{grid-template-columns:1fr}.tools{display:block}.count{margin-top:15px}.body{padding:22px 24px 26px}.listing h2{font-size:23px}.pf-hero,.pf-wrap{padding-left:7%;padding-right:7%}}
/* The extra Portfolio link needs the header to wrap on small phones */
@media(max-width:550px){.nav{flex-wrap:wrap;gap:12px}nav{width:100%;justify-content:space-between;gap:10px}.hero{padding-top:185px}.pf-hero{padding-top:165px}.legalpage{padding-top:190px}}
@media(prefers-reduced-motion:reduce){.media>img{transition:none}.listing:hover .media>img{transform:none}}
.listing .num{display:none}
.listing h2{margin-top:0}
.count{display:none}
.tools{display:none}
/* Space between portfolio intro line and grid */
.pf-hero .lead{margin-bottom:56px}
@media(max-width:620px){.pf-hero .lead{margin-bottom:32px}}
