@font-face{font-family:Cardo;src:url('../fonts/process/cardo-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Source Sans Pro';src:url('../fonts/process/source-sans-light.woff2') format('woff2');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:'Source Sans Pro';src:url('../fonts/process/source-sans-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Cardo;src:url('../fonts/process/cardo-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cardo;src:url('../fonts/process/cardo-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans Pro';src:url('../fonts/process/source-sans-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans Pro';src:url('../fonts/process/source-sans-semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{--ink:#242420;--muted:#66645d;--tan:#8b7056;--line:#ded8cf;--paper:#f6f4ef;--black:#0e0c0c;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;background:#fff;color:var(--ink);font:400 17px/1.65 'Source Sans Pro',sans-serif;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}a{color:inherit}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Cardo,Georgia,serif;font-weight:400}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--tan);outline-offset:5px}
.skip-link{position:absolute;left:16px;top:0;transform:translateY(-150%);z-index:100;background:#fff;padding:12px;color:var(--ink)}.skip-link:focus{transform:translateY(0)}
/* Header and navigation dimensions mirror the existing Works page. */
.site-header{position:relative;height:120px;background:var(--black);color:#fff;text-align:center}
.header-inner{position:relative;height:120px;margin:0 auto}.brand{position:absolute;left:50%;top:24px;transform:translateX(-50%)}.brand img{width:61px;height:65px}
.language-switch{position:absolute;top:50%;left:clamp(14px,3vw,38px);transform:translateY(-50%);display:flex;align-items:center;gap:2px;font:400 12px/1 'Source Sans Pro',sans-serif;letter-spacing:1px;text-transform:uppercase;z-index:2}.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:44px;color:#b8a08a;text-decoration:none}.language-switch a[aria-current]{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.language-switch a:hover{color:#fff}.language-switch span{color:#77716c}
.menu-toggle{position:absolute;right:26.4px;top:41.5px;width:100px;height:30px;border:0;padding:0 0 0 12px;background:transparent;text-align:left;color:#fff;font:400 12px/30px 'Source Sans Pro',sans-serif;letter-spacing:2px;text-transform:uppercase;z-index:2}.menu-icon{position:absolute;right:0;top:50%;transform:translateY(-50%);width:18px;height:2px;background:#fff;transition:background-color .3s}.menu-icon::before,.menu-icon::after{content:'';position:absolute;right:0;width:100%;height:100%;background:#fff;transition:transform .3s,top .3s,background-color 0s}.menu-icon::before{top:-5px}.menu-icon::after{top:5px}.menu-icon.is-clicked{background:transparent}.menu-icon.is-clicked::before{top:0;transform:rotate(135deg)}.menu-icon.is-clicked::after{top:0;transform:rotate(225deg)}

.wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.intro{text-align:center;padding:70px 0 0}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2.6px;color:var(--tan);font-weight:600;margin-bottom:16px}.intro h1{font-size:clamp(38px,4vw,54px);line-height:1.15;font-style:italic}.intro .lead{font-size:18px;line-height:1.65;max-width:610px;margin:22px auto 38px;color:var(--muted)}
.phase-index{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.phase-index a{padding:18px 10px;display:flex;align-items:baseline;justify-content:center;gap:12px;text-decoration:none;font-size:15px}.phase-index a:hover{color:var(--tan);background:var(--paper)}.phase-index span{font-family:Cardo,serif;color:var(--tan);font-size:17px}
.phase{padding-block:76px;scroll-margin-top:24px}.phase-copy{max-width:590px}.phase-number{font:400 35px/1 Cardo,serif;color:var(--tan);display:block;margin-bottom:18px}.phase h2{font-size:34px;line-height:1.25;margin-bottom:19px}.phase-copy p{color:var(--muted)}.phase-heading{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:end;margin-bottom:30px}.phase-heading .phase-copy{max-width:560px}.phase-heading .phase-number{margin-bottom:12px}.phase-heading h2{margin-bottom:0}.phase-heading>p{color:var(--muted);max-width:510px;padding-bottom:3px}
.place-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center}.place-grid .phase-copy{max-width:360px}.photo-link{display:block;position:relative;text-decoration:none;cursor:zoom-in}.photo-link img{width:100%;height:auto;background:var(--paper)}.photo-link::after{content:'+';position:absolute;right:10px;bottom:10px;width:30px;height:30px;display:grid;place-items:center;background:rgba(255,255,255,.92);color:var(--ink);font:400 21px/1 'Source Sans Pro',sans-serif;transition:background .15s}.photo-link:hover::after{background:#fff}.photo-link:focus-visible{outline-offset:3px}figcaption{color:var(--muted);font-size:13px;line-height:1.4;margin-top:10px}
.phase-idea{background:var(--paper)}.idea-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.build-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:start}
/* Equal 4:3 previews; the lightbox still shows each complete original. */
.idea-grid .photo-link,.build-grid .photo-link{aspect-ratio:4/3;overflow:hidden}.idea-grid .photo-link img,.build-grid .photo-link img{width:100%;height:100%;object-fit:cover}.idea-grid .plan .photo-link{padding:14px;background:white}.idea-grid .plan img{object-fit:contain;background:white}.idea-grid .ipad img{object-position:center bottom}
.result{border-top:1px solid var(--line)}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}
/* Original Cardo call to action, button artwork and three-column footer. */
.contact-band{padding:0 10px;margin:80px auto 0;overflow:hidden;text-align:center;color:#333}.contact-band .divider{width:20%;height:0;border:0;border-top:1px solid #0e0c0c;margin:20px auto 90px}.contact-band h2{font:italic 400 36px/30px Cardo,serif;margin:20px 0}.contact-link{display:inline-block;width:261px;height:63px;padding:20px 0 0;margin:18px 0 0;border:0;background:transparent url('../images/button-borders-black.png') no-repeat;text-align:center;color:#b8a08a;font:700 14px/20px Cardo,serif;text-transform:uppercase;text-decoration:none}.contact-link:hover{color:#0e0c0c}
.site-footer{margin:180px 0 150px;padding:0;color:#333;text-align:center;font:italic 400 15px/1.42857143 Cardo,serif}.footer-inner{margin:0 auto;display:grid;grid-template-columns:3fr 2fr 3fr}.footer-inner>*{padding:0 10px}.footer-nav{display:block;padding-top:30px;text-align:left}.site-footer a{margin-right:25px;color:#b8a08a;text-decoration:none}.site-footer a:hover{color:#0e0c0c}.footer-mark{width:72px;height:79px;margin:0 auto}.footer-wordmark{width:178px;height:25px;margin:15px auto 0}.tagline{font:italic 400 16px/30px Cardo,serif;color:#9a9a9a;margin:10px 0}.footer-credit{padding-top:30px;text-align:right}
dialog{border:0;padding:0}dialog::backdrop{background:rgba(14,12,12,.9)}.site-menu{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;overflow:hidden;background:transparent;color:#fff}.site-menu::backdrop{background:transparent}.menu-panel{position:absolute;inset:0;background:rgba(14,12,12,.96);overflow-y:auto;transform:translateY(-100%);transition:transform .4s ease}.menu-panel.is-visible{transform:translateY(0)}.menu-header{z-index:1}.menu-links{list-style:none;margin:0;padding:150px 0;text-align:center;font-family:'Source Sans Pro',sans-serif}.menu-links li{margin:3.75px 0;line-height:1.42857143}.menu-links a{display:inline-block;padding:9.6px 24px;border-radius:6px;color:#b8a08a;text-decoration:none;font:300 24px/1.42857143 'Source Sans Pro',sans-serif;text-transform:capitalize;transition:background .2s}.menu-links a:hover{background:#dabd9d;color:#fff}.menu-links .menu-heading{color:#fff;text-transform:uppercase;font:700 10px/1.42857143 'Source Sans Pro',sans-serif;margin:24px 0 8px}
.header-inner,.contact-band,.footer-inner{width:100%}
@media(min-width:768px){.header-inner,.contact-band,.footer-inner{width:740px}}
@media(min-width:992px){.header-inner,.contact-band,.footer-inner{width:960px}}
@media(min-width:1200px){.header-inner,.contact-band,.footer-inner{width:1160px}}
@media(max-width:1199px){.footer-inner{display:block}.footer-nav,.footer-credit{display:none}}
@media(max-width:1169px){.menu-links li{margin:2.75px 0}.menu-links .menu-heading{font-size:8.75px;margin:21px 0 7px}}
@media(max-width:767px){.language-switch{left:14px;gap:0;font-size:11px}.language-switch a{min-width:36px}.menu-toggle{right:0;top:30px;width:50px;height:120px;padding:0}.menu-text{display:none}.menu-icon{left:50%;right:auto;transform:translate(-50%,-50%)}.menu-links{padding:80px 0}.contact-band{padding-inline:27px}.contact-band h2{display:none}}
.lightbox{background:var(--black);color:white;width:calc(100vw - 40px);max-width:1400px;height:calc(100dvh - 40px);max-height:none;overflow:hidden}.lightbox-head{height:62px;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:10px 20px}.lightbox-head p{flex:1;font-size:16px;line-height:1.3}.lightbox button{border:0;background:transparent;color:white;min-height:44px;min-width:44px}.lightbox-close{font-size:32px}.zoom-button{font-size:13px;text-decoration:underline;text-underline-offset:4px}.lightbox-stage{height:calc(100% - 120px);overflow:auto;display:flex;align-items:center;justify-content:center}.lightbox-stage img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;margin:auto}.lightbox-stage.is-zoomed{display:block}.lightbox-stage.is-zoomed img{max-width:none;max-height:none;width:var(--image-width);height:auto;margin:0}.lightbox-controls{height:58px;display:flex;justify-content:center;align-items:center;gap:25px}.lightbox-controls button{font-size:27px}.lightbox-controls button:disabled{opacity:.25;cursor:default}.lightbox-count{font-size:13px;letter-spacing:1px}.zoom-button[hidden]{display:none}
.lightbox-stage img{opacity:1;transition:opacity .30s ease}.lightbox-stage img.is-switching{opacity:0}
@media(min-width:1450px){:root{--max:1280px}.phase{padding-block:86px}.place-grid{gap:100px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.place-grid{gap:35px;grid-template-columns:1fr 1.2fr}.phase h2{font-size:30px}.phase-heading{gap:28px}.build-grid{gap:16px}.result-grid{gap:16px}.phase{padding-block:58px}.phase-copy p,.phase-heading>p{font-size:16px}}
@media(max-width:600px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.intro{padding-top:40px}.intro h1{font-size:38px;max-width:330px;margin:auto}.intro .lead{font-size:16px;margin:19px auto 28px;max-width:350px}.eyebrow{font-size:10px;margin-bottom:13px}.phase-index{grid-template-columns:1fr 1fr}.phase-index li:nth-child(-n+2){border-bottom:1px solid var(--line)}.phase-index a{justify-content:flex-start;padding:12px;font-size:14px;gap:10px}.phase{padding-block:44px}.phase-number{font-size:29px;margin-bottom:12px}.phase h2{font-size:29px;margin-bottom:15px}.place-grid,.phase-heading{grid-template-columns:1fr;gap:23px}.place-grid .phase-copy{max-width:none}.phase-heading{gap:15px;margin-bottom:25px}.phase-heading h2{margin-bottom:0}.idea-grid{grid-template-columns:1fr;gap:25px}.idea-grid .plan .photo-link{padding:8px}.build-grid{grid-template-columns:1fr 1fr;gap:24px 15px}.result-grid{grid-template-columns:1fr 1fr;gap:25px 15px}.result-grid figure:first-child{grid-column:1/-1}figcaption{font-size:12px;margin-top:8px}.lightbox{width:100vw;height:100dvh;margin:0}.lightbox-head{padding:8px 10px;gap:8px}.lightbox-head p{font-size:14px}.zoom-button{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Preserve the chosen title casing in both languages. */
.menu-links a[href$="dall-idea-al-giardino.html"],.menu-links a[href$="from-concept-to-completion.html"]{text-transform:none}
