:root{--bg:#252526;--deep:#1c1c1d;--panel:#2d2d2e;--text:#f2eee8;--muted:#b7b2aa;--gold:#cfa674;--gold-bright:#e6c699;--line:#ffffff21;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:6px}a:hover{color:var(--gold-bright)}.wrap{width:calc(100% - 128px);max-width:1440px;margin-inline:auto}.section{padding-block:100px}.eyebrow{color:var(--gold);font-size:.75rem;letter-spacing:.18em;font-weight:400;line-height:1.9}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:1.15}h2{font-size:clamp(2rem,3.7vw,3.7rem)}h2 em{font-weight:400;color:var(--gold)}h3{font-size:1.3rem;line-height:1.4;font-weight:400}em{font-weight:400}p{max-width:65ch}.header{position:absolute;z-index:5;top:0;width:100%;color:var(--text);background:linear-gradient(#151515a1,transparent)}.header-inner{min-height:130px;display:flex;align-items:center;gap:44px;border-bottom:1px solid #ffffff24}.brand{flex-shrink:0;display:block;width:156px;height:102px}.brand img{width:100%;height:100%;object-fit:contain;filter:none}.header nav{display:flex;gap:33px;margin-left:auto;font-size:.875rem;color:#ede9e2}.header nav a{padding:15px 0;border-bottom:1px solid transparent}.header nav a:hover{color:var(--gold-bright);border-color:var(--gold)}.header-contact{font-size:.875rem;border:1px solid #c6ab7c9c;padding:12px 19px;display:flex;align-items:center;gap:30px}.header-contact:hover{background:#c6ab7c15}.hero{position:relative;min-height:820px;height:100svh;max-height:1200px;isolation:isolate;background:#262423;color:#f6f1e9}.hero-backdrop,.hero-shade{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{z-index:-1;background:linear-gradient(90deg,#101011aa 0%,#17171775 35%,#19191913 70%),linear-gradient(0deg,#151515ad 0%,transparent 35%,#17171722 100%)}.hero-content{height:100%;min-height:inherit;display:flex;flex-direction:column;justify-content:center;padding:170px 0 110px;position:relative}.hero-copy{max-width:660px}.hero .eyebrow{display:flex;align-items:center;gap:19px;color:#e5cfaa}.hero .eyebrow span{height:1px;width:35px;background:#c6ab7c9c}.hero h1{font-size:clamp(5rem,8.5vw,8.5rem);margin:30px 0 26px;line-height:1.01;letter-spacing:-.055em;text-shadow:0 3px 35px #00000020}.hero h1 em{color:#dfcaa5}.hero-description{font-size:1.05rem;color:#e1ddd5;line-height:1.8;max-width:420px}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:35px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:19px 25px;line-height:1.4;font-size:.875rem;transition:background .2s,color .2s}.button-gold{background:var(--gold);color:#242321;border:1px solid var(--gold)}.button-gold:hover{background:var(--gold-bright);color:#171717;border-color:var(--gold-bright)}.text-link{display:inline-flex;align-items:center;gap:23px;border-bottom:1px solid #c6ab7c70;padding:7px 0;font-size:.875rem}.text-link:hover{border-color:var(--gold-bright)}.hero .text-link{color:#f1ebe2}.hero-bottom{position:absolute;bottom:35px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #ffffff26;padding-top:25px}.hero-bottom p{font-size:.75rem;color:#e2dcd2;letter-spacing:.035em}.hero-bottom p span{padding:0 12px;color:var(--gold)}.explore{display:flex;align-items:center;gap:17px;font-size:.6875rem;letter-spacing:.14em;color:#e2c799}.explore span{font-size:1.2rem}.intro{padding-block:100px;display:grid;grid-template-columns:1fr 2.3fr;gap:80px;border-bottom:1px solid var(--line)}.intro>.eyebrow{padding-top:10px}.intro h2{font-size:clamp(2rem,3.35vw,3.4rem)}.intro p:not(.eyebrow){margin-top:28px;color:var(--muted);max-width:700px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}.section-heading h2{margin-top:17px}.section-heading>p{font-size:.9375rem;color:var(--muted);max-width:280px}.showcase{padding-bottom:85px}.gallery-wrap{width:calc(100% - 56px);max-width:1660px;margin-inline:auto}.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:65px 28px}.project-wide{grid-column:span 8}.project-portrait{grid-column:span 4}.project-full{grid-column:span 12}.project-image{position:relative;display:block;overflow:hidden;background:#34322f}.project-image img{height:560px;width:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.65,.3,1)}.project-full .project-image img{height:660px}.project-image:hover img{transform:scale(1.035)}.image-open{position:absolute;bottom:23px;right:23px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #e8dbc0b0;background:#1d1d1d44;backdrop-filter:blur(5px);color:#fff;font-size:1.4rem;transition:background .2s}.project-image:hover .image-open{background:#c6ab7c;color:#222}.project figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 6px 0}.project figcaption p{color:var(--gold);font-size:.6875rem;letter-spacing:.14em;margin-bottom:7px}.project h3{font-family:var(--serif);font-size:1.85rem;letter-spacing:-.025em}.project-index{font:italic 1.1rem var(--serif);color:#bba788}.gallery-foot{display:flex;justify-content:space-between;align-items:center;gap:45px;margin-top:50px}.gallery-note{font-size:.75rem;max-width:430px;color:#aaa49a}.gallery-foot .text-link{flex-shrink:0}.services{border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:90px}.service{border-top:1px solid var(--line);padding:32px 0 38px;display:flex;gap:28px}.service .index{font:italic 1.2rem var(--serif);color:var(--gold);padding-top:4px}.service p{color:var(--muted);font-size:.9375rem;margin-top:12px;max-width:450px}.process{background:var(--deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:130px}.process h2{margin-top:22px;max-width:490px}.process-layout>div>p:last-child{color:var(--muted);margin-top:26px;max-width:390px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:30px;border-bottom:1px solid var(--line);padding:0 0 25px;margin-bottom:25px}.steps li:last-child{margin-bottom:0}.steps li>span{font:italic 1.1rem var(--serif);color:var(--gold);padding-top:4px}.steps p{font-size:.875rem;color:var(--muted);margin-top:9px}.steps h3{font-size:1.125rem}.instagram-band{background:#30302f;padding-block:52px;border-bottom:1px solid var(--line)}.instagram-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.instagram-band h2{font-size:1.85rem;margin-top:12px;letter-spacing:-.025em}.instagram-handle{display:flex;gap:50px;border-bottom:1px solid #c6ab7c7d;padding-block:13px;font-size:1.25rem;color:var(--gold-bright)}.contact{padding-block:110px 95px}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact h2{font-size:clamp(2.8rem,4.7vw,4.8rem);margin-top:22px}.contact-details{border-top:1px solid var(--line);margin-top:62px;padding-top:42px;display:grid;grid-template-columns:1.4fr 1fr;gap:60px}.phone-number{display:inline-block;font-family:var(--serif);font-size:clamp(2.2rem,4vw,4rem);line-height:1.3;letter-spacing:-.02em;margin-top:17px}.address-block address{font-size:1rem;font-style:normal;margin:15px 0 10px;color:var(--muted)}.footer{background:#1b1b1c;color:var(--muted);padding:34px 0 28px;border-top:1px solid #c6ab7c40}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:28px;border-bottom:1px solid var(--line)}.footer-brand{width:158px;height:108px;display:block}.footer-brand img{width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}.footer-inner p{font-size:.875rem}.back-top{font-size:.875rem;display:flex;align-items:center;gap:22px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:24px;font-size:.75rem}.design-credit{font-size:.75rem;text-align:center}.design-credit a{color:var(--gold-bright);border-bottom:1px solid #c6ab7c66}.mobile-contact{display:none}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--gold);color:#111;padding:14px}.skip-link:focus{top:10px}.menu-toggle{display:none;background:#20202055;color:var(--text);border:1px solid #c6ab7c87;padding:9px 12px;align-items:center;gap:12px}.menu-toggle[hidden]{display:none}dialog{border:1px solid #c6ab7c4d;background:#1b1b1c;color:var(--text);padding:22px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 36px);width:1200px}dialog::backdrop{background:#111113ef}dialog img{max-height:72dvh;width:auto;max-width:100%;margin:auto;object-fit:contain}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.lightbox-top{margin-bottom:18px}.lightbox-top>span{color:var(--gold);font-size:.875rem}.lightbox-bottom{margin-top:20px}.lightbox-bottom p{font-family:var(--serif);font-size:1.5rem}.lightbox-close{display:flex;align-items:center;gap:15px;border:0;color:#fff;background:transparent;font-size:.875rem;min-height:35px}.lightbox-close span{font-size:1.8rem;line-height:1}.lightbox-controls{display:flex;gap:10px}.lightbox-controls button{background:transparent;border:1px solid #c6ab7c7d;color:var(--gold);width:45px;height:44px;font-size:1.4rem}.lightbox-controls button:hover{background:var(--gold);color:#161616}
@media(min-width:1700px){.hero-content{padding-top:200px}.project-image img{height:640px}.project-full .project-image img{height:730px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header-inner{gap:25px;min-height:112px}.brand{width:130px;height:92px}.header nav{gap:21px}.header-contact{gap:18px;padding:11px 14px}.hero{min-height:740px}.hero-content{padding-top:140px}.hero h1{font-size:6rem}.hero-bottom p{max-width:410px;text-align:right}.intro{gap:45px;grid-template-columns:1fr 2.5fr}.section{padding-block:80px}.gallery-wrap{width:calc(100% - 40px)}.gallery{gap:48px 22px}.project-image img{height:440px}.project-full .project-image img{height:550px}.project h3{font-size:1.55rem}.service-grid{column-gap:55px}.process-layout{gap:65px}.footer-bottom{flex-wrap:wrap}.design-credit{order:3;width:100%;text-align:left}.gallery-foot{gap:25px}.gallery-foot .text-link{flex-shrink:1}}
@media(max-width:820px){.header-inner{gap:20px;flex-wrap:wrap;padding-block:8px}.brand{height:85px;width:125px}.header-contact{margin-left:auto}.header nav{width:100%;justify-content:space-between;margin:0;order:3;padding:0 0 5px}.header nav a{padding-block:5px 11px}.hero{min-height:820px}.hero-content{padding-top:180px}.hero h1{font-size:5.7rem}.hero-actions{gap:25px}.hero-backdrop img{object-position:61% center}.hero-shade{background:linear-gradient(90deg,#141415bd,#11111139),linear-gradient(0deg,#1818189c,transparent 45%)}.hero-bottom p{max-width:300px;font-size:.6875rem}.intro{grid-template-columns:1fr;gap:25px;padding-block:65px}.intro .eyebrow br{display:none}.intro h2{font-size:2.5rem}.section-heading{gap:30px}.section-heading>p{max-width:205px}.project-image img{height:390px}.project-full .project-image img{height:470px}.project-wide{grid-column:span 7}.project-portrait{grid-column:span 5}.project h3{font-size:1.5rem}.project figcaption p{font-size:.625rem}.instagram-band>.wrap{flex-direction:column;align-items:flex-start;gap:20px}.contact-top{align-items:flex-start;flex-direction:column}.process-layout{gap:40px}.contact-details{grid-template-columns:1.15fr 1fr;gap:30px}.contact h2{font-size:3.5rem}.footer-inner p{display:none}.gallery-foot{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:600px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}.header-inner{min-height:100px;gap:15px;padding-block:4px}.brand{width:130px;height:90px}.header-contact{display:none}.menu-toggle:not([hidden]){display:flex;margin-left:auto}.header nav{font-size:.875rem}.js .header nav{display:none}.js .header nav.is-open{display:flex;flex-direction:column;align-items:stretch;padding:10px 18px 15px;background:#202020f5;border:1px solid #c6ab7c55;position:absolute;top:102px;left:20px;width:calc(100% - 40px)}.js .header nav.is-open a{padding:13px 2px;border-bottom:1px solid var(--line)}.hero{height:100svh;min-height:740px;max-height:1000px}.hero-content{padding:150px 0 100px;justify-content:center}.hero-backdrop img{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#111111ac,#18181828),linear-gradient(0deg,#151515c4 0%,#15151515 45%,#1515153b 100%)}.hero .eyebrow{font-size:.6875rem;gap:12px}.hero .eyebrow span{width:22px}.hero h1{font-size:clamp(4rem,17.8vw,6rem);margin:25px 0 24px;line-height:1.04}.hero-description{font-size:1rem}.hero-actions{gap:19px;align-items:flex-start;flex-direction:column;margin-top:28px}.button{padding:17px 22px;font-size:.875rem;gap:50px}.hero .text-link{font-size:.875rem;padding-block:4px}.hero-bottom{bottom:28px;padding-top:20px}.hero-bottom p{display:none}.explore{font-size:.6875rem;gap:15px}.intro{padding-block:60px;gap:24px}.intro h2{font-size:2.05rem}.intro p:not(.eyebrow){font-size:.9375rem;margin-top:23px}.section{padding-block:58px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:2.25rem;margin-top:15px;max-width:330px}.section-heading>p{margin-top:22px;max-width:320px;font-size:.9375rem}.gallery-wrap{width:100%}.gallery{display:block}.project{margin-bottom:38px}.project:last-child{margin-bottom:0}.project-image img{height:auto;aspect-ratio:1.05;object-fit:cover}.project-portrait .project-image img{aspect-ratio:4/5;max-height:600px}.project-full .project-image img{height:auto;aspect-ratio:1.08}.project figcaption{padding:19px 20px 0}.project h3{font-size:1.55rem}.project figcaption p{font-size:.6875rem;letter-spacing:.11em}.project-index{font-size:1rem}.image-open{width:44px;height:44px;bottom:17px;right:17px}.gallery-foot{margin-top:33px;gap:17px}.gallery-note{font-size:.75rem}.gallery-foot .text-link{font-size:.8125rem;gap:14px;line-height:1.6}.service-grid{grid-template-columns:1fr}.service{padding:25px 0;gap:22px}.service p{font-size:.9375rem}.service h3{font-size:1.2rem}.process-layout{grid-template-columns:1fr;gap:38px}.process h2{font-size:2.35rem}.process-layout>div>p:last-child{margin-top:22px;font-size:.9375rem}.steps li{gap:24px;margin-bottom:24px;padding-bottom:24px}.instagram-band{padding-block:36px}.instagram-band h2{font-size:1.65rem}.instagram-handle{font-size:1.1rem;padding-block:7px;gap:30px}.contact h2{font-size:clamp(2.5rem,10vw,3.2rem)}.contact-top{gap:30px}.contact-details{grid-template-columns:1fr;gap:33px;margin-top:40px;padding-top:32px}.phone-number{font-size:clamp(2.2rem,9vw,3rem)}.footer{padding-block:20px 25px}.footer-brand{width:135px;height:93px}.footer-inner{padding-bottom:20px}.footer-bottom{font-size:.75rem;gap:18px}.design-credit{font-size:.75rem;line-height:1.8}.mobile-contact{display:flex;position:fixed;z-index:15;bottom:0;left:0;right:0;min-height:62px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #c6ab7c55;background:#252526}.mobile-contact a{flex:1;display:flex;align-items:center;justify-content:center;gap:25px;min-height:62px;font-size:.875rem}.mobile-contact a:last-child{background:var(--gold);color:#242321;flex:1.2}dialog{padding:14px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}dialog img{max-height:65dvh}.lightbox-bottom{gap:10px}.lightbox-bottom p{font-size:1.125rem}.lightbox-controls{gap:6px}.lightbox-controls button{width:39px;min-height:44px}.lightbox-top{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Pupa Design: original logo and longer brand headline. */
.hero-copy{max-width:950px}.hero h1{font-size:clamp(4rem,6.4vw,6.8rem)}.contact-email{display:table;margin-top:15px}
@media(max-width:820px){.hero h1{font-size:4.1rem}}
@media(max-width:600px){.hero h1{font-size:clamp(2.6rem,10.6vw,4rem);line-height:1.15}.hero-copy{max-width:100%}}
