@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg: #f4efe6;--bg-soft: #ede6da;--ink: #151311;--ink-soft: rgba(21, 19, 17, .72);--line: rgba(21, 19, 17, .12);--shadow: 0 20px 50px rgba(24, 20, 14, .08);--serif: "Cormorant Garamond", Georgia, serif;--sans: "Inter", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;min-height:100vh;overflow-x:hidden;background:linear-gradient(180deg,#f5f0e7,#ede5d8);color:var(--ink);font-family:var(--sans)}body.is-transitioning{pointer-events:none}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}#app{min-height:100vh}.page-shell{position:relative;min-height:100vh;isolation:isolate}.page-shell:before{content:"";position:fixed;inset:0;background:#ede6da4d;pointer-events:none;z-index:-1}.header{position:fixed;inset:0 0 auto;height:92px;z-index:30;background:#f4efe6f2;border-bottom:1px solid rgba(21,19,17,.08);will-change:none}.header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 clamp(1rem,3vw,3rem);max-width:1683px;margin:0 auto}.brand-mark{display:inline-flex;align-items:center;gap:.8rem;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:700}.brand-mark__logo{height:40px;width:auto;display:block;object-fit:contain}.nav{display:flex;gap:clamp(.8rem,1.8vw,2rem);flex-wrap:wrap;justify-content:flex-end}.nav a{position:relative;font-size:.92rem;letter-spacing:.04em;opacity:.76;transition:opacity .18s ease,transform .18s ease}.nav a:hover,.nav a.is-active{opacity:1;transform:translateY(-1px)}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-.35rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .22s ease}.nav a:hover:after,.nav a.is-active:after{transform:scaleX(1)}.section{position:relative;max-width:1683px;margin:0 auto;padding:clamp(7rem,14vw,11rem) clamp(1rem,3vw,3rem) clamp(3rem,5vw,5rem)}.hero{min-height:100vh;display:grid;align-items:end;padding-top:92px}.hero__grid{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.72rem;color:var(--ink-soft)}.hero h1,.page-title{font-family:var(--serif);font-weight:600;line-height:.92;letter-spacing:-.05em;margin:0}.hero h1{font-size:clamp(4.5rem,11vw,9.6rem);max-width:10ch}.hero h1 .fill{color:#15131129;-webkit-text-stroke:1px rgba(21,19,17,.18)}.hero__copy{max-width:32rem;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.8;color:var(--ink-soft)}.hero__layout{display:grid;gap:1.25rem}.hero__card{position:relative;border-radius:2rem;overflow:hidden;min-height:18rem;border:1px solid rgba(21,19,17,.08);background:#fff6;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center}.hero__card img{width:100%;height:100%;object-fit:contain;padding:1rem}.hero__badge-row{display:flex;flex-wrap:wrap;gap:.8rem}.pill{display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1rem;border-radius:999px;border:1px solid rgba(21,19,17,.12);background:#fff9;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.card-grid,.photo-grid,.service-grid,.contact-grid{display:grid;gap:1.25rem}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem}.glass-card,.text-panel,.service-card,.contact-card,.photo-card,.project-card,.about-card{border:1px solid rgba(21,19,17,.1);background:#ffffff80;box-shadow:var(--shadow)}.glass-card{position:relative;min-height:15rem;border-radius:1.75rem;overflow:hidden;padding:1.4rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.glass-card__title{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.5rem);line-height:.95;margin:0;max-width:9ch}.glass-card__index{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.glass-card__orb{position:absolute;inset:auto -20% -30% auto;width:18rem;height:18rem;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),transparent 70%);opacity:.6}.section-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.section-title h2,.section-title h3{margin:0;font-family:var(--serif);font-size:clamp(2.4rem,4vw,4.8rem);line-height:.95;letter-spacing:-.05em}.section-title p{margin:0;max-width:36rem;color:var(--ink-soft);line-height:1.7}.project-stack{display:grid;gap:clamp(1rem,2vw,1.5rem)}.project-card{position:relative;border-radius:2rem;overflow:hidden;min-height:30rem;padding:clamp(1.2rem,2vw,2rem)}.project-card__art{position:absolute;inset:0;opacity:.6;background:linear-gradient(135deg,#1a14100a,#ffffff14)}.project-card:nth-child(2n) .project-card__art{background:linear-gradient(135deg,#92381f14,#ecb15c1f)}.project-card:nth-child(3n) .project-card__art{background:linear-gradient(135deg,#3776ff1a,#72c97f14)}.project-card__content{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.76fr) minmax(280px,.24fr);gap:1.5rem;align-items:end;min-height:26rem}.project-card__meta{max-width:42rem}.project-card__meta h3{margin:0 0 .8rem;font-family:var(--serif);font-size:clamp(2rem,3vw,3.8rem);line-height:.95}.project-card__figure{border-radius:1.5rem;min-height:20rem;border:1px solid rgba(21,19,17,.12);background:#fff3}.photo-card__image{min-height:17rem;background:#1814100f;overflow:hidden}.photo-card__image img{width:100%;height:100%;min-height:17rem;object-fit:cover;display:block;transition:transform .4s ease}.photo-card:hover .photo-card__image img{transform:scale(1.04)}.quote-band{margin-top:1.5rem;padding:1.4rem 1.6rem;border-radius:1.5rem;background:#ffffff4d;border:1px solid rgba(21,19,17,.08)}.stat{padding:1.1rem;border-radius:1.2rem;background:#fff6;border:1px solid rgba(21,19,17,.08)}.field input,.field textarea{width:100%;border:1px solid rgba(21,19,17,.12);border-radius:1rem;padding:.95rem 1rem;background:#ffffff80;color:var(--ink);outline:none;transition:border-color .18s ease,background .18s ease}.field input:focus,.field textarea:focus{border-color:#1513114d;background:#ffffffb3}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3rem;padding:.9rem 1.2rem;border-radius:999px;border:1px solid rgba(21,19,17,.14);background:#fff9;box-shadow:0 8px 20px #14100c0f;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #14100c14}.section-divider{height:1px;width:100%;background:#1513111f;margin:1.5rem 0}@media(max-width:1180px){.hero__grid,.contact-grid{grid-template-columns:1fr}.photo-grid,.service-grid,.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card__content{grid-template-columns:1fr}}@media(max-width:760px){.header{height:auto;min-height:92px}.header__inner{padding-block:1rem;align-items:flex-start;flex-direction:column}.nav{gap:.9rem 1.1rem}.section{padding-inline:1rem}.hero{padding-top:8rem}.hero h1,.page-title{font-size:clamp(3.2rem,18vw,5.4rem)}.card-grid,.photo-grid,.service-grid,.stats{grid-template-columns:1fr}.project-card{min-height:24rem}}.project-card__meta p,.about-card p,.service-card p,.contact-card p{margin:0;line-height:1.75;color:var(--ink-soft)}.project-card__figure{border-radius:1.5rem;min-height:20rem;border:1px solid rgba(21,19,17,.12);background:linear-gradient(180deg,#fff3,#ffffff0a),radial-gradient(circle at 50% 50%,rgba(21,19,17,.12),transparent 40%);box-shadow:inset 0 1px #ffffff4d}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-card{border-radius:1.65rem;overflow:hidden;min-height:24rem;display:grid}.photo-card__image{min-height:17rem;background:linear-gradient(135deg,#1814101f,#fff6)}.photo-card__body{padding:1rem 1.1rem 1.2rem;display:grid;gap:.45rem}.photo-card__body h3{margin:0;font-size:1rem;letter-spacing:.12em;text-transform:uppercase}.photo-card__body p{margin:0;color:var(--ink-soft);line-height:1.65;font-size:.92rem}.about-card,.service-card,.contact-card,.text-panel{border-radius:1.8rem;padding:clamp(1.2rem,2vw,1.75rem)}.page-title{font-size:clamp(3.5rem,8vw,8rem);margin-bottom:1rem}.lead{font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.9;color:var(--ink-soft);max-width:56rem}.quote-band{margin-top:1.5rem;padding:1.4rem 1.6rem;border-radius:1.5rem;background:linear-gradient(135deg,#1513110f,#fff6);border:1px solid rgba(21,19,17,.08)}.quote-band p{font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,2.3rem);line-height:1.18;margin:0}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.stat{padding:1.1rem;border-radius:1.2rem;background:#ffffff47;border:1px solid rgba(21,19,17,.08)}.stat strong{display:block;font-family:var(--serif);font-size:2.5rem;line-height:1;margin-bottom:.25rem}.stat span{color:var(--ink-soft);font-size:.9rem}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card h3,.contact-card h3,.about-card h3{margin:0 0 .6rem;font-size:1.1rem;letter-spacing:.1em;text-transform:uppercase}.contact-grid{grid-template-columns:.9fr 1.1fr}.contact-form{display:grid;gap:.9rem}.field{display:grid;gap:.4rem}.field label{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.field input,.field textarea{width:100%;border:1px solid rgba(21,19,17,.12);border-radius:1rem;padding:.95rem 1rem;background:#ffffff6b;color:var(--ink);outline:none;transition:border-color .18s ease,transform .18s ease,background .18s ease}.field input:focus,.field textarea:focus{border-color:#1513114d;background:#ffffff9e}.field textarea{min-height:9rem;resize:vertical}.button-row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3rem;padding:.9rem 1.2rem;border-radius:999px;border:1px solid rgba(21,19,17,.14);background:#ffffff7a;box-shadow:0 10px 30px #14100c14;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px #14100c1f}.btn--dark{background:var(--ink);color:#fff;border-color:var(--ink)}.footer{margin-top:4rem;padding:3rem clamp(1rem,3vw,3rem) 2rem;border-top:1px solid rgba(21,19,17,.12);background:linear-gradient(180deg,#fff0,#f4efe666)}.footer__container{max-width:1683px;margin:0 auto}.footer__brand{display:flex;align-items:center;gap:1.2rem;margin-bottom:2.5rem}.footer__logo{display:flex;align-items:center}.footer__logo img{height:32px;width:auto}.footer__brand-text h3{margin:0;font-family:var(--serif);font-size:1.3rem;letter-spacing:-.03em;font-weight:600}.footer__brand-text p{margin:.35rem 0 0;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.footer__links{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:1rem;align-items:start}.footer__nav{display:flex;flex-wrap:wrap;gap:1.8rem;margin-bottom:1.5rem}.footer__nav a{font-size:.9rem;letter-spacing:.04em;color:var(--ink);opacity:.8;transition:opacity .2s ease}.footer__nav a:hover{opacity:1}.footer__social{display:flex;flex-direction:row;gap:1.8rem;align-items:flex-end;justify-content:flex-end;margin-bottom:1.5rem}.footer__social a{font-size:.9rem;letter-spacing:.04em;color:var(--ink);opacity:.8;transition:opacity .2s ease}.footer__social a:hover{opacity:1}.footer__divider{height:1px;background:#1513111a;margin:.8rem 0 1.8rem}.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:2rem}.footer__email{margin:0;text-align:right}.footer__email a{font-size:.9rem;letter-spacing:.04em;color:var(--ink);opacity:.76;transition:opacity .2s ease}.footer__email a:hover{opacity:1}.footer__copyright{margin:0;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);text-align:left}.project-detail{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:start}.project-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.meta-item strong{display:block;font-family:var(--serif);font-size:.9rem;margin-bottom:.5rem}.meta-item p{margin:0;font-size:.85rem;color:var(--ink-soft)}.project-content{display:grid;gap:2.5rem;margin:2rem 0}.project-description{display:grid;gap:.8rem}.project-description h2,.project-details h2{font-family:var(--serif);font-size:1.4rem;margin:0;letter-spacing:-.02em}.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}.gallery-item{position:relative;border-radius:1.75rem;overflow:hidden;background:#ffffff85;border:1px solid rgba(21,19,17,.07);box-shadow:0 8px 32px #18140e12,inset 0 1px #ffffffa6;height:22rem;transition:box-shadow .35s ease,transform .35s ease}.gallery-item:first-child{grid-column:1 / -1;height:34rem}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 20px 52px #18140e1c,inset 0 1px #ffffffb3}.gallery-item img{position:absolute;inset:1.5rem;width:calc(100% - 3rem);height:calc(100% - 3rem);object-fit:contain;display:block;transition:transform .5s ease}.gallery-item:first-child img{inset:2.5rem;width:calc(100% - 5rem);height:calc(100% - 5rem)}.gallery-item:hover img{transform:scale(1.03)}.gallery-item:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 60%);pointer-events:none}.gallery-item--blank{background:#ffffff38;border:1px dashed rgba(21,19,17,.1);box-shadow:none;cursor:default}.gallery-item--blank:after{display:none}.gallery-item--blank:hover{transform:none;box-shadow:none}.details-list{margin:0;padding:0 0 0 1.5rem}.details-list li{margin-bottom:.8rem;font-size:.9rem;color:var(--ink)}.project-nav{display:flex;gap:1rem;justify-content:space-between}.reveal{opacity:1;visibility:visible;transform:none}[data-reveal]{opacity:0;visibility:hidden}.page-transition{position:fixed;inset:0;background:linear-gradient(180deg,#14120fed,#14120fd1);transform:scaleY(0);transform-origin:top;z-index:100;pointer-events:none}@media(max-width:768px){.footer__links{grid-template-columns:1fr;gap:1.5rem}.footer__nav{gap:1.2rem}.footer__bottom{grid-template-columns:1fr;text-align:center;gap:1rem}.footer__copyright{text-align:center}.project-detail{grid-template-columns:1fr;gap:2rem}.project-meta{grid-template-columns:repeat(2,1fr)}.project-gallery{grid-template-columns:repeat(2,1fr);gap:.85rem}.gallery-item{height:18rem}.gallery-item:first-child{grid-column:1 / -1;height:28rem}}.section-divider{height:1px;width:100%;background:linear-gradient(90deg,transparent,rgba(21,19,17,.18),transparent);margin:1.5rem 0}@media(max-width:1180px){.hero__grid,.contact-grid{grid-template-columns:1fr}.photo-grid,.service-grid,.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card__content,.project-detail{grid-template-columns:1fr}}@media(max-width:760px){.header{height:auto;min-height:92px}.header__inner{padding-block:1rem;align-items:flex-start;flex-direction:column}.nav{gap:.9rem 1.1rem}.section{padding-inline:1rem}.hero{padding-top:8rem}.hero h1,.page-title{font-size:clamp(3.2rem,18vw,5.4rem)}.card-grid,.photo-grid,.service-grid,.stats{grid-template-columns:1fr}.project-card{min-height:24rem}.project-gallery{grid-template-columns:1fr!important}.gallery-item{height:18rem}.gallery-item:first-child{height:24rem}}.about-card{border-radius:1.8rem;padding:clamp(1.2rem,2vw,1.75rem);margin-bottom:2rem}.tool-dock{display:flex;flex-direction:column;align-items:center;gap:1rem;margin:2rem 0 1rem}.dock-eyebrow{text-align:center;margin-bottom:.5rem}.dock-shelf{display:flex;align-items:flex-end;justify-content:center;gap:clamp(1rem,2.5vw,1.75rem);padding:clamp(1rem,2vw,1.5rem) clamp(1.5rem,4vw,3rem);background:#ffffff85;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(21,19,17,.09);border-radius:2rem;box-shadow:0 8px 40px #18140e12,0 2px 8px #18140e0a,inset 0 1px #ffffffb8}.dock-item{display:flex;flex-direction:column;align-items:center;gap:.55rem;transform-origin:bottom center;will-change:transform;cursor:default}.dock-icon-wrap{width:clamp(56px,7vw,76px);height:clamp(56px,7vw,76px);border-radius:1.1rem;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px #18140e21,0 1px 4px #18140e14;flex-shrink:0}.dock-icon-wrap svg{width:100%;height:100%;display:block}.dock-name{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease;white-space:nowrap;pointer-events:none}.dock-item:hover .dock-name{opacity:1;transform:translateY(0)}@keyframes dock-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.dock-shelf:not(.is-hovered) .dock-item:nth-child(1){animation:dock-float 3.6s ease-in-out infinite 0s}.dock-shelf:not(.is-hovered) .dock-item:nth-child(2){animation:dock-float 3.6s ease-in-out infinite .4s}.dock-shelf:not(.is-hovered) .dock-item:nth-child(3){animation:dock-float 3.6s ease-in-out infinite .8s}.dock-shelf:not(.is-hovered) .dock-item:nth-child(4){animation:dock-float 3.6s ease-in-out infinite 1.2s}.dock-shelf:not(.is-hovered) .dock-item:nth-child(5){animation:dock-float 3.6s ease-in-out infinite 1.6s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0s!important;animation-duration:0s!important}}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:#fff;padding:.5rem .75rem;border-radius:4px;box-shadow:0 6px 18px #0000001f;z-index:120}@media(max-width:760px){.dock-shelf{gap:.7rem;padding:.9rem 1.1rem;border-radius:1.5rem}.dock-icon-wrap{width:52px;height:52px;border-radius:.85rem}}
