/* Final responsive refinements: shared visual language, independent configurators. */
#site .head>div,#site .about>div,#site .project-copy,#site .contact>div{min-width:0}
#site h2,#site h3{overflow-wrap:break-word}
#site .btn{max-width:100%;white-space:normal;line-height:1.45}
#site .btn>span{min-width:0}
#site .sub::before{content:"";position:absolute;inset:auto 0 100%;height:8px}
#site .sub a:focus-visible{outline-offset:-3px}
#site .cinfo{gap:0}
#site .cinfo>div{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
#site .cinfo>div:last-child{border-bottom:0}
#site .cinfo>div>div{display:block;min-width:0}
#site .cinfo small{margin-bottom:3px;line-height:1.45}
#site .cinfo b{display:block;line-height:1.5;overflow-wrap:anywhere}
#site .cinfo .ico{flex:none}
#site .cinfo a{text-underline-offset:4px}
#site .cinfo a:hover{text-decoration:underline}
#site .real{align-items:stretch}
#site .real figure,#site .real.recent-project figure{display:flex;flex-direction:column;aspect-ratio:auto;border:1px solid var(--line);background:#fff}
#site .real img{height:auto;aspect-ratio:4/3;object-fit:cover;flex:none}
#site .real figcaption{position:static;flex:1;margin:0;padding:15px 17px;border-radius:0;background:#fff;color:var(--ink-2);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
#site .real figure:hover img{transform:none}
#site .about .img .cap{right:18px;max-width:max-content;line-height:1.5;overflow-wrap:anywhere}
#site .fi input:focus-visible,#site .fi select:focus-visible,#site .fi textarea:focus-visible{outline:2px solid var(--gold-d);outline-offset:2px;border-color:var(--gold-d)}
#site .photo-picker:focus-within{outline:2px solid var(--gold-d);outline-offset:3px}
#site .privacy-ack{align-items:flex-start}
#site .privacy-ack input{margin-top:.3em}
#site .lc .spec{align-items:baseline;gap:12px}
#site .lc .spec b{white-space:nowrap}
#site .footer-contact-value{overflow-wrap:anywhere;line-height:1.6}
#site .footer-contact-links a{text-underline-offset:4px}
#site .footer-contact-links a:hover{text-decoration:underline}
.document-page .doc-header nav{min-width:0}
.document-page .doc-header .btn{white-space:normal;line-height:1.4;text-align:center}
.document-page .doc-article{border-radius:0 0 8px 8px}
.document-page .doc-section>p{line-height:1.8}
.document-page .doc-toc a{text-underline-offset:4px}
.document-page .doc-languages a{display:grid;place-items:center;min-width:36px;min-height:36px}
@media(min-width:741px) and (max-width:980px){
  .document-page .doc-layout{display:block;padding-bottom:64px}
  .document-page .doc-rail{position:static;margin-bottom:26px;padding-top:0}
  .document-page .rail-brand{display:none}
  .document-page .doc-rail nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
  .document-page .rail-label{grid-column:1/-1;margin-bottom:10px}
  .document-page .doc-rail nav>a{min-width:0;min-height:54px;overflow-wrap:anywhere}
  .document-page .doc-article{padding:32px}
}
@media(max-width:980px){
  #site .cinfo>div{grid-template-columns:44px minmax(0,1fr);gap:14px;padding-block:13px}
  .document-page .doc-languages a{min-width:44px;min-height:44px}
}
@media(max-width:740px){
  #site .real figcaption{padding:13px 14px;font-size:13px;line-height:1.5}
  #site .about .img .cap{left:12px;right:12px;bottom:12px;padding:10px 12px;font-size:12px}
  #site .project-thumbs button>span>i{flex:none;white-space:nowrap}
  #site .project-thumbs button>span>span{min-width:0;overflow-wrap:anywhere}
  #site .lc .body{padding:22px}
  .document-page .doc-section>p{line-height:1.75}
}
@media(hover:none){#site .gal button>span{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#site .real img{transition:none}}
/* Let translated hero copy determine its height instead of clipping on laptops. */
@media(min-width:981px){
  #site .hero-stage{height:auto;min-height:clamp(600px,82svh,860px)}
  #site .hero-in{height:auto;min-height:inherit}
}
@media(max-width:980px){
  .mobile-design-name b{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.3}
  .mobile-config-footer .btn{min-width:0}
}

/* A clear route home and an orderly four-project gallery. */
#site .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#site .project-grid figure{border:0;overflow:hidden;border-radius:4px;background:var(--paper,#f6f5f1)}
#site .project-grid figcaption{background:#fff;padding:16px 18px;font-size:15px;border-bottom:1px solid var(--line)}
#site .drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--nav-line)}
#site .drawer .drawer-heading>a{border:0;padding:8px 0;color:var(--gold)}
#site .drawer-close{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;color:var(--nav-ink);border:1px solid var(--nav-line);border-radius:4px;font:500 14px var(--sans)}
#site .drawer-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
#site .drawer-close:hover{background:rgba(255,255,255,.08)}
@media(min-width:1221px){
 #site .nav .wrap{gap:16px}
 #site .menu>li>a{padding-inline:9px;font-size:14px}
 #site .menu>li>a::before{left:9px;right:9px}
}
@media(max-width:600px){#site .project-grid{grid-template-columns:1fr;gap:24px}}
