@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--orange:#dd551c;--ink:#171717;--cream:#fffaf5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',system-ui,sans-serif;background:#fffdfb;font-size:14px}a{color:inherit;text-decoration:none}.wrap{width:min(100% - 88px,1110px);margin:auto}.eyebrow{color:#cb4c1b;letter-spacing:.18em;font-weight:800;font-size:12px;margin:0 0 10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:39px;padding:0 27px;border-radius:999px;background:var(--orange);color:#fff;font-size:12px;font-weight:800;white-space:nowrap;border:1px solid var(--orange)}.button span{font-size:17px;font-weight:400}.button.outline{background:white;color:#222;border-color:#e9a788}.button:hover{filter:brightness(.94)}.header{height:68px;display:flex;align-items:center;gap:26px}.brand{color:#cf4c1a;display:inline-flex;align-items:center;gap:7px;font-weight:1000;font-size:20px;letter-spacing:-.065em;white-space:nowrap;line-height:1}.brand-mark{font-size:30px;display:inline-grid;place-items:center;background:#d8531a;color:white;width:25px;height:27px;border-radius:50%;font-family:serif;line-height:1}.header nav{margin-left:auto;display:flex;gap:20px;align-items:center;white-space:nowrap}.header nav a,.footer-top nav a{font-size:10px;font-weight:700}.header-button{min-width:145px}.hero{height:322px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-copy{position:relative;z-index:1;width:55%;padding-bottom:10px}.hero h1{font-size:clamp(32px,4.3vw,57px);letter-spacing:.055em;line-height:1.26;font-weight:900;margin:9px 0 14px}.hero h1 span,.philosophy h2 span{color:var(--orange)}.hero-copy>p:not(.eyebrow){font-size:12px;font-weight:600;line-height:1.85;margin:0 0 20px}.actions{display:flex;gap:15px;flex-wrap:wrap}.slider-dots{position:absolute;bottom:-35px;left:0;color:#555;font-size:15px;letter-spacing:5px}.slider-dots b{color:var(--orange)}.hero-art{position:absolute;right:-42px;top:-10px;width:540px;height:340px;background:url('images/hero-art-hd.webp') center / contain no-repeat;pointer-events:none}.philosophy{background:#f8efe5}.philosophy-inner{height:255px;position:relative;display:flex;align-items:center;overflow:hidden}.philosophy-copy{width:47%;z-index:1}.philosophy h2{font-size:29px;letter-spacing:.05em;line-height:1.27;margin:0 0 11px;font-weight:900}.philosophy-copy>p:not(.eyebrow){font-size:11px;line-height:1.8;font-weight:600;margin:0 0 12px}.philosophy .button{min-height:32px;padding:0 20px}.philosophy-art{height:255px;position:absolute;left:43%;right:-43px;background:url('images/philosophy-photo-hd.webp') center / cover no-repeat}.section{padding-top:27px;padding-bottom:16px}.section-heading{display:flex;align-items:end;gap:20px;margin:0 0 14px}.section-heading>div{flex:none}.section-heading h2{font-size:22px;margin:0;font-weight:900;line-height:1.2}.section-heading .eyebrow{margin-bottom:4px}.section-heading>p{border-left:1px solid #aaa;padding-left:17px;margin:0 0 3px;font-size:11px;line-height:1.4;font-weight:600;flex:1}.section-heading>a{font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;margin-bottom:4px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.service{min-height:260px;border-radius:9px;padding:15px 18px 14px;display:flex;flex-direction:column;overflow:hidden}.service strong{color:#cf521b;font-size:21px;line-height:1.2}.service h3{font-size:16px;white-space:nowrap;margin:0;font-weight:900}.service p{font-size:10px;font-weight:600;line-height:1.56;margin:0 0 10px}.service a{font-size:10px;font-weight:900;margin-top:auto}.card-one{background:#fff0e7}.card-two{background:#edf4f8}.card-three{background:#eff7ed}.card-four{background:#fff5e6}.service-art{height:90px;margin:5px -5px 5px;background-repeat:no-repeat;background-position:center;background-size:contain}.art-one{background-image:url('images/service-consulting-hd.webp')}.art-two{background-image:url('images/service-system-hd.webp')}.art-three{background-image:url('images/service-infra-hd.webp')}.art-four{background-image:url('images/service-web-hd.webp')}.works{padding-top:13px;padding-bottom:29px}.works-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.work-image{height:86px;background-repeat:no-repeat;background-position:center;background-size:contain;border-radius:4px}.work-one{background-image:url('images/work-corporate-hd.webp')}.work-two{background-image:url('images/work-system-hd.webp')}.work-three{background-image:url('images/work-infra-hd.webp')}.work-four{background-image:url('images/work-web-hd.webp')}.work-five{background-image:url('images/work-consulting-hd.webp')}.works-grid h3{font-size:10px;font-weight:900;margin:7px 0 0;white-space:nowrap}.works-grid p{font-size:9px;margin:0;color:#555}.about{background:#f8f1ea}.about-grid{min-height:247px;display:grid;grid-template-columns:1fr 1.04fr 1.18fr;gap:18px;align-items:center}.representative h2{font-size:22px;font-weight:900;line-height:1.3;margin:0 0 10px}.representative>p:not(.eyebrow){font-size:10px;line-height:1.65}.representative .name{font-size:12px!important;font-weight:900}.name small{font-size:9px;font-weight:500}.representative .button,.history .button{min-height:30px;padding:0 18px}.about-art{height:225px;background:url('images/representative-photo-hd.webp') center / cover no-repeat;transform:rotate(-2deg)}.history h2{font-size:16px;margin:0 0 8px}.history h2 span{color:var(--orange);font-size:12px;padding-left:12px}.history dl{margin:0 0 8px}.history dl div{display:flex;gap:18px;border-bottom:1px solid #dfd4ca;padding:5px 0;font-size:9px}.history dt{font-weight:800}.history dd{margin:0}.contact{height:125px;background:#ffead5}.contact-inner{height:100%;display:flex;justify-content:center;flex-direction:column;padding-left:26%}.contact .eyebrow{margin:0 0 4px}.contact h2{font-size:19px;font-weight:900;margin:0 0 9px}.contact .button{min-height:31px}footer{background:#22221f;color:#eee;padding:23px 0 10px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:25px}.footer-top .brand{color:white}.footer-top p{font-size:9px;line-height:1.6}.footer-top nav{display:flex;gap:16px;flex-wrap:wrap;padding-top:4px}.copyright{font-size:9px;color:#aaa;border-top:1px solid #454540;padding-top:10px;margin:9px 0 0}
@media(min-width:1200px){.hero{height:390px}.hero-art{right:0;transform:scale(1.15);transform-origin:right center}.philosophy-inner{height:300px}.philosophy-art{height:300px;background-size:1100px auto;background-position:-470px -456px}.service{min-height:290px}.service-art{margin-top:15px;margin-bottom:15px}.work-image{height:110px;background-size:1100px auto}.work-one{background-position:-60px -1238px}.work-two{background-position:-259px -1238px}.work-three{background-position:-459px -1238px}.work-four{background-position:-660px -1238px}.work-five{background-position:-857px -1238px}}
@media(max-width:780px){.wrap{width:min(100% - 36px,600px)}.header{height:62px}.brand{font-size:17px}.header nav{display:none}.header-button{min-width:0;margin-left:auto;padding:0 13px;font-size:10px}.hero{height:auto;display:block;padding-top:22px;padding-bottom:250px;overflow:hidden}.hero-copy{width:100%}.hero h1{font-size:clamp(31px,8vw,47px)}.hero-copy>p:not(.eyebrow){font-size:12px}.hero-art{top:auto;bottom:-35px;left:50%;right:auto;transform:translateX(-50%) scale(.72);transform-origin:center bottom}.slider-dots{display:none}.philosophy-inner{height:auto;display:block;padding-top:35px;padding-bottom:200px}.philosophy-copy{width:100%}.philosophy h2{font-size:27px}.philosophy-copy>p:not(.eyebrow){font-size:12px}.philosophy-art{top:auto;bottom:0;left:0;right:0;height:190px;background-size:750px auto;background-position:-300px -312px}.section-heading{flex-wrap:wrap}.section-heading>p{order:3;flex-basis:100%;border:0;padding:0}.section-heading>a{margin-left:auto}.services-grid{grid-template-columns:repeat(2,1fr)}.service{min-height:255px}.service h3{font-size:14px;white-space:normal}.service p{font-size:10px}.works-grid{grid-template-columns:repeat(2,1fr)}.work-image{height:100px}.works-grid article:last-child{display:none}.about-grid{padding-top:27px;padding-bottom:27px;grid-template-columns:1fr 1fr}.representative{grid-column:1 / -1}.about-art{height:225px}.history dl div{font-size:9px}.contact{height:auto;padding:35px 0;background:#ffead5}.contact-inner{padding-left:0;text-align:center;align-items:center}.contact h2{font-size:19px}.contact .actions{justify-content:center}.footer-top{display:block}.footer-top nav{margin-top:20px}}
@media(max-width:480px){.header-button{font-size:0;gap:0;width:39px;height:39px;padding:0}.header-button span{font-size:21px}.hero{padding-bottom:215px}.hero-art{transform:translateX(-50%) scale(.6);bottom:-40px}.hero .actions{gap:8px}.hero .button{padding:0 15px;font-size:10px}.philosophy-art{background-position:-345px -312px}.services-grid{gap:9px}.service{padding:12px;min-height:275px}.service-art{margin-left:-9px;margin-right:-9px}.art-two{background-position:-280px -774px}.art-three{background-position:-510px -774px}.art-four{background-position:-710px -774px}.works-grid{gap:12px}.about-grid{display:block}.about-art{margin:20px 0;background-position:-297px -1208px}.history{padding:0 0 8px}.contact .actions{gap:8px}.contact .button{padding:0 13px;font-size:10px}.footer-top nav{gap:14px}}

/* Individually prepared artwork; all headings and body copy remain HTML. */
.brand{gap:7px}.brand-mark{display:block;background:none;width:27px;height:29px;border-radius:0;object-fit:contain}.brand-word{display:block;width:128px;height:auto}.hero-art{width:490px;height:331px;top:2px;right:-44px}.hero h1{font-size:clamp(36px,5vw,57px)}.philosophy-art{background-position:center right}.service-art{background-size:contain;background-position:center}.work-image{background-size:cover;background-position:center}.about-art{background-position:center}.contact{position:relative;background-size:auto 100%}.contact::after{content:"";position:absolute;right:0;bottom:0;width:min(32%,300px);height:100%;background:none;pointer-events:none}.contact-inner{position:relative;z-index:1}footer .brand-word{filter:brightness(0) invert(1)}.footer-lettering{width:135px;height:68px;object-fit:contain;margin-left:auto}.footer-top nav{margin-left:auto}
@media(min-width:1200px){.hero-art{top:27px;right:0;transform:scale(1.15);transform-origin:right center}.philosophy-art{background-size:cover}.work-image{background-size:cover;background-position:center}}
@media(max-width:780px){.hero-art{top:auto;left:50%;right:auto;bottom:-35px;transform:translateX(-50%) scale(.72);transform-origin:center bottom}.philosophy-art{background-size:cover;background-position:center}.contact::after{width:33%}.footer-lettering{display:none}}
@media(max-width:480px){.hero-art{bottom:-40px;transform:translateX(-50%) scale(.6)}.philosophy-art{background-position:center}.contact{background-size:auto 85%}.contact::after{background-size:auto 85%}}

/* Main visual and working carousel */
.hero-slider{position:relative;overflow:hidden;background:#fffdfb}
.hero-slider [hidden]{display:none!important}
.hero-slider .hero{overflow:visible}
.hero-slider .hero-copy{padding-left:10px;padding-bottom:0}
.hero-slider .hero h1,.hero-slider .hero h2{font-size:clamp(36px,4.8vw,54px);letter-spacing:.055em;line-height:1.26;font-weight:900;margin:9px 0 14px}
.hero-slider .hero h2 span{color:var(--orange)}
.hero-slider .hero-art{top:-11px;right:-44px;width:490px;height:331px;background-size:490px 331px;background-position:center}
.hero-controls{height:0;position:relative;bottom:27px;display:flex;align-items:center;gap:13px;z-index:3;padding-left:5px}
.hero-arrow,.hero-pagination button{border:0;background:none;cursor:pointer;padding:0;color:#171717}
.hero-arrow{width:20px;height:25px;font:24px/1 Georgia,serif;display:grid;place-items:center}
.hero-pagination{display:flex;gap:9px;align-items:center}
.hero-pagination button{width:8px;height:8px;border:1px solid #bbb;border-radius:50%}
.hero-pagination button[aria-current="true"]{background:var(--orange);border-color:var(--orange)}
.hero-arrow:focus-visible,.hero-pagination button:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:2px}
@media(max-width:780px){.hero-slider .hero{height:510px;padding-top:22px;padding-bottom:0}.hero-slider .hero-copy{padding-left:0}.hero-slider .hero-art{top:auto;right:auto;bottom:2px;left:50%;transform:translateX(-50%) scale(.67);transform-origin:center bottom}.hero-controls{bottom:43px;padding-left:0}}
@media(max-width:480px){.hero-slider .hero{height:475px}.hero-slider .hero h1,.hero-slider .hero h2{font-size:clamp(29px,8vw,39px)}.hero-slider .hero-copy>p:not(.eyebrow){font-size:11px;line-height:1.65}.hero-slider .hero-art{bottom:-13px;transform:translateX(-50%) scale(.54)}.hero-controls{bottom:33px}}

/* The main visual is one continuous edge-to-edge scene. The left veil removes
   lettering baked into the supplied comp so live HTML remains legible. */
.hero-slider{height:clamp(320px,34.22vw,480px);background:#fffdfb url('images/mv-background-hd.webp') center center / cover no-repeat}
.hero-slider::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#fffdfb 0%,#fffdfb 44%,rgba(255,253,251,.98) 47%,rgba(255,253,251,0) 53%)}
.hero-slider .hero{height:100%;position:relative;z-index:1}
.hero-slider .hero-art{display:none}
.hero-slider .hero-copy{width:54%}
@media(max-width:780px){.hero-slider{height:510px;background:#fffdfb}.hero-slider::before{display:none}.hero-slider .hero-art{display:block}.hero-slider .hero-copy{width:100%}}
@media(max-width:480px){.hero-slider{height:475px}}

/* Section breathing room */
#services{padding-top:58px}
#works{padding-top:54px}
.about-grid{padding-top:30px;padding-bottom:30px}
@media(max-width:780px){#services{padding-top:44px}#works{padding-top:44px}.about-grid{padding-top:34px;padding-bottom:34px}}

/* Works: three readable columns, with the final pair centered. */
#works{padding-bottom:54px}
.works-grid{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:18px;row-gap:28px}
.works-grid article{grid-column:span 2;min-width:0}
.works-grid article:nth-child(4){grid-column:2 / span 2}
.works-grid article:nth-child(5){grid-column:4 / span 2}
.works-grid .work-image{width:100%;height:auto;aspect-ratio:157 / 88}
.works-grid h3{font-size:14px;margin-top:10px;white-space:normal}
.works-grid p{font-size:12px;margin-top:3px}
@media(max-width:780px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.works-grid article,.works-grid article:nth-child(4),.works-grid article:nth-child(5){grid-column:auto}.works-grid article:last-child{display:block;grid-column:1 / -1;width:calc((100% - 14px)/2);justify-self:center}.works-grid h3{font-size:12px}.works-grid p{font-size:10px}#works{padding-bottom:44px}}

/* Keep the philosophy copy entirely within its own column. */
@media(min-width:781px){
  .philosophy-inner{height:auto;min-height:255px;padding-top:25px;padding-bottom:25px}
  .philosophy-copy{width:43%;min-width:0}
  .philosophy-copy>p:not(.eyebrow){max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .philosophy-art{left:45%;top:0;height:100%}
}

/* High resolution work thumbnails maintain their full image framing. */
.works-grid .work-image{background-size:cover;background-position:center}

/* Spacious typography and layout */
html{font-size:16px}
body{font-size:1rem;line-height:1.8;font-feature-settings:"palt"}
.wrap{width:min(100% - 96px,1120px)}
.eyebrow{font-size:.875rem;letter-spacing:.17em;margin-bottom:16px}
.button{min-height:50px;padding:0 28px;font-size:.875rem}
.button span{font-size:1.125rem}
.header{height:96px;gap:28px}
.header nav{gap:27px}
.header nav a,.footer-top nav a{font-size:.8125rem}
.header-button{min-width:158px}
.hero-slider{height:clamp(430px,35vw,530px)}
.hero-slider .hero-copy{width:50%;padding-left:0}
.hero-slider .hero h1,.hero-slider .hero h2{font-size:clamp(2.5rem,4.2vw,3.75rem);line-height:1.35;margin:14px 0 22px}
.hero-slider .hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.95;max-width:35em;margin-bottom:28px}
.hero-controls{bottom:43px}
.philosophy-inner{min-height:500px;padding-top:88px;padding-bottom:88px}
.philosophy-copy{width:44%}
.philosophy h2{font-size:clamp(2rem,3.2vw,2.875rem);line-height:1.35;margin-bottom:27px}
.philosophy-copy>p:not(.eyebrow){font-size:1rem;line-height:2;max-width:32em;margin-bottom:30px}
.philosophy .button{min-height:48px;padding:0 25px}
.philosophy-art{left:52%;right:0}
#services,#works{padding-top:112px;padding-bottom:118px}
.section-heading{gap:32px;align-items:center;margin-bottom:39px}
.section-heading h2{font-size:2.5rem;line-height:1.3}
.section-heading>p{font-size:1rem;line-height:1.8;padding-left:27px;margin:0}
.section-heading>a{font-size:.875rem;margin:0}
.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.service{min-height:395px;padding:34px 40px;border-radius:16px}
.service strong{font-size:1.75rem}
.service h3{font-size:1.375rem;white-space:normal;margin-top:5px}
.service-art{height:150px;margin:12px 0 15px}
.service p{font-size:1rem;line-height:1.85;margin-bottom:18px}
.service a{font-size:.875rem}
.works-grid{column-gap:24px;row-gap:47px}
.works-grid .work-image{border-radius:10px}
.works-grid h3{font-size:1.125rem;margin-top:18px;line-height:1.45}
.works-grid p{font-size:.9375rem;line-height:1.6;margin-top:5px}
.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:90px;min-height:0;padding-top:105px;padding-bottom:105px}
.company-copy h2{font-size:2.5rem;line-height:1.35;margin:0 0 25px}
.company-copy>p:not(.eyebrow){font-size:1rem;line-height:2;max-width:35em;margin:0 0 30px}
.company-details{margin:0;font-size:.9375rem}
.company-details>div{display:grid;grid-template-columns:100px 1fr;gap:22px;padding:14px 0;border-bottom:1px solid #decfc0}
.company-details dt{font-weight:800}.company-details dd{margin:0}
.about-art{height:370px;transform:none;border-radius:12px}
.contact{height:auto;padding:112px 0 125px;background:#fff0df}
.contact::after{display:none}
.contact-inner{height:auto;padding-left:0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:86px;align-items:start;justify-content:initial;text-align:left}
.contact .eyebrow{margin-bottom:17px}
.contact h2{font-size:clamp(2rem,3vw,2.5rem);line-height:1.45;margin:0 0 25px}
.contact-intro>p:not(.eyebrow){font-size:1rem;line-height:1.9;margin:0}
.contact-form{display:grid;gap:24px}
.contact-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contact-form label{display:grid;gap:8px;font-size:.9375rem;font-weight:700}
.contact-form label span{display:inline;color:var(--orange);font-size:.75rem;margin-left:7px}
.contact-form input,.contact-form textarea{display:block;width:100%;min-height:50px;border:1px solid #decdbf;background:#fff;border-radius:8px;padding:12px 14px;font:inherit;font-size:1rem;line-height:1.6;color:var(--ink);resize:vertical}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.contact-form textarea{min-height:180px}
.contact-form .honey{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.contact-form .form-note{font-size:.8125rem;margin:0;color:#62564b}
.contact-form .button{justify-self:start;min-width:215px;cursor:pointer}
footer{padding:55px 0 22px}
.footer-top{gap:30px}
.footer-top p{font-size:.8125rem;line-height:1.9;margin-top:18px}
.footer-top nav{gap:22px}
.copyright{font-size:.75rem;margin-top:45px;padding-top:22px}
@media(max-width:980px){
  .header nav{gap:15px}.header nav a{font-size:.75rem}
  .hero-slider .hero h1,.hero-slider .hero h2{font-size:clamp(2.25rem,4.3vw,3rem)}
  .section-heading{flex-wrap:wrap}.section-heading>p{order:2;flex-basis:100%;border:0;padding:0}.section-heading>a{margin-left:auto}
}
@media(max-width:780px){
  .wrap{width:min(100% - 48px,600px)}
  .header{height:75px}.header-button{min-height:43px}
  .hero-slider,.hero-slider .hero{height:600px}
  .hero-slider .hero{padding-top:47px}
  .hero-slider .hero-copy{width:100%}
  .hero-slider .hero h1,.hero-slider .hero h2{font-size:clamp(2.125rem,7vw,3rem);margin-bottom:18px}
  .hero-slider .hero-copy>p:not(.eyebrow){font-size:.9375rem;line-height:1.8;margin-bottom:24px}
  .hero-slider .hero-art{bottom:18px;transform:translateX(-50%) scale(.68)}
  .hero-controls{bottom:44px}
  .philosophy-inner{min-height:0;padding-top:75px;padding-bottom:315px}
  .philosophy-copy{width:100%}
  .philosophy h2{font-size:clamp(2rem,5vw,2.5rem)}
  .philosophy-copy>p:not(.eyebrow){font-size:1rem;line-height:1.9}
  .philosophy-art{left:0;right:0;bottom:0;top:auto;height:270px}
  #services,#works{padding-top:82px;padding-bottom:88px}
  .section-heading h2{font-size:2.125rem}
  .section-heading>p{font-size:.9375rem}
  .services-grid{gap:18px}
  .service{min-height:0;padding:26px}
  .service h3{font-size:1.125rem}
  .service-art{height:120px}
  .service p{font-size:.9375rem}
  .works-grid{gap:32px 18px}
  .works-grid h3{font-size:1rem}
  .works-grid p{font-size:.875rem}
  .about-grid{display:grid;grid-template-columns:1fr;gap:38px;padding-top:80px;padding-bottom:80px}
  .about-art{height:300px;margin:0}
  .contact{padding:82px 0 90px}
  .contact-inner{grid-template-columns:1fr;gap:40px;align-items:stretch;text-align:left}
  .contact h2{font-size:2rem}
  .footer-top nav{gap:17px}
}
@media(max-width:560px){
  .wrap{width:calc(100% - 40px)}
  .eyebrow{font-size:.75rem}
  .hero-slider,.hero-slider .hero{height:605px}
  .hero-slider .hero h1,.hero-slider .hero h2{font-size:clamp(2rem,9vw,2.7rem)}
  .hero-slider .hero-copy>p:not(.eyebrow){font-size:.875rem}
  .hero-slider .hero-art{bottom:10px;transform:translateX(-50%) scale(.58)}
  .hero-controls{bottom:38px}
  .services-grid,.works-grid{grid-template-columns:1fr}
  .service{padding:30px;min-height:0}
  .service-art{height:165px}
  .works-grid article,.works-grid article:nth-child(4),.works-grid article:nth-child(5),.works-grid article:last-child{grid-column:auto;width:auto;justify-self:stretch}
  .works-grid .work-image{aspect-ratio:157 / 88}
  .section-heading{gap:18px;margin-bottom:30px}
  .section-heading>a{order:4;margin:0}
  .company-details>div{grid-template-columns:82px 1fr;gap:12px;font-size:.875rem}
  .contact-form .form-row{grid-template-columns:1fr;gap:22px}
  .footer-lettering{display:none}
}

/* Rebuilt high-resolution artwork */
.hero-slider{background-position:center center}
.philosophy-art{background-position:45% center}
.service-art{mix-blend-mode:multiply}
.art-three{mix-blend-mode:normal}
.footer-top .footer-lettering{width:auto;height:auto;object-fit:initial;flex:none;margin:2px 0 0 auto;color:#eee;font:italic 1.3rem/1.25 Georgia,serif;letter-spacing:.015em;transform:rotate(-7deg);text-align:center}
@media(max-width:780px){.hero-slider .hero-art{bottom:8px;transform:translateX(-50%) scale(.76)}}
@media(max-width:560px){.hero-slider .hero-art{bottom:8px;transform:translateX(-50%) scale(.74)}.footer-top .footer-lettering{display:none}}

/* Transparent service artwork shows each card’s own background colour. */
.service-art,.art-three{mix-blend-mode:normal}

/* Real project summaries and secondary pages */
.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 25px}
.works-grid article,.works-grid article:nth-child(4),.works-grid article:nth-child(5),.works-grid article:last-child{grid-column:auto;width:auto;display:block;min-width:0}
.work-cover{height:auto;aspect-ratio:157/88;border-radius:12px;padding:20px 22px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;color:#2d3033;background:#edf3f5}
.work-cover::after{content:"";position:absolute;width:75%;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;opacity:.14;right:-24%;top:10%;pointer-events:none}
.work-cover small{font-size:.75rem;font-weight:700;letter-spacing:.12em}
.work-cover strong{font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.15;letter-spacing:.04em;font-weight:900;max-width:90%;position:relative;z-index:1}
.work-cover span{position:absolute;right:22px;bottom:13px;font:700 2.9rem/1 Georgia,serif;opacity:.16}
.cover-pets{background:#fff1e6;color:#a34a21}.cover-blog{background:#f5edf1;color:#7f5575}.cover-mail{background:#eaf2f6;color:#3f6678}
.cover-video{background:#eaf4ef;color:#4a7455}.cover-campaign{background:#fff1da;color:#9c6a22}.cover-audition{background:#eeedf5;color:#5b5b86}
.works-grid h3{margin-top:17px;font-size:1.125rem;line-height:1.55;white-space:normal}
.works-grid p{margin-top:7px;font-size:.9375rem;line-height:1.75;color:#4d4d4d}
.company-teaser .about-grid{padding-top:105px;padding-bottom:105px}
.company-teaser .company-copy .button{margin-top:10px}
.contact-cta,.subpage-cta{background:#fff0df;padding:88px 0 96px;text-align:center}
.contact-cta-inner{max-width:780px}
.contact-cta h2,.subpage-cta h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.45;margin:0 0 20px}
.contact-cta p:not(.eyebrow){font-size:1rem;line-height:1.9;margin:0 0 28px}
.subpage-hero{padding-top:94px;padding-bottom:100px}
.subpage-hero h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.3;margin:0 0 18px}
.subpage-hero>p:not(.eyebrow){font-size:1.125rem;line-height:1.9;margin:0}
.company-page-philosophy{background:#f8efe5}
.company-page-philosophy-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding-top:80px;padding-bottom:80px}
.company-page-philosophy h2{font-size:clamp(2rem,3vw,2.65rem);line-height:1.45;margin:0 0 25px}
.company-page-philosophy h2 span{color:var(--orange)}
.company-page-philosophy p:not(.eyebrow){font-size:1rem;line-height:2;margin:0}
.company-page-photo{min-height:360px;border-radius:14px;background:url('images/philosophy-photo-hd.webp') 45% center/cover no-repeat}
.company-profile{padding-top:104px;padding-bottom:125px}
.profile-list{margin:25px 0 0;border-top:1px solid #e3d9cf}
.profile-list>div{display:grid;grid-template-columns:190px 1fr;gap:25px;padding:25px 8px;border-bottom:1px solid #e3d9cf;font-size:1rem}
.profile-list dt{font-weight:800}.profile-list dd{margin:0;line-height:1.85}
.subpage-cta{padding:80px 0 88px}
.contact-page{background:#fff0df;padding:80px 0 120px}
.contact-page-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:86px;align-items:start}
.contact-page h2{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.45;margin:0 0 24px}
.contact-page .contact-intro p{font-size:1rem;line-height:1.9;margin:0}
@media(max-width:780px){
  .works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px}
  .company-teaser .about-grid{padding-top:78px;padding-bottom:80px}
  .contact-cta,.subpage-cta{padding:75px 0 82px}
  .subpage-hero{padding-top:72px;padding-bottom:76px}
  .company-page-philosophy-inner{grid-template-columns:1fr;gap:34px;padding-top:72px;padding-bottom:75px}
  .company-page-photo{min-height:310px}
  .company-profile{padding-top:80px;padding-bottom:90px}
  .contact-page{padding:65px 0 90px}
  .contact-page-inner{grid-template-columns:1fr;gap:42px}
}
@media(max-width:560px){
  .works-grid{grid-template-columns:1fr;gap:35px}
  .works-grid article,.works-grid article:nth-child(4),.works-grid article:nth-child(5),.works-grid article:last-child{grid-column:auto;width:100%}
  .work-cover{padding:22px 24px}
  .work-cover strong{font-size:1.45rem}
  .profile-list>div{grid-template-columns:1fr;gap:4px;padding:20px 0}
  .company-page-photo{min-height:260px}
}

/* Contact entry points contain only the action. */
.contact-cta,.subpage-cta{padding:62px 0}
.contact-cta-inner{display:flex;justify-content:center}
.contact-page-inner{display:block;max-width:760px}
.contact-page .contact-form{width:100%}
.contact-page{padding-top:68px}
.contact-hero{padding-bottom:54px}

/* Representative background on the company page. */
.leader-history{padding-top:12px;padding-bottom:120px}
.leader-history .section-heading{margin-bottom:34px}
.leader-overview{max-width:860px;margin-bottom:38px}
.leader-overview h3{font-size:1.5rem;margin:0 0 14px}
.leader-overview p{font-size:1rem;line-height:2;margin:0}
.leader-timeline{list-style:none;margin:0;padding:0;border-top:1px solid #e1d5ca}
.leader-timeline li{display:grid;grid-template-columns:140px 1fr;gap:28px;padding:21px 3px;border-bottom:1px solid #e1d5ca}
.leader-timeline time{font-size:1.2rem;font-weight:800;color:var(--orange)}
.leader-timeline p{font-size:1rem;line-height:1.8;margin:0}

/* Shared mobile navigation. */
.menu-toggle{display:none}
@media(max-width:780px){
  .header{position:relative;z-index:30;gap:12px}
  .header-button{margin-left:auto}
  .menu-toggle{width:44px;height:44px;padding:11px;flex:none;display:flex;flex-direction:column;justify-content:center;gap:5px;background:#fff;border:1px solid #e5c8b6;border-radius:10px;cursor:pointer}
  .menu-toggle span{display:block;width:100%;height:2px;background:#2b2927;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
  .menu-toggle:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
  .header[data-menu-open="true"] .menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}
  .header[data-menu-open="true"] .menu-toggle span:nth-child(2){opacity:0}
  .header[data-menu-open="true"] .menu-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .header[data-menu-open="true"] nav{display:flex}
  .header nav{position:absolute;top:calc(100% - 3px);right:0;margin:0;width:min(330px,calc(100vw - 40px));padding:12px;flex-direction:column;gap:0;align-items:stretch;background:#fffdfb;border:1px solid #eee0d5;border-radius:12px;box-shadow:0 18px 38px rgba(46,30,15,.16)}
  .header nav a{display:block;padding:12px 14px;font-size:1rem;border-radius:7px}
  .header nav a:hover,.header nav a:focus-visible{background:#fff0e7;outline:none}
  .leader-history{padding-top:0;padding-bottom:85px}
  .leader-timeline li{grid-template-columns:100px 1fr;gap:20px}
}
@media(max-width:560px){
  .header{gap:8px}
  .leader-timeline li{grid-template-columns:1fr;gap:2px;padding:18px 0}
  .contact-cta,.subpage-cta{padding:56px 0}
  .contact-page{padding-top:48px}
}

/* Keep narrow mobile viewports from gaining a sideways scroll area. */
@media(max-width:780px){
  html,body{overflow-x:clip}
  .header.wrap{width:100%;max-width:none;padding-right:28px;padding-left:28px}
  .header nav{right:28px;width:min(330px,calc(100vw - 56px))}
  .section-heading>p,.company-copy,.company-page-philosophy-inner>div,
  .profile-list dd,.leader-overview,.leader-timeline p{min-width:0;overflow-wrap:anywhere}
  .profile-list>div,.leader-timeline li{min-width:0}
}
@media(max-width:360px){
  .header .brand-word{width:106px}
}
@media(max-width:560px){
  .header-button{display:none}
  .menu-toggle{margin-left:auto}
}
