/* Bounded updates; original style.css and section hierarchy are preserved. */
[hidden]{display:none!important}html{scroll-behavior:smooth}a:focus-visible,button:focus-visible{outline:3px solid #008690;outline-offset:5px}.hamburger{background:transparent;border:0;padding:0}.hamburger span{display:block;width:100%;height:3px;background:#515151;margin:5px 0}
/* First view */
.portfolio-home .refined-fv{position:relative;box-sizing:border-box;margin-bottom:90px;padding:90px 0 26px;background-color:#f7f8f5;background-image:none;overflow:hidden;isolation:isolate}.fv-composition{max-width:1140px;margin:auto;padding:32px 40px;display:flex;align-items:center;min-height:610px;box-sizing:border-box}.fv-copy{position:relative;z-index:2;width:42%;max-width:450px}.fv-copy .fv-logo{position:relative;width:100%;aspect-ratio:1068/262;overflow:hidden;margin:0;line-height:1}.fv-logo img{position:absolute;width:127.9026%;max-width:none!important;height:auto!important;left:-13.9513%;top:-96.565%;display:block;object-fit:contain!important;margin:0!important}.fv-discipline{font:400 clamp(18px,2vw,26px)/1.6 Montserrat,sans-serif;letter-spacing:.07em;color:#456367;margin:0 0 22px}.fv-description{font-size:16px;line-height:2;letter-spacing:.06em;margin:0}.ink-scene{position:absolute;top:60px;right:-12vw;width:min(810px,54vw);aspect-ratio:582/490;margin:0;pointer-events:none}.ink-scene .hand-art,.ink-scene .drop-art{position:absolute;top:0;left:0;display:block;width:100%;max-width:none;height:auto;object-fit:contain;margin:0;transform-origin:2.3% 93.5%}.hand-art{clip-path:inset(0 0 24% 0)}.drop-art{clip-path:inset(86.8% 95% 0 0);animation:ink-fall 4.2s infinite;will-change:transform,opacity}.ink-ripple{position:absolute;left:2.3%;top:92%;width:90px;height:16px;border:1px solid #7fcad1;border-radius:50%;transform:translateX(-50%) scale(.2);opacity:0;animation:ink-spread 4.2s infinite}.ripple-two{animation-delay:.16s}.fv-bottom{max-width:1060px;margin:24px auto 0;padding:0 40px;display:flex;justify-content:space-between;align-items:center;gap:18px}.fv-bottom>a{font:400 12px/1.6 Montserrat,sans-serif;letter-spacing:.15em}.motion-paused .drop-art,.motion-paused .ink-ripple{animation-play-state:paused}
@keyframes ink-fall{0%{transform:translateY(-18%) scale(.08);opacity:0}10%{transform:translateY(-18%) scale(.25,.38);opacity:1}36%{transform:translateY(-16%) scale(.7,.8);opacity:1}44%{transform:translateY(-12%) scale(.8,1.03);opacity:1}72%{transform:translateY(46%) scale(.82,1.12);opacity:1}75%{transform:translateY(47%) scale(1.2,.25);opacity:0}100%{transform:translateY(47%) scale(1.2,.25);opacity:0}}
@keyframes ink-spread{0%,70%{opacity:0;transform:translateX(-50%) scale(.1)}76%{opacity:.6}98%,100%{opacity:0;transform:translateX(-50%) scale(1.5)}}
/* Original three-column / mobile two-column WORKS layout; isolate inherited alternating rows. */
.works-index .allworks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px;margin:50px auto;padding:0;width:100%;max-width:100%;align-items:start}
.works-index .allworks-grid>.work-item,.works-index .allworks-grid>.work-item:nth-child(even){display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;min-width:0;width:100%;max-width:none;gap:0;margin:0 0 100px;padding:0;text-align:center}
.works-index .allworks-grid>.work-item>a{display:block;width:100%;overflow:hidden;border-radius:8px;flex:none}
.works-index .allworks-grid .work-item img{display:block;width:100%;height:auto;aspect-ratio:410/290;object-fit:cover;margin:0}
.works-index .allworks-grid .namelogo img,.works-index .allworks-grid .logo img,.works-index .allworks-grid .graphic img{object-fit:contain;background:#fff}
.works-index .allworks-grid .tag{position:static;align-self:center;margin:14px 0 8px;padding:0;color:#88700d;font-size:14px;line-height:1.5;transform:none}
.works-index .allworks-grid .work-text{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex:none;width:100%;margin:0;padding:0;gap:12px}
.works-index .allworks-grid h3{font-size:16px;line-height:1.7;margin:0;min-height:2.8em;text-align:center}
.works-index .allworks-grid .btn-wrapper{margin:0;text-align:center}.works-index .allworks-grid .btn{margin:0;padding:7px 17px}
.works-index .category-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-bottom:0}.works-index .tab-btn{min-height:42px;padding:8px 20px;cursor:pointer}.works-index .tab-btn.active{background:#008690;border-color:#008690;color:white}.limited-works-note{font-size:14px;line-height:1.8;margin:24px 0 0}.all-works-button .limited-works-note a{display:inline;background:none;border:0;border-radius:0;color:#008690;padding:0;text-decoration:underline;font-size:inherit}
/* Original CONTACT wording, one large site-colour action. */
.contact-section .line-contact{display:flex;align-items:center;justify-content:center;gap:40px;width:min(520px,calc(100% - 40px));min-height:86px;box-sizing:border-box;margin:35px auto 0;padding:20px 30px;border-radius:50px;background:linear-gradient(120deg,#16aa60,#078d4c);border:1px solid #078d4c;box-shadow:0 8px 20px #078d4c25;color:white;font-size:22px;font-weight:700;line-height:1.5;text-decoration:none;transition:transform .2s,box-shadow .2s}.contact-section .line-contact:hover{transform:translateY(-3px);box-shadow:0 12px 26px #078d4c35}
/* Added name-logo detail pages. */
.logo-detail-nav{max-width:1120px;margin:auto;padding:24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.logo-detail-nav>a{font:bold 24px Montserrat,sans-serif;color:#008690}.logo-detail-nav nav{display:flex;gap:24px;flex-wrap:wrap}.logo-case{max-width:1000px;margin:50px auto 80px;padding:0 24px}.logo-case h1{font-size:clamp(30px,5vw,48px);line-height:1.5;margin:12px 0}.logo-case-image{width:100%;height:auto;display:block;margin:35px 0;background:white;border:1px solid #d5e4e1;border-radius:6px}.logo-case section{max-width:720px;margin:35px 0;line-height:1.9}.logo-case section h2{font-size:22px}.logo-case-footer{text-align:center;padding:28px;font-size:14px}.logo-case .secondary-action{display:inline-block;padding:12px 24px;border:1px solid #008690;border-radius:30px;color:#008690}
@media(max-width:768px){.portfolio-home .refined-fv{padding:65px 0 26px;margin-bottom:65px}.fv-composition{display:block;min-height:0;padding:0 28px;margin-top:clamp(370px,102vw,780px)}.fv-copy{width:100%;max-width:400px}.fv-copy .fv-logo{width:min(340px,100%);margin:0 0 22px}.fv-discipline{font-size:19px;margin-bottom:14px}.fv-description{font-size:16px}.ink-scene{top:36px;left:31.286vw;right:auto;width:118vw;max-width:none;margin:0;aspect-ratio:582/490}.fv-bottom{padding:0 28px;margin-top:40px;flex-wrap:wrap}.works-index .allworks-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px;padding:0 8px;width:auto}.works-index .category-tabs{gap:8px}.works-index .tab-btn{padding:8px 14px}.works-index .allworks-grid h3{font-size:15px}.works-index .allworks-grid .btn{font-size:14px;padding:6px 12px}.contact-section .line-contact{min-height:78px;font-size:20px;gap:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none!important}.refined-fv.motion-paused .drop-art{animation:none;transform:translateY(-16%) scale(.7,.8);opacity:1}.refined-fv.motion-paused .ink-ripple{animation:none;opacity:0}[data-aos]{opacity:1!important;transform:none!important}}

/* Requested four-card SERVICE layout. */
.restored-services{max-width:1120px!important;margin:80px auto!important;padding:0 24px!important;box-sizing:border-box;text-align:left!important}.restored-services .service-subtitle{font-size:24px;font-weight:400;text-align:center;margin:0 0 50px}.restored-services .price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.restored-services article{background:#fff;border:1px solid #b7d2cf;border-radius:6px;padding:30px;min-width:0;box-sizing:border-box}.restored-services article>p{font-size:16px;line-height:1.9;margin:18px 0}.restored-services article .service-category{color:#007780;font-family:Montserrat,sans-serif;font-size:14px;font-weight:700;letter-spacing:.06em;margin:0 0 22px}.restored-services article h3{font-size:24px;line-height:1.6;margin:0 0 20px;color:#515151}.restored-services .service-price{border-top:1px solid #d5e4e1;margin-top:24px;padding-top:20px;color:#006b73;font-size:20px;font-weight:700;line-height:1.8}.restored-services .service-price p{margin:0}.restored-services .service-options{margin-bottom:0}.restored-services .service-note{font-size:14px;line-height:1.8;margin-top:22px}.all-works-button .limited-works-note a{color:#078d4c}
@media(max-width:600px){.restored-services .price-grid{grid-template-columns:1fr;gap:20px}.restored-services article{padding:24px}.restored-services article h3{font-size:22px}.restored-services .service-price{font-size:18px}.restored-services{padding:0 22px!important;margin:60px auto!important}}

@media(max-width:768px){.restored-services .service-subtitle{font-size:18px}}

/* X header reference: grid, colour arcs and design capability labels. */



.fv-logo-frame{position:relative;margin:0 0 28px;padding:20px 12px;box-sizing:border-box}




.fv-capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin:30px 0 0;padding:0;list-style:none}
.fv-capabilities li{display:flex;align-items:center;gap:12px;min-width:0}
.fv-capabilities svg{width:32px;height:32px;flex:none;stroke:#50b8c5;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.fv-capability-name{display:block;font:400 19px/1.5 Montserrat,sans-serif;letter-spacing:.04em;color:#456367}
.fv-capability-detail{display:block;font-size:14px;line-height:1.7;letter-spacing:0;color:#515151}
.fv-bottom{position:relative;z-index:2}.ink-scene{z-index:1}
@media(max-width:768px){.fv-copy{margin-left:auto;margin-right:auto;text-align:center}.fv-logo-frame{width:min(364px,100%);margin:0 auto 22px;padding:16px 12px}.fv-copy .fv-logo{width:100%;margin:0 auto}.fv-discipline{text-align:center}.fv-capabilities{gap:20px 12px;margin:26px auto 0;text-align:center;max-width:350px}.fv-capabilities li{gap:6px;flex-direction:column;align-items:center}.fv-capabilities svg{width:28px;height:28px}.fv-capability-name{font-size:17px}.fv-capability-detail{font-size:14px}.fv-bottom{justify-content:center;text-align:center}}
@media(max-width:360px){.fv-capabilities{column-gap:8px}.fv-capabilities svg{width:24px;height:24px}.fv-capabilities li{gap:6px}.fv-capability-name{font-size:16px}}

/* Match original grid spacing and open up the WORKS heading. */
.portfolio-home .works-section>h2,.works-index .works-section>h2{margin-bottom:50px}
@media(max-width:768px){.works-index .allworks-grid .btn-wrapper{margin-bottom:-50px}.portfolio-home .works-section>h2,.works-index .works-section>h2{margin-bottom:40px}}

/* Supplied maru assets form a quiet FV background. */
.fv-maru-background{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.fv-maru-background .fv-maru{position:absolute;display:block;max-width:none;height:auto;object-fit:contain;margin:0;opacity:.24}
.fv-maru-background .maru-a{width:200px;left:-60px;top:30px;transform:rotate(-18deg)}
.fv-maru-background .maru-b{width:170px;right:20%;top:-70px;transform:rotate(24deg);opacity:.2}
.fv-maru-background .maru-c{width:240px;right:-70px;bottom:-65px;transform:rotate(70deg);opacity:.22}
@media(max-width:768px){.fv-maru-background .maru-a{width:140px;left:-55px;top:30px}.fv-maru-background .maru-b{width:100px;right:12%;top:-35px}.fv-maru-background .maru-c{width:175px;right:-65px;bottom:35px}}

/* Photo-led first view. Crop is presentation-only; the supplied photo is intact. */
.portfolio-home>.maru-fixed.top{display:none}
.photo-fv{position:relative;isolation:isolate;background:#f7f8f5;color:#305d60;padding:100px 9% 26px 7%;margin-bottom:90px;overflow:hidden;box-sizing:border-box}
.photo-fv-inner{max-width:1160px;min-height:590px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:5%;align-items:center;position:relative}
.photo-fv-copy{position:relative;z-index:2;padding:20px 0 40px}
.photo-fv-eyebrow{font:400 12px/1.7 Montserrat,sans-serif;letter-spacing:.18em;margin:0 0 35px}
.photo-fv-logo{position:relative;width:min(380px,95%);aspect-ratio:1068/262;overflow:hidden;margin:0 0 32px}
.photo-fv-logo img{position:absolute;display:block;width:127.9026%;max-width:none;height:auto;left:-13.9513%;top:-96.565%;margin:0}
.photo-fv-discipline{font:400 clamp(36px,4.2vw,62px)/1.16 Montserrat,sans-serif;letter-spacing:-.045em;margin:0 0 34px;color:#305d60}
.photo-fv-services{display:flex;flex-wrap:wrap;gap:10px 0;list-style:none;padding:0;margin:0;max-width:420px}
.photo-fv-services li{font-size:14px;line-height:1.6;letter-spacing:.025em;padding:0 14px;border-right:1px solid #abc3c3}
.photo-fv-services li:first-child{padding-left:0}.photo-fv-services li:last-child{border:0}
.photo-fv-portrait{position:relative;z-index:1;margin:0 0 0 auto;width:100%;max-width:480px;align-self:center}
.photo-fv-portrait>img{display:block;width:100%;height:570px;object-fit:cover;object-position:58% 50%;border-radius:220px 220px 4px 4px}
.photo-fv-portrait figcaption{font:400 10px/1.6 Montserrat,sans-serif;letter-spacing:.14em;text-align:right;margin-top:13px;color:#557679}
.photo-fv-maru{position:absolute;width:230px;height:auto;bottom:4%;left:-15%;opacity:.19;z-index:0;pointer-events:none}
.photo-fv-footer{max-width:1160px;margin:40px auto 0;border-top:1px solid #c3d2d0;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font:400 11px/1.7 Montserrat,sans-serif;letter-spacing:.12em}
.photo-fv-footer a{color:#305d60;text-decoration:none}.photo-fv-footer a span{display:inline-block;margin-left:16px;font-size:19px}
@media(min-width:1600px){.photo-fv{padding-top:120px;padding-bottom:35px}.photo-fv-inner{min-height:650px}.photo-fv-portrait>img{height:620px}}
@media(max-width:900px) and (min-width:769px){.photo-fv{padding-left:5%;padding-right:11%}.photo-fv-portrait>img{height:490px}.photo-fv-services{gap:10px}.photo-fv-services li{padding:0 8px}.photo-fv-inner{gap:3%}}
@media(max-width:768px){.photo-fv{padding:78px 24px 22px;margin-bottom:65px}.photo-fv-inner{min-height:0;grid-template-columns:1fr;gap:30px}.photo-fv-copy{text-align:center;padding:0}.photo-fv-eyebrow{font-size:10px;margin:0 0 23px;letter-spacing:.13em}.photo-fv-logo{width:min(270px,85%);margin:0 auto 20px}.photo-fv-discipline{font-size:clamp(31px,8vw,44px);line-height:1.15;margin-bottom:23px}.photo-fv-discipline br{display:none}.photo-fv-services{justify-content:center;margin:auto;max-width:340px;row-gap:8px}.photo-fv-services li{font-size:12px;padding:0 10px}.photo-fv-portrait{width:min(310px,88%);margin:0 auto}.photo-fv-portrait>img{height:330px;border-radius:155px 155px 3px 3px;object-position:58% 48%}.photo-fv-portrait figcaption{font-size:9px;margin-top:10px;text-align:center}.photo-fv-maru{left:-110px;bottom:12%;width:200px}.photo-fv-footer{margin-top:27px;padding-top:15px;justify-content:center}.photo-fv-footer>span{display:none}.photo-fv-footer a{font-size:10px}}
