:root{--color-moss: #2d473c;--color-gold: #d4af6a;--color-ivory: #f8f6f0;--color-taupe: #a7a89a;--color-graphite: #1f1f1f;--color-white: #ffffff;--color-border: rgba(45, 71, 60, .14);--color-surface: rgba(255, 255, 255, .7);--shadow-soft: 0 20px 60px rgba(31, 31, 31, .08);--container-width: min(1180px, calc(100% - 2rem) );--section-spacing: clamp(4.5rem, 7vw, 8rem);--radius-soft: 24px;--header-offset: 6rem;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,sans-serif;color:var(--color-graphite);background:radial-gradient(circle at top left,rgba(212,175,106,.12),transparent 28%),linear-gradient(180deg,#f3efe5 0%,var(--color-ivory) 18%,#f4f1e9 100%)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,rgba(212,175,106,.04) 0,rgba(212,175,106,.04) 1px,transparent 1px,transparent 100%),linear-gradient(180deg,rgba(45,71,60,.03) 0,rgba(45,71,60,.03) 1px,transparent 1px,transparent 100%);background-size:120px 120px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 85%)}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%}main,section[id]{scroll-margin-top:var(--header-offset)}.skip-link{position:absolute;top:.75rem;left:1rem;z-index:40;padding:.85rem 1rem;background:var(--color-moss);color:var(--color-ivory);transform:translateY(-140%);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}.container{width:var(--container-width);margin:0 auto}.section{padding:var(--section-spacing) 0}.section-heading{max-width:720px;margin-bottom:2.75rem}.section-heading--center{margin-left:auto;margin-right:auto;text-align:center}.section-heading__eyebrow,.hero__eyebrow,.brand-intro__label,.service-card__index,.process-step__index{letter-spacing:.24em;text-transform:uppercase;font-size:.76rem;color:var(--color-moss)}.section-heading h2,.brand-intro h2,.main-cta h2,.legal-modal h2,.hero h1{margin:0;font-family:Playfair Display,serif;font-weight:600;line-height:.96;letter-spacing:-.03em}.hero h1{font-size:clamp(3.4rem,8vw,7rem);max-width:10ch}.section-heading h2,.brand-intro h2,.main-cta h2{font-size:clamp(2.4rem,5vw,4.1rem);margin-top:.55rem}.section-heading__description,.hero__copy,.brand-intro__content p,.service-card p,.process-step p,.main-cta p,.contact__info p,.contact-channel span,.contact-form label,.site-footer p,.legal-modal p{color:#1f1f1fc7;line-height:1.75}.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid transparent;padding:.95rem 1.35rem;min-height:3.25rem;min-width:min(100%,12rem);font-size:.95rem;font-weight:600;text-align:center;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,opacity .18s ease}.button:hover{transform:translateY(-2px)}.button:disabled{cursor:wait;opacity:.72}.button--primary{background:var(--color-moss);color:var(--color-ivory)}.button--secondary{border-color:#2d473c33;background:#ffffff73;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px}.decorative-divider{display:flex;align-items:center;gap:.45rem}.decorative-divider span{width:.45rem;height:.45rem;border-radius:50%;background:var(--color-gold)}.site-header{position:sticky;top:0;z-index:20;padding:1rem 0;transition:background-color .18s ease,backdrop-filter .18s ease,box-shadow .18s ease}.site-header--scrolled{background:#f8f6f0eb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 1px #2d473c14}.site-header__inner,.site-header__actions,.site-nav,.hero__actions,.main-cta__actions,.site-footer__links,.site-footer__meta{display:flex;align-items:center}.site-header__inner{justify-content:space-between;gap:1.5rem}.brand-mark{display:inline-flex;flex-direction:column;gap:.15rem}.brand-mark__name{font-family:Playfair Display,serif;letter-spacing:.14em;font-size:1.35rem}.brand-mark__tag{font-size:.76rem;color:#1f1f1fa6}.site-nav{gap:1.4rem}.site-nav a,.site-footer__links a,.site-footer__meta a,.site-footer__meta button{font-size:.94rem;color:#1f1f1fbd}.site-footer__meta button{border:0;padding:0;background:transparent}.menu-toggle,.mobile-menu{display:none}.hero{padding:clamp(3rem,6vw,6rem) 0 var(--section-spacing)}.hero__grid,.brand-intro__layout,.audiences__layout,.contact__layout,.site-footer__grid{display:grid;gap:2rem}.hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center}.hero__copy{max-width:38rem;margin:1.75rem 0 0;font-size:1.08rem}.hero__actions,.main-cta__actions{gap:1rem;margin:2rem 0;flex-wrap:wrap}.hero__visual{position:relative;padding:1.8rem .5rem .5rem 2rem}.hero__visual:before,.hero__visual:after{content:"";position:absolute;border:1px solid rgba(212,175,106,.55);border-radius:999px 999px 0 0}.hero__visual:before{inset:1rem 4rem auto 0;height:70%}.hero__visual:after{inset:auto 0 0 5rem;height:46%}.hero__frame{position:relative;overflow:hidden;border-radius:220px 220px 28px 28px;box-shadow:var(--shadow-soft)}.hero__card{position:absolute;max-width:15rem;padding:1rem 1.1rem;background:#ffffffb3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-soft)}.hero__card span{display:inline-block;margin-bottom:.45rem;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-moss)}.hero__card strong{font-family:Playfair Display,serif;font-size:1.15rem;line-height:1.35;font-weight:600}.hero__card--top{top:2rem;left:0}.hero__card--bottom{right:0;bottom:1rem}.brand-intro{padding:1rem 0 var(--section-spacing)}.brand-intro__layout,.audiences__layout,.contact__layout,.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-intro__content{padding-top:1rem}.brand-intro__signature{font-family:Playfair Display,serif;font-size:1.3rem;color:var(--color-moss)}.services__grid,.projects__grid,.process__rail{display:grid;gap:1.25rem}.services__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card,.contact-form{background:#ffffff94;border:1px solid var(--color-border);box-shadow:var(--shadow-soft)}.service-card{padding:1.7rem;min-height:100%}.service-card--featured{background:linear-gradient(180deg,#2d473cf2,#2d473cdb);color:var(--color-ivory);transform:translateY(-.5rem)}.service-card--featured p,.service-card--featured h3,.service-card--featured span,.service-card--featured .service-card__index{color:inherit}.service-card h3,.process-step h3{margin:.85rem 0;font-family:Playfair Display,serif;font-size:1.7rem}.service-card__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(45,71,60,.12);color:var(--color-moss)}.service-card__footer span{max-width:14rem;font-size:.9rem;line-height:1.5}.service-card__note{margin-top:1rem;font-size:.92rem;line-height:1.6}.projects__grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.project-card{display:grid;gap:.85rem}.project-card:nth-child(1),.project-card:nth-child(4){grid-column:span 5}.project-card:nth-child(2),.project-card:nth-child(3),.project-card:nth-child(5),.project-card:nth-child(6){grid-column:span 3}.project-card__media{position:relative;overflow:hidden;min-height:220px}.project-card img{height:100%;object-fit:cover;transition:transform .28s ease}.project-card__overlay{position:absolute;inset:auto 0 0 0;display:none;gap:.25rem;padding:1.3rem;background:linear-gradient(180deg,transparent,rgba(31,31,31,.78));color:var(--color-white);opacity:0;transition:opacity .22s ease}.project-card__content{display:grid;gap:.2rem}.project-card__content span,.project-card__overlay span{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}.project-card__content strong,.project-card__overlay strong{font-family:Playfair Display,serif;font-size:1.2rem;line-height:1.3}.process__rail{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;position:relative}.process__rail:before{content:"";position:absolute;top:1rem;left:0;right:0;height:1px;background:#d4af6ab3}.process-step{position:relative;padding:2rem 1.35rem 1.5rem;background:transparent;border-top:1px solid rgba(45,71,60,.12)}.process-step:before{content:"";position:absolute;top:.75rem;left:1.35rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--color-gold)}.audiences__list{display:flex;flex-wrap:wrap;gap:.9rem;align-content:start}.audience-pill{padding:.85rem 1rem;border-bottom:1px solid rgba(45,71,60,.18);background:transparent}.main-cta__panel{padding:clamp(2rem,4vw,3.5rem);text-align:center;background:#ffffff6b;border-top:1px solid rgba(45,71,60,.12);border-bottom:1px solid rgba(45,71,60,.12)}.main-cta__panel>*{max-width:42rem;margin-left:auto;margin-right:auto}.contact__channels{display:grid;gap:.9rem;margin-top:2rem}.contact-channel{display:inline-flex;align-items:center;gap:.9rem;min-height:3rem;padding:.95rem 1rem;border:1px solid rgba(45,71,60,.1);background:#ffffff75}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.5rem}.contact-form label{display:grid;gap:.5rem;font-weight:600}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:3rem;border:1px solid rgba(45,71,60,.18);background:#ffffffdb;padding:.9rem 1rem}.contact-form__message,.contact-form__checkbox,.contact-form button,.form-feedback,.form-error{grid-column:1 / -1}.contact-form__checkbox{display:flex;align-items:flex-start;gap:.75rem;font-weight:500}.contact-form__checkbox input{width:auto;min-height:auto;margin-top:.25rem}.contact-form__checkbox button{display:inline;border:0;padding:0;color:var(--color-moss);background:transparent;text-decoration:underline}.form-error{font-size:.88rem;color:#8f2c1f}.form-feedback{margin:0;padding:.9rem 1rem;background:#2d473c14;color:var(--color-moss)}.form-feedback--error{background:#8f2c1f14;color:#8f2c1f}.site-footer{padding:2rem 0 2.4rem}.site-footer__grid{padding-top:1.8rem;border-top:1px solid rgba(45,71,60,.12)}.site-footer__links,.site-footer__meta{gap:1rem;flex-wrap:wrap;justify-content:flex-end}.site-footer__bottom{padding-top:1rem}.legal-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:1rem;background:#1f1f1f73}.legal-modal__panel{width:min(720px,100%);max-height:88vh;overflow:auto;padding:1.75rem;background:var(--color-ivory)}.legal-modal__close{display:inline-flex;margin-left:auto;margin-bottom:1rem;border:1px solid rgba(45,71,60,.18);padding:.6rem .9rem;background:transparent}@media (hover: hover){.project-card__overlay{display:grid}.project-card:hover img{transform:scale(1.03)}.project-card:hover .project-card__overlay{opacity:1}}@media (max-width: 1024px){:root{--header-offset: 5.5rem}.hero__grid,.brand-intro__layout,.audiences__layout,.contact__layout,.site-footer__grid{grid-template-columns:1fr}.services__grid,.process__rail,.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card:nth-child(n){grid-column:span 1}.site-nav,.site-header__actions .button{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid rgba(45,71,60,.12);background:#ffffffa6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-menu{position:absolute;inset:100% 0 auto 0;padding:0 1rem 1rem;opacity:0;pointer-events:none;transition:opacity .18s ease}.mobile-menu--open{display:block;opacity:1;pointer-events:auto}.mobile-menu__nav{display:grid;gap:.8rem;padding:1.2rem;background:#f8f6f0fa;border:1px solid rgba(45,71,60,.12);box-shadow:var(--shadow-soft)}.mobile-menu__nav .button{width:100%}}@media (max-width: 768px){:root{--container-width: min(100% - 1.25rem, 100%);--header-offset: 5rem}.hero h1{font-size:clamp(2.8rem,15vw,4.3rem)}.hero__visual{padding-left:.5rem}.hero__card{position:static;max-width:none;margin-top:1rem}.hero__actions .button,.main-cta__actions .button{width:100%}.services__grid,.process__rail,.projects__grid,.contact-form{grid-template-columns:1fr}.project-card__overlay{display:none}.process__rail:before{left:.95rem;top:0;bottom:0;right:auto;width:1px;height:auto}.process-step:before{top:1.3rem;left:.72rem}.process-step{padding-left:2rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
