/* Modern agency modules; French engraving is an accent, not the UI language. */
:root{--paper:#f7f7f4;--ink:#111214;--line:#c9cac5;--radius:20px;background:var(--paper)}body{background:var(--paper)}
.section{padding-top:90px;padding-bottom:90px}.section-heading{align-items:flex-end}.section-heading>p{font-size:20px;color:#5b5e62}.section-heading h2{max-width:920px}
.hero.toile-hero{background:#fff;min-height:690px}.toile-headline{top:20%;left:18%;width:64%}.toile-headline h1{font-size:clamp(48px,5.1vw,87px)}.toile-panorama .toile-layer--press{width:28%;height:69%;left:-3%;bottom:-18px}.toile-panorama .toile-layer--arch{width:27%;height:73%;right:-3%;bottom:-18px}.toile-sun{width:70px;top:10%;left:11%}
.button{font-size:17px}.button-blue,.button-dark{background:var(--blue);color:#fff}.button-outline{color:var(--ink);border-color:#b8bbb9;background:transparent}
.task-section{background:var(--paper);color:var(--ink);padding:100px 6% 110px;min-height:0}.task-ornament{display:none}.task-inner{width:min(850px,100%);margin:0 auto}.task-section h2{color:var(--ink);font-size:40px;margin:0 0 32px}.task-list{display:flex;flex-direction:column;gap:12px}.task-card{border:1px solid #deded8;border-radius:20px;background:#fff;color:var(--ink);font-size:29px;min-height:86px;padding:24px 28px;line-height:1.25}.task-card--result{background:var(--blue);color:#fff;border-color:var(--blue);margin:0;min-height:96px;padding:28px}.task-card--result strong{font-family:var(--display);font-size:27px;letter-spacing:-.045em;font-weight:400}
.showreel{background:var(--ink);color:#fff}.reel-stage{background:var(--blue);color:#fff;border:0;border-radius:22px}.reel-stage:before{content:none}.reel-slide{align-items:flex-start;text-align:left;padding:40px}.reel-slide>span,.reel-slide p{color:#fff}.reel-slide>span{font-size:18px}.reel-slide p{font-size:24px}.reel-toggle{color:#fff;border-color:#ffffff70;border-radius:10px;font-size:15px}.showreel .section-heading{display:flex}.showreel .button-outline{color:#fff;border-color:#ffffff70}.showreel .button-row{justify-content:flex-end;max-width:460px}.compact h2{color:#fff}
.industries{background:var(--paper)}.industries .section{padding-top:85px}.ticker-track span{font-size:26px}.services-grid{gap:14px;border:0}.service-card,.service-card:nth-child(4n+1),.service-card:nth-child(3n+2),.service-card:nth-child(3n),.service-card:nth-child(2n){border:1px solid var(--line);border-radius:20px;background:#f9f9f6;color:var(--ink);padding:29px;min-height:365px}.service-card:last-child{min-height:365px}.service-card:nth-child(4n+1){background:var(--blue);color:#fff;border-color:var(--blue)}.service-card h3{font-size:31px;font-family:var(--display);line-height:1.15}.service-card p{font-size:19px;color:#51545a;line-height:1.48}.service-card:nth-child(4n+1) p,.service-card:nth-child(4n+1) .text-button{color:#fff}.service-card .text-button{font-family:var(--body-font);font-size:17px;color:var(--ink)}.card-actions{gap:19px;padding-top:32px}
.project-cta{background:#eceeea;color:var(--ink);border:0}.project-cta .button{background:var(--blue);color:#fff;border-color:var(--blue)}.cta-columns p,.cta-columns li{font-size:20px}.cta-columns h3{font-size:33px}
.cases-grid{gap:16px}.case-card,.case-card--blue,.case-card--light,.case-card--dark{border-radius:20px;border-color:var(--line);padding:29px;min-height:360px}.case-card--blue,.case-card:nth-child(4n+1){background:var(--blue);border-color:var(--blue);color:#fff}.case-card--light{background:#eceee8;color:var(--ink)}.case-card--dark{background:var(--ink);color:#fff;border-color:var(--ink)}.case-card--dark:nth-child(4n+1){background:var(--ink)}.case-card--blue .case-more,.case-card--dark .case-more{color:#fff}.case-category{font-size:16px}.case-bottom{font-size:17px}.case-more{font-size:14px}.case-title{margin:30px 0;font-size:clamp(31px,3vw,49px)}
.approach{background:var(--ink);color:#fff}.approach .section-heading>p{color:#c8cbd2}.approach-grid{gap:15px;border:0}.approach-grid article{border:1px solid #4b4f55;border-radius:20px;padding:27px;min-height:205px}.approach-grid article p{color:#c8cbd2;font-size:18px}.approach>.button{background:var(--blue);color:#fff;border-color:var(--blue)}.subheading{font-family:var(--display);font-size:30px;margin-bottom:30px}
.process-grid{gap:15px;border:0}.process-grid article,.process-grid article:nth-child(2n),.process-grid article:nth-child(3),.process-grid article:nth-child(4){border:1px solid var(--line);border-radius:20px;padding:30px;min-height:320px;background:#f9f9f6}.process-grid article:nth-child(3),.process-grid article:nth-child(4){background:var(--ink);color:#fff;border-color:var(--ink)}.process-grid article:nth-child(3) p,.process-grid article:nth-child(4) p{color:#c8cbd2}.process-grid p{font-size:19px}.step-number{font-size:18px;background:var(--blue);color:#fff;border-radius:30px;padding:7px 17px;margin-bottom:30px}
.founders{background:var(--paper)}.portrait-placeholder{border-radius:20px;background:#eceee8;padding:28px;min-height:490px}.photo-slot{border-radius:12px;background:#ffffff70;border-color:#bfc4bf}.bio-card{padding:24px;border:1px solid var(--line);border-radius:20px}.bio-card p,.bio-card p+p{font-size:18px}.founder-info blockquote{font-size:23px;margin:28px 0}.contact-tile,.contact-tile.blue,.contact-tile.dark{border-radius:16px;min-height:155px;padding:20px}.contact-tile.dark{background:var(--ink);border-color:var(--ink);color:#fff}.contact-tile strong{font-size:24px}.contact-tile span{font-size:14px}.founder-info>.touch-heading{font-size:18px}
.faq{background:var(--paper)}.faq-item summary{font-size:27px}.faq-item p{font-size:19px;color:#51545a}.contacts{background:var(--ink);color:#fff}.contacts .section-heading>p{color:#c8cbd2}.form-grid label{font-size:17px}.form-grid input:not([type=range]),.form-grid textarea{border:1px solid #60646b;background:#202226;color:#fff;border-radius:12px;padding:15px;font-size:17px}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#959ba5}.contacts .button{background:var(--blue);color:#fff;border-color:var(--blue)}.form-note{color:#a4aab5;font-size:14px}.site-footer{background:#0b0b0c;border-color:#ffffff25}.footer-brand{color:#fff}.site-footer>a:last-child{color:#b4b7bc}
dialog{border-radius:20px;background:var(--paper)}.dialog-body .dialog-result{border-radius:14px}.dialog-close{border-radius:10px}.dialog-body p{font-size:18px}.dialog-result p{color:#fff}.notice{border-radius:14px}
@media(max-width:1050px){.service-card,.service-card:nth-child(3n+2),.service-card:nth-child(3n),.service-card:nth-child(2n){padding:25px}.service-card h3{font-size:29px}}
@media(max-width:700px){.section{padding:65px 6%}.hero.toile-hero{min-height:660px}.toile-headline{top:24%;left:5%;width:90%}.toile-headline h1{font-size:clamp(25px,7.7vw,51px)}.toile-panorama .toile-layer--press{width:45%;height:37%;left:-7%;bottom:-14px}.toile-panorama .toile-layer--arch{width:45%;height:40%;right:-7%;bottom:-14px}.toile-sun{width:56px;top:5%;left:10%}.section-heading>p{font-size:18px}.task-section h2{font-size:32px}.task-card{font-size:24px;min-height:80px;padding:22px}.task-card--result strong{font-size:22px}.task-card--result{min-height:90px}.reel-slide{padding:26px}.reel-slide p{font-size:21px;max-width:220px}.reel-slide>span{font-size:17px}.showreel .section-heading{display:block}.showreel .button-row{justify-content:flex-start;max-width:none}.service-card,.service-card:nth-child(4n+1),.service-card:nth-child(3n+2),.service-card:nth-child(3n),.service-card:nth-child(2n),.service-card:last-child{padding:25px;min-height:325px}.service-card p{font-size:18px}.cta-columns p,.cta-columns li{font-size:18px}.case-card{min-height:310px;padding:25px}.case-category{font-size:15px}.case-bottom{font-size:16px}.approach-grid article{min-height:190px;padding:24px}.approach-grid article p{font-size:17px}.subheading{font-size:26px}.process-grid article,.process-grid article:nth-child(2n),.process-grid article:nth-child(3),.process-grid article:nth-child(4){padding:25px;min-height:300px}.process-grid p{font-size:18px}.portrait-placeholder{min-height:410px}.bio-card{padding:22px}.bio-card p,.bio-card p+p{font-size:17px}.founder-info blockquote{font-size:21px}.contact-tile,.contact-tile.blue,.contact-tile.dark{padding:13px;min-height:145px}.contact-tile strong{font-size:19px}.contact-tile span{font-size:12px}.faq-item summary{font-size:23px}.faq-item p{font-size:18px}.form-grid label{font-size:16px}}
/* A visible navigation module with generous pointer and keyboard targets. */
.site-header{height:96px;padding:0 3%;gap:24px;border-bottom:1px solid #e4e5e1}.site-header nav{gap:9px}.site-header nav a{font-family:var(--body-font);font-size:18px;font-weight:600;line-height:1.15;border:1px solid #dedfd9;background:#f7f7f4;border-radius:9px;padding:12px 15px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}.site-header nav a:after{content:none}.site-header nav a:hover,.site-header nav a[aria-current=location]{background:var(--blue);border-color:var(--blue);color:#fff;opacity:1}.site-header nav a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.store-link{font-size:16px;font-weight:500;border:1px solid #dedfd9;border-radius:9px;padding:11px 14px;background:#fff;min-height:46px}.site-header .brand{font-size:29px}.hero.toile-hero{height:calc(100svh - 96px)}
@media(max-width:1120px) and (min-width:701px){.site-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px 46px;height:120px;padding:10px 4%;gap:0 20px}.site-header .brand{grid-row:1;grid-column:1;justify-self:start}.store-link{grid-column:2;grid-row:1;min-height:40px;padding:8px 12px}.site-header nav{grid-row:2;grid-column:1/-1;justify-content:space-between}.site-header nav a{flex:1;font-size:17px;min-height:41px;padding:9px 14px}.hero.toile-hero{height:calc(100svh - 120px)}html{scroll-padding-top:140px}}
@media(max-width:700px){.site-header{height:124px;padding:11px 5%;grid-template-rows:42px 46px;gap:8px 10px;border-bottom:1px solid #e4e5e1}.site-header .brand{font-size:25px}.site-header nav{gap:6px}.site-header nav a{font-size:15px;font-weight:600;padding:10px 7px;min-height:43px;flex:1;border-radius:8px}.store-link{font-size:12px;padding:8px 10px;min-height:38px;border-radius:8px}.store-link svg{width:18px;height:18px}.hero.toile-hero{height:calc(100svh - 124px)}html{scroll-padding-top:140px}}
@media(max-width:350px){.site-header nav a{font-size:13px;padding:10px 5px}.site-header .brand{font-size:23px}.store-link{font-size:11px;gap:5px}}
/* Completed organic silhouettes stay inside their own transparent canvas. */
.toile-panorama{overflow:visible}.toile-panorama .toile-layer--press{width:31%;height:auto;left:1%;bottom:22px}.toile-panorama .toile-layer--arch{width:30%;height:auto;right:1%;bottom:22px}.toile-headline h1 .hero-key{font-size:1.58em;line-height:1.15}.toile-headline{top:19%}
@media(max-width:700px){.toile-panorama .toile-layer--press{width:54%;height:auto;left:-1%;bottom:17px}.toile-panorama .toile-layer--arch{width:53%;height:auto;right:-1%;bottom:17px}.toile-headline{top:24%}.toile-headline h1{font-size:clamp(24px,7.3vw,48px)}.toile-headline h1 .hero-key{font-size:1.75em;line-height:1.28}}
@media(max-width:420px){.process .section-heading h2{font-size:29px}.contact-tiles{grid-template-columns:1fr}.contact-tile,.contact-tile.blue,.contact-tile.dark{min-height:86px;padding:17px 20px;flex-direction:row;align-items:center}.contact-tile strong{font-size:23px}.contact-tile span{font-size:14px;max-width:115px}.contact-tile strong br{display:none}.toile-panorama .toile-layer--press{left:0}.toile-panorama .toile-layer--arch{right:0}}
@media(max-width:420px){.contact-tile strong br{display:block}}
