/* Approved logo 05 is a raster original, not an identified font.
   These webfonts complement it; the actual wordmark remains the original image. */
@font-face{font-family:'TL Serif';src:url('/assets/design/fonts/tl-serif.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'TL Mincho';src:url('/assets/design/fonts/tl-mincho-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

.brand-preview{
  /* Primitive values taken from the approved navy/ivory direction. */
  --brand-navy:#23394c;--brand-navy-dark:#152c40;--brand-ivory:#fffcf5;
  --brand-sand:#f2eee5;--brand-white:#fff;--brand-slate:#52616d;--brand-line:#dcdcd5;
  --brand-serif:'TL Serif',Baskerville,'Times New Roman',serif;
  --brand-mincho:'TL Mincho','Yu Mincho','Hiragino Mincho ProN',serif;
  --brand-body:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;
  /* Semantic roles and compatibility with the existing detailed pages. */
  --color-brand:var(--brand-navy);--color-page:var(--brand-ivory);--color-text:var(--brand-navy);
  --color-muted:var(--brand-slate);--color-line:var(--brand-line);
  --ink:var(--color-text);--navy:var(--brand-navy);--blue:var(--brand-navy);--muted:var(--color-muted);
  --paper:var(--brand-ivory);--ice:var(--brand-sand);--line:var(--color-line);--aqua:#d4dce1;
  --dh-sea:var(--brand-navy);--dh-deep:var(--brand-navy);--dh-mist:var(--brand-sand);
  --dh-paper:var(--brand-ivory);--dh-slate:var(--brand-slate);--dh-line:var(--brand-line);
  /* Component roles. */
  --brand-button-bg:var(--brand-navy);--brand-button-hover:var(--brand-navy-dark);--brand-button-radius:6px;
  background:var(--color-page);color:var(--color-text);font-family:var(--brand-body);font-size:16px;
}
.brand-preview h1,.brand-preview h2,.brand-preview h3{font-family:var(--brand-mincho);font-weight:500;letter-spacing:.025em}
.brand-preview .site-header{height:84px;min-height:84px;padding:6px 4%;background:var(--brand-ivory);border-bottom:1px solid var(--color-line);box-shadow:none}
.brand-preview .site-header .logo,.brand-preview .footer-top>.logo{display:block;flex-shrink:0;line-height:1;margin:0;padding:0}
.tl-brand-logo{display:block;position:relative;overflow:hidden;width:92px;height:70px}
.tl-brand-logo img{position:absolute;width:133px;height:133px;max-width:none;left:-21px;top:-30px;object-fit:contain}
.brand-preview .site-header .nav-contact{border-radius:var(--brand-button-radius);background:var(--brand-button-bg);color:var(--brand-ivory);padding:14px 23px}
.brand-preview #navigation>a{font-size:13px;font-weight:500;letter-spacing:.04em}
.brand-preview .menu-button{color:var(--brand-navy)}
.brand-preview .section-label,.brand-preview .dh-eyebrow,.brand-preview .case-category{font-family:var(--brand-serif);font-weight:400;letter-spacing:.15em}
.brand-preview .dh-eyebrow{font-size:12px}
.brand-preview .button,.brand-preview .dh-button{border-radius:var(--brand-button-radius)}
.brand-preview .button-line,.brand-preview .dh-button{background:var(--brand-button-bg);color:var(--brand-ivory);border-color:var(--brand-navy)}
.brand-preview .button-line:hover,.brand-preview .dh-button:hover{background:var(--brand-button-hover);color:var(--brand-ivory)}
.brand-preview .dh-secondary{background:transparent;color:var(--brand-navy);border-color:#9aa6ae}
.brand-preview .dh-secondary:hover{background:var(--brand-sand);color:var(--brand-navy)}
.brand-preview a:focus-visible,.brand-preview summary:focus-visible,.brand-preview button:focus-visible{outline:3px solid #778fa4;outline-offset:5px}
.brand-preview .dh-hero{background:var(--brand-ivory);padding-top:28px}
.brand-preview .dh-location{letter-spacing:.08em;font-size:14px;margin-top:18px}
.brand-preview .dh-hero h1{font-size:clamp(32px,3.8vw,48px);line-height:1.65;letter-spacing:.035em;margin-top:12px}
.brand-preview .dh-hero-intro{font-size:16px;line-height:2.05;margin-top:17px}
.brand-preview .dh-hero-price{gap:12px;font-size:14px;margin-top:18px}
.brand-preview .dh-hero-price strong,.brand-preview .dh-price strong,.brand-preview .dh-support-prices strong,.brand-preview .dh-flow li>span{font-family:var(--brand-serif);font-weight:400;letter-spacing:-.02em;font-variant-numeric:lining-nums}
.brand-preview .dh-hero-price strong{font-size:36px}
.brand-preview .dh-included{font-size:13px;margin-top:9px;text-wrap:balance}
.brand-preview .dh-included span{display:inline-block}
.brand-preview .dh-actions{margin-top:22px;gap:14px}
.brand-preview .dh-button{min-height:56px;padding-inline:25px;font-weight:500;font-size:14px}
.brand-preview .dh-small{font-size:13px;line-height:1.95}
.brand-preview .dh-hero-copy>.dh-small{font-size:12px}
.brand-preview .dh-photo-ribbon{margin-top:46px;gap:20px}
.brand-preview .dh-photo-ribbon a{border-radius:3px}
.brand-preview .dh-photo-ribbon a>span{font-family:var(--brand-mincho);font-size:17px;font-weight:500}
.brand-preview .dh-photo-ribbon small{font-family:var(--brand-body);font-size:12px}
.brand-preview .dh-ribbon-caption{font-size:13px;margin-top:24px}
.brand-preview .dh-section{padding:100px 0}
.brand-preview .dh-heading{margin-bottom:44px}
.brand-preview .dh-heading h2{font-size:34px;line-height:1.75;margin-top:16px;letter-spacing:.025em}
.brand-preview .dh-heading>p:last-child:not(.dh-eyebrow){font-size:16px;line-height:2}
.brand-preview .dh-service{background:var(--brand-white);border-color:var(--brand-line);border-radius:5px;box-shadow:none}
.brand-preview .dh-service-image{background:var(--brand-sand)}
.brand-preview .dh-service h3{font-size:21px;line-height:1.65;letter-spacing:0}
.brand-preview .dh-service h3+p{font-size:15px;line-height:2.05}
.brand-preview .dh-service-bottom{font-size:12px;line-height:1.8}
.brand-preview .dh-work-copy h3{font-size:23px;line-height:1.6}
.brand-preview .dh-work-copy p{font-size:15px}
.brand-preview .dh-work-copy p:first-child{font-size:12px}
.brand-preview .dh-price-main{background:var(--brand-sand)}
.brand-preview .dh-price-main h3{font-size:21px}
.brand-preview .dh-price strong{font-size:64px}
.brand-preview .dh-price-main>p:not(.dh-eyebrow):not(.dh-price){font-size:15px}
.brand-preview .dh-price-scope h3{font-size:20px}
.brand-preview .dh-price-scope li{font-size:14px;line-height:1.9}
.brand-preview .dh-price-scope{background:var(--brand-white)}
.brand-preview .dh-support-prices{gap:24px}
.brand-preview .dh-support-prices a{background:var(--brand-white)}
.brand-preview .dh-support-prices h3{font-size:20px}
.brand-preview .dh-support-prices p{font-size:14px;line-height:1.9}
.brand-preview .dh-support-prices strong{font-size:29px}
.brand-preview .dh-about{background:var(--brand-navy);color:var(--brand-ivory)}
.brand-preview .dh-about .dh-eyebrow,.brand-preview .dh-about em{color:var(--brand-ivory)}
.brand-preview .dh-about h2{font-size:35px;letter-spacing:.01em;line-height:1.9}
.brand-preview .dh-about h2+p,.brand-preview .dh-values p{font-size:15px;color:#d5dce1;line-height:2.1}
.brand-preview .dh-values article{border-color:#ffffff30}
.brand-preview .dh-values h3{font-size:20px}
.brand-preview .dh-inline-link,.brand-preview .dh-center-link a{border-color:#aeb7bd}
.brand-preview .dh-flow h3{font-size:18px}
.brand-preview .dh-flow p{font-size:14px;line-height:2}
.brand-preview .dh-flow li>span{color:var(--brand-slate);font-size:26px}
.brand-preview .dh-faq summary{font-size:16px;line-height:1.9}
.brand-preview .dh-faq summary>span{font-family:var(--brand-serif)}
.brand-preview .dh-faq details>p{font-size:15px}
.brand-preview .site-footer{background:var(--brand-ivory);color:var(--brand-navy);border-top:1px solid var(--brand-line);padding-top:40px}
.brand-preview .footer-top{border-color:var(--brand-line);gap:45px}
.brand-preview .footer-top>p,.brand-preview .footer-bottom{color:var(--brand-slate)}
.brand-preview .footer-pages{border-color:var(--brand-line)}
.brand-preview .back-top{border-color:var(--brand-slate);color:var(--brand-navy)}
.brand-preview .back-top:hover{background:transparent;color:var(--brand-navy-dark)}
.brand-preview .standard-cta-mobile{background:var(--brand-ivory);border-top:1px solid var(--brand-line)}
.brand-preview .standard-cta-mobile strong{font-family:var(--brand-serif);font-weight:400;font-size:23px;color:var(--brand-navy);letter-spacing:-.03em}
.brand-preview .standard-cta-mobile strong small{font-family:var(--brand-body);font-size:10px;margin-left:5px;letter-spacing:0}
.brand-preview .standard-cta-mobile .button{font-family:var(--brand-body);font-size:13px}
/* Detailed pages share the identity without changing their content or behavior. */
.brand-preview.directory-page .directory-intro h1{font-size:clamp(28px,3.3vw,44px);line-height:1.7;letter-spacing:.02em}
.brand-preview .contact-section{background:var(--brand-navy)}
.brand-preview .contact-copy h2{font-family:var(--brand-mincho);font-weight:500}
.brand-preview .menu-product-price,.brand-preview .standard-offer-price strong{font-family:var(--brand-serif);font-weight:400}
@media(min-width:901px){.brand-preview{scroll-margin-top:96px}.brand-preview .dh-section{scroll-margin-top:92px}}
@media(max-width:900px){.brand-preview .site-header{height:72px;min-height:72px;padding:6px 24px}.brand-preview .tl-brand-logo{width:76px;height:58px}.brand-preview .tl-brand-logo img{width:110px;height:110px;left:-17.5px;top:-25px}.js .brand-preview #navigation{top:72px;background:var(--brand-ivory)}.brand-preview #navigation>a{font-size:18px}.brand-preview .dh-service h3{font-size:19px}.brand-preview .dh-price strong{font-size:52px}.brand-preview .dh-about-grid{gap:40px}.brand-preview .dh-about h2{font-size:29px}}
@media(max-width:640px){
  .brand-preview .site-header{padding-inline:20px}.brand-preview .dh-container{width:calc(100% - 44px)}
  .brand-preview .dh-hero{padding-top:30px}.brand-preview .dh-eyebrow{font-size:11px;letter-spacing:.12em}
  .brand-preview .dh-hero .dh-eyebrow{font-size:10px;letter-spacing:.09em}
  .brand-preview .dh-location{font-size:12px;margin-top:21px}
  .brand-preview .dh-hero h1{font-size:clamp(26px,7.15vw,37px);letter-spacing:0;line-height:1.85;margin-top:13px}
  .brand-preview .dh-hero-intro{font-size:14px;line-height:2.05;margin-top:19px}
  .brand-preview .dh-hero-price{font-size:12px;gap:7px;margin-top:23px}
  .brand-preview .dh-hero-price strong{font-size:32px}.brand-preview .dh-hero-price>span{font-size:11px}
  .brand-preview .dh-included{font-size:12px;max-width:25em;line-height:1.95;margin-top:9px}
  .brand-preview .dh-actions{gap:11px;margin-top:22px}
  .brand-preview .dh-button{min-width:230px;min-height:52px;font-size:14px;justify-content:space-between}
  .brand-preview .dh-hero .dh-secondary{min-width:230px}
  .brand-preview .dh-hero-copy>.dh-small{font-size:11px;margin-top:14px}
  .brand-preview .dh-photo-ribbon{gap:9px;margin-top:30px}
  .brand-preview .dh-photo-ribbon a>span{font-size:13px;left:12px;bottom:13px}.brand-preview .dh-photo-ribbon small{font-size:10px}
  .brand-preview .dh-ribbon-caption{font-size:12px;max-width:30em;margin-top:19px}
  .brand-preview .dh-section{padding:68px 0;scroll-margin-top:72px}
  .brand-preview .dh-heading{margin-bottom:29px}.brand-preview .dh-heading h2{font-size:25px;letter-spacing:0;line-height:1.8;margin-top:13px}
  .brand-preview .dh-heading>p:last-child:not(.dh-eyebrow){font-size:15px;line-height:2;margin-top:14px}
  .brand-preview .dh-service h3{font-size:21px}.brand-preview .dh-service h3+p{font-size:16px}
  .brand-preview .dh-service-body{padding:24px}.brand-preview .dh-service-bottom{font-size:12px;gap:5px}
  .brand-preview .dh-work-copy h3{font-size:21px}.brand-preview .dh-work-copy p{font-size:15px}
  .brand-preview .dh-price-main{padding:28px 20px}.brand-preview .dh-price-main h3{font-size:20px}
  .brand-preview .dh-price strong{font-size:58px}.brand-preview .dh-price>span{font-size:21px}.brand-preview .dh-price small{font-size:11px}
  .brand-preview .dh-price-scope{padding:28px 23px}.brand-preview .dh-price-scope li{font-size:14px}.brand-preview .dh-small{font-size:12px}
  .brand-preview .dh-support-prices{gap:14px}.brand-preview .dh-support-prices a{padding:24px}
  .brand-preview .dh-about h2{font-size:29px}.brand-preview .dh-about h2+p,.brand-preview .dh-values p{font-size:15px}
  .brand-preview .dh-values h3{font-size:20px}.brand-preview .dh-flow h3{font-size:18px}.brand-preview .dh-flow p{font-size:15px}
  .brand-preview .dh-faq summary{font-size:15px}.brand-preview .dh-faq details>p{font-size:15px}
  .brand-preview .dh-contact .dh-heading h2{font-size:28px}.brand-preview .dh-contact .dh-button{min-width:260px}
  .brand-preview .footer-top{gap:20px}.brand-preview .footer-top>p{font-size:13px}.brand-preview .footer-top .back-top{top:42px}
}
@media(prefers-reduced-motion:reduce){.brand-preview *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
