/* One content edge across pages, contact block and footer. */
.header-actions{display:flex;align-items:center;gap:28px;margin-left:auto}.language-switch{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.05em}.language-switch a{opacity:.65;padding:8px 0}.language-switch a:hover{opacity:1}.language-switch [aria-current]{border-bottom:1px solid currentColor;padding:8px 0}
@media(max-width:700px){.header-actions{gap:12px}.language-switch{font-size:11px;gap:10px}}
.ff-article-photo,.fs-service-photo{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.ff-article-photo img{display:block;width:100%;height:auto}.ff-article-opening>.ff-article-photo img{max-height:700px;aspect-ratio:16/9;object-fit:cover}.fs-services-projects{grid-column:1/-1;margin-top:10px}.fs-model-projects{padding-top:0}.fs-model-context{font-size:13px!important;margin-bottom:15px!important}.fs-all-projects{margin-top:40px}
@media(max-width:850px){.fs-services article>.fs-service-photo{grid-row:1/4}}
@media(max-width:650px){.fs-services article{display:block}.fs-services article>.fs-service-photo{margin-bottom:25px}}
@media(max-width:700px){.ff-article-opening>.ff-article-photo img{aspect-ratio:4/3}}
:root{--page-inset:max(24px,calc((100vw - 1280px)/2));--gutter:var(--page-inset)}
.ff-home{--home-gutter:var(--page-inset)}.ff-project{--ff-project-gutter:var(--page-inset)}
.wrap,.fs-wrap,.fh-wrap,.ff-collection-wrap{width:auto;max-width:none;margin-inline:0;padding-left:var(--page-inset);padding-right:var(--page-inset)}
.site-header,.hero>header{padding-left:var(--page-inset);padding-right:var(--page-inset)}
.site-footer{padding:38px var(--page-inset)}.footer-row{align-items:start}.footer-nav{column-gap:28px;row-gap:15px}.footer-meta{line-height:1.7}
.copy{left:var(--page-inset);right:var(--page-inset);max-width:850px}.hero .bottom{left:var(--page-inset);right:var(--page-inset)}
.fh-showcase-copy{left:var(--page-inset)}.fs-model-proof>a>div{left:var(--page-inset);right:var(--page-inset)}
.enquiry{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px}.enquiry>div{min-width:0}.enquiry-links{padding-left:50px;font-size:clamp(20px,2vw,24px)}
.ff-car-number,.ff-filter-row{display:none}.ff-journal-meta:empty{display:none}
.ff-article-opening{display:block;padding-bottom:0;border:0}.ff-article-opening>div{max-width:900px;margin:15px auto 48px}.ff-article-opening h1{font-size:clamp(36px,4.4vw,64px);font-weight:400;line-height:1.08;letter-spacing:-.04em}.ff-article-opening>div>p{max-width:740px;font-size:19px;line-height:1.65;margin-top:25px}.ff-article-opening>img{width:100%;max-height:700px;aspect-ratio:16/9;object-fit:cover}
.ff-article-reading{display:block;width:min(100%,800px);margin:auto;padding-top:70px}.ff-article-text h2{font-size:34px;font-weight:400;line-height:1.15;margin-bottom:25px}.ff-article-text p{font-size:18px;line-height:1.8;margin-bottom:24px}.ff-article-text section+section{margin-top:64px}.ff-article-text p a{color:#151515;text-decoration-thickness:1px;text-underline-offset:4px}
.ff-article-figure{margin:35px 0 0}.ff-article-figure img{display:block;width:100%;height:auto}.ff-article-figure figcaption{font-size:13px;line-height:1.6;color:#666;margin-top:15px}.ff-article-figure figcaption a{text-decoration:underline;text-underline-offset:3px}
.ff-article-projects{margin-top:90px}.ff-article-projects>h2{font-weight:400}
@media(max-width:1100px){.ff-journal-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.ff-project-related .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-intro{gap:6%}.fh-atelier-copy{padding:60px 40px}.fh-reading{gap:40px}.fh-model-list{column-gap:40px}}
@media(max-width:950px){.enquiry{grid-template-columns:1fr;gap:40px}.enquiry-links{padding:30px 0 0;border-left:0;border-top:1px solid #444}.footer-row{flex-direction:column;gap:25px}.contact{display:none}.fh-intro{grid-template-columns:1fr;gap:30px}.fh-atelier{grid-template-columns:1fr}.fh-atelier-photo img{height:auto;min-height:0;aspect-ratio:16/9}.fh-atelier-copy{padding:50px var(--page-inset)}.fh-reading{grid-template-columns:1fr}.fh-reading-photo img{height:auto;aspect-ratio:16/9}.ff-project-overview{grid-template-columns:1fr;gap:40px}.ff-project-intro{max-width:760px}.ff-article-opening>div{margin-top:10px;margin-bottom:35px}}
@media(max-width:700px){.ff-journal-list,.ff-project-related .grid,.fs-model-grid,.fs-projects .grid,.ff-article-projects .ff-car-grid{grid-template-columns:1fr}.fh-pair{grid-template-columns:1fr;gap:42px}.fh-model-list{grid-template-columns:1fr}.fh-model-list a:nth-last-child(2){border-bottom:0}.fh-section-top{display:block}.fh-section-top>.fh-link,.fh-section-top>p{margin-top:22px}.fs-contact,.fs-meeting,.fs-atelier-about{grid-template-columns:1fr}.ff-project-detail-grid,.ff-project-detail-grid-three{grid-template-columns:1fr}.ff-project-detail-grid-three .ff-project-detail:last-child{display:block;grid-column:auto}.ff-project-detail-grid-three .ff-project-detail:last-child h3{margin-top:22px}.ff-article-opening h1{font-size:36px}.ff-article-opening>div>p{font-size:16px}.ff-article-opening>img{aspect-ratio:4/3}.ff-article-reading{padding-top:45px}.ff-article-text h2{font-size:28px}.ff-article-text p{font-size:16px;line-height:1.8}.ff-article-text section+section{margin-top:45px}.ff-article-figure{margin-top:28px}.ff-article-projects{margin-top:55px}.ff-article-figure figcaption{font-size:12px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;width:100%}.enquiry h2{font-size:36px}}
@media(min-width:851px) and (max-width:1100px){.fs-services{grid-template-columns:1fr 1fr}.fs-services article{min-width:0}}
@media(min-width:701px) and (max-width:768px){.ff-project-related .grid{grid-template-columns:1fr}}

/* Consultation dialog remains compact at every viewport and uses native modal focus handling. */
.ff-lead-dialog{box-sizing:border-box;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:48px 36px 30px;overflow:auto;background:#f4f2ee;color:#171717;border:1px solid #c9c6bf;box-shadow:0 24px 90px #0005}
.ff-lead-dialog::backdrop{background:#0009}.ff-lead-dialog h2{font-size:32px;line-height:1.12;font-weight:400;letter-spacing:-.03em;margin:0 0 18px}.ff-lead-intro{font-size:16px;line-height:1.5;margin:0 0 28px;color:#555}.ff-lead-close{position:absolute;right:12px;top:8px;width:40px;height:40px;border:0;background:none;color:inherit;font:32px/1 sans-serif;cursor:pointer}.ff-lead-label{display:block;font-size:14px;margin-bottom:10px}.ff-lead-dialog input[type=tel]{box-sizing:border-box;display:block;width:100%;min-height:52px;padding:12px;border:1px solid #8b8882;background:#fff;color:#171717;border-radius:0;font-family:inherit;font-size:18px;line-height:1.3}.ff-lead-dialog input[aria-invalid=true]{outline:2px solid #a32920;outline-offset:2px}.ff-lead-consent{display:flex;align-items:flex-start;gap:11px;margin:22px 0;font-size:13px;line-height:1.55;color:#4d4d4d}.ff-lead-consent input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#222}.ff-lead-consent a,.ff-analytics a{text-decoration:underline;text-underline-offset:3px}.ff-lead-submit{display:block;width:100%;min-height:52px;padding:15px;border:1px solid #171717;background:#171717;color:white;font:inherit;cursor:pointer}.ff-lead-submit:disabled{opacity:.55;cursor:wait}.ff-lead-dialog :focus-visible,.ff-analytics :focus-visible{outline:2px solid #706046;outline-offset:4px}.ff-lead-feedback{font-size:15px;line-height:1.5;margin:18px 0 0}.ff-lead-feedback:empty{display:none}.ff-lead-feedback.is-error{color:#92261e}.ff-lead-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ff-analytics{position:fixed;z-index:110;left:24px;bottom:24px;box-sizing:border-box;width:min(520px,calc(100% - 48px));padding:22px 24px;background:#f4f2ee;color:#171717;border:1px solid #bcb8af;box-shadow:0 10px 35px #0002}.ff-analytics p{font-size:14px;line-height:1.5;margin:0 0 18px}.ff-analytics>div{display:flex;gap:12px;flex-wrap:wrap}.ff-analytics button{padding:12px 16px;min-height:44px;background:#171717;color:#fff;border:1px solid #171717;font:inherit;font-size:13px;cursor:pointer}.ff-analytics button+button{background:transparent;color:#171717}
@media(max-width:500px){.ff-lead-dialog{padding:45px 24px 24px}.ff-lead-dialog h2{font-size:28px}.ff-analytics{left:16px;bottom:16px;width:calc(100% - 32px);padding:18px}.ff-lead-intro{font-size:15px}}
