/* Paper, generous margins, and dark photographic openings for editorial pages. */
.yw-service-page,.yw-about-page { padding:0; }
.yw-service-hero,.yw-about-hero { position:relative; height:min(45vw,650px); min-height:460px; background:#25190f; overflow:hidden; color:#e6cea4; }
.yw-service-hero > img,.yw-about-hero > img { width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.yw-service-hero::after,.yw-about-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#170d0870,transparent 70%); pointer-events:none; }
.yw-service-hero > div,.yw-about-manifesto { position:absolute; z-index:1; left:7.5%; top:50%; transform:translateY(-50%); width:auto; margin:0; }
.yw-service-hero h1,.yw-about-manifesto h1 { color:#f0d5a5; font-size:clamp(38px,4.2vw,62px); line-height:1.6; letter-spacing:.14em; margin:0 0 15px; }
.yw-service-hero p { font-size:23px; letter-spacing:.12em; margin-bottom:35px; }
.yw-service-hero .yw-kicker,.yw-about-manifesto .yw-kicker { display:block; color:#c4a578; font-size:15px; }
.yw-service-hero .yw-outline { color:#e6c795; border-color:#b79664; }
.yw-about-manifesto .yw-seal { color:#dbc191; border-color:#b99a64; margin-top:15px; }
.yw-service-types { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; padding:75px 0; }
.yw-service-types--bespoke { grid-template-columns:repeat(4,minmax(0,1fr)); }
.yw-service-types a { min-width:0; text-decoration:none; padding-bottom:26px; border-bottom:1px solid var(--yw-border); }
.yw-service-types img { width:100%; aspect-ratio:1.28; object-fit:cover; margin-bottom:25px; }
.yw-service-types a:first-child img { object-position:50% 65%; }
.yw-service-types h2 { font-size:29px; letter-spacing:.14em; margin:0 0 15px; }
.yw-service-types p { color:var(--yw-text-muted); max-width:30ch; line-height:1.9; margin-bottom:20px; }
.yw-service-types__more { display:flex; align-items:center; justify-content:space-between; font-size:15px; letter-spacing:.08em; }
.yw-service-types a:hover .yw-service-types__more { color:#ab7c3e; }
.yw-advisory { scroll-margin-top:30px; padding:70px 0; border-block:1px solid var(--yw-border); }
.yw-advisory > header { max-width:760px; margin-bottom:35px; }
.yw-advisory h2 { font-size:38px; letter-spacing:.12em; margin:0 0 18px; }
.yw-advisory > header > p:last-child { font-size:18px; line-height:2; color:var(--yw-text-muted); }
.yw-advisory__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
.yw-advisory__grid a { display:block; padding:30px; border:1px solid var(--yw-border); text-decoration:none; background:#ffffff30; }
.yw-advisory__grid h3 { font-size:28px; margin:0 0 15px; }
.yw-advisory__grid p { min-height:3.8em; color:var(--yw-text-muted); line-height:1.9; }
.yw-advisory > small { display:block; margin-top:22px; color:var(--yw-text-muted); line-height:1.8; }
.yw-service-story { display:grid; grid-template-columns:1.1fr 1fr; border-block:1px solid var(--yw-border); padding-block:60px; gap:80px; }
.yw-service-story__image { display:flex; flex-direction:column; }
.yw-service-story__image > div { padding:0 0 26px; }
.yw-service-story__image img { width:100%; aspect-ratio:1.6; object-fit:cover; }
.yw-service-story h2,.yw-appointment h2 { display:inline-block; font-size:35px; letter-spacing:.12em; margin:0 20px 22px 0; }
.yw-service-story p { color:var(--yw-text-muted); font-size:18px; line-height:1.9; margin:0; }
.yw-service-process { padding:0 0 0 38px; border-left:1px solid var(--yw-border); }
.yw-service-process ol { list-style:none; margin:25px 0 0; padding:0; counter-reset:service; }
.yw-service-process li { counter-increment:service; position:relative; padding:0 0 35px 55px; margin-bottom:26px; border-bottom:1px solid var(--yw-border); }
.yw-service-process li:last-child { margin:0; border:0; padding-bottom:0; }
.yw-service-process li::before { content:'0' counter(service); position:absolute; left:0; top:-5px; font:300 37px var(--jade-latin); color:#9d815b; }
.yw-service-process h3 { font-size:25px; letter-spacing:.1em; margin:0 0 10px; }
.yw-service-process p { font-size:16px; }
.yw-appointment { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; padding:80px 0 100px; scroll-margin-top:30px; }
.yw-appointment > div { padding-top:5px; }
.yw-appointment > div > p { margin-top:28px; font-size:18px; line-height:1.9; }
.yw-appointment > div .yw-demo-note { font-size:12px; max-width:28em; }
.yw-inquiry-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; margin:0; }
.yw-inquiry-form label { display:grid; gap:10px; font-size:16px; }
.yw-inquiry-form :is(input,select,textarea) { width:100%; min-width:0; }
.yw-inquiry-form label:has(textarea),.yw-inquiry-form > p { grid-column:1/-1; }
.yw-inquiry-form textarea { min-height:130px; resize:vertical; }
.yw-inquiry-form .yw-primary { grid-column:1/-1; justify-self:start; }
.yw-inquiry-form .yw-demo-note { margin:0; }
.yw-inquiry-form .yw-inquiry-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.yw-inquiry-form .yw-inquiry-destination { grid-column:1/-1; }
.yw-inquiry-destination small { font-size:13px; color:var(--yw-text-muted); }
.yw-inquiry-form .yw-inquiry-consent { grid-column:1/-1; display:flex; align-items:flex-start; gap:12px; font-size:14px; line-height:1.8; }
.yw-inquiry-form .yw-inquiry-consent input { flex:none; width:18px; height:18px; margin:4px 0 0; accent-color:var(--yw-accent-strong); }
.yw-inquiry-form .yw-form-status { margin:0; overflow-wrap:anywhere; line-height:1.8; }
.yw-inquiry-form .yw-form-status[data-state] { border-left:2px solid var(--yw-accent-strong); padding:14px 18px; background:#ffffff60; }
.yw-inquiry-form .yw-form-status[data-state="error"] { border-color:#a04332; color:#863324; }
.yw-inquiry-form .yw-form-status:focus { outline:2px solid var(--yw-accent-strong); outline-offset:3px; }
.yw-inquiry-work { grid-column:1/-1; display:flex; align-items:center; gap:18px; text-decoration:none; border-block:1px solid var(--yw-border); padding-block:18px; }
.yw-inquiry-work img { width:75px; height:90px; object-fit:cover; }
.yw-inquiry-work > span { display:grid; gap:7px; }
.yw-inquiry-work strong { font-weight:400; font-size:20px; }
.yw-inquiry-work small,.yw-inquiry-work span span { font-size:13px; }
.yw-about-intro { display:grid; grid-template-columns:.8fr 1.2fr; padding:90px 0 65px; gap:20px 60px; }
.yw-about-intro h2 { font-size:38px; letter-spacing:.15em; margin:0; }
.yw-about-intro > .yw-short-rule { grid-column:1; }
.yw-about-intro > div { grid-column:2; grid-row:1/3; display:grid; grid-template-columns:1fr 1fr; gap:35px; }
.yw-about-intro p { font-size:18px; line-height:2.2; margin:0; }
.yw-about-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; padding-bottom:80px; }
.yw-about-values article { position:relative; text-align:center; }
.yw-about-values img { width:100%; aspect-ratio:.95; object-fit:cover; }
.yw-about-values h3 { font-size:27px; letter-spacing:.16em; margin:24px 0 16px; }
.yw-about-values .yw-seal { display:none; }
.yw-about-craft { padding-block:60px; border-block:1px solid var(--yw-border); }
.yw-about-craft > h2 { font-size:35px; letter-spacing:.1em; margin-bottom:35px; }
.yw-about-craft > div { display:grid; grid-template-columns:1.2fr 1fr; gap:75px; align-items:center; }
.yw-about-craft img { width:100%; aspect-ratio:1.5; object-fit:cover; }
.yw-about-craft dl { margin:0; }
.yw-about-craft dl > div { display:grid; grid-template-columns:75px 1fr; align-items:baseline; gap:15px; padding:26px 0; border-bottom:1px solid var(--yw-border); }
.yw-about-craft dl > div:last-child { border:0; }
.yw-about-craft dt { font:400 28px var(--jade-serif); }
.yw-about-craft dd { font-size:17px; margin:0; line-height:1.9; }
.yw-about-closing { text-align:center; padding:75px 0 85px; }
.yw-about-closing h2 { font-size:38px; letter-spacing:.12em; margin-bottom:22px; }
.yw-about-closing > div { display:flex; justify-content:center; gap:24px; margin:30px 0; }
.yw-about-closing .yw-demo-note { max-width:60ch; margin:auto; }
.yw-helps { padding-block:65px 80px; }
.yw-help-intro { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.yw-help-intro > img { width:100%; aspect-ratio:1.4; object-fit:cover; }
.yw-helps-heading h1 { font:300 clamp(45px,5vw,72px)/1.2 var(--jade-latin); letter-spacing:.03em; margin:0 0 20px; }
.yw-helps-heading p:not(.yw-kicker) { font-size:23px; letter-spacing:.08em; margin-bottom:35px; }
.yw-help-search { display:flex; margin:0; border-bottom:1px solid #a38a64; }
.yw-jade-site .yw-help-search input { width:100%; min-width:0; border:0; padding:14px 0; background:transparent; }
.yw-help-search button { background:transparent; color:var(--yw-accent-strong); width:50px; padding:0; display:grid; place-items:center; }
.yw-help-topics { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--yw-border); margin:55px 0; padding:20px 0; }
.yw-help-topics button { display:flex; gap:20px; align-items:center; justify-content:center; min-height:72px; background:transparent; color:var(--yw-text); border-right:1px solid var(--yw-border); font-size:18px; letter-spacing:.06em; padding:12px; }
.yw-help-topics button:last-child { border:0; }
.yw-help-topics button[aria-pressed=true] { background:#bca27b1c; }
.yw-help-topics .yw-ui-icon { width:30px; height:30px; color:#9b805a; }
.yw-faq-layout { display:grid; grid-template-columns:220px 1fr; gap:65px; }
.yw-faq-nav { display:flex; flex-direction:column; align-items:stretch; }
.yw-faq-nav button { padding:15px 18px; color:var(--yw-text-muted); background:transparent; text-align:left; border-left:1px solid var(--yw-border); font-size:17px; }
.yw-faq-nav button[aria-pressed=true] { border-color:#775737; color:#503b23; background:#bca27b18; }
.yw-faq-list details { border-bottom:1px solid var(--yw-border); }
.yw-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:25px; cursor:pointer; list-style:none; font-size:22px; padding:22px 0; }
.yw-faq-list summary::-webkit-details-marker { display:none; }
.yw-faq-list summary::after { content:'+'; flex:none; font:300 25px var(--jade-latin); color:#997c53; }
.yw-faq-list details[open] summary::after { content:'−'; }
.yw-faq-list details p { font-size:17px; line-height:2; color:var(--yw-text-muted); max-width:55em; margin:0; padding:0 35px 28px 0; }
.yw-faq-status { font-size:13px; margin-top:20px; color:var(--yw-text-muted); }
.yw-faq-empty { padding:25px 0; }
.yw-help-contact { display:grid; grid-template-columns:1.1fr 1fr; margin-top:65px; background:#271c12; color:#d9be93; }
.yw-help-contact img { width:100%; height:100%; min-height:350px; object-fit:cover; }
.yw-help-contact > div { padding:55px 50px; align-self:center; }
.yw-help-contact h2 { color:#e0c59c; font-size:36px; letter-spacing:.1em; margin-bottom:10px; }
.yw-help-contact p { font-size:21px; }
.yw-help-contact a { color:#d9be93; }
.yw-help-contact small { display:block; margin-top:25px; font-size:12px; color:#baa98d; }
/* Series, standard pages, search and the missing-page view. */
.yw-series { padding-block:35px 85px; }
.yw-series-breadcrumb { margin-bottom:30px; font-size:14px; }
.yw-series-breadcrumb a { text-decoration:none; }
.yw-series-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:75px; align-items:center; }
.yw-series-layout figure img { width:100%; aspect-ratio:1; object-fit:cover; }
.yw-series-copy h1 { font-size:52px; letter-spacing:.18em; margin:12px 0 20px; }
.yw-series-copy h2 { font-size:26px; line-height:1.8; }
.yw-series-copy p { font-size:18px; line-height:1.9; }
.yw-series-product { padding:25px 0; margin-top:30px; border-block:1px solid var(--yw-border); }
.yw-series-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.yw-series-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:65px; }
.yw-series-nav a { display:flex; align-items:center; gap:22px; text-decoration:none; border-top:1px solid var(--yw-border); padding-top:25px; }
.yw-series-nav img { width:80px; height:95px; object-fit:cover; }
.yw-series-nav strong { display:block; font-weight:400; font-size:24px; }
.yw-series-nav small { font-size:14px; }
.yw-content-page,.yw-search-page,.yw-not-found { max-width:1250px; width:calc(100% - 2 * var(--yw-gutter)); margin:0 auto; padding:65px 0 90px; }
.yw-content-page__heading,.yw-search-page__heading { border-bottom:1px solid var(--yw-border); padding-bottom:35px; margin-bottom:40px; }
.yw-content-page__title,.yw-search-page__title,.yw-not-found__title { font-size:45px; letter-spacing:.1em; line-height:1.5; margin-bottom:16px; }
.yw-content-page__body { font-size:18px; line-height:2; }
.yw-content-page__kicker,.yw-search-page__kicker,.yw-not-found__kicker { font-size:13px; color:#96784e; letter-spacing:.15em; }
.yw-search-card { display:grid; grid-template-columns:220px 1fr; gap:30px; padding-block:30px; border-bottom:1px solid var(--yw-border); }
.yw-search-card img { width:100%; aspect-ratio:1.2; object-fit:cover; }
.yw-search-card__title { font-size:27px; }
.yw-search-card__meta { font-size:13px; }
.yw-search-card__excerpt { color:var(--yw-text-muted); font-size:17px; }
.yw-not-found { min-height:70vh; text-align:center; padding-block:90px; }
.yw-not-found__links { display:flex; justify-content:center; gap:30px; margin:30px 0 0; padding:0; list-style:none; }
.yw-not-found .search-form,.yw-search-page .search-form { display:flex; max-width:560px; margin:25px auto; }
.search-form label { flex:1; min-width:0; }
.search-form input { width:100%; }
.search-form input.search-submit { width:auto; color:var(--yw-on-dark); background:var(--yw-footer); border:1px solid var(--yw-footer); padding:10px 25px; }
@media(max-width:1000px) {
 .yw-service-story,.yw-appointment,.yw-help-intro,.yw-about-craft > div,.yw-series-layout { gap:35px; }
 .yw-about-intro { grid-template-columns:1fr; }
 .yw-about-intro > div { grid-column:1; grid-row:auto; margin-top:20px; }
 .yw-help-contact > div { padding:35px; }
 .yw-faq-layout { grid-template-columns:170px 1fr; gap:35px; }
 .yw-service-types { gap:24px; }
 .yw-service-types--bespoke { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
 .yw-service-hero,.yw-about-hero { min-height:480px; height:120vw; max-height:650px; }
 .yw-service-hero > img,.yw-about-hero > img { object-position:63% center; opacity:.78; }
 .yw-service-hero > div,.yw-about-manifesto { left:7%; }
 .yw-service-hero h1,.yw-about-manifesto h1 { font-size:36px; }
 .yw-service-hero p { font-size:18px; }
 .yw-service-types { grid-template-columns:1fr; padding-block:40px; gap:32px; }
 .yw-service-types--bespoke { grid-template-columns:1fr; }
 .yw-service-types a { display:grid; grid-template-columns:110px 1fr; gap:8px 22px; padding-bottom:24px; }
 .yw-service-types img { grid-row:1/4; aspect-ratio:.8; height:100%; max-height:180px; margin:0; }
 .yw-service-types h2 { font-size:24px; margin:0; }
 .yw-service-types p { font-size:15px; margin:0; }
 .yw-service-types__more { font-size:14px; }
 .yw-service-story,.yw-appointment,.yw-help-intro,.yw-help-contact,.yw-about-craft > div,.yw-series-layout { grid-template-columns:1fr; gap:30px; }
 .yw-service-story { padding-block:35px; }
 .yw-service-process { padding:20px 0 0; border-left:0; }
 .yw-service-story h2,.yw-appointment h2 { font-size:30px; }
 .yw-service-story p { font-size:16px; }
 .yw-service-process li { padding-bottom:23px; margin-bottom:22px; }
 .yw-advisory { padding-block:40px; }
 .yw-advisory h2 { font-size:31px; }
 .yw-advisory__grid { grid-template-columns:1fr; }
 .yw-advisory__grid h3 { font-size:24px; }
 .yw-appointment { padding:40px 0 55px; }
 .yw-appointment > div > p { margin-top:14px; font-size:17px; }
 .yw-inquiry-form { gap:20px 14px; }
 .yw-inquiry-form label { font-size:15px; }
 .yw-inquiry-form label:has(input[type=email]) { grid-column:1/-1; }
 .yw-inquiry-form label:has(select[name=budget]) { grid-column:1/-1; }
 .yw-helps { padding:35px 0 50px; }
 .yw-helps-heading h1 { font-size:46px; }
 .yw-helps-heading p:not(.yw-kicker) { font-size:20px; }
 .yw-help-intro > img { aspect-ratio:1.8; }
 .yw-help-topics { grid-template-columns:repeat(2,1fr); margin:30px 0; padding:10px 0; }
 .yw-help-topics button { font-size:16px; min-height:65px; gap:14px; }
 .yw-help-topics button:nth-child(2) { border:0; }
 .yw-help-topics .yw-ui-icon { width:25px; height:25px; }
 .yw-faq-layout { display:block; }
 .yw-faq-nav { display:flex; flex-direction:row; overflow-x:auto; gap:18px; margin-bottom:18px; }
 .yw-faq-nav button { flex:none; border:0; padding:12px 0; font-size:15px; }
 .yw-faq-nav button[aria-pressed=true] { border-bottom:1px solid #775737; background:transparent; }
 .yw-faq-list summary { font-size:20px; padding-block:20px; }
 .yw-faq-list details p { font-size:16px; padding-right:18px; }
 .yw-help-contact { margin-top:35px; gap:0; }
 .yw-help-contact img { min-height:0; height:auto; aspect-ratio:1.75; }
 .yw-help-contact > div { padding:30px; }
 .yw-help-contact h2 { font-size:30px; }
 .yw-about-intro { padding-block:40px; gap:20px; }
 .yw-about-intro h2 { font-size:32px; }
 .yw-about-intro > div { grid-template-columns:1fr; gap:24px; margin-top:5px; }
 .yw-about-intro p { font-size:17px; }
 .yw-about-values { gap:16px; grid-template-columns:repeat(2,1fr); padding-bottom:35px; }
 .yw-about-values article:last-child { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; align-items:center; border-block:1px solid var(--yw-border); padding-block:18px; }
 .yw-about-values article:last-child img { aspect-ratio:1.2; }
 .yw-about-values h3 { font-size:22px; letter-spacing:.1em; margin:20px 0; }
 .yw-about-craft { padding-block:35px; }
 .yw-about-craft > h2 { font-size:30px; margin-bottom:25px; }
 .yw-about-craft > div { gap:10px; }
 .yw-about-craft dl > div { padding:22px 0; }
 .yw-about-craft dt { font-size:25px; }
 .yw-about-craft dd { font-size:16px; }
 .yw-about-closing { padding-block:40px 50px; }
 .yw-about-closing h2 { font-size:30px; }
 .yw-about-closing > div { gap:12px; }
 .yw-about-closing .yw-outline { padding-inline:22px; }
 .yw-series { padding-block:25px 45px; }
 .yw-series-copy h1 { font-size:38px; }
 .yw-series-copy h2 { font-size:24px; }
 .yw-series-nav { grid-template-columns:1fr; gap:22px; margin-top:40px; }
 .yw-content-page,.yw-search-page { padding-block:35px 50px; }
 .yw-content-page__title,.yw-search-page__title,.yw-not-found__title { font-size:33px; }
 .yw-search-card { grid-template-columns:90px 1fr; gap:20px; }
 .yw-search-card__title { font-size:23px; }
 .yw-search-card__excerpt { font-size:15px; }
 .yw-not-found { padding-block:65px; }
 .yw-not-found__links { gap:18px; font-size:15px; }
}

.yw-series-layout figure { margin:0; }
.yw-series-layout figure img { aspect-ratio:.85; }
.yw-series-layout figcaption { font-size:13px; margin-top:12px; color:var(--yw-text-muted); }
.yw-series-breadcrumb { display:flex; gap:15px; }
.yw-series-copy .yw-short-rule { margin:25px 0; }
.yw-series-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:20px 55px; border-top:1px solid var(--yw-border); }
.yw-series-nav a { display:block; border:0; padding:18px 0; font-size:19px; }
.yw-series-nav a[aria-current] { border-bottom:1px solid var(--yw-accent); }
.yw-status-page { width:calc(100% - 2 * var(--yw-gutter)); max-width:760px; margin:auto; padding:80px 0 100px; min-height:65vh; }
.yw-status-page h1,.yw-search-page__header h1 { font-size:clamp(32px,4vw,48px); letter-spacing:.08em; line-height:1.5; }
.yw-status-page__kicker { font-size:14px; letter-spacing:.15em; }
.yw-status-page__lead { font-size:18px; line-height:1.9; }
.yw-status-page__links { display:flex; flex-wrap:wrap; gap:20px 35px; margin-top:30px; }
.yw-search-form { max-width:600px; margin:30px 0; }
.yw-search-form label { display:block; font-size:14px; margin-bottom:10px; }
.yw-search-form__control { display:flex; }
.yw-search-form__control input { flex:1; width:100%; min-width:0; }
.yw-search-form__control button { min-width:90px; background:var(--yw-footer); color:var(--yw-on-dark); border:0; font-weight:400; }
.yw-search-page__header { border-bottom:1px solid var(--yw-border); padding-bottom:20px; }
.yw-search-card h2 { font-size:27px; line-height:1.6; }
.yw-search-card a { text-decoration:none; }
.yw-search-card__type,.yw-search-card__cta { font-size:14px; }
.yw-search-card__media > span { display:grid; place-items:center; aspect-ratio:1.2; border:1px solid var(--yw-border); font-size:35px; }
@media(max-width:720px) { .yw-series-layout figure img { aspect-ratio:1.1; } .yw-series-nav { gap:10px 24px; } .yw-series-nav a { font-size:16px; } .yw-search-card h2 { font-size:22px; } }
