@import url('./fonts.css');
:root{--orange:#f36333;--ink:#333333;--on-orange:#242424;--paper:#fff;--soft:#f4f3ef;--line:#d8d5cf;--muted:#67635c;--link:#a93612;--error:#a5261c;--hover:210ms;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.6 Sora,Arial,sans-serif}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.12;letter-spacing:-.045em}h1{font-size:72px}h2{font-size:48px}h3{font-size:27px}a,button,summary,input,textarea,select{transition:color var(--hover),background-color var(--hover),border-color var(--hover),transform var(--hover)}:focus-visible{outline:3px solid var(--link);outline-offset:6px}::selection{background:var(--orange);color:var(--on-orange)}[hidden]{display:none!important}.wrap{max-width:1440px;margin-inline:auto;padding-inline:60px}.section{padding-block:84px}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:500}.intro{font-size:18px;line-height:1.7;max-width:555px}.muted{color:var(--muted)}.skip{position:absolute;z-index:20;left:24px;top:-90px;background:white;padding:12px 18px}.skip:focus{top:12px}.site-header{border-top:6px solid var(--orange);background:var(--paper)}.masthead{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{width:171px;flex-shrink:0}.nav{display:flex;align-items:center;gap:36px;font-size:15px}.nav a{min-height:48px;display:flex;align-items:center;position:relative}.nav a:not(.button):hover,.nav a[aria-current=page]{color:var(--link)}.nav a[aria-current=page]:after{content:'';position:absolute;bottom:3px;left:0;right:0;height:3px;background:var(--orange)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:54px;padding:12px 21px;font-size:15px;border:1px solid var(--ink);background:transparent;text-align:center;line-height:1.5}.button.primary{background:var(--orange);border-color:var(--orange);color:var(--on-orange)}.button.primary:hover{background:#ff7b50;border-color:#ff7b50;transform:translateY(-3px)}.button.dark{background:var(--ink);border-color:var(--ink);color:white}.button.dark:hover{background:#171717;transform:translateY(-3px)}.button:active{transform:translateY(0)}.button:disabled{cursor:wait;opacity:.7;transform:none}.button.plain{border-color:transparent;padding-inline:0}.button.plain:hover{color:var(--link)}.arrow{display:inline-block;transition:transform var(--hover)}a:hover .arrow,button:hover .arrow{transform:translate(3px,-3px)}.mobile-menu{display:none}.hero{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:60px;align-items:center;padding-top:54px;padding-bottom:66px}.hero .eyebrow{margin-bottom:27px;display:flex;align-items:center;gap:15px}.hero .eyebrow:before{content:'';height:6px;width:45px;background:var(--orange);flex-shrink:0}.hero h1{font-size:72px;letter-spacing:-.065em;line-height:1.08}.hero h1 span{display:block}.hero h1 em,.page-head h1 em,.cta h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em}.hero h1 em{color:var(--orange)}.hero .intro{margin-top:27px}.actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:27px;align-items:center}.identity-plate{background:var(--orange);padding:30px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.identity-image{background:white;padding:27px}.identity-image img{width:100%;aspect-ratio:1;object-fit:contain}.identity-plate figcaption{margin-top:24px;font-size:12px;color:var(--on-orange);display:flex;flex-direction:column;gap:3px}.identity-plate figcaption span:first-child{letter-spacing:.12em}.service-strip{background:var(--orange);color:var(--on-orange)}.strip-inner{display:flex;justify-content:space-between;align-items:center;padding-block:18px;gap:30px;font-size:15px}.strip-inner span{display:flex;align-items:center;gap:24px}.strip-inner b{font-weight:400;font-size:12px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:60px;margin-bottom:36px}.section-heading h2{font-size:42px}.section-heading .eyebrow{margin-bottom:18px;color:var(--link)}.section-heading p{max-width:480px}.section-heading .section-note{font-size:15px}.project-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:30px;align-items:start}.project-card:nth-child(2){margin-top:90px}.project-card>a{display:block}.project-preview{min-height:330px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;background:var(--soft);border:1px solid var(--line);transition:background-color var(--hover),border-color var(--hover)}.project-card:first-child .project-preview{border-top:6px solid var(--orange)}.project-number{font-size:72px;line-height:1;color:#7b7770;letter-spacing:-.06em}.placeholder-label{font-size:12px;letter-spacing:.09em;text-transform:uppercase}.placeholder-title{font-size:27px;letter-spacing:-.04em;line-height:1.2;max-width:360px}.project-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:21px;padding-block:18px}.project-meta h3{font-size:21px;line-height:1.35}.project-meta p{font-size:12px;color:var(--muted);margin-top:6px}.project-meta .arrow{font-size:24px}.project-card a:hover .project-preview{background:#eeeae3;border-color:#a8a298}.section-bottom{margin-top:30px}.services{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:60px minmax(0,1fr) minmax(0,1fr);column-gap:30px;padding-block:30px;border-top:1px solid var(--line)}.service-row .number{font-size:12px;color:var(--link);padding-top:6px}.service-row h3{font-size:30px}.service-row p{font-size:18px}.service-detail{grid-column:3;margin-top:15px;font-size:15px}.service-detail summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:45px;cursor:pointer;list-style:none;border-bottom:1px solid var(--line);color:var(--link)}summary::-webkit-details-marker{display:none}.service-detail summary:after{content:'+';font-size:24px;transition:transform var(--hover)}.service-detail[open] summary:after{transform:rotate(45deg)}.service-detail ul{padding-left:21px;margin:18px 0 0}.service-detail li+li{margin-top:6px}.process{background:var(--soft)}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.process-item{border-top:3px solid var(--orange);padding-top:24px}.process-item .number{font-size:12px;color:var(--muted)}.process-item h3{margin-block:21px 15px;font-size:24px}.process-item p{font-size:18px}.about{display:grid;grid-template-columns:1fr 1.3fr;gap:90px}.about .eyebrow{color:var(--link);margin-bottom:24px}.about h2{font-size:48px}.about .intro{max-width:660px}.about p+p{margin-top:24px}.about-note{border-left:3px solid var(--orange);padding-left:21px;font-size:15px;margin-top:30px;max-width:600px}.cta{background:var(--orange);color:var(--on-orange);padding-block:66px}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:60px}.cta h2{font-size:54px;max-width:780px}.cta .eyebrow{margin-bottom:24px}.cta .button{flex-shrink:0}.footer{padding-top:48px;padding-bottom:27px}.footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:36px}.footer-brand{width:150px}.footer-nav{display:flex;gap:27px;font-size:15px;flex-wrap:wrap}.footer-nav a{display:inline-flex;min-height:45px;align-items:center}.footer-nav a:hover{color:var(--link)}.footer-bottom{border-top:1px solid var(--line);margin-top:36px;padding-top:21px;display:flex;justify-content:space-between;gap:24px;font-size:12px;color:var(--muted)}.page-head{padding-top:60px;padding-bottom:54px}.page-head .eyebrow{color:var(--link);margin-bottom:24px}.page-head h1{max-width:960px;font-size:66px;letter-spacing:-.055em}.page-head h1 em{color:var(--orange)}.page-head .intro{margin-top:24px;max-width:690px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-grid .project-card:nth-child(2){margin-top:72px}.portfolio-grid .project-card:nth-child(3){margin-top:-42px}.portfolio-grid .project-card:nth-child(3) .project-preview{min-height:270px}.notice{padding:21px 24px;border-left:3px solid var(--orange);background:var(--soft);font-size:15px;line-height:1.65}.page-head .notice{margin-top:30px;max-width:750px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-bottom:84px;align-items:start}.contact-aside h2{font-size:30px;margin-bottom:24px}.contact-method{border-top:1px solid var(--line);padding-block:21px;display:flex;justify-content:space-between;gap:24px;font-size:18px}.contact-method span:last-child{font-size:12px;color:var(--muted)}.contact-method a:hover{color:var(--link)}.contact-aside .notice{margin-top:30px}.contact-form{background:var(--soft);padding:36px}.contact-form h2{font-size:30px;margin-bottom:15px}.form-intro{font-size:15px;margin-bottom:30px}.field{margin-bottom:24px}.field label{display:block;font-size:15px;font-weight:500;margin-bottom:9px}.field input,.field textarea,.field select{width:100%;min-height:54px;border:1px solid #8e8980;background:white;color:var(--ink);border-radius:0;padding:12px 15px;font-size:18px;line-height:1.5}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink)}.field [aria-invalid=true]{border-color:var(--error)}.field-hint{font-size:12px;margin-top:6px;color:var(--muted)}.field-error{font-size:15px;margin-top:9px;color:var(--error)}.form-status{padding:18px;border-left:3px solid var(--orange);background:#fff;font-size:15px;margin-bottom:24px}.form-status[data-kind=error]{border-color:var(--error);color:var(--error)}.form-status[data-kind=success]{border-color:#286b38;color:#23542e}.form-actions{display:flex;flex-wrap:wrap;gap:12px}.form-privacy{font-size:12px;color:var(--muted);margin-top:21px}.manual-copy{margin-top:24px}.manual-copy textarea{width:100%;min-height:210px;font:inherit;padding:15px;background:white}.template-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding-bottom:66px}.project-facts{margin:0}.project-facts div{padding-block:21px;border-top:1px solid var(--line)}.project-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:9px}.project-facts dd{margin:0;font-size:18px;color:var(--muted)}.template-media{background:var(--soft);border:1px solid var(--line);min-height:420px;padding:30px;display:flex;flex-direction:column;justify-content:space-between}.template-media .project-number{color:var(--link)}.project-story{max-width:810px}.project-story h2{font-size:30px;margin-block:30px 18px}.project-story p{color:var(--muted)}.project-next{border-top:1px solid var(--line);margin-top:54px;padding-top:30px;display:flex;justify-content:space-between;gap:30px}.project-next a{font-size:18px;display:inline-flex;align-items:center;min-height:48px}.project-next a:hover{color:var(--link)}.error-page{padding-block:90px;min-height:60vh}.error-page h1{margin-block:18px 30px}.hero h1,.page-head h1{animation:enter 420ms var(--ease)}@keyframes enter{from{opacity:.65;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1101px){.wrap{padding-inline:36px}.hero{grid-template-columns:minmax(0,1fr) 252px;gap:36px}.hero h1{font-size:57px}.identity-plate{padding:24px}.identity-image{padding:21px}.nav{gap:24px}.nav .button{padding-inline:15px}.section-heading{gap:36px}.contact-grid{gap:48px;grid-template-columns:.8fr 1.2fr}.contact-form{padding:27px}.about{gap:54px}.cta h2{font-size:48px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.template-layout{gap:36px}.portfolio-grid .project-card:nth-child(3){margin-top:0}}
@media(max-width:801px){.nav .button{display:none}.hero{gap:27px;grid-template-columns:minmax(0,1fr) 192px;padding-top:42px}.hero h1{font-size:48px}.identity-plate{padding:18px}.identity-image{padding:18px}.section{padding-block:60px}.section-heading h2{font-size:36px}.section-heading{grid-template-columns:1fr;gap:24px}.section-heading p{max-width:660px}.service-row{grid-template-columns:36px 1fr;gap:12px 21px}.service-row p,.service-detail{grid-column:2}.service-row h3{font-size:27px}.about{grid-template-columns:1fr;gap:30px}.about h2{font-size:42px;max-width:540px}.cta-inner{flex-direction:column;align-items:flex-start;gap:30px}.cta h2{font-size:48px}.contact-grid{grid-template-columns:1fr;gap:36px}.contact-aside{max-width:660px}.page-head h1{font-size:54px}.template-layout{grid-template-columns:1fr;gap:30px}.template-media{min-height:330px}.footer-main{gap:24px}.footer-nav{gap:18px}.strip-inner{font-size:12px;gap:18px}.strip-inner span{gap:12px}.project-preview{padding:24px;min-height:300px}}
@media(max-width:549px){.wrap{padding-inline:24px}.masthead{min-height:84px;gap:18px}.brand{width:135px}.nav{display:none}.masthead{position:relative}.mobile-menu{display:block;font-size:15px}.mobile-menu summary{min-height:48px;display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer}.mobile-menu summary:after{content:'+';font-size:24px}.mobile-menu[open] summary:after{content:'−'}.mobile-menu nav{position:absolute;top:75px;right:24px;left:24px;z-index:10;background:white;border:1px solid var(--ink);padding:12px 21px;box-shadow:0 12px 30px #33333312}.mobile-menu a{display:block;padding:12px 0;min-height:48px}.mobile-menu a+a{border-top:1px solid var(--line)}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:36px;gap:30px}.hero h1{font-size:42px}.hero .eyebrow{font-size:12px;gap:12px;margin-bottom:24px;letter-spacing:.09em}.hero .eyebrow:before{width:21px;flex-shrink:0}.hero .intro{margin-top:24px}.actions{gap:9px;margin-top:24px;align-items:flex-start;flex-direction:column}.button{min-height:48px;padding:12px 18px}.identity-plate{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:15px 18px;gap:21px}.identity-image{padding:9px;width:75px;flex-shrink:0}.identity-plate figcaption{margin-top:0;font-size:12px}.strip-inner{justify-content:flex-start;gap:9px 18px;flex-wrap:wrap;padding-block:15px}.strip-inner b{display:none}.section{padding-block:48px}.section-heading{gap:18px;margin-bottom:27px}.section-heading h2{font-size:33px}.section-heading .eyebrow{margin-bottom:15px}.section-note{font-size:15px}.project-grid,.portfolio-grid{grid-template-columns:1fr;gap:30px}.project-card:nth-child(2),.portfolio-grid .project-card:nth-child(2),.portfolio-grid .project-card:nth-child(3){margin-top:0}.project-preview,.portfolio-grid .project-card:nth-child(3) .project-preview{min-height:264px;padding:24px}.project-number{font-size:63px}.placeholder-title{font-size:24px}.project-meta h3{font-size:21px}.service-row{grid-template-columns:24px 1fr;column-gap:15px;padding-block:24px}.service-row h3{font-size:24px}.service-row p{font-size:18px}.process-grid{grid-template-columns:1fr;gap:30px}.process-item{display:grid;grid-template-columns:30px 1fr;column-gap:15px;padding-top:21px}.process-item h3{margin:0 0 15px;font-size:24px}.process-item p{grid-column:2}.about h2{font-size:36px}.about{gap:24px}.cta{padding-block:42px}.cta h2{font-size:36px}.cta .eyebrow{margin-bottom:18px}.footer{padding-top:36px}.footer-main{flex-direction:column;gap:24px}.footer-brand{width:135px}.footer-nav{column-gap:24px;row-gap:6px}.footer-bottom{flex-direction:column;gap:9px;margin-top:24px}.page-head{padding-block:36px}.page-head h1{font-size:42px}.contact-grid{padding-bottom:48px}.contact-form{padding:24px 18px}.contact-form h2{font-size:27px}.form-actions{flex-direction:column;align-items:stretch}.notice{padding:18px;font-size:15px}.template-media{min-height:300px;padding:24px}.template-layout{padding-bottom:30px}.project-next{flex-direction:column;gap:18px}.project-story h2{font-size:27px}.error-page{padding-block:60px}.error-page h1{font-size:42px}}
@media(max-width:360px){.hero h1,.page-head h1{font-size:36px}.hero .eyebrow{font-size:12px;letter-spacing:.03em}.identity-plate{gap:15px}.identity-plate figcaption{font-size:12px}.identity-image{width:63px}.contact-form{padding-inline:15px}.strip-inner{gap:9px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}a:hover .arrow,button:hover .arrow,.button.primary:hover,.button.dark:hover{transform:none}}
/* Dirección revisada: icono libre, cuatro servicios equivalentes y texto blanco. */
:root{--orange-surface:#f36333;--orange-hover:#c3431b;--on-orange:#fff}
.hero-icon{margin:0;align-self:center;padding:18px}
.hero-icon img{width:100%;height:auto;max-height:300px;object-fit:contain}
.button.primary{background:var(--orange-surface);border-color:var(--orange-surface);color:#fff}
.button.primary:hover,.button.primary:focus-visible{background:var(--orange-hover);border-color:var(--orange-hover);color:#fff}
.service-strip,.cta{background:var(--orange-surface);color:#fff}
.service-strip ::selection,.cta ::selection{background:#fff;color:var(--ink)}
.cta :focus-visible{outline-color:#fff}
.project-grid,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.project-card:nth-child(2),.portfolio-grid .project-card:nth-child(2),.portfolio-grid .project-card:nth-child(3){margin-top:0}
.project-preview,.portfolio-grid .project-card:nth-child(3) .project-preview{min-height:300px;border-top:6px solid var(--orange)}
@media(max-width:549px){.hero{position:relative;gap:0}.hero-icon{position:absolute;right:24px;top:18px;padding:0;width:48px}.hero-icon img{max-height:48px}.hero .eyebrow{padding-right:57px;max-width:300px;display:block;line-height:1.65}.hero .eyebrow:before{display:none}.hero h1{font-size:42px}.project-grid,.portfolio-grid{grid-template-columns:1fr}.project-preview,.portfolio-grid .project-card:nth-child(3) .project-preview{min-height:264px}.strip-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.strip-inner span{display:block;font-size:15px}.contact-method{flex-wrap:wrap;gap:6px 18px}}
@media(max-width:360px){.hero h1{font-size:36px}}

/* Imágenes de servicios: cuatro composiciones con igual espacio y jerarquía. */
.services-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 36px}
.services-list .service-row{display:flex;flex-direction:column;gap:0;border:0;padding:0;min-width:0}
.service-image{margin:0 0 24px;overflow:hidden;background:var(--soft)}
.service-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.service-title{display:flex;gap:21px;align-items:baseline;margin-bottom:18px}
.services-list .service-detail{margin-top:auto;padding-top:15px;width:100%}
.services-list .service-row>p{margin-bottom:9px}
.image-note{margin-top:30px;font-size:12px;color:var(--muted)}
@media(max-width:801px){.services-list{gap:42px 24px}.service-title{gap:15px}}
@media(max-width:549px){.services-list{grid-template-columns:1fr;gap:36px}.service-image{margin-bottom:21px}.service-title{margin-bottom:15px}.services-list .service-detail{margin-top:12px;padding-top:0}}

/* Servicios y proyectos comparten las tarjetas editoriales del portafolio. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.services-projects .project-grid{gap:42px 30px;align-items:start}
.service-project{min-width:0}
/* Only animate the palette after an explicit theme toggle, never on page load. */
html.theme-changing body,html.theme-changing body *{transition:background-color 360ms var(--ease),color 360ms var(--ease),border-color 360ms var(--ease),outline-color 360ms var(--ease),fill 360ms var(--ease),stroke 360ms var(--ease),filter 360ms var(--ease)}
html.theme-changing .site-header,html.theme-changing main{background-color:var(--paper);transition:background-color 360ms var(--ease)!important}
.masthead .nav{margin-left:auto}
.language-picker{appearance:none;min-height:45px;width:108px;flex-shrink:0;padding:9px 36px 9px 12px;background-color:var(--paper);background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;color:var(--ink);border:1px solid var(--line);font-size:12px;cursor:pointer}
.language-picker:focus-visible{outline:none;border-color:var(--muted)}
.masthead .mobile-menu nav{top:100%}
html[lang=ja] body{font-family:'Yu Gothic','Hiragino Kaku Gothic ProN','Meiryo',sans-serif;line-height:1.8}
html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3{letter-spacing:0;line-height:1.4;overflow-wrap:anywhere}
html[lang=ja] h1 em,html[lang=ja] h2 em{font-family:inherit;font-style:normal;letter-spacing:0}
html[lang=ja] .hero h1{font-size:60px}
@media(max-width:1200px){.nav .button{display:none}}
@media(max-width:801px){html[lang=ja] .hero h1{font-size:39px}}
@media(max-width:549px){.masthead{flex-wrap:wrap;padding-block:15px}.masthead .brand{margin-right:auto}.masthead .language-picker{margin-left:auto;width:99px}.masthead .theme-toggle{margin-left:0!important}.mobile-menu{margin-left:auto}.mobile-menu nav{top:100%}html[lang=ja] .hero h1{font-size:33px}html[lang=en] .strip-inner span{font-size:12px}}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:45px;height:45px;padding:0;background:transparent;border:1px solid var(--line);color:var(--ink)}
.theme-toggle:hover{background:var(--soft);transform:translateY(-3px)}
.theme-sun{display:none}
html[data-theme=dark]{color-scheme:dark;--paper:#1e1e1e;--soft:#292929;--ink:#f4f3ef;--line:#555;--muted:#bdbbb6;--link:var(--orange);--error:#ff9e92}
html[data-theme=dark] .theme-moon{display:none}
html[data-theme=dark] .theme-sun{display:block}
html[data-theme=dark] .mobile-menu nav,html[data-theme=dark] .skip,html[data-theme=dark] .field input,html[data-theme=dark] .field textarea,html[data-theme=dark] .field select,html[data-theme=dark] .form-status,html[data-theme=dark] .manual-copy textarea{background:var(--paper);color:var(--ink)}
html[data-theme=dark] .project-card a:hover .project-preview{background:#363636}
html[data-theme=dark] .form-status[data-kind=error]{color:var(--error)}
html[data-theme=dark] .form-status[data-kind=success]{color:#9fd4a7}
.button.dark{background:#333333;border-color:#333333}
@media(max-width:1101px) and (min-width:804px){.masthead{gap:18px}.nav{gap:18px}}
@media(max-width:549px){.masthead .theme-toggle{margin-left:auto}.masthead{gap:12px}}
.footer{background:#333333;color:#fff}
html[data-theme=dark] .footer{background:var(--paper)}
html[data-theme=dark] .nav a:not(.button):hover,html[data-theme=dark] .button.plain:hover,html[data-theme=dark] .service-detail summary:hover,html[data-theme=dark] .footer-nav a:hover,html[data-theme=dark] .contact-method a:hover,html[data-theme=dark] .project-next a:hover{color:var(--orange-hover)}
.footer-brand{display:block;flex-shrink:0;width:180px}

.footer-links{display:grid;justify-items:end;gap:18px}
.footer-nav a:hover{color:var(--orange)}
.footer-social{display:flex;gap:12px}
.footer-social a{display:flex;align-items:center;justify-content:center;width:45px;height:45px;border:1px solid #777;color:#fff}
.footer-social a:hover,.footer-social a:focus-visible{background:var(--orange-hover);border-color:var(--orange-hover)}
.footer :focus-visible{outline-color:var(--orange)}
.footer-bottom{color:#ddd;border-top-color:#666}
@media(max-width:549px){.footer-links{justify-items:start;width:100%}.footer-brand{width:165px}}
.service-project-preview{background:var(--soft);border:1px solid var(--line);border-top:6px solid var(--orange)}
.service-project-image{display:block;position:relative;margin:0;overflow:hidden}
.service-project-image img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;transition:transform 360ms var(--ease)}
.service-project-image:hover img,.service-project-image:focus-visible img{transform:scale(1.045)}
.service-image-action{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:18px;padding:12px 18px;background:var(--orange);color:#fff;font-size:15px;opacity:0;transform:translateY(6px);transition:opacity var(--hover) ease,transform var(--hover) ease,background-color var(--hover) ease}
.service-project-image:hover .service-image-action,.service-project-image:focus-visible .service-image-action{opacity:1;transform:translateY(0)}
.service-project-image .service-image-action:hover,.service-project-image:focus-visible .service-image-action{background:var(--orange-hover);transform:translateY(-3px)}
.service-project-image:hover .service-image-action .arrow{transform:none}
.service-project-image .service-image-action:hover .arrow,.service-project-image:focus-visible .service-image-action .arrow{transform:translate(3px,-3px)}
@media(hover:none){.service-image-action{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.service-project-image:hover img,.service-project-image:focus-visible img,.service-project-image .service-image-action:hover,.service-project-image:focus-visible .service-image-action,.service-project-image .service-image-action:hover .arrow,.service-project-image:focus-visible .service-image-action .arrow{transform:none}}

.service-project-copy{padding:27px 30px 21px}
.service-project-heading{display:flex;align-items:baseline;gap:24px;margin-bottom:21px}
.service-project-heading h3{font-size:30px;line-height:1.2;margin:0}
.service-project-heading .project-number,.portfolio-grid .project-number{color:var(--orange)}
.portfolio-grid .project-card a:hover .project-preview,.portfolio-grid .project-card a:focus-visible .project-preview{border-top-color:var(--orange-hover)}
.service-project-copy>p{margin:0;min-height:54px}
.service-project .service-detail{margin-top:18px;grid-column:auto}
@media(max-width:801px){.service-project-copy{padding:24px 21px 18px}.service-project-heading{gap:18px}.service-project-heading h3{font-size:27px}.services-projects .project-grid{gap:30px 24px}}
@media(max-width:549px){.service-project-heading{margin-bottom:18px}.service-project-copy>p{min-height:0}.service-project-image img{aspect-ratio:3/2}}
html{overflow-anchor:none}
.field select{appearance:none;padding-right:45px;background-color:var(--paper);background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
html[data-theme=dark] .field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:none!important;outline-offset:0;box-shadow:none!important;border-color:var(--muted)}
.portfolio-grid .project-card:target .project-preview,.portfolio-grid .project-card>a:focus-visible,.portfolio-grid .project-card>a:focus-visible .project-preview{outline:none}

@keyframes hero-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-mark-arrive{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.hero h1{animation:none}
.hero .eyebrow{animation:hero-arrive 480ms var(--ease) 30ms both}
.hero h1 span{animation:hero-arrive 560ms var(--ease) both}
.hero h1 span:first-child{animation-delay:100ms}
.hero h1 span:last-child{animation-delay:175ms}
.hero .intro{animation:hero-arrive 520ms var(--ease) 250ms both}
.hero .actions>a:first-child{animation:hero-arrive 500ms var(--ease) 330ms both}
.hero .actions>a:last-child{animation:hero-arrive 500ms var(--ease) 405ms both}
.hero-icon{animation:hero-mark-arrive 680ms var(--ease) 80ms both}
.masthead>.brand{animation:hero-arrive 480ms var(--ease) 20ms both}
.masthead>.nav>*{animation:hero-arrive 480ms var(--ease) both}
.masthead>.nav>*:nth-child(1){animation-delay:70ms}
.masthead>.nav>*:nth-child(2){animation-delay:120ms}
.masthead>.nav>*:nth-child(3){animation-delay:170ms}
.masthead>.nav>*:nth-child(4){animation-delay:220ms}
.masthead>.theme-toggle,.masthead>.mobile-menu{animation:hero-arrive 480ms var(--ease) 260ms both}
html.reveal-ready [data-reveal]:not(.is-visible) [data-reveal-item]{opacity:0;transform:translateY(16px)}
html.reveal-ready [data-reveal].is-visible [data-reveal-item]{animation:hero-arrive 560ms var(--ease) both}
html.reveal-ready [data-reveal].is-visible [data-reveal-item]:nth-child(2){animation-delay:70ms}
html.reveal-ready [data-reveal].is-visible [data-reveal-item]:nth-child(3){animation-delay:140ms}
html.reveal-ready [data-reveal].is-visible [data-reveal-item]:nth-child(4){animation-delay:210ms}
.portfolio-grid .project-card:target,.portfolio-grid .project-card:target>a,.portfolio-grid .project-card:target .project-preview,.portfolio-grid .project-card>a:focus-visible,.portfolio-grid .project-card>a:focus-visible .project-preview{outline:none!important;box-shadow:none!important}
.bot-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.cf-turnstile{margin-bottom:24px}
