*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f5f5;color:#161616;font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:hover,button:hover{color:#626262}a:focus-visible,button:focus-visible{outline:2px solid #1554ff;outline-offset:6px}header{position:sticky;top:0;background:#f5f5f5ed;z-index:5;backdrop-filter:blur(12px)}.header-inner{max-width:1470px;margin:auto;padding:45px 30px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:750;font-size:43px;letter-spacing:-2.6px;line-height:1}.brand span{font-size:14px;vertical-align:top;display:inline-block;margin:4px 0 0 5px;letter-spacing:0}nav{display:flex;gap:30px}nav a{font-size:18px;color:#626262}nav a.active{color:#161616}.menu{display:none}main{max-width:1470px;padding:35px 30px 60px;margin:auto;min-height:65vh}h1{font-size:34px;line-height:1.22;letter-spacing:-.7px;font-weight:400;max-width:810px;margin:0 0 90px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 30px}.project-card{display:block;width:100%;border:0;background:none;padding:0;text-align:left}.image-wrap{overflow:hidden;aspect-ratio:450/337;background:#e9e9e9}.project-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.65,.2,1),opacity .3s}.project-card:hover img{transform:scale(1.035);opacity:.92}.caption{display:block;font-size:15px;line-height:1.4;margin-top:10px;color:#626262}.caption strong{font-weight:400;color:#222}.more{display:block;margin:65px auto 5px;font-size:30px;background:transparent;border:0;border-bottom:1px solid #999;padding:0 0 4px}footer{max-width:1470px;margin:auto;padding:70px 30px 65px;border-top:1px solid #ddd;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:30px;line-height:1.6;font-size:16px}footer a{display:block}.footer-brand{font-size:23px;letter-spacing:-.7px;font-weight:bold}.copyright{color:#626262;font-size:14px}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px;max-width:1050px;margin:0 0 100px}.about-grid h2{font-size:24px;line-height:1.35;font-weight:400;margin:0}.about-grid p{font-size:24px;line-height:1.5;margin:0 0 28px}.services{margin:55px 0}.services h3{font-size:16px;font-weight:400;color:#626262}.text-link{display:inline-block;font-size:24px;border-bottom:1px solid;padding-bottom:3px}dialog{border:0;padding:24px;width:min(1050px,94vw);max-height:93vh;background:#f5f5f5;color:#111}dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}.dialog-head,.dialog-bottom,.project-nav{display:flex;justify-content:space-between;gap:20px;align-items:center}.dialog-head{margin-bottom:20px}.dialog-head button,.project-nav button{border:0;background:none;padding:8px 0}.dialog-head span{font-size:24px}#project-image{display:block;width:100%;max-height:62vh;object-fit:contain;background:#eee}.dialog-bottom{margin:20px 0}.dialog-bottom a{border-bottom:1px solid}.project-nav{border-top:1px solid #ccc;padding-top:15px}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}@media(min-width:1600px){.header-inner{padding-top:60px;padding-bottom:60px}}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{padding:30px}.caption{font-size:14px}h1{font-size:30px;margin-bottom:65px}footer{grid-template-columns:1fr 1fr}.about-grid{gap:30px}.about-grid p{font-size:21px}}@media(max-width:600px){.header-inner{padding:22px 20px;flex-wrap:wrap}.brand{font-size:34px}.menu{display:block;background:none;border:0;padding:4px 0;font-size:16px}nav{display:none;width:100%;padding-top:25px;gap:18px;flex-direction:column}nav.open{display:flex}nav a{font-size:23px}main{padding:25px 20px 45px}h1{font-size:26px;line-height:1.25;letter-spacing:-.5px;margin-bottom:45px}.grid{grid-template-columns:1fr;gap:28px}.caption{font-size:15px}.more{font-size:24px;margin-top:45px}footer{padding:40px 20px;gap:30px 15px;font-size:14px}.about-grid{grid-template-columns:1fr;margin-bottom:40px}.about-grid p{font-size:21px}.text-link{font-size:21px}.dialog-head span{font-size:20px}.dialog-bottom{align-items:flex-start;flex-direction:column}.dialog-bottom p{margin:0}dialog{padding:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.brand img{display:block;width:195px;height:auto;max-height:70px;object-fit:contain;object-position:left center}@media(max-width:600px){.brand img{width:150px;max-height:48px}}

.social-links{display:flex;align-items:center;gap:18px}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;color:#252525}.social-links svg{display:block;width:21px;height:21px}.social-links a:hover{color:#626262}nav{align-items:center}.footer-social .social-links{margin-bottom:18px}@media(max-width:600px){nav{align-items:flex-start}nav .social-links{padding:8px 0;gap:22px}.social-links a{width:36px;height:36px}.social-links svg{width:23px;height:23px}}
@media(min-width:601px) and (max-width:850px){.header-inner{flex-wrap:wrap}.menu{display:block;background:none;border:0;padding:8px 0}nav{display:none;width:100%;padding-top:25px;flex-direction:column;align-items:flex-start;gap:20px}nav.open{display:flex}nav .social-links{padding:5px 0}}

.contact-form{margin-top:65px;padding-top:35px;border-top:1px solid #ccc}.contact-form h2{font-size:28px;margin-bottom:14px}.contact-form .form-note{font-size:14px;line-height:1.5;color:#686868;margin:0 0 24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form label{display:block;font-size:15px;line-height:1.5;margin-bottom:24px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:9px;border:1px solid #bbb;border-radius:0;padding:13px 14px;background:transparent;color:#161616;font:inherit;font-size:16px}.contact-form textarea{resize:vertical;min-height:150px;line-height:1.5}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #161616;outline-offset:2px}.contact-form textarea::placeholder{color:#767676}.form-submit{border:1px solid #161616;background:#161616;color:#fff;padding:15px 22px;font-size:16px}.form-submit:hover{color:#fff;background:#444}.contact-form #form-status{margin-top:18px;margin-bottom:0}@media(max-width:600px){.form-row{grid-template-columns:1fr;gap:0}.contact-form{margin-top:45px}.form-submit{width:100%}}

/* About: editorial studio and founder presentation */
.about-opening{margin-bottom:60px;max-width:1000px}.about-eyebrow{font-size:14px;letter-spacing:1.5px;line-height:1.5;color:#626262;margin:0 0 25px}.about-opening h1{font-size:clamp(38px,4.5vw,66px);line-height:1.06;letter-spacing:-2px;margin:0 0 28px;max-width:none}.about-lead{font-size:24px;line-height:1.4;max-width:660px;margin:0}.office-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:95px}#about figure{margin:0}#about img{display:block;width:100%;height:auto}.office-pair img{height:580px!important;object-fit:cover;object-position:center 57%}#about figcaption{font-size:14px;color:#626262;line-height:1.4;margin-top:12px}.about-story{display:grid;grid-template-columns:1fr 2fr;gap:60px;max-width:1220px;margin-bottom:80px}.about-side h2{font-size:26px;font-weight:400;line-height:1.3;margin:0}.about-copy p,.founder-copy>p:not(.about-eyebrow){font-size:21px;line-height:1.55;margin:0 0 25px}.about-facts{border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:40px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;margin-bottom:100px}.about-facts span{font-size:clamp(32px,4vw,54px);line-height:1.15;letter-spacing:-1px}.about-facts p{font-size:16px;color:#626262;line-height:1.5;margin:15px 0 0}.founder{display:grid;grid-template-columns:1fr 1.4fr;gap:90px;align-items:start;margin-bottom:100px}.founder figure{max-width:470px}.founder h2{font-size:50px;letter-spacing:-1.5px;font-weight:400;line-height:1.1;margin:0 0 35px}.founder blockquote{border-left:2px solid #222;padding-left:25px;margin:40px 0 0;font-size:28px;line-height:1.35;letter-spacing:-.5px}.about-closing{border-top:1px solid #ccc;padding:55px 0 15px;display:flex;justify-content:space-between;align-items:center;gap:30px}.about-closing h2{font-size:38px;letter-spacing:-1px;font-weight:400;line-height:1.15;margin:0}@media(max-width:900px){.office-pair img{height:420px!important}.about-story{gap:30px;grid-template-columns:1fr 1.7fr}.founder{gap:40px}.founder h2{font-size:40px}.about-copy p,.founder-copy>p:not(.about-eyebrow){font-size:19px}.founder blockquote{font-size:24px}}@media(max-width:600px){.about-opening{margin-bottom:35px}.about-opening h1{font-size:38px;letter-spacing:-1.2px}.about-lead{font-size:21px}.about-eyebrow{font-size:13px;letter-spacing:1px}.office-pair{gap:15px;margin-bottom:50px}.office-pair img{height:300px!important}.office-pair figcaption{font-size:12px!important}.about-story{grid-template-columns:1fr;gap:25px;margin-bottom:40px}.about-facts{gap:20px 10px;padding:30px 0;margin-bottom:50px;grid-template-columns:1fr 1fr}.about-facts>div:last-child{grid-column:1/-1}.about-facts span{font-size:38px}.about-facts p{font-size:14px;margin-top:10px}.founder{grid-template-columns:1fr;gap:30px;margin-bottom:50px}.founder figure{max-width:none}.founder img{max-height:600px;object-fit:cover;object-position:center 30%}.founder h2{margin-bottom:25px}.founder blockquote{font-size:25px;margin-top:30px;padding-left:20px}.about-closing{align-items:flex-start;flex-direction:column;padding-top:35px}.about-closing h2{font-size:31px}}

.services-opening{max-width:980px;margin-bottom:80px}.services-opening h1{font-size:clamp(38px,4.5vw,66px);line-height:1.06;letter-spacing:-2px;margin:0 0 30px;max-width:none}.services-opening>p:last-child{font-size:24px;line-height:1.45;max-width:750px;margin:0}.service-layout{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:90px}.service-layout aside h2{font-size:27px;font-weight:400;line-height:1.3;margin:0 0 25px}.service-layout aside p{font-size:17px;line-height:1.5;max-width:260px;color:#626262;margin-bottom:30px}.service-layout .text-link{font-size:18px}.service-item{border-top:1px solid #bbb}.service-item:last-child{border-bottom:1px solid #bbb}.service-item summary{list-style:none;display:grid;grid-template-columns:35px 1fr 24px;gap:18px;padding:27px 0;align-items:center;cursor:pointer}.service-item summary::-webkit-details-marker{display:none}.service-item summary:focus-visible{outline:2px solid #161616;outline-offset:5px}.service-item summary:hover h3{color:#626262}.service-number{font-size:14px;color:#626262;align-self:start;padding-top:5px}.service-item h3{font-size:24px;line-height:1.25;font-weight:400;letter-spacing:-.4px;margin:0}.service-toggle{position:relative;width:20px;height:20px}.service-toggle:before,.service-toggle:after{content:"";position:absolute;background:currentColor;left:2px;top:9px;width:16px;height:1px}.service-toggle:after{transform:rotate(90deg)}.service-item[open] .service-toggle:after{display:none}.service-body{padding:0 40px 30px 53px}.service-body p{font-size:18px;line-height:1.65;margin:0 0 23px}.service-enquiry{font-size:16px;display:inline-block;border-bottom:1px solid #777;padding-bottom:3px}.services-photo{margin:0 0 80px}.services-photo img{width:100%;height:auto;display:block}.services-photo figcaption{font-size:14px;line-height:1.5;color:#626262;margin-top:12px}.why-bocw{margin-bottom:80px}.why-bocw>h2{font-size:38px;font-weight:400;letter-spacing:-1px;margin:0 0 40px}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.why-grid article{border-top:1px solid #bbb;padding-top:22px}.why-grid h3{font-size:21px;font-weight:400;line-height:1.3;margin:0 0 18px}.why-grid p{font-size:17px;line-height:1.5;color:#626262;margin:0}@media(max-width:1200px) and (min-width:851px){.header-inner{flex-wrap:wrap}.menu{display:block;background:none;border:0;padding:8px 0}nav{display:none;width:100%;padding-top:25px;flex-direction:column;align-items:flex-start;gap:20px}nav.open{display:flex}}@media(max-width:900px){.service-layout{grid-template-columns:1fr 2fr;gap:30px}.service-item h3{font-size:21px}.service-item summary{gap:12px;grid-template-columns:25px 1fr 20px}.service-body{padding-left:37px;padding-right:20px}.why-grid{grid-template-columns:1fr 1fr;gap:30px}.services-opening{margin-bottom:55px}}@media(max-width:600px){.services-opening h1{font-size:38px;letter-spacing:-1.2px}.services-opening>p:last-child{font-size:21px}.service-layout{grid-template-columns:1fr;gap:35px;margin-bottom:50px}.service-layout aside p{max-width:none;margin-bottom:20px}.service-item summary{padding:23px 0;gap:10px}.service-item h3{font-size:21px}.service-body{padding:0 5px 25px 35px}.service-body p{font-size:17px}.services-photo{margin-bottom:50px}.why-bocw{margin-bottom:50px}.why-bocw>h2{font-size:31px;margin-bottom:28px}.why-grid{grid-template-columns:1fr;gap:25px}.why-grid h3{margin-bottom:12px}}

.quote-opening{max-width:900px;margin-bottom:70px}.quote-opening h1{font-size:clamp(38px,4.5vw,66px);line-height:1.06;letter-spacing:-2px;margin-bottom:30px}.quote-opening>p:last-child{font-size:24px;line-height:1.45;max-width:700px}.quote-layout{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:50px}.quote-layout aside h2{font-size:26px;font-weight:400;line-height:1.3;margin:0 0 25px}.quote-layout aside p{font-size:17px;line-height:1.5;max-width:260px;color:#626262}.quote-layout aside a{display:block;font-size:17px;margin-top:14px}.quote-layout .contact-form{margin:0;padding:0;border:0}.contact-form select{display:block;width:100%;max-width:100%;margin-top:9px;border:1px solid #bbb;border-radius:0;padding:14px 36px 14px 14px;background:#f5f5f5;color:#161616;font:inherit;font-size:16px}.contact-form select:focus{outline:2px solid #161616;outline-offset:2px}#quote-status{margin-top:18px}@media(max-width:900px){.quote-layout{gap:30px;grid-template-columns:1fr 2fr}}@media(max-width:600px){.quote-opening{margin-bottom:45px}.quote-opening h1{font-size:38px;letter-spacing:-1.2px}.quote-opening>p:last-child{font-size:21px}.quote-layout{grid-template-columns:1fr;gap:40px}.contact-form select{font-size:15px}}

#project{padding:0;width:min(1100px,94vw);max-height:92vh;max-height:92svh;overflow:auto;overscroll-behavior:contain;scroll-behavior:auto}
#project .dialog-head{position:sticky;top:0;z-index:1;background:#f5f5f5f5;backdrop-filter:blur(8px);padding:16px 30px;margin:0;border-bottom:1px solid #ddd}
#project .dialog-head span{font-size:18px;line-height:1.3}
#project .dialog-head button{flex-shrink:0;min-height:44px}
.project-heading{padding:45px 30px 40px}
.project-heading p{font-size:15px;color:#676767;margin:0 0 15px;line-height:1.5}
.project-heading h2{font-size:clamp(34px,5vw,60px);letter-spacing:-1.5px;line-height:1.1;font-weight:400;margin:0;overflow-wrap:anywhere}
.project-content>img{display:block;width:100%;height:auto;background:#eee}
.project-copy{max-width:820px;margin:35px auto;padding:0 30px;font-size:19px;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere}
h3.project-copy{font-size:27px;font-weight:400;line-height:1.25}
.project-content iframe{display:block;border:0;width:100%;aspect-ratio:16/9;background:#111}
.project-media-link{display:block;text-decoration:underline}
#project .dialog-bottom{padding:30px;margin:0}
#project .dialog-bottom a{font-size:15px}
#project .project-nav{padding:18px 30px 25px}
#project .project-nav button{min-height:44px;text-align:left}
#project .project-nav button:last-child{text-align:right}
@media(max-width:600px){#project{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}#project .dialog-head{padding:12px 20px}.project-heading{padding:32px 20px}.project-heading h2{font-size:38px;letter-spacing:-1px}.project-copy{font-size:17px;padding:0 20px;margin:25px auto}h3.project-copy{font-size:24px}#project .dialog-bottom{padding:25px 20px}#project .project-nav{padding:15px 20px 25px;gap:12px}}

/* Homepage: match the About heading scale and let the first projects enter the viewport. */
.home-intro{padding:0 0 28px;border-bottom:1px solid #c8c8c8;margin-bottom:22px}
.home-meta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}
.home-meta p{margin:0;font-size:13px;line-height:1.5;letter-spacing:1.4px;color:#686868}
.home-location{display:flex;align-items:center;gap:12px}
.home-location:before{content:"";display:block;width:5px;height:5px;border-radius:50%;background:#161616;flex-shrink:0}
.home-intro h1{max-width:1280px;margin:0 0 24px;font-size:clamp(38px,4.5vw,66px);font-weight:400;line-height:1.06;letter-spacing:-2px;text-wrap:balance}
.home-intro h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em}
.home-intro-bottom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:end}
.home-description{max-width:660px;margin:0;font-size:clamp(20px,1.65vw,24px);line-height:1.4;letter-spacing:-.35px}
.home-actions{display:flex;justify-content:flex-end;align-items:center;gap:28px;flex-wrap:wrap}
.home-primary-link,.home-secondary-link{display:inline-flex;align-items:center;flex:0 0 auto;gap:18px;min-height:44px;font-size:17px;line-height:1.3;white-space:nowrap}
.home-primary-link{border-bottom:1px solid #161616;padding:6px 0;color:#161616}
.home-action-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;line-height:0}
.home-action-icon svg{display:block;width:20px;height:20px;flex:none}
.home-primary-link .home-action-icon{border-radius:50%;background:#161616;color:#f5f5f5;transition:transform .2s ease}
.home-primary-link:hover .home-action-icon{transform:translate(2px,-2px)}
.home-secondary-link{color:#686868;padding:6px 0}
.home-secondary-link .home-action-icon{color:#161616}
.home-projects-header{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:18px}
.home-projects-header h2{font-size:24px;font-weight:400;letter-spacing:-.6px;line-height:1.2;margin:0}
.home-projects-header p{font-size:14px;line-height:1.5;color:#686868;margin:0}
.home-closing{margin-top:85px}
@media(max-width:1000px){.home-intro-bottom{gap:28px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.home-actions{gap:8px 24px;align-items:flex-end;flex-direction:column}.home-meta{gap:20px}.home-meta p{font-size:12px;letter-spacing:1.1px}.home-closing h2{font-size:34px}}
@media(max-width:700px){.home-intro{padding-bottom:24px;margin-bottom:18px}.home-meta{align-items:flex-start;margin-bottom:20px}.home-location{display:none!important}.home-intro h1{font-size:clamp(32px,5.5vw,38px);line-height:1.1;letter-spacing:-1px;margin-bottom:22px}.home-intro-bottom{grid-template-columns:1fr;gap:18px}.home-description{max-width:530px;font-size:19px;line-height:1.4;letter-spacing:-.2px}.home-actions{flex-direction:row;justify-content:flex-start;align-items:center;gap:12px 20px}.home-primary-link,.home-secondary-link{font-size:16px;gap:10px}.home-action-icon{width:28px;height:28px;flex-basis:28px}.home-action-icon svg{width:18px;height:18px}.home-projects-header{margin-bottom:14px}.home-projects-header h2{font-size:22px}.home-projects-header p{display:none}.home-closing{margin-top:55px}.home-closing h2{font-size:31px}}
@media(min-width:701px) and (max-height:760px){.home-meta{margin-bottom:22px}.home-intro h1{margin-bottom:22px}.home-intro{padding-bottom:24px;margin-bottom:18px}.home-projects-header{margin-bottom:14px}}
@media(max-width:600px) and (max-height:650px){.home-meta{margin-bottom:16px}.home-intro h1{font-size:30px;margin-bottom:18px}.home-description{font-size:18px;line-height:1.35}.home-intro-bottom{gap:14px}.home-intro{padding-bottom:20px;margin-bottom:16px}}
@media(max-width:360px){.home-meta p{font-size:11px;letter-spacing:1px}.home-intro h1{font-size:30px}.home-description{font-size:18px}.home-actions{gap:10px 16px}.home-primary-link,.home-secondary-link{font-size:14px;gap:10px}}

/* Language selection stays accessible when the mobile menu is closed. */
.header-inner{gap:24px}
.header-inner nav{margin-left:auto;gap:24px}
.language-switch{display:flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0}
.language-switch button{padding:0 3px;min-width:28px;min-height:44px;border:0;border-bottom:1px solid transparent;background:transparent;font-size:13px;letter-spacing:.3px;color:#626262}
.language-switch button[aria-pressed="true"]{color:#161616;border-bottom-color:#161616}
.language-switch>span{font-size:12px;color:#b0b0b0}
.contact-map{margin-top:38px;padding-top:28px;border-top:1px solid #ccc}
.contact-map .about-eyebrow{font-size:12px;margin-bottom:18px}
.map-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px}
.map-heading h3{font-size:20px;font-weight:400;line-height:1.35;margin:0;letter-spacing:-.4px}
.map-directions{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid #aaa;padding:6px 0;min-height:44px;font-size:14px;white-space:nowrap}
.map-directions span{font-size:21px}
.contact-map iframe{display:block;width:100%;height:360px;border:0;background:#e9e9e9}
.floating-contact{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:10;display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;color:#fff;box-shadow:0 5px 20px #0002;transition:transform .2s ease,background .2s ease}
.floating-contact svg{width:26px;height:26px;display:block}
.floating-call{left:24px;background:#161616}
.floating-whatsapp{right:24px;background:#128c4a}
.floating-call:hover{color:#fff;background:#444;transform:translateY(-3px)}
.floating-whatsapp:hover{color:#fff;background:#0e713b;transform:translateY(-3px)}
footer{padding-bottom:105px}
@media(max-width:1200px){.header-inner nav{order:3;margin-left:0;flex-basis:100%}.language-switch{order:1;margin-left:auto}.header-inner .menu{order:2}}
@media(max-width:700px){.map-heading{align-items:flex-start;flex-direction:column;gap:6px}.contact-map iframe{height:300px}}
@media(max-width:600px){.header-inner{gap:12px}.language-switch{gap:3px}.language-switch button{font-size:12px;padding:0 2px}.floating-contact{width:50px;height:50px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}.floating-call{left:18px}.floating-whatsapp{right:18px}.floating-contact svg{width:24px;height:24px}.contact-map{margin-top:30px;padding-top:24px}.map-heading h3{font-size:19px}footer{padding-bottom:95px}}

/* Real page links, service guides and project presentations share the studio's type scale. */
.language-switch a{display:inline-flex;align-items:center;justify-content:center;padding:0 3px;min-width:28px;min-height:44px;border-bottom:1px solid transparent;font-size:13px;letter-spacing:.3px;color:#626262}
.language-switch a[aria-current="true"]{color:#161616;border-bottom-color:#161616}
.breadcrumbs{display:flex;flex-wrap:wrap;flex-direction:row;align-items:center;gap:10px;margin:0 0 30px;padding:0;font-size:13px;line-height:1.5;color:#626262}
.breadcrumbs a{font-size:inherit;border-bottom:1px solid #bbb}
.service-topics>h2,.guide-related>h2,.guide-projects>h2{font-size:clamp(27px,3vw,38px);font-weight:400;line-height:1.15;letter-spacing:-1px;max-width:780px;margin:0 0 24px}
.topic-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.topic-links a{display:flex;justify-content:space-between;align-items:baseline;gap:18px;min-height:70px;padding:18px 0;border-top:1px solid #bbb;font-size:20px;line-height:1.4}
.topic-links a>span:last-child{flex-shrink:0}
.service-topics{margin:0 0 70px}
.guide-section{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid #bbb;padding:35px 0 45px}
.guide-section>h2{font-size:27px;font-weight:400;line-height:1.25;letter-spacing:-.6px;margin:0;max-width:330px}
.guide-section p,.guide-section li{font-size:20px;line-height:1.65;max-width:850px;overflow-wrap:anywhere}
.guide-section p{margin:0 0 24px}.guide-section p:last-child{margin-bottom:0}
.guide-section ul{padding-left:23px;margin:0}.guide-section li{padding-left:5px;margin-bottom:15px}
.guide-faq{margin:40px 0 70px}.guide-faq>h2{font-size:32px;font-weight:400;letter-spacing:-.7px;margin:0 0 28px}
.guide-faq details{border-top:1px solid #bbb}.guide-faq details:last-child{border-bottom:1px solid #bbb}
.guide-faq summary{display:flex;justify-content:space-between;gap:24px;list-style:none;font-size:22px;line-height:1.4;padding:23px 0;cursor:pointer}
.guide-faq summary::-webkit-details-marker{display:none}.guide-faq summary span{font-size:26px;font-weight:300;flex-shrink:0}.guide-faq details[open] summary span{transform:rotate(45deg)}
.guide-faq p{font-size:18px;line-height:1.65;margin:0 0 26px;max-width:900px}
.guide-related{margin:0 0 70px}.guide-projects{margin:0 0 70px}
.all-work-link{margin:30px 0 0}.all-work-link .text-link{font-size:18px}
.project-permalink{margin-left:auto;font-size:13px;border-bottom:1px solid #999;padding:5px 0;flex-shrink:0}
.standalone-project .project-content{max-width:1100px;margin:auto}
.standalone-project-nav{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #ccc;padding-top:28px;margin:40px 0;font-size:16px;line-height:1.5}
.standalone-project-nav a:last-child{text-align:right}
@media(max-width:900px){.guide-section{gap:30px}.guide-section>h2{font-size:24px}.guide-section p,.guide-section li{font-size:19px}}
@media(max-width:600px){.language-switch a{font-size:12px;padding:0 2px}.breadcrumbs{margin-bottom:24px;font-size:12px}.topic-links{grid-template-columns:1fr}.topic-links a{font-size:19px;min-height:65px}.guide-section{grid-template-columns:1fr;gap:22px;padding:28px 0 35px}.guide-section>h2{max-width:none;font-size:25px}.guide-section p,.guide-section li{font-size:18px}.guide-faq{margin:25px 0 45px}.guide-faq>h2{font-size:28px}.guide-faq summary{font-size:20px;padding:20px 0}.guide-faq p{font-size:17px}.guide-related,.guide-projects,.service-topics{margin-bottom:45px}.project-permalink{font-size:11px}#project .dialog-head{gap:12px}#project .dialog-head span{max-width:35%;font-size:16px}.standalone-project-nav{font-size:14px;gap:18px}}

.website-card .image-wrap{background:#eaeaea}.website-card .image-wrap img{object-fit:contain}.website-presentation{border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff}.website-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:#eaeaea;font-size:14px;line-height:1.5}.website-toolbar a{border-bottom:1px solid #888}.website-presentation img{display:block;width:100%;height:auto;margin:0!important}@media(max-width:600px){.website-toolbar{align-items:flex-start;flex-direction:column;padding:14px;font-size:13px}}

.project-content iframe.website-frame{height:75vh;height:75dvh;min-height:360px;aspect-ratio:auto;background:#fff}.website-toolbar a{overflow-wrap:anywhere}.website-toolbar{position:sticky;top:0;z-index:1}@media(max-width:600px){.project-content iframe.website-frame{height:65vh;height:65dvh;min-height:320px}}

/* BOCW motion: progressive enhancement, no layout shifts. */
@keyframes bocw-enter { from { opacity:0; transform:translateY(24px) } to { opacity:1; transform:translateY(0) } }
@media (prefers-reduced-motion:no-preference) {
 .home-meta { animation:bocw-enter .8s cubic-bezier(.22,1,.36,1) both }
 .home-intro h1 { animation:bocw-enter 1.1s cubic-bezier(.22,1,.36,1) .12s both }
 .home-description { animation:bocw-enter .9s cubic-bezier(.22,1,.36,1) .28s both }
 .home-actions { animation:bocw-enter .9s cubic-bezier(.22,1,.36,1) .4s both }
 .bocw-reveal { animation:bocw-enter .85s cubic-bezier(.22,1,.36,1) var(--bocw-delay,0ms) both }
 #portfolio .project-card .image-wrap img { transition:transform .85s cubic-bezier(.22,1,.36,1),filter .65s ease }
 #portfolio .project-card .caption { transition:transform .5s cubic-bezier(.22,1,.36,1) }
}
#portfolio .project-card .image-wrap { position:relative; overflow:hidden }
#portfolio .project-card .image-wrap::after { content:'↗'; position:absolute; right:18px; bottom:18px; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:#fff; color:#171717; font:26px/1 Arial,sans-serif; opacity:0; transform:translate(-8px,8px); transition:opacity .35s ease,transform .5s cubic-bezier(.22,1,.36,1); pointer-events:none }
@media (hover:hover) and (pointer:fine) {
 #portfolio .project-card:hover .image-wrap img { transform:scale(1.045); filter:brightness(.96) }
 #portfolio .project-card:hover .image-wrap::after { opacity:1; transform:translate(0,0) }
 #portfolio .project-card:hover .caption { transform:translateX(5px) }
}
#portfolio .project-card:focus-visible .image-wrap::after { opacity:1; transform:none }
@media (prefers-reduced-motion:reduce) {
 .home-meta,.home-intro h1,.home-description,.home-actions,.bocw-reveal { animation:none!important }
 #portfolio .project-card:hover .image-wrap img,#portfolio .project-card:hover .caption { transform:none }
 #portfolio .project-card .image-wrap::after { transition:none }
}

@media print { .bocw-reveal,.home-meta,.home-intro h1,.home-description,.home-actions { animation:none!important; opacity:1!important; transform:none!important } }

/* Editorial refresh: BOCW, October 2026. */
:root{--bocw-accent:#686868;--bocw-ink:#1c1b19;--bocw-paper:#f5f4f0;--bocw-line:#d5d3cd}
body{background:var(--bocw-paper);color:var(--bocw-ink)}
body>header{background:#f5f4f0ee;border-bottom:1px solid transparent;transition:transform .35s ease,border-color .3s ease;z-index:20}
body>header.header-scrolled{border-color:var(--bocw-line)}
body>header.header-hidden:not(:focus-within){transform:translateY(-110%)}
body>header .header-inner{padding-top:24px;padding-bottom:24px;gap:28px}
body>header .brand img{width:158px;max-height:56px}
.header-inner nav{gap:22px}body>header nav a{font-size:15px;color:#63625f;position:relative}
body>header nav a:hover,body>header nav a.active{color:var(--bocw-ink)}
body>header nav a[data-view]:after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--bocw-accent);transition:right .25s ease}
body>header nav a[data-view]:hover:after{right:0}
.header-cta{display:flex;align-items:center;justify-content:center;gap:16px;background:var(--bocw-ink);color:white;padding:13px 17px;border-radius:3px;white-space:nowrap;font-size:13px;min-height:44px}
.header-cta:hover{background:var(--bocw-accent);color:white}.header-cta span{font-size:20px}
main{padding-top:36px}
.editorial-hero{position:relative;padding-bottom:32px;margin-bottom:64px;border-bottom:1px solid var(--bocw-line)}
.editorial-hero .home-meta{margin-bottom:42px}.editorial-hero .home-meta p{font-size:11px;letter-spacing:1.3px}
.editorial-hero .home-location:before{background:var(--bocw-accent);width:6px;height:6px}
.editorial-hero h1{font-size:clamp(66px,8.4vw,124px);line-height:.99;letter-spacing:-.065em;max-width:1200px;margin:0 0 38px;text-wrap:initial}
.hero-display>span{display:block}.hero-last{display:inline-flex!important;align-items:baseline}.hero-end{font-size:.82em}
.editorial-hero h1 em{font-weight:400;color:#626262;letter-spacing:-.06em}
.rotating-word{display:inline-block;min-width:3.8em;transition:opacity .2s ease,transform .2s ease}.rotating-word.word-changing{opacity:0;transform:translateY(12px)}
.hero-period{color:var(--bocw-accent)}
.editorial-hero .home-intro-bottom{grid-template-columns:1.2fr 1fr;align-items:end;gap:60px}
.editorial-hero .home-description{font-size:18px;line-height:1.55;max-width:570px;color:#63625f;letter-spacing:-.2px}
.editorial-hero .home-actions{gap:28px;flex-direction:row;align-items:center}
.editorial-hero .home-primary-link{background:var(--bocw-ink);color:white;border:0;padding:16px 20px;border-radius:3px;font-size:15px;gap:25px}
.editorial-hero .home-primary-link:hover{background:var(--bocw-accent);color:#fff}
.editorial-hero .home-secondary-link{font-size:15px;color:var(--bocw-ink);gap:18px}
.hero-index{display:flex;justify-content:space-between;align-items:center;margin-top:34px;color:#65635e;font-size:10px;letter-spacing:1.4px}.hero-index>span:last-child{font-size:21px;letter-spacing:0}
.home-projects-header{margin-bottom:32px}.home-projects-header h2{font-size:30px;letter-spacing:-1px}.home-projects-header p{font-size:12px;letter-spacing:.5px}
body[data-page="home"] #grid,body[data-page="work"] #grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 30px;align-items:start}
body[data-page="home"] #grid>.project-card,body[data-page="work"] #grid>.project-card{grid-column:auto;margin-top:0;min-width:0}
body[data-page="home"] #grid>.project-card .image-wrap,body[data-page="work"] #grid>.project-card .image-wrap{width:100%;aspect-ratio:4/3}
.project-card .image-wrap{border-radius:4px}.project-card .caption{margin-top:16px;font-size:13px;line-height:1.6;color:#65635e}.project-card .caption strong{display:block;font-size:20px;letter-spacing:-.6px;color:var(--bocw-ink);margin-bottom:3px}
.more{font-size:18px;padding-bottom:10px;margin-top:65px}.all-work-link{margin-top:24px}
.home-expertise{display:grid;grid-template-columns:1fr 1.65fr;gap:80px;border-top:1px solid var(--bocw-line);margin:110px 0 100px;padding-top:48px}
.expertise-heading .about-eyebrow{font-size:11px;letter-spacing:1.5px;color:#65635e;margin:0 0 24px}
.expertise-heading h2{font-size:clamp(32px,3.2vw,46px);font-weight:400;line-height:1.1;letter-spacing:-1.8px;margin:0 0 24px}
.expertise-heading>p:last-child{max-width:300px;font-size:16px;line-height:1.6;color:#65635e}
.expertise-row{display:grid;grid-template-columns:28px 1fr 88px 28px;gap:20px;align-items:center;border-bottom:1px solid var(--bocw-line);padding:26px 0;min-height:130px}
.expertise-row:first-child{border-top:1px solid var(--bocw-line)}.expertise-number{font-size:11px;color:#65635e;align-self:start;padding-top:6px}
.expertise-copy h3{font-size:26px;line-height:1.2;font-weight:400;letter-spacing:-.9px;margin:0 0 9px}.expertise-copy p{font-size:13px;line-height:1.5;color:#65635e;margin:0;max-width:280px}
.expertise-row img{display:block;width:88px;height:66px;object-fit:cover;border-radius:3px;opacity:.55;filter:grayscale(1);transition:opacity .3s ease,filter .3s ease,transform .3s ease}
.expertise-arrow{font-size:28px;transition:transform .3s ease}.expertise-row:hover,.expertise-row:focus-visible{color:var(--bocw-accent)}.expertise-row:hover img,.expertise-row:focus-visible img{opacity:1;filter:none;transform:rotate(-4deg) scale(1.06)}.expertise-row:hover .expertise-arrow{transform:translate(3px,-3px)}
.home-closing{background:var(--bocw-ink);color:#f5f4f0;margin:90px 0 20px;padding:52px 44px;border:0;border-radius:4px;gap:35px}.home-closing h2{font-size:clamp(30px,3.5vw,50px);line-height:1.1;letter-spacing:-1.8px}.home-closing .text-link{color:white;white-space:nowrap;font-size:17px}.home-closing .text-link:hover{color:#c7c7c7}
.standalone-project .services-opening{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:18px 60px;margin-bottom:55px}.standalone-project .services-opening h1{grid-column:1/-1;font-size:clamp(48px,7vw,100px);letter-spacing:-.055em;line-height:1;margin:0}.standalone-project .services-opening>p:last-child{font-size:18px;color:#65635e}.standalone-project .project-content{max-width:none}.standalone-project .project-content>img{border-radius:4px;margin:22px 0}.standalone-project .project-copy{padding:30px 0;font-size:21px;line-height:1.7}
@media(min-width:1201px){body>header .header-inner nav{margin-left:auto;flex-basis:auto}.header-cta{order:0}}
@media(max-width:1200px){.header-cta{order:1;margin-left:auto}.language-switch{margin-left:0;order:2}.header-inner .menu{order:3}.header-inner nav{order:4!important}.editorial-hero .home-intro-bottom{gap:30px}.editorial-hero .home-actions{gap:18px}.home-expertise{gap:40px}}
@media(max-width:800px){body>header .header-inner{padding:18px 24px;gap:18px}.header-cta{display:none}.language-switch{margin-left:auto}.editorial-hero h1{font-size:clamp(56px,9.8vw,84px)}.editorial-hero .home-intro-bottom{grid-template-columns:1fr;gap:24px}.editorial-hero .home-actions{justify-content:flex-start}.home-expertise{grid-template-columns:1fr;gap:26px;margin:70px 0}.expertise-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.expertise-heading .about-eyebrow{grid-column:1/-1}.expertise-heading h2{font-size:34px}.expertise-heading>p:last-child{margin-top:0}body[data-page="home"] #grid,body[data-page="work"] #grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 24px}.home-closing{padding:35px 28px}}
@media(max-width:600px){main{padding:24px 20px 40px}body>header .header-inner{padding:18px 20px}.editorial-hero .home-meta{margin-bottom:30px}.editorial-hero .home-meta p{font-size:10px;letter-spacing:1px}.editorial-hero h1{font-size:clamp(49px,12vw,72px);letter-spacing:-.065em;line-height:1.02;margin-bottom:25px}.editorial-hero .home-description{font-size:16px;line-height:1.55}.editorial-hero .home-actions{gap:22px;flex-wrap:wrap}.editorial-hero .home-primary-link{font-size:14px;gap:18px;padding:14px 16px}.editorial-hero .home-secondary-link{font-size:14px;gap:10px}.editorial-hero{margin-bottom:35px;padding-bottom:16px}.hero-index{margin-top:24px;font-size:9px}.home-projects-header{margin-bottom:22px}.home-projects-header h2{font-size:25px}body[data-page="home"] #grid,body[data-page="work"] #grid{display:grid;grid-template-columns:1fr;gap:35px}body[data-page="home"] #grid>.project-card,body[data-page="work"] #grid>.project-card{grid-column:1!important;margin-top:0!important}.project-card .caption{margin-top:12px;font-size:12px}.project-card .caption strong{font-size:19px}.expertise-heading{display:block}.expertise-heading>p:last-child{max-width:340px;font-size:15px}.expertise-row{grid-template-columns:20px 1fr 60px 22px;gap:12px;padding:22px 0;min-height:110px}.expertise-copy h3{font-size:22px;letter-spacing:-.6px}.expertise-copy p{font-size:12px}.expertise-row img{width:60px;height:55px}.expertise-arrow{font-size:23px}.home-closing{padding:32px 24px;margin-top:60px;align-items:flex-start;flex-direction:column}.home-closing h2{font-size:32px;letter-spacing:-1px}.home-closing .text-link{font-size:15px}.standalone-project .services-opening{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.standalone-project .services-opening h1{font-size:54px}.standalone-project .services-opening>p:last-child{font-size:16px}.standalone-project .project-copy{padding:10px 0;font-size:17px}}
@media(prefers-reduced-motion:reduce){body>header,.rotating-word,.expertise-row img,.expertise-arrow{transition:none!important}.expertise-row:hover img,.expertise-row:hover .expertise-arrow{transform:none}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:bocw-page-out .16s ease both}::view-transition-new(root){animation:bocw-page-in .25s ease both}
@keyframes bocw-page-out{to{opacity:0}}@keyframes bocw-page-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}
/* Keep the opening in two lines on wide screens, with a stable rotating slot. */
@media(min-width:901px){.hero-display>span:first-child{display:inline}.hero-last{margin-left:.06em}.hero-end{margin-top:5px}}
.hero-period{display:none}
@media(max-width:600px){.hero-end{font-size:.78em}}

/* Homepage studio statement: readable long-form heading at every screen size. */
.studio-statement h1{font-size:clamp(36px,5.4vw,78px);line-height:1.12;letter-spacing:-.045em;max-width:1200px;color:#000000;text-wrap:balance}
@media(max-width:600px){.studio-statement h1{font-size:36px;line-height:1.15;letter-spacing:-.035em}}

/* Authentic studio photos in the about gallery. */
.office-pair.studio-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.office-pair.studio-gallery img{height:auto!important;aspect-ratio:2/3;object-fit:cover;object-position:center;border-radius:4px}
.expertise-row img{opacity:1}
.expertise-row:nth-child(4) img{object-position:center 58%}
@media(max-width:900px){.office-pair.studio-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
@media(max-width:600px){.office-pair.studio-gallery{gap:24px 14px}.office-pair.studio-gallery figcaption{font-size:12px}}

/* Footer studio identity and concise introduction. */
.footer-intro{min-width:0}.footer-intro .footer-brand{display:inline-block;line-height:1}.footer-intro .footer-brand img{display:block;width:180px;max-width:100%;height:auto}.footer-intro p{font-size:14px;line-height:1.65;color:#6f6f6f;max-width:300px;margin:22px 0 0;letter-spacing:0;font-weight:400}@media(max-width:600px){.footer-intro .footer-brand img{width:150px}.footer-intro p{font-size:13px;line-height:1.6;margin-top:18px}}

/* Paint opening text immediately; motion remains on below-fold content. */
.home-intro .home-meta,.home-intro h1,.home-intro .home-description,.home-intro .home-actions{animation:none}
.language-switch a{min-width:32px}.social-links a{min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}

/* Keep secondary copy readable on the warm grey page surface. */
.language-switch a,.hero-index,.project-card .caption,.expertise-heading .about-eyebrow,.expertise-heading>p:last-child,.expertise-number,.expertise-copy p,.copyright{color:#595854}
.language-switch a[aria-current="true"]{color:#161616}
/* Footer navigation needs separate, comfortable mobile touch targets. */
body>footer>div>a:not(.footer-brand){min-height:44px;display:flex;align-items:center}

/* Keyboard shortcut into the page, visible when focused. */
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;padding:14px 20px;background:#1c1b19;color:#fff;transform:translateY(-160%);border-radius:3px}
.skip-link:focus{transform:none;color:#fff;outline:3px solid #1554ff;outline-offset:3px}
#main-content:focus{outline:none}
.language-switch a{min-width:36px}.social-links a{min-width:36px;min-height:36px}
@media(max-width:800px){body>header{backdrop-filter:none;background:#f5f4f0}.bocw-reveal{animation:none!important}html{scroll-behavior:auto}}
/* Shared visitor counts: unobtrusive and below all footer content. */
.visitor-stats{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px 28px;flex-wrap:wrap;border-top:1px solid #d5d4d0;padding-top:22px;margin-top:10px;font-size:12px;line-height:1.7;color:#595854}
.visitor-stats-counts{display:flex;gap:28px;flex-wrap:wrap}.visitor-stats-counts>span{display:inline-flex;align-items:center;gap:8px}.visitor-stats strong{color:#202020;font-weight:600;font-variant-numeric:tabular-nums;min-width:1ch}.visitor-online-dot{width:6px;height:6px;border-radius:50%;background:#35764a;display:inline-block}.visitor-stats-note{font-size:11px}
@media(max-width:600px){.visitor-stats{gap:10px;padding-top:18px}.visitor-stats-counts{gap:12px 24px}.visitor-stats-note{flex-basis:100%}}
