/* V15: complete photograph and editorial text in two distinct columns.
   Existing local typefaces, images and application behavior are retained. */
:root{--header-height:104px}
.preview-bar{font-size:14px;line-height:1.5;color:#57534e}
.site-header{padding-block:18px;min-height:104px;color:#282623}
#main-nav{gap:clamp(18px,1.8vw,28px)}
#main-nav a,.site-header #main-nav a{font-size:20px;line-height:1.4}
.site-header .selection-trigger{font-size:18px}.site-header .selection-trigger [data-count]{font-size:17px}
.language-switch select{font-size:18px;width:62px}.menu-toggle,.site-header .menu-toggle{font-size:20px}
.site-header :focus-visible{outline-color:#4a433a}

.opening.opening-v15{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(0,1fr);align-items:center;gap:clamp(36px,4.2vw,68px);max-width:none;width:100%;margin:0;padding:64px clamp(28px,3.5vw,64px) 66px;background:#252320;color:#faf9f6}
.opening-v15>*{min-width:0}
.opening-v15 .opening-work{width:100%;max-width:none;margin:0}
.opening-v15 .opening-work>.image-link{display:block;position:relative;aspect-ratio:var(--opening-ratio,1.4984);width:100%;overflow:hidden;background:#252320}
.opening-v15 .opening-work img{width:100%;height:100%;max-height:none;object-fit:contain}
.opening-v15 .opening-work figcaption{display:block;margin-top:21px;padding:0;color:#faf9f6}
.opening-v15 .hero-caption{display:block;grid-column:auto;grid-row:auto}
.opening-v15 .hero-caption #hero-code{display:block;color:#d9d3c9;font:18px/1.5 Source,sans-serif;letter-spacing:.12em}
.opening-v15 .hero-caption #hero-title{font:400 46px/1.25 Hand,cursive;letter-spacing:0;margin:2px 0 0;color:#faf9f6;overflow-wrap:anywhere}
.opening-v15 .opening-navigation{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #686159;margin-top:19px;padding-top:7px}
.opening-v15 .opening-pages,.opening-v15 .slideshow-controls{grid-column:auto;grid-row:auto;margin:0;gap:10px}
.opening-v15 .page-step{width:38px;min-width:38px;min-height:48px;padding:10px 0;color:#faf9f6}
.opening-v15 .page-track{background:#6e675d}.opening-v15 .page-fill{background:#f0e7d7}
.opening-v15 .slideshow-controls button{font:20px/1.4 Source,sans-serif;min-height:48px;min-width:48px;color:#faf9f6;padding:8px 10px}
.opening-v15 .slideshow-controls #pause-button{min-width:108px}
.opening-v15 .opening-copy{padding-block:4px}
.opening-v15 .opening-heading>.eyebrow{font:18px/1.5 Source,sans-serif;letter-spacing:.06em;color:#d9d3c9;margin:0 0 27px;text-transform:none}
.opening-v15 #opening-title{font:400 clamp(48px,4.15vw,64px)/1.12 Book,Georgia,serif;letter-spacing:-.035em;margin:0;color:#faf9f6}
.opening-v15 #opening-title .opening-title-start{display:block}
.opening-v15 #opening-title .opening-title-hand{display:block;font:400 clamp(78px,6.8vw,104px)/1.12 Hand,cursive;letter-spacing:0;margin:1px 0 5px;padding:0 .08em .06em 0;color:#faf9f6}
.opening-v15 #opening-title .opening-title-close{display:block;font:400 clamp(32px,2.9vw,44px)/1.2 Book,Georgia,serif;letter-spacing:-.025em}
html[lang=en] .opening-v15 #opening-title .opening-title-hand{font-size:clamp(66px,5.8vw,90px)}
.opening-v15 .opening-context{max-width:440px;padding:0;margin:29px 0 0}
.opening-v15 .opening-note{font:24px/1.5 Source,sans-serif;color:#e3ded4;max-width:31ch;margin:0}
.opening-v15 .opening-actions{display:block;margin-top:28px}
.opening-v15 .opening-primary{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;max-width:100%;min-height:58px;min-width:270px;padding:15px 22px;background:#f3eee5;border:1px solid #f3eee5;color:#252320;font:22px/1.35 Source,sans-serif;text-decoration:none;white-space:normal}
.opening-v15 .opening-primary:hover{background:#fff}.opening-v15 .opening-primary span{flex-shrink:0}
.opening-v15 .opening-routes{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:17px}
.opening-v15 .opening-routes a{display:inline-flex;align-items:center;gap:18px;font:20px/1.4 Source,sans-serif;min-height:46px;color:#e3ded4;text-decoration:underline;text-decoration-color:#82786a;text-underline-offset:6px}
.opening-v15 :focus-visible{outline:2px solid #f3dfb7;outline-offset:5px}

.home-projects{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,8vw,120px);align-items:center;padding:90px var(--gutter);max-width:1440px;margin:auto;color:#292622}
.home-projects .project-figure{margin:0;min-width:0;max-width:430px;justify-self:center;width:100%}
.home-projects .opening-room{display:block;position:relative;width:100%;max-width:none}
.home-projects .opening-room-photo{display:block;width:100%;height:auto}
.home-projects .project-figure figcaption{display:flex;flex-direction:column;gap:6px;margin-top:17px;font:18px/1.5 Source,sans-serif;color:#625a50}
.home-projects .project-figure figcaption a{text-underline-offset:4px}
.home-projects .home-project-copy{min-width:0;max-width:490px}
.home-projects .eyebrow{font-size:18px;line-height:1.5;letter-spacing:.06em;color:#625a50;margin:0 0 20px}
.home-projects h2{font:400 clamp(42px,3.8vw,60px)/1.15 Book,Georgia,serif;letter-spacing:-.035em;margin:0 0 25px}
.home-projects .project-note{font:24px/1.5 Source,sans-serif;color:#534b42;margin:0}
.home-projects .project-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:25px}
.home-projects .project-links a{font:20px/1.5 Source,sans-serif;min-height:48px;display:inline-flex;align-items:center;border-bottom:1px solid #918677;text-decoration:none;color:#292622}

/* Neutral charcoal, with useful footer information at reading size. */
body .site-footer.v7-footer{background:#252320;color:#faf9f6;padding-top:64px}
body .site-footer.v7-footer .footer-invitation p{font-size:32px;line-height:1.4;color:#f0e9de}
body .site-footer.v7-footer .footer-invitation>.text-link{font-size:28px;line-height:1.4;color:#faf9f6;border-color:#b7a994}
body .site-footer.v7-footer .footer-bottom{font-size:20px;line-height:1.5;color:#e5ded2;border-color:#72685c;gap:12px 30px}
body .site-footer.v7-footer .footer-preferences{font-size:18px;line-height:1.5;color:#d8cfc1;gap:24px}
.site-footer.v7-footer .motion-choice{font-size:18px;line-height:1.5}
.site-footer.v7-footer .motion-choice select{font:18px/1.4 Source,sans-serif;background:#252320;color:#faf9f6;border-color:#b5a58f;min-height:48px}
.site-footer.v7-footer :focus-visible{outline-color:#f3dfb7}
/* Keep the studio's pinned preview below the enlarged shared header. */
@media(min-width:1101px){.studio-layout:not(.is-expanded) .studio-preview{top:calc(var(--header-height) + 12px)}}

@media(max-width:1100px){
 .opening.opening-v15{grid-template-columns:minmax(0,1fr);gap:42px;padding:46px var(--gutter) 56px}
 .opening-v15 .opening-copy{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:38px;align-items:center}
 .opening-v15 .opening-context{margin:0}
 .opening-v15 #opening-title{font-size:52px}.opening-v15 #opening-title .opening-title-hand{font-size:82px}.opening-v15 #opening-title .opening-title-close{font-size:35px}
 html[lang=en] .opening-v15 #opening-title .opening-title-hand{font-size:70px}
 .opening-v15 .opening-note{font-size:22px}
 .home-projects{gap:42px;padding-block:70px}
}
@media(max-width:600px){
 :root{--header-height:140px}
 .site-header{min-height:140px;padding-block:12px}
 .site-header .selection-trigger{font-size:18px}.site-header .selection-trigger [data-count]{font-size:17px}
 .site-header .menu-toggle{font-size:20px}.language-switch select{font-size:18px;width:62px}
 .preview-bar{font-size:14px;line-height:1.5;padding:6px 16px}
 .opening.opening-v15{padding:27px 22px 44px;gap:35px}
 .opening-v15 .opening-work figcaption{margin-top:17px}
 .opening-v15 .hero-caption #hero-title{font-size:38px;line-height:1.3}
 .opening-v15 .hero-caption #hero-code{font-size:18px}
 .opening-v15 .opening-navigation{margin-top:14px;display:block;padding-top:4px}
 .opening-v15 .opening-pages{display:none}
 .opening-v15 .slideshow-controls{display:flex;width:100%;justify-content:space-between;gap:8px}
 .opening-v15 .slideshow-controls button{font-size:20px}
 .opening-v15 .opening-copy{display:block;padding-top:5px}
 .opening-v15 .opening-heading>.eyebrow{font-size:18px;letter-spacing:.015em;margin-bottom:22px}
 .opening-v15 #opening-title{font-size:48px}
 .opening-v15 #opening-title .opening-title-hand{font-size:80px}
 .opening-v15 #opening-title .opening-title-close{font-size:32px}
 html[lang=en] .opening-v15 #opening-title .opening-title-hand{font-size:66px}
 .opening-v15 .opening-context{margin-top:24px;max-width:none}
 .opening-v15 .opening-note{font-size:22px;line-height:1.5;max-width:none}
 .opening-v15 .opening-primary{min-width:0;width:100%;font-size:22px;padding:15px 17px;gap:14px}
 .opening-v15 .opening-routes a{font-size:20px;min-height:48px;gap:12px}
 .home-projects{grid-template-columns:minmax(0,1fr);padding:48px 22px;gap:32px}
 .home-projects .project-figure{max-width:380px}
 .home-projects .project-figure figcaption{font-size:18px}
 .home-projects h2{font-size:42px}.home-projects .project-note{font-size:22px}
 body .site-footer.v7-footer{padding-top:48px}
 body .site-footer.v7-footer .footer-invitation p{font-size:30px}
 body .site-footer.v7-footer .footer-invitation>.text-link{font-size:26px}
 body .site-footer.v7-footer .footer-bottom{font-size:20px}
 body .site-footer.v7-footer .footer-preferences{font-size:18px}
 .site-footer.v7-footer .motion-choice{font-size:18px}
}
@media(max-width:370px){html[lang=es] .opening-v15 #opening-title .opening-title-hand{font-size:72px}}
@media(prefers-reduced-motion:reduce){.opening-v15 *{scroll-behavior:auto;transition:none}}
html[data-motion=reduce] .opening-v15 *{scroll-behavior:auto;transition:none}
