/* Michroma is a close web-font match to the outlined Flemming wordmark,
   not a claim that the logo's original typeface has been identified. */
:root{--brand-font:"Michroma","Eurostile",Arial,sans-serif}
:root{--button-teal:#82a099;--button-teal-hover:#73928b}
.site-header .textile-menu{position:relative;margin:0;padding:0;border:0}
#nav .work-trigger,#nav .work-trigger:hover{display:block;background:none;border:0;border-radius:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;min-height:0;padding:0;white-space:nowrap}
#nav .work-trigger:hover{text-decoration:underline}
.work-dialog{width:min(1040px,calc(100% - 28px));max-height:88vh;max-height:88dvh;padding:0;border:1px solid var(--line);background:#fff;color:var(--ink);overscroll-behavior:contain}
.work-dialog::backdrop{background:rgba(17,17,16,.62)}
html:has(.work-dialog){scrollbar-gutter:stable}
html:has(.work-dialog[open]){overflow:hidden}
.work-dialog .work{padding:0 clamp(14px,4vw,48px) clamp(18px,4vw,48px)}
.work-dialog .work-dialog-header{position:sticky;top:0;z-index:2;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px}
.work-dialog .work-dialog-header .taylord-heading{margin:0;font-size:clamp(18px,2.4vw,27px);text-align:left}
.site-header .textile-menu summary{display:block;font:inherit;white-space:nowrap;cursor:pointer;list-style:none}
.site-header .textile-menu summary::-webkit-details-marker{display:none}
.textile-menu .textile-brands{position:absolute;top:100%;left:0;z-index:12;min-width:270px;background:#fff}
.textile-menu:not([open]) .textile-brands{display:none}
.textile-menu .textile-brands a{display:block;padding:12px;color:#111;text-transform:none;line-height:1.4}
.textile-menu .textile-brands a:hover,.textile-menu .textile-brands a:focus-visible{background:#edf4f2;text-decoration:underline}
@media(max-width:900px){
  .textile-menu .textile-brands{position:static;min-width:0;max-width:100%;box-shadow:none}
  .site-header nav.open{max-height:100vh;max-height:100dvh;overflow-y:auto}
  .site-header nav.open>*{flex-shrink:0}
}
body{font-family:var(--brand-font);font-size:15px;line-height:1.8;font-synthesis:none}
button,input,textarea,select{font-family:var(--brand-font)}
h1,h2,h3,h4,h5,h6,summary{font-family:var(--brand-font);font-weight:400;line-height:1.3;overflow-wrap:anywhere}
p,li,dd,label,a,button{overflow-wrap:break-word}
input,textarea,select{font-size:16px}
.hero h1{font-size:clamp(20px,2.6vw,36px);line-height:1.3;letter-spacing:0}
.hero h1 em{font-style:normal}
.section-heading h2,.cap-intro h2,.experience-lead h2{font-size:clamp(28px,3.6vw,52px);line-height:1.3;letter-spacing:0}
.service h2,.contact h2{font-size:clamp(30px,4vw,58px);line-height:1.3}
.manifesto-pair .manifesto-lines{font-size:clamp(18px,2vw,28px);line-height:1.6;gap:14px}
.manifesto-copy{font-size:clamp(19px,2.1vw,28px);line-height:1.6}
.service-lead,.experience-lead>p:last-child,.experience-role>p:last-child{font-size:clamp(18px,1.9vw,25px);line-height:1.7}
.collaborators-heading h3{font-size:clamp(24px,2.7vw,36px);line-height:1.4}
.credentials strong{font-size:clamp(34px,4.6vw,60px);line-height:1.3}
.credentials .production-label,.experience-lead .experience-subtitle{margin:0}
.experience-lead .experience-title{grid-column:1/-1;font-family:var(--brand-font);font-size:clamp(14px,4.4vw,60px);line-height:1.3;letter-spacing:0;margin:0 0 28px}
.experience-title strong{font-weight:700;font-synthesis:weight}
.experience{padding-bottom:0}
.contact{row-gap:40px;padding-top:0}
.contact .contact-headline{grid-column:1/-1;margin:0;font-family:var(--brand-font);font-size:clamp(14px,4.4vw,60px);line-height:1.3;letter-spacing:0;text-transform:none}
.credentials .production-highlight{justify-content:flex-start;gap:18px}
.credentials .production-description{margin:0;max-width:75ch}
/* One shared text style throughout the Experience introduction and production copy. */
.experience .experience-lead > p,
.experience .production-label,
.experience .production-description,
.experience .experience-role > p{font-family:var(--brand-font);font-size:clamp(18px,1.9vw,25px);font-weight:400;line-height:1.7;letter-spacing:0;text-transform:none;font-style:normal;white-space:normal;max-width:none}
/* Align the first item in each row of the two-column process grid. */
@media(min-width:561px) and (max-width:900px){.steps li:nth-child(odd){padding-left:0}}
.steps h3{font-size:clamp(20px,2vw,27px);line-height:1.4}
.cap-list details p{padding-left:0}
.site-header nav{font-size:11px;letter-spacing:.02em;gap:clamp(12px,1.6vw,26px)}

.eyebrow,.project span,.contact-info,footer{letter-spacing:.04em}
/* Michroma has one weight; allow a visibly heavier face on the four branded section titles. */
.eyebrow > strong{font-weight:700;font-synthesis:weight}
.site-header nav a.nav-cta{display:flex;flex-direction:column;align-items:center;font-size:11px;color:#207879;font-weight:700;font-synthesis:weight;line-height:1.4}
.site-header nav .proposal-menu-byline{font-size:9px}
.contact .proposal-link{display:block;margin:36px 0 52px;color:#207879;font-size:clamp(24px,3vw,36px);font-weight:700;font-synthesis:weight;line-height:1.2;text-decoration:underline;text-underline-offset:5px}
.contact .proposal-link:hover{color:#155759}
.contact-people{display:grid;gap:28px}
.contact-person h3{margin:0 0 8px;font-size:16px;font-weight:700;font-synthesis:weight}
.contact-person .contact-info{text-transform:none;font-size:12px;letter-spacing:0}
@media(max-width:900px){.site-header nav a.nav-cta{align-items:flex-start;font-size:14px}.site-header nav .proposal-menu-byline{font-size:11px}}
.site-header nav .nav-design-piece{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.4;color:#207879;font-weight:700;font-synthesis:weight}
.site-header nav .nav-design-byline{font-size:9px;font-weight:400;text-transform:none;letter-spacing:.02em}
.site-header nav .nav-design-piece{ text-transform:none }
@media(max-width:900px){.site-header nav .nav-design-piece{align-items:flex-start}.site-header nav .nav-design-byline{font-size:11px}}
.name-grid .name-entry span{letter-spacing:.02em}
.toolbar,.workspace-grid,.field-grid,.detail-grid{min-width:0}
.toolbar>*{min-width:0}
@media(max-width:900px){.site-header nav{font-size:14px;gap:20px}.hero-copy{max-width:100%}}
@media(max-width:560px){body{font-size:14px}.hero h1{font-size:clamp(18px,4.2vw,24px)}.manifesto-pair .manifesto-lines{font-size:19px}.contact h2{font-size:30px}.studio-intro{font-size:15px}.progress{font-size:12px}.mobile-studio-link{font-size:12px}.toolbar{grid-template-columns:1fr}}
/* Consistent text links, with emphasis on Design Your Piece. */
.site-header nav .nav-cta,.site-header .mobile-studio-link,.studio-home-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;border:0;background:transparent;color:#000;font-size:11px;font-weight:400;font-synthesis:none;letter-spacing:.02em;line-height:1.8;text-transform:uppercase;text-align:center;text-decoration:none}
.site-header nav .nav-cta:hover,.site-header .mobile-studio-link:hover,.studio-home-cta a:hover{background:transparent;color:#000;text-decoration:underline}
.site-header nav .nav-cta:focus-visible,.site-header .mobile-studio-link:focus-visible,.studio-home-cta a:focus-visible{outline:3px solid #000;outline-offset:4px}
@media(max-width:900px){.site-header nav .nav-cta,.site-header .mobile-studio-link,.studio-home-cta a{font-size:14px}}

.site-header .mobile-studio-link{display:none}
@media(max-width:900px){.site-header .mobile-studio-link{display:inline-flex}}

.site-header nav .nav-studio,.site-header .mobile-studio-link,.studio-home-cta a{font-weight:700;font-synthesis:weight}

/* Standalone studio entry at the left of the header. */
.site-header .header-design-link{display:inline-flex;align-items:center;order:-1;flex-shrink:0;min-height:44px;padding:10px 0;background:transparent;border:0;color:#207879;font-size:12px;font-weight:700;font-synthesis:weight;letter-spacing:.02em;text-transform:uppercase;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.site-header .header-design-link:hover{color:#155759;text-underline-offset:5px}
.site-header .header-design-link:focus-visible{outline:3px solid #207879;outline-offset:5px}
.site-header nav{margin-left:auto}
@media(max-width:900px){.site-header .header-design-link{font-size:13px;max-width:calc(100% - 76px)}.site-header .menu-toggle{margin-left:auto}.site-header nav{margin-left:0}}
/* Logo teal on filled actions; black lettering keeps the pale teal legible. */
.button:not(.text-button):not(.secondary):not(:disabled),button:not(.text-button):not(.concept-card):not(.project-card):not(.menu-toggle):not(:disabled){background:var(--button-teal);color:#000;border-color:var(--button-teal)}
.button:not(.text-button):not(.secondary):not(:disabled):hover,button:not(.text-button):not(.concept-card):not(.project-card):not(.menu-toggle):not(:disabled):hover{background:var(--button-teal-hover);color:#000;border-color:var(--button-teal-hover)}
/* Match the main Design Your Piece link to the teal header link. */
.studio-home-cta a{color:#207879;flex-direction:column;gap:0;font-size:clamp(24px,3vw,36px);font-weight:700;font-synthesis:weight;line-height:1.2;padding:6px 17px;text-transform:none}
.studio-home-cta a:hover{color:#155759}
.studio-home-cta .studio-byline{display:block;margin:0;font-size:10px;font-weight:400;line-height:1.2;letter-spacing:.02em;color:inherit;text-transform:none}
@media(max-width:900px){.studio-home-cta .studio-byline{font-size:12px}}

/* Main Taylor’d headings share the approved Experience title typography. */
.manifesto .taylord-heading,
.work .taylord-heading,
.service .taylord-heading,
.experience-lead .taylord-heading,
.collaborators-heading .taylord-heading,
.contact .taylord-heading{font-family:var(--brand-font);font-size:clamp(14px,4.4vw,60px);font-weight:400;line-height:1.3;letter-spacing:0;text-transform:none;margin:0 0 28px}
.taylord-heading{text-align:center}
.contact .contact-proposal{grid-column:1/-1;text-align:center}
.contact .contact-proposal .proposal-link{margin:0}
.work .section-heading{grid-template-columns:1fr}
.manifesto{padding-top:0}

/* Capability descriptions remain visible without an expand/collapse control. */
.capability-item{padding:26px 0;border-bottom:1px solid var(--line)}
.capability-item h3{font-family:var(--brand-font);font-size:32px;font-weight:400;line-height:1.3;margin:0}
.capability-item p{max-width:650px;color:#000}
.collaborators-heading{max-width:none}
.collaborators{border-bottom:0}

/* Tighten the requested section transitions and remove their dividers. */
.service{padding-top:0}
.work{padding-bottom:0}
.service-grid{grid-template-columns:1fr}
.service-lead{margin-top:0}
.hero{border-bottom:0}
.manifesto-pair .manifesto-lines{border-top:0}
.capability-item:last-child{border-bottom:0;padding-bottom:0}
.capability-item:last-child p{margin-bottom:0}
.capabilities{border-bottom:0;padding-bottom:0}
.experience{padding-top:0}

/* Equal breathing room at the two requested section transitions. */
:root{--section-transition-gap:clamp(48px,6vw,80px)}
.hero{min-height:0}
.hero-copy{padding-bottom:0}
.manifesto,.service{padding-top:var(--section-transition-gap)}
.experience-lead .section-lockup{justify-self:center;margin-left:auto;margin-right:auto}

/* Balanced spacing around the Experience logos and Designers heading. */
.experience-lead .section-lockup{margin:0 auto;padding-block:var(--section-transition-gap)}
.manifesto .taylord-heading{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:var(--section-transition-gap);margin-bottom:var(--section-transition-gap)}

/* Frame the process as one group, without dividers between steps. */
.service .steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-bottom:28px}
.service .steps li,.service .steps li:not(:first-child),.service .steps li:last-child{border:0}
.service{border-bottom:0}

/* Use the same inset on both sides of the page’s horizontal dividers. */
.service .steps{margin-top:var(--section-transition-gap);padding-block:var(--section-transition-gap)}
.service .steps li,.service .steps li:not(:first-child){padding-top:0}
.service .steps h3{margin-top:0}
.service .steps p{margin-bottom:0}
.service{padding-bottom:var(--section-transition-gap)}
.capabilities{padding-top:0}
.capability-item{padding-block:var(--section-transition-gap)}
.capability-item p{margin-bottom:0}
.experience-lead + .collaborators{margin-top:var(--section-transition-gap)}
.experience-role{padding-bottom:var(--section-transition-gap)}
.experience-role > p{margin-top:0;margin-bottom:0}
.collaborators{padding-top:var(--section-transition-gap)}
.manifesto{padding-bottom:var(--section-transition-gap)}
.manifesto-copy{margin-bottom:0}
.work{padding-top:var(--section-transition-gap)}
.name-grid .name-entry{padding-block:20px;min-height:0}

.service .steps{row-gap:var(--section-transition-gap)}
.service .steps li,.service .steps li:not(:first-child){min-height:0;padding-bottom:0}

/* Center the manifesto title with the shared spacing on either side. */
.manifesto .taylord-heading{text-align:center;border-bottom:0;padding-block:var(--section-transition-gap);margin-bottom:0}
.manifesto-pair .manifesto-lines{padding-top:0}
.manifesto-pair{grid-template-columns:minmax(0,1fr)}

/* Match the homepage menu rule to the manifesto's side margins. */
:root{--homepage-divider-inset:8vw}
.site-header.homepage-header{
  border-bottom:0;
  background:linear-gradient(var(--line),var(--line)) center bottom / calc(100% - 2 * var(--homepage-divider-inset)) 1px no-repeat;
}
@media(max-width:900px){
  :root{--homepage-divider-inset:6vw}
  .site-header.homepage-header nav.open{
    border-bottom:0;
    background:linear-gradient(var(--line),var(--line)) center bottom / calc(100% - 2 * var(--homepage-divider-inset)) 1px no-repeat #fff;
  }
}
/* Keep the transition from the design CTA to the manifesto open and even. */
#about.manifesto{--manifesto-heading-gap:clamp(32px,4vw,52px);position:relative;border-block:0;padding-top:var(--manifesto-heading-gap);padding-inline:var(--homepage-divider-inset)}
#about.manifesto::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;height:1px;padding-inline:inherit;background:var(--line);background-clip:content-box;pointer-events:none}
#about .taylord-heading{width:100%;max-width:none;margin-inline:auto;border-top:0;padding-block:0 var(--manifesto-heading-gap)}
#about .manifesto-copy,#process .service-lead{text-align:center}
@media(min-width:901px){
  #about .manifesto-copy,#process .service-lead{width:100%;max-width:1160px}
  #about .manifesto-copy>span,#process .service-lead>span{display:block}
}

/* Desktop refinements only; retain the existing mobile layout and type. */
@media(min-width:901px){
  .hero h1,.manifesto .taylord-heading,.work .taylord-heading,.service .taylord-heading,.cap-intro h2,.capability-item h3,.experience-lead .taylord-heading,.experience .production-label,.experience-role>.eyebrow,.collaborators-heading .taylord-heading,.contact .taylord-heading{font-size:clamp(20px,2vw,27px);font-weight:400;line-height:1.4}
  .manifesto-pair{gap:16px;margin-bottom:24px}
  .manifesto-pair .manifesto-lines{display:block;padding:0}
  .manifesto-pair .manifesto-lines:not(.service-manifesto)>span,
  .manifesto-pair .service-manifesto>span:first-child{display:block}
  .manifesto-pair .manifesto-lines,.manifesto-copy,.service-lead,.experience .experience-lead>p,.experience .production-description,.experience .experience-role>p:last-child{font-size:16px;line-height:1.8}
  .manifesto-copy,.service-lead{max-width:72ch;margin-inline:auto;text-align:center}
  .experience-lead{grid-template-columns:minmax(0,1fr);row-gap:12px;text-align:center}
  .experience-lead .taylord-heading{margin-bottom:0}
  .experience .experience-lead>p{max-width:72ch;margin-inline:auto}
  .experience-role{grid-template-columns:minmax(0,1fr);gap:12px}
  .experience .experience-role>p:last-child,.experience .production-description{max-width:72ch}
  .contact{grid-template-columns:minmax(0,1fr);text-align:center;row-gap:28px}
  .contact .taylord-heading{margin-bottom:0}
  .contact .contact-card{border:0;padding:0;align-self:start;justify-self:center;width:100%;min-width:0}
  .contact .proposal-link{margin:0 0 36px;font-size:clamp(22px,2.7vw,32px)}
  .contact .contact-people{justify-items:center}
  .contact .contact-person{text-align:center;min-width:0}
  .contact .contact-info{align-items:center;overflow-wrap:anywhere}
}

/* Rounded teal action controls; navigation, contact links and selection cards retain their roles. */
:is(.button,.text-button,button:not(.concept-card):not(.project-card):not(.menu-toggle),.studio-home-cta a,.contact .proposal-link,.site-header nav .nav-cta,.site-header nav .nav-design-piece){
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;
  padding:12px 22px;border:1px solid var(--button-teal);border-radius:999px;
  background:var(--button-teal);color:#111;text-decoration:none;text-align:center;
  font-weight:700;font-synthesis:weight;
  cursor:pointer;line-height:1.4;box-sizing:border-box;
}
:is(.button,.text-button,button:not(.concept-card):not(.project-card):not(.menu-toggle),.studio-home-cta a,.contact .proposal-link,.site-header nav .nav-cta,.site-header nav .nav-design-piece):hover:not(:disabled){background:var(--button-teal-hover);border-color:var(--button-teal-hover);color:#111;text-decoration:none}
:is(.button,.text-button,button:not(.concept-card):not(.project-card):not(.menu-toggle),.studio-home-cta a,.contact .proposal-link,.site-header nav .nav-cta,.site-header nav .nav-design-piece):focus-visible{outline:3px solid #207879;outline-offset:4px}
:is(.button,.text-button,button:not(.concept-card):not(.project-card):not(.menu-toggle)):disabled{background:#dedbd7;border-color:#dedbd7;color:#57534e;cursor:not-allowed}
.generation-actions{gap:12px}
.partnership-lockup.section-lockup,footer .partnership-lockup.footer-lockup,header .partnership-lockup.utility-lockup,body.studio-page header .partnership-lockup.utility-lockup{width:min(760px,81vw,100%);gap:clamp(14px,3vw,38px);margin-inline:auto;flex-shrink:0}
.partnership-lockup.section-lockup .partner-brand>img,header .partnership-lockup.utility-lockup .partner-brand>img,body.studio-page header .partnership-lockup.utility-lockup .partner-brand>img{width:100%;max-height:200px}
.partnership-lockup.section-lockup .flemming-logo-window{width:100%}
.partnership-lockup.section-lockup .section-logo{opacity:.98}
.hero .partnership-lockup,.partnership-lockup.section-lockup,footer .partnership-lockup.footer-lockup{width:min(760px,88vw)}
.capabilities>.section-lockup{justify-self:center}
.partnership-lockup.section-lockup .partner-plus,footer .partnership-lockup.footer-lockup .partner-plus,header .partnership-lockup.utility-lockup .partner-plus,body.studio-page header .partnership-lockup.utility-lockup .partner-plus{font-size:clamp(24px,4vw,42px)}
header:has(.partnership-lockup.utility-lockup),footer:has(.partnership-lockup.footer-lockup){flex-wrap:wrap}
@media(max-width:700px){.partnership-lockup.section-lockup,footer .partnership-lockup.footer-lockup,header .partnership-lockup.utility-lockup,body.studio-page header .partnership-lockup.utility-lockup{gap:14px}.partnership-lockup.section-lockup .partner-brand>img,header .partnership-lockup.utility-lockup .partner-brand>img,body.studio-page header .partnership-lockup.utility-lockup .partner-brand>img{max-height:140px}}

:root{--contact-footer-divider-gap:34px}
#contact.contact{padding-bottom:var(--contact-footer-divider-gap)}
.homepage-footer{display:grid;grid-template-columns:minmax(0,1fr);row-gap:12px;padding-top:var(--contact-footer-divider-gap)}
.homepage-footer > :is(.footer-lockup,.footer-tagline,.footer-copyright){margin:0!important}
.homepage-footer .footer-lockup{justify-self:center}
.homepage-footer .footer-tagline{text-align:center;text-transform:none}
.homepage-footer .footer-copyright{text-align:right;text-transform:none}

/* Preserve the hero's line breaks on the narrowest phones. */
@media(max-width:360px){
  #top .hero h1{font-size:clamp(16px,5vw,18px)}
}
@media(max-width:420px){
  #top .studio-home-cta a{font-size:clamp(20px,6.5vw,24px);padding-inline:clamp(12px,4vw,18px)}
}
