:root{--paper:#f6f3ed;--ink:#35272a;--wine:#49272c;--muted:#776c68;--line:#dcd5cb;--white:#fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.04em}h1{font-size:clamp(48px,6vw,88px)}h2{font-size:clamp(36px,4vw,56px)}h3{font-size:31px}em{font-weight:400;color:#81545a}p{color:var(--muted)}.wrap{max-width:1340px;margin:auto;padding-left:6%;padding-right:6%}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--muted);line-height:1.7;margin-bottom:22px}.topline{display:flex;justify-content:space-between;padding:8px 6%;background:var(--wine);color:#eee3d7;font-size:8px;letter-spacing:.2em}header{background:rgba(246,243,237,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{max-width:1600px;margin:auto;height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;gap:30px}.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.brand-mark{width:66px;height:58px;object-fit:contain;mix-blend-mode:multiply}.brand>span{font-family:Georgia,serif;letter-spacing:.16em;font-size:19px;line-height:1.4}.brand small{display:block;font:9px Arial;letter-spacing:.42em;margin-top:6px}nav{display:flex;gap:28px;align-items:center}nav a{font-size:11px;position:relative;padding:10px 0}nav a:after{content:'';position:absolute;bottom:4px;left:0;width:0;height:1px;background:var(--wine);transition:width .25s}nav a:hover:after,nav a[aria-current]:after{width:100%}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;max-width:1600px;margin:auto}.hero-copy{padding:66px 10% 36px 12%;display:flex;flex-direction:column;justify-content:center}.hero h1{margin-bottom:26px;line-height:1.02;font-size:clamp(58px,6.2vw,94px)}.hero p:not(.eyebrow){font-size:14px;line-height:1.9}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:18px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:17px 25px;background:var(--wine);border:1px solid var(--wine);color:var(--white);font-size:11px;letter-spacing:.025em;transition:background .25s,transform .25s}.button:hover{background:#62373e;transform:translateY(-2px)}.text-link{display:inline-flex;gap:25px;border-bottom:1px solid #998783;padding:7px 0;font-size:11px}.text-link:hover{color:#9a5a61}.hero-note{display:flex;align-items:center;gap:12px;margin-top:46px;font-family:Georgia,serif;font-size:12px;font-style:italic;color:var(--muted)}.fine-line{width:30px;height:1px;background:#b19b87}.hero-image{position:relative;overflow:hidden;background:#ded8cf}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:18px 25px;background:linear-gradient(transparent,#36282650);display:flex;justify-content:space-between;color:white;font-size:8px;letter-spacing:.16em}.values-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-around;padding:19px 12%;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.values-strip span+span:before{content:'✧';padding-right:60px;color:#977461}.section{padding-top:95px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:13px;margin-bottom:4px}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.image-wrap{aspect-ratio:4/5;overflow:hidden;background:#e8e0d7}.image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.collection:hover img{transform:scale(1.04)}.card-label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:21px}.card-label .eyebrow{font-size:8px}.card-label h3{margin:9px 0 0}.circle-arrow{width:36px;height:36px;border:1px solid #cbbfb2;border-radius:50%;display:grid;place-items:center}.story{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-bottom:110px}.story-image{aspect-ratio:1;overflow:hidden}.story-image img{height:100%;width:100%;object-fit:cover}.story-copy p{font-size:13px;max-width:430px}.story-copy h2{margin-bottom:26px}.story-copy .text-link{margin-top:10px}.bespoke-feature{background:var(--wine);color:var(--paper)}.bespoke-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:15%;align-items:center;padding-top:70px;padding-bottom:70px}.bespoke-inner>img{width:100%;aspect-ratio:1;object-fit:cover}.bespoke-feature p,.bespoke-feature em{color:#d3b7ac}.bespoke-feature .eyebrow{color:#d7bdb2}.pale{background:var(--paper);border-color:var(--paper);color:var(--wine);margin-top:20px}.pale:hover{background:#e4d8c9}.corporate-preview{padding-top:85px;padding-bottom:85px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.corporate-preview h2{font-size:38px}.client-names{display:grid;grid-template-columns:1fr 1fr;gap:35px;font-family:Georgia,serif;font-size:24px;line-height:1.2}.closing{padding:75px 0;text-align:center;background:#ece5dc;border-top:1px solid var(--line)}.closing h2{margin-bottom:20px}.closing p{font-size:13px}.closing .pale{background:var(--wine);color:var(--paper);border-color:var(--wine);margin-top:10px}footer{padding-top:60px;background:#f9f7f2}.footer-main{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:60px;padding-bottom:50px;font-size:11px}.footer-brand{font-family:Georgia,serif;letter-spacing:.16em;font-size:23px}.footer-brand span{display:block;font:9px Arial;letter-spacing:.4em;margin-top:8px}.footer-main p{margin-top:22px}.footer-main .eyebrow{margin:0 0 18px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:19px;padding-bottom:28px;font-size:9px;color:var(--muted)}.footer-bottom>div{display:flex;gap:25px}.page-intro{padding-top:80px;padding-bottom:55px}.page-intro h1{margin-bottom:28px}.lead{max-width:680px;font-size:15px;line-height:1.9}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:30px;padding-bottom:90px;align-items:start}.editorial-image{position:sticky;top:130px}.editorial img{width:100%;aspect-ratio:4/5;object-fit:cover}.editorial p{font-size:14px}.reverse{align-items:center}.portfolio-cards{padding-top:10px}.category-nav{display:flex;gap:35px;padding-top:15px;padding-bottom:25px;border-bottom:1px solid var(--line);font-size:12px}.category-nav a[aria-current]{border-bottom:1px solid var(--wine)}.gallery-section{padding-top:35px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo{padding:0;border:0;background:#e7e1d7;position:relative;aspect-ratio:4/5;overflow:hidden}.photo>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo:hover>img{transform:scale(1.035)}.zoom{position:absolute;bottom:14px;right:14px;background:#fffdf9df;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;color:var(--ink)}.project{padding-top:25px;padding-bottom:70px}.project .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.project h2{font-size:44px}.project .photo{aspect-ratio:1}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%;padding-bottom:110px;padding-top:20px}.contact-info h2{font-size:38px}.contact-info dt{font-size:9px;letter-spacing:.18em;margin-top:24px;color:var(--muted)}.contact-info dd{margin:7px 0 0;font-size:14px}form{background:#ede7de;padding:40px}.form-heading h2{font-size:38px;margin-bottom:12px}.form-heading p{font-size:12px}label{display:block;font-size:11px;margin:24px 0 0}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #ab9a8d;background:transparent;border-radius:0;color:var(--ink);padding:10px 0;outline:none}input:focus,textarea:focus{border-bottom-color:var(--wine);box-shadow:0 1px var(--wine)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}form .button{margin-top:25px}.form-note{font-size:10px;margin-top:12px}#form-status{font-size:12px}.chat-toggle{position:fixed;bottom:24px;right:25px;z-index:35;display:flex;align-items:center;gap:10px;border:1px solid #ffffff30;border-radius:40px;background:#294e3c;color:white;padding:13px 21px;box-shadow:0 6px 24px #172f2525;font-size:12px;transition:transform .2s}.chat-toggle:hover{transform:translateY(-3px)}.chat-toggle svg,.chat-link svg{width:26px;height:26px}.chat-panel{position:fixed;right:25px;bottom:95px;width:345px;max-width:calc(100vw - 32px);background:var(--white);z-index:36;box-shadow:0 14px 65px #30221d30;border:1px solid var(--line);border-radius:12px;overflow:hidden}.chat-heading{padding:20px;background:var(--wine);color:var(--paper);display:flex;align-items:center;justify-content:space-between}.chat-heading>div{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:18px}.chat-heading img{width:42px;height:42px;border-radius:50%;object-fit:cover}.chat-heading small{display:block;font:10px Arial;margin-top:6px;color:#d4beb5}.chat-close{background:none;color:white;border:0;font-size:27px;line-height:1}.chat-body{padding:23px}.chat-body p{font-size:13px}.chat-body p:first-child{font:24px/1.3 Georgia;color:var(--ink)}.chat-link{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#294e3c;border-radius:5px;color:white;font-size:11px}.chat-body>small{display:block;text-align:center;color:var(--muted);font-size:9px;margin-top:12px}.lightbox{border:0;background:#211c19f5;max-width:none;max-height:none;width:100vw;height:100dvh;padding:50px 70px;color:white}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:#211c19}.lightbox figure{margin:0;max-width:90%;text-align:center}.lightbox figure img{max-height:80dvh;max-width:100%;margin:auto;object-fit:contain}.lightbox figcaption{font-size:12px;padding-top:15px}.lightbox button{position:absolute;border:1px solid #ffffff55;background:#211c19aa;border-radius:50%;color:white;width:44px;height:44px;font-size:24px}.lightbox-close{top:18px;right:22px}.lightbox-prev{left:16px;top:48%}.lightbox-next{right:16px;top:48%}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}:focus-visible{outline:2px solid #9e664e;outline-offset:5px}body.modal-open{overflow:hidden}[hidden]{display:none!important}@media(min-width:1600px){.hero-image>img{object-position:center 55%}}@media(max-width:1000px){.header-inner{padding:0 4%;gap:20px}nav{gap:17px}.brand>span{font-size:15px}.hero-copy{padding-left:8%;padding-right:7%}.hero h1{font-size:68px}.hero-actions{gap:15px}.hero{min-height:610px}.values-strip{padding:18px 5%}.values-strip span+span:before{padding-right:25px}.footer-main{gap:30px}.wrap{padding-left:5%;padding-right:5%}}@media(max-width:760px){.topline{font-size:7px;padding:8px 5%;letter-spacing:.1em}.header-inner{height:78px;padding:0 5%}.brand-mark{width:52px;height:47px}.brand>span{font-size:16px}.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:12px 2px;background:none;border:0}.menu-toggle span{width:25px;height:1px;background:var(--wine)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:20px 6% 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{font-family:Georgia;font-size:26px;padding:8px 0}nav a:after{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:44px 7% 35px}.hero h1{font-size:65px;line-height:1.01}.hero .eyebrow{font-size:8px}.hero p:not(.eyebrow){font-size:13px}.hero-note{margin-top:28px}.hero-image{height:460px}.hero-image img{object-position:center 60%}.hero-actions{gap:22px}.button{padding:15px 21px}.values-strip{font-size:7px;letter-spacing:.08em;padding:17px 4%;gap:12px}.values-strip span+span:before{display:none}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px}.collection-grid{grid-template-columns:1fr;gap:38px}.image-wrap{aspect-ratio:4/4.3}.card-label h3{font-size:32px}.story{grid-template-columns:1fr;gap:34px;padding-bottom:60px}.story-copy p{max-width:none}.story-image{aspect-ratio:5/4}.bespoke-inner{grid-template-columns:1fr;gap:40px;padding-top:55px;padding-bottom:45px}.bespoke-inner>img{aspect-ratio:5/4}.corporate-preview{grid-template-columns:1fr;gap:40px;padding-top:55px;padding-bottom:55px}.client-names{font-size:23px;gap:30px}.closing{padding:55px 0}.closing h2{font-size:39px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:last-child{font-size:10px}.footer-bottom{flex-wrap:wrap;padding-bottom:100px;gap:14px;font-size:8px}.footer-bottom>div{gap:20px}.back-top{margin-left:auto}.page-intro{padding-top:48px;padding-bottom:28px}.page-intro h1{font-size:49px}.page-intro .lead{font-size:13px}.editorial{grid-template-columns:1fr;gap:30px;padding-top:20px;padding-bottom:55px}.editorial-image{position:static}.editorial img{aspect-ratio:1}.reverse>img{order:-1}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-nav{gap:24px;font-size:10px;padding-bottom:20px}.gallery-section{padding-top:25px}.project .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project h2{font-size:34px}.project{padding-bottom:45px}.contact-layout{grid-template-columns:1fr;gap:45px;padding-bottom:60px}form{padding:25px}.contact-info h2{font-size:36px}.chat-toggle{bottom:18px;right:17px;padding:12px 17px}.chat-panel{right:16px;bottom:83px}.lightbox{padding:55px 15px}.lightbox figure{max-width:100%}.lightbox button{width:34px;height:34px;font-size:20px}.lightbox-prev{left:8px;top:auto;bottom:20px}.lightbox-next{right:8px;top:auto;bottom:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Language navigation: every language has complete static pages. */
.language-picker{position:relative;flex-shrink:0;margin-left:0;font-size:11px}.language-picker summary{cursor:pointer;list-style:none;padding:10px 5px;display:flex;gap:7px;align-items:center}.language-picker summary::-webkit-details-marker{display:none}.language-options{position:absolute;right:0;top:100%;min-width:195px;background:var(--white);border:1px solid var(--line);box-shadow:0 9px 25px #35272a14;padding:8px;z-index:30}.language-options a{display:block;padding:10px 12px;white-space:nowrap}.language-options a:hover,.language-options a[aria-current]{background:#ece5dc}.header-inner{gap:23px}header nav{margin-left:auto;gap:23px}.photo{display:block}.chat-toggle{display:none}.js .chat-toggle{display:flex}.hero h1{overflow-wrap:normal}html[lang=fr] .hero h1{font-size:clamp(54px,5.7vw,86px)}html[lang=fr] .hero-actions{gap:18px}html[lang=fr] .hero-actions .button{gap:18px}html[lang=pt-PT] .hero h1,html[lang=es] .hero h1{font-size:clamp(54px,6vw,88px)}
@media(max-width:1100px){.header-inner{height:78px;gap:20px}.brand{margin-right:auto}.menu-toggle{display:none;flex-direction:column;gap:6px;padding:12px 2px;background:none;border:0}.js .menu-toggle{display:flex}.menu-toggle span{width:25px;height:1px;background:var(--wine)}header nav{display:flex;position:static;flex-wrap:wrap;gap:10px;padding:15px 0;margin:0;order:4;width:100%}html:not(.js) .header-inner{height:auto;flex-wrap:wrap;padding-top:15px}.js header nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:20px 6% 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.js header nav.open{display:flex}header nav a{font-family:Georgia;font-size:25px;padding:8px 0}header nav a:after{display:none}.language-picker{margin-left:auto}}
@media(max-width:760px){.header-inner{gap:14px}.brand{gap:9px}.brand>span{font-size:14px}.brand-mark{width:45px}html[lang=fr] .hero h1,html[lang=pt-PT] .hero h1,html[lang=es] .hero h1{font-size:59px}.hero-actions{gap:20px}.category-nav{flex-wrap:wrap;gap:15px 24px}.footer-nav{grid-template-columns:1fr}.hero-copy .eyebrow{letter-spacing:.12em}html[lang=fr] .values-strip{font-size:6.5px;letter-spacing:0}.contact-info dd{overflow-wrap:anywhere}.lightbox figure img{max-height:75dvh}}
@media(max-width:360px){.hero h1,html[lang=fr] .hero h1,html[lang=pt-PT] .hero h1,html[lang=es] .hero h1{font-size:52px}.brand>span{font-size:12px}.brand-mark{width:36px}.header-inner{gap:10px}.page-intro h1{font-size:42px}.form-row{grid-template-columns:1fr;gap:0}}
.contact-direct{background:#ede7de;padding:42px;align-self:start}.contact-direct h2{font-size:38px;margin-bottom:18px}.contact-direct p{font-size:14px;max-width:360px}.contact-actions{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 23px}.email-button{background:transparent;color:var(--wine)}.email-button:hover{background:#e0d3c6}.contact-email{font-size:13px;border-bottom:1px solid #ab9a8d;padding-bottom:5px;overflow-wrap:anywhere}@media(max-width:760px){.contact-direct{padding:28px}.contact-direct h2{font-size:34px}.contact-actions{flex-direction:column;align-items:stretch}}
/* Typography: balanced headings, comfortable leading, and deliberate spacing. */
h1,h2,h3{text-wrap:balance}p,dd,.hero-note{text-wrap:pretty}.eyebrow{line-height:1.8}.page-intro h1{max-width:1100px;line-height:1.12}.lead{line-height:1.85}.hero-copy>p:not(.eyebrow){max-width:360px}.section-heading>p{max-width:260px}.bespoke-inner>div>p:not(.eyebrow){max-width:350px}.card-label{align-items:flex-start}.card-label h3{line-height:1.18;letter-spacing:-.035em}.card-label>div{min-width:0}.circle-arrow{flex:0 0 36px;margin-top:16px}.story-copy h2,.editorial h2,.bespoke-inner h2{line-height:1.14}.client-names{line-height:1.35;text-wrap:balance}.footer-main{line-height:1.85}.contact-direct h2{line-height:1.18}.contact-actions .button{line-height:1.5;min-height:54px}.text-link{line-height:1.6}.text-link>span,.button>span{flex-shrink:0}.closing h2{max-width:900px;margin-left:auto;margin-right:auto;line-height:1.15}.closing .eyebrow{margin-bottom:20px}
@media(min-width:761px) and (max-width:1000px){.hero h1{font-size:clamp(54px,6.7vw,67px)}.hero-copy{padding-top:48px;padding-bottom:35px}.hero-actions{gap:20px}.story-copy h2,.bespoke-inner h2{font-size:34px}.story-copy h2 .editorial-break,.bespoke-inner h2 .editorial-break{display:none}.section-heading{align-items:flex-start}.section-heading>p{max-width:200px}.hero-note{line-height:1.65}}
@media(max-width:760px){.page-intro h1{font-size:clamp(38px,10.7vw,48px);line-height:1.14;letter-spacing:-.04em;margin-bottom:24px}.page-intro .editorial-break,.story-copy .editorial-break,.bespoke-inner .editorial-break,.editorial .editorial-break{display:none}.story-copy h2,.editorial h2,.bespoke-inner h2{font-size:clamp(32px,8.8vw,40px);line-height:1.16}.section-heading h2{line-height:1.16}.section-heading>p{max-width:290px}.hero-copy>p:not(.eyebrow){max-width:330px;line-height:1.85}.hero-note{line-height:1.65}.hero-note .fine-line{flex-shrink:0}.eyebrow{margin-bottom:18px}.card-label h3{font-size:clamp(27px,7.7vw,32px)}.closing h2{font-size:clamp(33px,9vw,39px)}.contact-direct h2{font-size:32px}.contact-actions{gap:12px}.footer-main{column-gap:22px}.footer-main>div:last-child{line-height:1.9}}
@media(max-width:760px){.page-intro h1 .semantic-break+em{display:inline-block;max-width:100%;text-wrap:balance}}

.editorial img.rosa-portrait{aspect-ratio:444/610;object-fit:contain;height:auto;width:100%;max-width:500px;justify-self:center}
