@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#1f1f1f;--wine:#761b35;--deep-wine:#421323;--blush:#e9bec5;--terra:var(--wine);--sand:#f0eae7;--ivory:#f7f4ef;--sage:var(--wine)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.75 Inter,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.14}h1{font-size:clamp(2.65rem,4.1vw,4.8rem);letter-spacing:-.045em}h2{font-size:clamp(2.4rem,4.6vw,4.5rem);letter-spacing:-.035em}h3{font-size:2.1rem;letter-spacing:-.02em}em{font-weight:400}p+p{margin-top:18px}.eyebrow{font:500 12px/1.6 Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px}.wrap{width:min(1320px,90%);margin:auto}header{position:sticky;top:0;z-index:20;background:rgba(247,244,239,.97);border-bottom:1px solid #1f1f1f20}.nav{height:100px;display:flex;align-items:center;gap:40px}.brand{margin-right:auto}.brand img{width:188px;height:78px;object-fit:contain;mix-blend-mode:multiply}.navlinks{display:flex;align-items:center;gap:30px;font-size:13px}.navlinks a:hover{color:#761b35}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--terra);color:#fff;border:0;border-radius:40px;padding:15px 25px;font-size:14px;line-height:1.4;transition:background .2s,transform .2s;cursor:pointer}.btn:hover{background:#421323;transform:translateY(-2px)}.btn span{font-size:20px}.link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid #1f1f1f66;padding-bottom:5px;font-size:14px}.link:hover{color:#761b35}.menu{display:none;background:none;border:1px solid #aaa;padding:8px 12px;border-radius:30px}.hero{display:grid;grid-template-columns:44% 56%;min-height:720px}.hero-copy{padding:65px 46px 55px 0;align-self:center}.hero h1 em{color:#761b35}.hero-copy>p:not(.eyebrow){margin-top:24px;font-size:15px;max-width:450px;line-height:1.7}.hero-copy strong{font-size:14px;display:block;margin:20px 0 26px}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:20px}.hero-photo{position:relative;min-height:650px;margin:28px 0}.hero-photo>img{width:100%;height:100%;position:absolute;filter:brightness(.85) saturate(.72)}.photo-label{position:absolute;bottom:30px;left:30px;color:white;font-size:12px;letter-spacing:.15em}.hero-caption{position:absolute;right:-16px;bottom:70px;background:var(--sand);padding:28px 35px;font:italic 30px/1.2 'Playfair Display',serif;max-width:250px}.ribbon{display:flex;justify-content:space-between;gap:20px;padding:25px 0;border-top:1px solid #1f1f1f30;border-bottom:1px solid #1f1f1f30;font-size:13px}.ribbon i{color:var(--terra);font-style:normal}.section{padding:105px 0}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.intro h2{max-width:640px}.intro .body{padding-top:50px}.statement{font:italic 27px/1.4 'Playfair Display',serif;padding:28px 0 0;border-top:1px solid #1f1f1f30;margin-top:30px!important}.section-title{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:60px}.section-title .eyebrow{margin:0}.services{background:var(--sand)}.service{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:65px 0;border-top:1px solid #1f1f1f30;align-items:center}.service:nth-child(odd) .service-image{order:2}.service-image{height:530px;position:relative}.service-image img{height:100%;width:100%;filter:saturate(.7)}.service-number{position:absolute;top:18px;left:22px;color:white;font:48px 'Playfair Display',serif;text-shadow:0 1px 12px #000}.service h3{font-size:clamp(2.3rem,3.5vw,3.4rem);margin-bottom:22px}.service .hook{font:24px/1.35 'Playfair Display',serif;margin-bottom:20px}.service p{font-size:15px}.service .list{font-size:13px;line-height:1.8;border-top:1px solid #1f1f1f30;padding-top:20px;margin-top:24px}.service .price{margin:25px 0 18px;font-weight:600;font-size:14px}.mix{background:var(--sage)}.mix-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.mix h2 em{display:block}.mix .serif{font-size:36px;margin-top:30px}.method{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;margin-top:65px}.method article{border-top:1px solid #999;padding-top:20px}.num{color:#761b35;font-size:14px}.method h3{font-size:24px;margin:20px 0 14px}.method p{font-size:14px}.team{background:var(--sand)}.team-intro{max-width:680px;margin:25px 0 55px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.member{border-top:1px solid #1f1f1f55;padding-top:28px}.member .initial{font:italic 90px 'Playfair Display',serif;color:#761b35;height:145px;display:flex;align-items:center}.member h3{font-size:32px}.member .role{margin:14px 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.member p{font-size:14px}.member strong{display:block;margin-top:20px;font-weight:500}.projects-head{max-width:720px}.projects-head>p{margin-top:24px}.project-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;margin-top:50px}.project:nth-child(even){padding-top:70px}.project img{width:100%;height:300px;filter:saturate(.65)}.project .project-name{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #aaa;padding:22px 0}.project h3{font-size:26px}.project small{font-size:12px;color:#675e56;display:block;margin-top:12px}.investment{background:var(--sand)}.investment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.investment h2{margin-bottom:30px}.rates{margin:0}.rates>div{display:flex;gap:24px;justify-content:space-between;border-bottom:1px solid #1f1f1f35;padding:24px 0}.rates dt{font-size:15px}.rates dd{margin:0;text-align:right;font-size:16px;white-space:nowrap}.fine{font-size:13px;margin-top:22px}.fit{display:grid;grid-template-columns:.85fr 1fr;gap:13%}.fit ul{list-style:none;margin:0;padding:0}.fit li{padding:18px 0;border-bottom:1px solid #bbb;display:flex;gap:25px;font-size:16px}.fit li:before{content:'↗';color:#761b35}.fit-note{font-size:13px;margin-top:25px}.contact{background:var(--ink);color:var(--ivory);text-align:center;padding:100px 5%}.contact h2{font-size:clamp(2.7rem,5.7vw,5.6rem);max-width:1100px;margin:auto}.contact h2 em{color:var(--terra)}.contact p:not(.eyebrow){max-width:650px;margin:30px auto;font-size:16px}.contact-actions{display:flex;gap:18px;justify-content:center;margin-top:35px}.contact .btn:disabled{opacity:.65;cursor:default;transform:none}.contact .outline{background:transparent;border:1px solid #aaa}.contact .pending{font-size:13px!important;color:#c4bbb3;margin-top:20px!important}.contact .pending a{text-decoration:underline;text-underline-offset:3px}.socials a:hover{color:var(--wine);text-decoration:underline}footer{padding:55px 0}.footer-inner{display:flex;justify-content:space-between;gap:35px;align-items:start}.footer-logo{width:210px;mix-blend-mode:multiply}.footer-inner p{font-size:13px;margin-top:20px}.socials{display:flex;flex-wrap:wrap;gap:25px;font-size:13px}.socials span{color:#766d66}.footer-bottom{border-top:1px solid #ccc;margin-top:40px;padding-top:20px;font-size:12px;display:flex;justify-content:space-between}.reveal{transition:opacity .7s,transform .7s}.js .reveal:not(.visible){opacity:0;transform:translateY(22px)}a:focus-visible,button:focus-visible{outline:3px solid #761b35;outline-offset:5px}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:0}@media(min-width:1500px){.hero{min-height:800px}}@media(max-width:1000px){.nav{gap:20px}.navlinks{gap:18px}.hero-copy{padding-right:25px}.hero-caption{right:0}.intro,.mix-grid,.investment-grid{gap:6%}.method{gap:20px}.service{gap:5%}.service-image{height:500px}.team-grid{gap:25px}}@media(max-width:760px){.wrap{width:88%}.nav{height:80px}.brand img{width:145px;height:65px}.nav>.btn{display:none}.menu{display:block}.navlinks{display:none;position:absolute;top:80px;left:0;right:0;background:var(--ivory);padding:25px 6%;border-bottom:1px solid #bbb}.navlinks.open{display:flex;flex-direction:column;align-items:stretch;gap:18px}.hero{display:flex;flex-direction:column}.hero-copy{padding:42px 0 10px}.hero h1{font-size:clamp(2.65rem,9vw,4rem)}.hero-photo{min-height:430px;margin:25px 0}.hero-caption{font-size:25px;bottom:40px;right:-12px;padding:22px}.hero-actions{gap:18px}.ribbon{flex-wrap:wrap;justify-content:flex-start;gap:12px 25px}.ribbon i{display:none}.section{padding:65px 0}.intro,.mix-grid,.investment-grid,.fit{grid-template-columns:1fr;gap:35px}.intro .body{padding-top:0}.section-title{display:block;margin-bottom:35px}.section-title .eyebrow{margin-bottom:20px}.service{grid-template-columns:1fr;padding:40px 0;gap:30px}.service:nth-child(odd) .service-image{order:0}.service-image{height:320px}.service h3{font-size:2.4rem}.method{grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.method article:last-child{grid-column:1/-1}.team-grid{grid-template-columns:1fr;gap:35px}.member .initial{height:100px;font-size:70px}.project-grid{grid-template-columns:1fr;gap:35px}.project:nth-child(even){padding-top:0}.project img{height:280px}.contact{padding:70px 6%}.contact-actions{flex-direction:column;align-items:center}.footer-inner{flex-direction:column}.footer-bottom{gap:20px;flex-wrap:wrap}.rates dd{white-space:normal}.photo-label{left:20px;bottom:18px;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.btn{transition:none}.js .reveal:not(.visible){opacity:1;transform:none}}

/* COLOSAL: wine, ivory and a confident editorial rhythm. */
::selection{background:var(--wine);color:var(--ivory)}
h1,h2{font-family:Inter,sans-serif;font-weight:700;line-height:1.09;letter-spacing:-.055em}
h1 em,h2 em{font-style:normal;font-weight:700}
h3{font-family:Inter,sans-serif;font-weight:600;letter-spacing:-.04em}
.eyebrow{font-size:14px;letter-spacing:.14em}
.navlinks{font-size:14px}.navlinks a{padding:8px 0}.navlinks a:hover{box-shadow:0 2px var(--wine)}
.btn{border-radius:4px;padding:17px 25px;font-weight:600;background:var(--wine);color:var(--ivory)}
.btn:hover{background:var(--deep-wine)}.menu{border-color:var(--wine);border-radius:4px;color:var(--wine)}
.hero{grid-template-columns:49% 51%;min-height:730px}.hero-copy{padding:60px 50px 60px 0}
.hero h1{font-size:clamp(2.6rem,3.7vw,4.25rem)}.hero h1 em{color:var(--wine)}
.hero-copy>p:not(.eyebrow){font-size:16px}.hero-copy strong{font-size:16px}
.hero-photo{margin:30px 0;min-height:640px;border-radius:140px 0 0 0;overflow:hidden;background:var(--wine)}
.hero-photo>img{filter:none}.hero-caption{right:0;bottom:58px;background:var(--wine);color:var(--ivory);font:600 30px/1.15 Inter,sans-serif;padding:30px}
.photo-label{left:0;bottom:0;width:100%;padding:12px 20px;background:var(--deep-wine);font-size:12px;letter-spacing:.08em}
.ribbon{background:var(--wine);color:var(--ivory);padding:24px 28px;border:0;font-size:14px}.ribbon i{color:var(--blush)}
.services{background:var(--ivory)}.section-title h2{max-width:700px}.service-image img,.project img{filter:none}
.service-image{height:500px}.service-number{top:0;left:0;background:var(--wine);padding:12px 22px;font:600 46px/1 Inter,sans-serif;text-shadow:none}
.service .eyebrow{color:var(--wine)}.service h3{font-weight:700}.service p{font-size:16px}.service .list{font-size:14px}.service .price{color:var(--wine);font-size:16px}
.mix{background:var(--wine);color:var(--ivory)}.mix h2 em{color:var(--blush)}.mix .eyebrow{color:var(--blush)}
.method article{border-top:2px solid var(--wine)}.num{font-size:36px;font-weight:600;line-height:1}.method h3{font-size:24px;line-height:1.2}
.team{background:#f0eae7}.member .initial{color:var(--wine)}.member .role{font-size:14px;letter-spacing:.08em}.member p{font-size:16px}
.project .project-name{border-bottom-color:var(--wine)}.project h3{font-size:25px}.project small{font-size:14px}.project-name>span{color:var(--wine);font-weight:600}
.investment{background:var(--deep-wine);color:var(--ivory)}.investment .eyebrow,.rates dd{color:var(--blush)}.rates>div{border-bottom-color:#ffffff40}.investment .statement{border-top-color:#ffffff40}.rates dt{font-size:16px}.fine,.fit-note{font-size:14px}
.contact{background:var(--wine)}.contact h2{font-size:clamp(2.6rem,4.8vw,4.8rem)}.contact h2 em{color:var(--blush)}.contact .btn{background:var(--ivory);color:var(--wine)}.contact .outline{background:transparent;color:var(--ivory);border-color:var(--ivory)}.contact .pending{color:var(--ivory)}
.footer-inner p,.socials{font-size:14px}a:focus-visible,button:focus-visible{outline-color:var(--wine)}.contact a:focus-visible{outline-color:var(--ivory)}
@media(max-width:1000px){.hero-copy{padding-right:28px}.hero h1{font-size:clamp(2.4rem,4vw,3.5rem)}.ribbon{flex-wrap:wrap}.service-image{height:460px}}
@media(max-width:760px){.hero-copy{padding:40px 0 10px}.hero h1{font-size:clamp(2.25rem,8.6vw,3.6rem)}.hero-photo{min-height:400px;margin:25px 0;border-radius:90px 0 0 0}.hero-caption{font-size:25px;padding:24px;bottom:48px}.photo-label{font-size:12px;line-height:1.4}.ribbon{padding:20px;gap:12px 24px}.service-image{height:320px}.service h3{font-size:2.25rem}.section-title h2{font-size:2.4rem}.member .initial{height:100px}.contact h2{font-size:clamp(2.15rem,8vw,3.5rem)}}

/* New brand assets and real team portraits. */
.brand img,.footer-logo{mix-blend-mode:normal;object-fit:contain}
.brand img{width:188px;height:auto;max-height:78px}
.footer-logo{width:210px;height:auto}
.portrait{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;background:#e7d9d3;margin-bottom:26px}
.member{padding-top:16px}.member h3{margin-top:0}
.hero-photo>img{object-position:right center}
@media(max-width:760px){.brand img{width:145px}.portrait{aspect-ratio:4/5}.hero-photo>img{object-position:right center}}
/* Services heading: one clear reading column, with a closer first card. */
.services{padding-top:78px}
.services .section-title{display:block;max-width:800px;margin-bottom:34px}
.services .section-title .eyebrow{margin:0 0 14px}
.services .section-title h2{max-width:none}
.services .service:first-of-type{padding-top:38px}
@media(max-width:760px){.services{padding-top:58px}.services .section-title{margin-bottom:26px}.services .section-title .eyebrow{margin-bottom:12px}.services .service:first-of-type{padding-top:28px}}

/* Portfolio screenshots: preserve the full vertical composition and embedded typography. */
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}
.project:nth-child(even){padding-top:0}
.project-media{min-height:450px;background:#e8e1dd;display:grid;place-items:center;overflow:hidden}
.project-media img{width:auto;height:450px;max-width:100%;object-fit:contain;filter:none}
.project .project-name{padding:18px 0 14px}
.project small{font-size:13px}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.project-grid{grid-template-columns:1fr;gap:38px}.project-media{min-height:0}.project-media img{height:auto;width:100%;max-width:486px;object-fit:contain}}

.contact-actions{flex-wrap:wrap}
