/*
Theme Name: PRD Corporate Design
Author: 株式会社ピーアールディ
Description: 確定デザイン準拠の株式会社ピーアールディ公式テーマ
Version: 6.2.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: prd-corporate
*/
:root{--blue:#0785ef;--cyan:#10b8be;--purple:#9637ed;--pink:#f2186c;--orange:#f16808;--yellow:#ffd500;--ink:#111;--line:#d8e6ec;--pale:#f3fbff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.75;background:#fff}a{color:inherit}img{max-width:100%;height:auto}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{height:88px;padding:8px max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:20;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.45) 68%,rgba(255,255,255,.12))}.site-logo img,.custom-logo-link img{display:block;width:285px;height:72px;object-fit:contain;object-position:left}.global-nav{display:flex;align-items:center;gap:52px;font-weight:700;font-size:15px}.global-nav a{text-decoration:none;padding:9px 2px}.global-nav a:hover{color:var(--blue)}.global-nav .nav-contact{padding:15px 28px;background:var(--blue);color:#fff;box-shadow:0 6px 14px rgba(7,133,239,.25)}.menu-toggle{display:none}.hero{height:610px;position:relative;display:flex;align-items:center;background:#eaf7ff url('assets/images/hero-business.png') center/cover no-repeat;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.8) 26%,rgba(255,255,255,.03) 62%)}.hero-copy{position:relative;z-index:2;width:min(1160px,calc(100% - 48px));margin:65px auto 0}.hero h1{font-family:YuMincho,"Hiragino Mincho ProN",serif;font-size:45px;line-height:1.35;letter-spacing:.1em;margin:0 0 8px}.hero h1 em{font-style:normal;color:var(--blue)}.script{font-family:cursive;color:var(--orange);font-size:29px;font-style:italic;margin:8px 0}.hero-copy>p:not(.script){font-size:14px}.yellow-btn,.submit{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--yellow);padding:13px 26px;min-width:240px;font-weight:800;text-decoration:none;border:0;margin-top:20px;box-shadow:0 4px 10px rgba(0,0,0,.08)}.section{padding:46px 0}.section-head{text-align:center;margin:0 auto 28px}.section-head h2{font-size:29px;margin:0 0 8px}.section-head h2:after{content:"";display:block;width:28px;height:3px;background:var(--blue);margin:10px auto}.section-head p{margin:0}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.service-card{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);background:linear-gradient(#f7fcff,#fff);overflow:hidden}.service-card:nth-child(2){background:#f3fdfc}.service-card:nth-child(4){background:#fbf5ff}.service-card:nth-child(5){background:#fff4f7}.service-card:nth-child(6){background:#fff9f2}.service-image{width:100%;height:135px;object-fit:cover;order:2}.service-body{padding:12px 10px;min-height:158px;position:relative;text-align:center}.service-no{display:block;font-size:28px;font-weight:900;color:var(--blue)}.service-card:nth-child(2) .service-no{color:var(--cyan)}.service-card:nth-child(4) .service-no{color:var(--purple)}.service-card:nth-child(5) .service-no{color:var(--pink)}.service-card:nth-child(6) .service-no{color:var(--orange)}.service-body h3{margin:0 0 7px;font-size:18px}.service-brand{display:none}.service-desc{font-size:13px;margin:0}.service-arrow{display:block;border:1px solid currentColor;margin:10px 8px 0;padding:7px;color:var(--blue);font-weight:800}.reason{padding-top:22px}.reason-grid{display:grid;grid-template-columns:repeat(5,1fr)}.reason-item{text-align:center;padding:0 25px;border-right:1px solid var(--line)}.reason-item:last-child{border:0}.reason-item h3{font-size:16px;color:var(--blue);min-height:56px}.reason-item p{font-size:13px}.reason-icon{display:none}.cta{min-height:170px;display:flex;align-items:center;justify-content:center;gap:70px;background:radial-gradient(circle at 15% 0,#d8f2ff,transparent 37%),radial-gradient(circle at 90% 100%,#e5f8e4,transparent 32%),#f7fcff;border-top:1px solid #eaf4f7}.cta h2{font-size:23px;margin:0}.cta p{font-size:13px}.site-footer{padding:24px 0 18px;background:#fff}.footer-inner{display:flex;align-items:flex-start;justify-content:space-between}.footer-brand img{width:240px}.footer-brand address{font-style:normal;font-size:13px}.footer-nav{display:flex;margin-top:15px}.footer-nav a{font-size:13px;text-decoration:none;padding:2px 28px;border-left:1px solid #9dd5f4}.footer-nav a:last-child{border-right:1px solid #9dd5f4}.copyright{text-align:right;font-size:11px;margin-top:-20px;color:#555}.page-head{min-height:300px;padding:115px max(24px,calc((100vw - 1160px)/2)) 35px;background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.15)),url('assets/images/hero-business.png') center 42%/cover no-repeat}.page-head h1{font-family:YuMincho,"Hiragino Mincho ProN",serif;font-size:45px;margin:0}.page-head .kicker{color:var(--blue);letter-spacing:.18em;margin:0}.page-head>p:last-child{font-family:YuMincho,"Hiragino Mincho ProN",serif;font-size:20px;letter-spacing:.08em}.page-content{padding:40px 0 55px}.business-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.business-row{padding:15px 14px 14px;border:1px solid var(--line);background:#f6fcff;display:flex;flex-direction:column}.business-row:nth-child(2){background:#f4fdfc}.business-row:nth-child(4){background:#faf5ff}.business-row:nth-child(5){background:#fff4f7}.business-row:nth-child(6){background:#fff9f3}.business-image{width:100%;height:205px;object-fit:cover;order:2}.business-row>div{display:contents}.business-row .num{font-size:30px;color:var(--blue);font-weight:900}.business-row h2{display:inline;font-size:22px;margin-left:18px}.business-row strong{display:none}.business-row p{min-height:56px}.text-link{order:3;text-align:center;border:1px solid var(--blue);color:var(--blue);font-weight:800;text-decoration:none;margin:14px auto 0;padding:7px;width:60%}.company-message{display:grid;grid-template-columns:1.08fr .92fr;gap:45px;align-items:start}.company-message .portrait{grid-column:2;grid-row:1}.company-message .portrait img{width:100%;height:450px;object-fit:cover}.company-message .message-copy{grid-column:2;margin-top:455px}.company-table{width:100%;border-collapse:collapse}.company-table th,.company-table td{padding:14px 20px;border:1px solid #d8e0e4;text-align:left}.company-table th{width:31%;background:#eef9ff}.contact-layout,.policy{max-width:900px}.contact-intro{text-align:center}.contact-form{background:#f7fcff;border:1px solid var(--line);padding:38px}.contact-form fieldset{border:0;padding:0;margin:0 0 24px}.radio-group{display:flex;gap:12px}.radio-group label{flex:1}.radio-group span{display:block;padding:12px;text-align:center;border:1px solid #b9d7e6;background:#fff}.radio-group input{position:absolute;opacity:0}.radio-group input:checked+span{background:#e6f7ff;border-color:var(--blue)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{font-weight:700}.field.full{grid-column:1/-1}.field input,.field textarea{width:100%;display:block;margin-top:7px;padding:12px;border:1px solid #b9cdd6;background:#fff}.field textarea{height:180px}.req{color:#e5003c;font-size:11px}.opt{color:#73838a;font-size:11px}.consent{text-align:center}.submit{display:flex;margin:25px auto}.notice{padding:15px}.success{background:#e9f8ef}.error{background:#fff0f0}.policy section{margin-top:42px}.policy h2{border-bottom:2px solid var(--blue);padding-bottom:8px}.policy h2 span{color:var(--blue);margin-right:12px}
@media(max-width:900px){.site-header{position:relative;height:74px;background:#fff}.site-logo img,.custom-logo-link img{width:195px;height:58px}.menu-toggle{display:block;border:0;background:none}.menu-toggle span{display:block;width:27px;height:2px;background:#111;margin:5px}.global-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:15px 24px;box-shadow:0 8px 20px rgba(0,0,0,.12)}.global-nav.open{display:flex}.global-nav a{width:100%;border-bottom:1px solid var(--line)}.hero{height:auto;min-height:670px;background-position:68% center}.hero:after{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.62) 56%,rgba(255,255,255,.05))}.hero-copy{margin:0 auto;padding-top:35px;align-self:flex-start}.service-grid{grid-template-columns:repeat(2,1fr)}.reason-grid{grid-template-columns:1fr 1fr}.reason-item{border-bottom:1px solid var(--line)}.cta{padding:30px 24px;display:block;text-align:center}.footer-inner{display:block}.footer-nav{display:grid;grid-template-columns:1fr 1fr}.footer-nav a,.footer-nav a:last-child{border:0;border-bottom:1px solid var(--line);padding:8px}.copyright{text-align:center;margin-top:25px}.business-list{grid-template-columns:1fr 1fr}.company-message{display:block}.company-message .message-copy{margin:20px 0}.company-table{margin-top:35px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1160px)}.hero h1{font-size:36px}.service-grid,.business-list,.reason-grid{grid-template-columns:1fr}.service-image{height:200px}.service-body{min-height:auto}.page-head h1{font-size:38px}.radio-group{display:block}.radio-group label{display:block;margin-bottom:8px}.contact-form{padding:22px 15px}.footer-nav{grid-template-columns:1fr}}
.page-content .service-grid{grid-template-columns:repeat(3,1fr)}.page-content .service-card .service-image{height:205px}.company-message>div .portrait{display:block}.company-message>div .message-copy{margin:12px 0 0}.company-message>div .message-copy h2{color:var(--blue);font-size:23px}.company-message~.reason-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.page-content .service-grid{grid-template-columns:repeat(2,1fr)}.company-message>div .message-copy{margin:18px 0}.company-message~.reason-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.page-content .service-grid,.company-message~.reason-grid{grid-template-columns:1fr}}
.home-final .hero-copy{position:absolute;left:max(48px,calc((100vw - 1160px)/2));top:112px;width:440px;max-width:calc(100% - 96px);margin:0;padding:0}.home-final .hero-copy>*{max-width:none}.service-arrow{order:3}.cta{min-height:220px;padding:28px max(24px,calc((100vw - 1160px)/2))}.footer-brand img{background:#fff}
@media(max-width:1100px){.home-final .hero-copy{left:36px;width:390px;max-width:45%}}
@media(max-width:900px){.home-final .hero-copy{position:relative;left:auto;top:auto;width:min(100% - 48px,600px);max-width:none;margin:0 auto;padding:42px 0 0}.home-final .hero-copy>*{max-width:430px}.cta{min-height:260px}}
@media(max-width:560px){.home-final .hero-copy{width:calc(100% - 28px);padding-top:34px}.home-final .hero-copy>*{max-width:100%}.cta{min-height:320px}}
.home-final{background-position:48% center}.home-final:after{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.78) 25%,rgba(255,255,255,.04) 47%,rgba(255,255,255,0) 70%)}.home-final .hero-copy{padding-right:70%}.hero-collage{position:absolute;z-index:3;right:0;top:0;width:32%;height:100%;background:#fff;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}.collage-panel{position:absolute;right:0;width:100%;background-size:cover;background-position:center;border-bottom:7px solid #fff}.collage-panel.phone{top:0;height:39%;background-image:url('assets/images/service-mobile.png');clip-path:polygon(12% 0,100% 0,100% 100%,0 86%)}.collage-panel.design{top:31%;height:40%;background-image:url('assets/images/service-design.png');clip-path:polygon(0 9%,100% 23%,100% 100%,9% 84%)}.collage-panel.market{bottom:0;height:35%;background-image:url('assets/images/service-event.png');clip-path:polygon(9% 0,100% 18%,100% 100%,0 100%)}.collage-copy{position:absolute;z-index:5;font-family:YuMincho,"Hiragino Mincho ProN",serif;font-size:25px;line-height:1.45;transform:rotate(-7deg);text-align:right;text-shadow:0 1px 4px #fff,0 1px 8px #fff}.collage-copy em{font-style:normal;color:var(--blue)}.collage-copy.top{right:4%;top:25%}.collage-copy.bottom{right:5%;bottom:3%;color:var(--blue)}.cta-mail{display:flex;align-items:center;gap:15px;border:1px solid var(--blue);color:var(--blue);background:#fff;padding:16px 22px;text-decoration:none;font-size:27px}.cta-mail span{font-size:14px}.cta-mail strong{color:#111}.cta-phone h2{font-size:30px}
@media(max-width:1100px){.global-nav{gap:25px}.home-final .hero-copy{padding-right:55%}.hero-collage{width:35%}.collage-copy{font-size:20px}}
@media(max-width:900px){.home-final{min-height:760px;background-position:65% center}.home-final .hero-copy{padding-right:0}.hero-collage{top:auto;bottom:0;width:54%;height:43%}.collage-copy{font-size:16px}.collage-copy.top{top:18%}.cta-mail{justify-content:center;margin-top:18px}}
@media(max-width:560px){.home-final{min-height:820px}.hero-collage{width:67%;height:39%}.collage-copy{display:none}}
.home-final .hero-copy{padding-right:0!important}.service-body{height:180px;min-height:180px;flex:0 0 180px}.service-image{flex:0 0 135px}.service-arrow{margin:10px 8px 10px;flex:0 0 44px}.service-card{align-self:stretch}
@media(max-width:900px){.service-body{height:180px;min-height:180px;flex-basis:180px}}
@media(max-width:560px){.service-body{height:auto;min-height:158px;flex-basis:auto}}

/* 2.6.0: final artwork and alignment */
.home-final{height:500px;min-height:500px}
.home-final .hero-copy{top:98px}
.home-final .hero-copy h1{font-size:42px}
.hero-collage{width:31%}
.service-arrow{display:flex;align-items:center;justify-content:center;text-align:center}
@media(max-width:900px){.home-final{height:auto;min-height:720px}.home-final .hero-copy{top:auto}.hero-collage{width:54%}}
@media(max-width:560px){.home-final{min-height:820px}.hero-collage{width:67%}}

/* 2.7.0: transparent logo and hero bottom alignment */
.home-final{height:530px;min-height:530px}
.collage-panel.market{bottom:0;border-bottom:0;transform:none;clip-path:polygon(9% 0,100% 18%,100% 100%,0 100%)}
@media(max-width:900px){.home-final{height:auto;min-height:750px}}
@media(max-width:560px){.home-final{min-height:850px}}

/* 2.8.0: evenly spaced three-panel collage */
.hero-collage .collage-panel{clip-path:none;border:0;transform:none;left:0;right:0;width:100%}
.hero-collage .collage-panel.phone{top:0;bottom:auto;height:33.333%;border-bottom:6px solid #fff}
.hero-collage .collage-panel.design{top:33.333%;bottom:auto;height:33.333%;border-bottom:6px solid #fff}
.hero-collage .collage-panel.market{top:66.666%;bottom:0;height:33.334%;border:0}

/* 2.9.0: improve collage-copy legibility over photographs */
.collage-copy{font-weight:700;-webkit-text-stroke:.45px rgba(255,255,255,.95);paint-order:stroke fill;text-shadow:-2px -2px 0 rgba(255,255,255,.9),2px -2px 0 rgba(255,255,255,.9),-2px 2px 0 rgba(255,255,255,.9),2px 2px 0 rgba(255,255,255,.9),0 0 9px #fff,0 0 16px #fff}
.collage-copy em{font-weight:700}

/* 3.0.0: soften collage-copy treatment */
.collage-copy{font-weight:500;-webkit-text-stroke:.18px rgba(255,255,255,.75);text-shadow:0 0 3px rgba(255,255,255,.95),0 1px 8px rgba(255,255,255,.9),0 1px 15px rgba(255,255,255,.72)}
.collage-copy em{font-weight:500}

/* 3.1.0: balanced soft contrast for collage copy */
.collage-copy{font-weight:600;-webkit-text-stroke:.3px rgba(255,255,255,.88);text-shadow:0 0 3px #fff,0 1px 7px rgba(255,255,255,.98),0 1px 14px rgba(255,255,255,.9),0 2px 20px rgba(255,255,255,.68)}
.collage-copy em{font-weight:600}

/* 3.2.0: business page header matched to approved design */
.business-head{height:230px;min-height:230px;padding:112px max(30px,calc((100vw - 1160px)/2)) 24px;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.28) 38%,rgba(255,255,255,.06) 72%),url('assets/images/business-header.jpg') center/cover no-repeat;position:relative}
.business-head .business-tagline{margin:0;font-family:YuMincho,"Hiragino Mincho ProN",serif;font-size:27px;line-height:1.55;letter-spacing:.12em}
.business-head .business-script{position:absolute;right:max(40px,calc((100vw - 1160px)/2));bottom:14px;margin:0;color:var(--blue);font-family:cursive;font-size:26px;font-style:italic}
.breadcrumb{height:48px;display:flex;align-items:center;gap:12px;font-size:12px;color:#555}
.breadcrumb a{text-decoration:none}
@media(max-width:900px){.business-head{height:230px;min-height:230px;padding-top:75px}.business-head .business-script{font-size:20px;right:24px}.business-head .business-tagline{font-size:23px}}

/* 3.3.0: company page header matched to approved design */
.company-head{height:260px;min-height:260px;padding:94px max(30px,calc((100vw - 1160px)/2)) 18px;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.34) 39%,rgba(255,255,255,.04) 74%),url('assets/images/company-header.jpg') center/cover no-repeat;position:relative}
.company-head h1{font-size:39px;line-height:1.2;letter-spacing:.12em;margin:0}
.company-head .company-kicker{margin:2px 0 8px;color:var(--blue);font-size:16px;letter-spacing:.18em;line-height:1.3}
.company-head .company-tagline{margin:0;font-family:YuMincho,"Hiragino Mincho ProN",serif;font-size:22px;line-height:1.5;letter-spacing:.1em}
.company-head .company-script{position:absolute;right:max(40px,calc((100vw - 1160px)/2));bottom:12px;margin:0;color:var(--blue);font-family:cursive;font-size:26px;font-style:italic}
@media(max-width:900px){.company-head{height:260px;min-height:260px;padding-top:78px}.company-head h1{font-size:34px}.company-head .company-script{font-size:19px;right:24px}}

/* 3.4.0: business title and English kicker */
.business-head{height:260px;min-height:260px;padding-top:94px}
.business-head h1{font-size:39px;line-height:1.2;letter-spacing:.12em;margin:0}
.business-head .business-kicker{margin:2px 0 8px;color:var(--blue);font-size:16px;letter-spacing:.18em;line-height:1.3}
.business-head .business-tagline{font-size:22px;line-height:1.5}
@media(max-width:900px){.business-head{height:260px;min-height:260px;padding-top:78px}.business-head h1{font-size:34px}}

/* 3.6.0: privacy policy body design */
.privacy-content{background:linear-gradient(180deg,#fff 0,#f7fcff 100%)}
.policy-designed{max-width:960px}
.policy-intro{display:flex;gap:22px;align-items:flex-start;padding:28px 32px;margin-bottom:28px;background:linear-gradient(135deg,#edf9ff,#fff);border:1px solid #cfe9f7;border-radius:8px;box-shadow:0 8px 24px rgba(20,105,155,.07)}
.policy-intro-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:50%;background:var(--blue);color:#fff;font-size:24px;font-weight:800}
.policy-intro h2{margin:0 0 7px;font-size:21px}.policy-intro p{margin:0}
.policy-designed .policy-card{position:relative;margin:0 0 22px;padding:28px 32px 30px 42px;background:#fff;border:1px solid #dceaf1;border-radius:7px;box-shadow:0 7px 22px rgba(30,88,120,.06);overflow:hidden}
.policy-designed .policy-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--blue),#76cfff)}
.policy-designed .policy-card-head{display:flex;align-items:center;gap:18px;margin-bottom:18px;padding-bottom:13px;border-bottom:1px solid #dceaf1}
.policy-designed .policy-card-head span{color:var(--blue);font-size:32px;line-height:1;font-weight:900;letter-spacing:.04em}
.policy-designed .policy-card-head h2{margin:0;padding:0;border:0;font-size:22px}
.policy-designed .policy-card h3{margin:0 0 10px;color:#087bd3;font-size:17px}
.policy-designed .policy-card p{margin:0 0 14px}.policy-designed .policy-card li+li{margin-top:7px}
.policy-subgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.policy-subgrid>div{padding:20px 22px;background:#f7fafc;border-radius:5px}
.policy-subgrid ul{margin:0;padding-left:1.3em}
.policy-signature{width:max-content;max-width:100%;margin:22px 0 0 auto;padding:16px 22px;text-align:right;background:#f7fafc;border-right:3px solid var(--blue)}
.policy-contact-box{display:grid;grid-template-columns:1fr 1fr;gap:4px 26px;margin-top:20px;padding:24px 26px;background:linear-gradient(135deg,#eaf8ff,#f9fdff);border:1px solid #c8e6f5;border-radius:6px}
.policy-contact-box>strong{grid-column:1/-1;font-size:18px;color:#087bd3}.policy-contact-box p{margin:4px 0!important}
.policy-contact-link{grid-column:1/-1;justify-self:start;display:inline-flex;margin-top:10px;padding:9px 20px;background:var(--blue);color:#fff;text-decoration:none;font-weight:700}
@media(max-width:700px){.policy-intro{padding:22px 18px}.policy-designed .policy-card{padding:23px 19px 25px 27px}.policy-subgrid,.policy-contact-box{grid-template-columns:1fr}.policy-designed .policy-card-head span{font-size:27px}.policy-designed .policy-card-head h2{font-size:19px}}

/* 3.7.0: contact and privacy headers unified with inner pages */
.unified-page-head{height:260px;min-height:260px;padding:94px max(30px,calc((100vw - 1160px)/2)) 18px;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.34) 39%,rgba(255,255,255,.04) 74%),url('assets/images/company-header.jpg') center/cover no-repeat;position:relative}
.unified-page-head h1{font-size:39px;line-height:1.2;letter-spacing:.08em;margin:0}
.unified-page-head .unified-kicker{margin:2px 0 8px;color:var(--blue);font-size:16px;letter-spacing:.18em;line-height:1.3}
.unified-page-head .unified-tagline{margin:0;font-family:YuMincho,"Hiragino Mincho ProN",serif;font-size:22px;line-height:1.5;letter-spacing:.08em}
.unified-page-head .unified-script{position:absolute;right:max(40px,calc((100vw - 1160px)/2));bottom:12px;margin:0;color:var(--blue);font-family:cursive;font-size:26px;font-style:italic}
@media(max-width:900px){.unified-page-head{height:260px;min-height:260px;padding-top:78px}.unified-page-head h1{font-size:32px}.unified-page-head .unified-script{font-size:19px;right:24px}}
@media(max-width:560px){.unified-page-head h1{font-size:27px;letter-spacing:.03em}.unified-page-head .unified-tagline{font-size:18px}}

/* 3.8.0: polished mobile headers */
@media(max-width:900px){
  .site-header{height:72px;padding:7px 18px;box-shadow:0 3px 15px rgba(10,73,110,.08)}
  .site-logo img,.custom-logo-link img{width:205px;height:56px}
  .menu-toggle{width:44px;height:44px;padding:8px;border-radius:50%;background:#eef9ff}
  .menu-toggle span{width:25px;margin:5px auto;background:var(--blue)}
  .global-nav{top:72px;padding:8px 20px 18px;gap:0;border-top:1px solid #d9edf7}
  .global-nav a{padding:13px 5px;text-align:center}
  .global-nav .nav-contact{margin-top:10px;padding:12px 20px;border:0}
  .business-head,.company-head,.unified-page-head{height:300px;min-height:300px;padding:34px 22px 28px;background-position:60% center;background-size:cover;overflow:hidden}
  .business-head{background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 43%,rgba(255,255,255,.28) 76%,rgba(255,255,255,.08) 100%),url('assets/images/business-header.jpg')}
  .company-head,.unified-page-head{background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 43%,rgba(255,255,255,.28) 76%,rgba(255,255,255,.08) 100%),url('assets/images/company-header.jpg')}
  .business-head:after,.company-head:after,.unified-page-head:after{content:"";position:absolute;left:22px;bottom:26px;width:48px;height:3px;background:var(--blue);border-radius:3px}
  .business-head h1,.company-head h1,.unified-page-head h1{position:relative;font-size:35px;line-height:1.25;letter-spacing:.08em;margin:0;text-shadow:0 1px 8px rgba(255,255,255,.9)}
  .business-head .business-kicker,.company-head .company-kicker,.unified-page-head .unified-kicker{margin:4px 0 16px;font-size:14px;font-weight:700;letter-spacing:.2em}
  .business-head .business-tagline,.company-head .company-tagline,.unified-page-head .unified-tagline{max-width:78%;font-size:20px;line-height:1.65;letter-spacing:.08em;text-shadow:0 1px 8px #fff}
  .business-head .business-script,.company-head .company-script,.unified-page-head .unified-script{right:20px;bottom:18px;font-size:21px;text-shadow:0 1px 8px #fff}
  .breadcrumb{height:44px;padding:0 18px;gap:9px;font-size:11px;white-space:nowrap;overflow:hidden}
}
@media(max-width:560px){
  .site-logo img,.custom-logo-link img{width:190px}
  .business-head,.company-head,.unified-page-head{height:280px;min-height:280px;padding:29px 18px 25px;background-position:58% center}
  .business-head h1,.company-head h1,.unified-page-head h1{font-size:30px;letter-spacing:.05em}
  .unified-page-head h1{font-size:28px}
  .business-head .business-kicker,.company-head .company-kicker,.unified-page-head .unified-kicker{margin-bottom:13px;font-size:12px}
  .business-head .business-tagline,.company-head .company-tagline,.unified-page-head .unified-tagline{max-width:86%;font-size:17px;line-height:1.65}
  .business-head .business-script,.company-head .company-script,.unified-page-head .unified-script{right:16px;bottom:16px;font-size:18px}
  .business-head:after,.company-head:after,.unified-page-head:after{left:18px;bottom:22px;width:38px}
}

/* 4.6.0: guaranteed collage, two-line hero copy and one-line business-page descriptions */
@media(min-width:901px){
  .home-final .hero-copy{width:650px;max-width:calc(72% - 70px)}
  .home-final .hero-description{font-size:12px;line-height:1.8;letter-spacing:-.025em}
  .home-final>.hero-collage-return{display:block!important;visibility:visible!important;opacity:1!important;position:absolute!important;z-index:8!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:28%!important;height:100%!important;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)!important}
  .home-final>.hero-collage-return .collage-panel{display:block!important;visibility:visible!important;opacity:1!important}
}
.page-template-page-business .service-desc br{display:none}
.page-template-page-business .service-desc{white-space:nowrap;font-size:13px;letter-spacing:-.02em}
@media(max-width:900px){
  .home-final>.hero-collage-return{display:grid!important;visibility:visible!important;opacity:1!important;position:absolute!important;z-index:8!important;grid-template-columns:repeat(3,1fr)!important;top:auto!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:125px!important;clip-path:none!important;background:#fff!important;gap:5px!important;padding-top:5px!important}
  .home-final>.hero-collage-return .collage-panel{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;width:100%!important;height:120px!important}
  .home-final .hero-description{font-size:10px;letter-spacing:-.04em}
}
@media(max-width:560px){
  .home-final .hero-description{font-size:8.7px;letter-spacing:-.065em;line-height:1.85}
  .home-final>.hero-collage-return{height:105px!important;gap:3px!important;padding-top:3px!important}
  .home-final>.hero-collage-return .collage-panel{height:102px!important}
  .page-template-page-business .service-desc{font-size:clamp(10px,3vw,12px)}
}

/* 4.7.0: first-screen mobile hero and guaranteed business copy line */
.business-page .service-desc br{display:none!important}
.business-page .service-desc{white-space:nowrap!important;font-size:13px;letter-spacing:-.025em}
@media(max-width:900px){
  .home-final{height:calc(100svh - 72px);min-height:640px;max-height:760px;background-position:62% top}
  .home-final .hero-copy{padding-top:18px}
  .home-final .hero-copy h1{font-size:clamp(27px,8vw,32px);line-height:1.34}
  .home-final .script{font-size:21px;margin:4px 0}
  .home-final .hero-description{margin:5px 0;line-height:1.65}
  .home-final .yellow-btn{margin-top:9px;padding:10px 18px}
  .home-final>.hero-collage-return{height:102px!important;padding-top:3px!important;gap:3px!important}
  .home-final>.hero-collage-return .collage-panel{height:99px!important}
  .business-page .service-desc{font-size:clamp(10px,3vw,12px)}
}
@media(max-width:380px){
  .home-final{min-height:620px;max-height:720px}
  .home-final .hero-copy h1{font-size:27px}
  .home-final .yellow-btn{min-width:235px}
}

/* 4.8.0: exact first-screen fit and compact business cards */
.business-page .service-body{height:130px;min-height:130px;flex:0 0 130px;padding-top:8px;padding-bottom:8px}
@media(max-width:900px){
  .home-final{height:calc(100svh - 72px);min-height:0;max-height:none}
  .business-page .service-body{height:130px;min-height:130px;flex-basis:130px}
}
@media(max-width:560px){
  .home-final{height:calc(100svh - 72px);min-height:0;max-height:none}
  .home-final .hero-copy{padding-top:12px}
  .home-final .hero-copy h1{font-size:clamp(24px,7.4vw,28px)}
  .home-final .script{font-size:19px}
  .home-final>.hero-collage-return{height:96px!important}
  .home-final>.hero-collage-return .collage-panel{height:93px!important}
  .business-page .service-body{height:122px;min-height:122px;flex-basis:122px}
}
@media(max-height:650px) and (max-width:900px){
  .home-final .hero-copy h1{font-size:24px;line-height:1.25}
  .home-final .script{font-size:18px}
  .home-final>.hero-collage-return{height:82px!important}
  .home-final>.hero-collage-return .collage-panel{height:79px!important}
}

/* 4.9.0: reliable mobile collage images and identical mobile service cards */
.hero-collage-return img.collage-panel{display:block;object-fit:cover;object-position:center}
@media(max-width:900px){
  .home-final>.hero-collage-return{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;position:absolute!important;z-index:30!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;height:112px!important;padding:4px 0 0!important;gap:4px!important;background:#fff!important;visibility:visible!important;opacity:1!important;transform:translateZ(0)}
  .home-final>.hero-collage-return img.collage-panel{position:relative!important;inset:auto!important;width:100%!important;height:108px!important;min-width:0!important;max-width:none!important;object-fit:cover!important;clip-path:none!important;border:0!important;visibility:visible!important;opacity:1!important}
  .service-grid .service-body,.business-page .service-grid .service-body{height:122px!important;min-height:122px!important;flex:0 0 122px!important;padding:8px 10px!important}
  .service-grid .service-image,.business-page .service-grid .service-image{height:190px!important;min-height:190px!important;flex:0 0 190px!important;object-fit:cover!important}
  .service-grid .service-arrow,.business-page .service-grid .service-arrow{height:44px!important;min-height:44px!important;flex:0 0 44px!important;margin:10px 8px!important;padding:7px!important}
}
@media(max-width:560px){
  .service-grid .service-card,.business-page .service-grid .service-card{min-height:376px}
  .service-grid .service-body,.business-page .service-grid .service-body{height:122px!important;min-height:122px!important;flex-basis:122px!important}
  .service-grid .service-image,.business-page .service-grid .service-image{height:190px!important;min-height:190px!important;flex-basis:190px!important}
}

/* 5.0.0: refined service description-to-image spacing */
@media(min-width:901px){
  .home-page .service-grid .service-body{height:165px;min-height:165px;flex:0 0 165px}
}
@media(max-width:900px){
  .service-grid .service-body,.business-page .service-grid .service-body{height:132px!important;min-height:132px!important;flex:0 0 132px!important;padding-bottom:14px!important}
}
@media(max-width:560px){
  .service-grid .service-card,.business-page .service-grid .service-card{min-height:386px}
  .service-grid .service-body,.business-page .service-grid .service-body{height:132px!important;min-height:132px!important;flex-basis:132px!important}
}

/* 5.1.0: lift mobile people and three-image strip */
@media(max-width:900px){
  .home-final{background-size:auto 108%;background-position:62% top}
  .home-final>.hero-collage-return{bottom:22px!important}
}
@media(max-width:560px){
  .home-final{background-size:auto 110%;background-position:62% top}
  .home-final>.hero-collage-return{bottom:20px!important}
}

/* 5.2.0: raise mobile three-image strip into the marked area */
@media(max-width:900px){.home-final>.hero-collage-return{bottom:68px!important}}
@media(max-width:560px){.home-final>.hero-collage-return{bottom:70px!important}}
@media(max-height:650px) and (max-width:900px){.home-final>.hero-collage-return{bottom:42px!important}}

/* 5.3.0: move strip 20px higher with equal white top/bottom spacing */
@media(max-width:900px){
  .home-final>.hero-collage-return{bottom:88px!important;height:116px!important;padding:4px 0!important}
  .home-final>.hero-collage-return img.collage-panel{height:108px!important}
}
@media(max-width:560px){.home-final>.hero-collage-return{bottom:90px!important}}
@media(max-height:650px) and (max-width:900px){
  .home-final>.hero-collage-return{bottom:62px!important;height:90px!important;padding:4px 0!important}
  .home-final>.hero-collage-return img.collage-panel{height:82px!important}
}

/* 5.4.0: end mobile hero directly below the three-image strip */
@media(max-width:900px){
  .home-final{height:calc(100svh - 162px);min-height:0;max-height:none}
  .home-final>.hero-collage-return{bottom:0!important}
}
@media(max-height:650px) and (max-width:900px){
  .home-final{height:calc(100svh - 134px)}
  .home-final>.hero-collage-return{bottom:0!important}
}

/* 4.3.0: restored collage without moving people; balanced copy and mobile borders */
.hero-description span{display:block;white-space:nowrap}
.hero-collage-return{display:block!important;width:28%;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}
@media(min-width:901px) and (max-width:1100px){.hero-collage-return{width:30%}}
@media(max-width:900px){
  .home-final{min-height:820px}
  .hero-collage-return{display:grid!important;grid-template-columns:repeat(3,1fr);left:0;right:0;top:auto;bottom:0;width:100%;height:125px;clip-path:none;background:#fff;gap:5px;padding-top:5px}
  .hero-collage-return .collage-panel{position:relative!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;width:100%!important;height:120px!important;border:0!important;clip-path:none!important;background-position:center}
}
@media(max-width:560px){
  .home-final{min-height:770px}
  .home-final .hero-description{line-height:1.7}
  .home-final .hero-description span{white-space:nowrap}
  .hero-collage-return{height:105px;gap:3px;padding-top:3px}
  .hero-collage-return .collage-panel{height:102px!important}
  .reason-grid .reason-item{border-right:0!important}
  .company-message~.reason-grid .reason-item{border-right:0!important}
}
@media(max-width:380px){.home-final .hero-description{font-size:11px}}

/* 4.5.0: exact hero lines, responsive service copy and one-line privacy CTA */
.hero-collage-return{display:block!important}
.home-final .hero-description span{display:block;white-space:nowrap}
.policy-contact-link{white-space:nowrap;align-items:center;justify-content:center}
@media(max-width:900px){
  .hero-collage-return{display:grid!important}
  .service-desc br{display:none}
  .service-desc{white-space:nowrap;font-size:12px;letter-spacing:-.02em}
  .policy-contact-link{width:100%;justify-self:stretch;font-size:15px;padding:11px 10px}
}
@media(max-width:560px){
  .home-final .hero-description{font-size:clamp(10px,2.9vw,12px);letter-spacing:-.025em}
  .service-desc{font-size:clamp(11px,3.25vw,13px)}
}

/* 4.1.0: balanced mobile contact-band heading */
@media(max-width:900px){.cta-title{font-size:clamp(19px,5.4vw,23px)!important;line-height:1.55}.cta-title span{white-space:nowrap}}
@media(max-width:360px){.cta-title{font-size:18px!important}}

/* 4.2.0: balanced text flow and full mobile portrait */
h1,h2,h3,.section-head,.reason-item h3{text-wrap:balance}
p,li,.service-desc,.message-copy{text-wrap:pretty}
.company-table th{word-break:keep-all;overflow-wrap:normal}
@media(max-width:900px){
  .page-content{padding:32px 0 46px}
  .section-head h2{font-size:clamp(22px,5.8vw,27px);line-height:1.45}
  .section-head p{font-size:14px;line-height:1.85}
  .company-message>div{margin-top:26px}
  .company-message .portrait{margin-top:0}
  .company-message .portrait img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center top}
  .company-table{table-layout:fixed}
  .company-table th,.company-table td{padding:12px 10px;font-size:14px;line-height:1.65;vertical-align:middle}
  .company-table th{width:34%;white-space:nowrap}
  .message-copy h2{font-size:21px!important;line-height:1.55}
  .reason-item h3{min-height:auto;line-height:1.55}
  .reason-item p{line-height:1.8}
  .contact-intro h2{font-size:24px;line-height:1.45}
  .policy-designed .policy-card-head h2{line-height:1.45}
}
@media(max-width:560px){
  body{font-size:15px}
  .wrap{width:calc(100% - 32px)}
  .section{padding:36px 0}
  .section-head{margin-bottom:22px}
  .section-head h2{font-size:22px}
  .section-head p br{display:none}
  .company-table th,.company-table td{font-size:13px;padding:11px 8px}
  .company-table th{width:32%}
  .company-message>div{margin-top:24px}
  .company-message .message-copy{margin-top:20px}
  .service-desc{line-height:1.75}
  .contact-form{font-size:14px}
  .policy-designed .policy-card p,.policy-designed .policy-card li{line-height:1.85}
}
@media(max-width:380px){.unified-page-head h1{font-size:24px}.site-logo img,.custom-logo-link img{width:172px}}

/* 3.9.0: stronger, male-led home hero composition */
.home-final{background-position:45% center}
.home-final:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,transparent 51%,rgba(220,237,247,.12) 57%,rgba(21,64,94,.16) 66%,rgba(235,246,251,.08) 72%,transparent 78%)}
.hero-collage{width:34%}
@media(max-width:1100px){.hero-collage{width:37%}}
@media(max-width:900px){.home-final:before{background:linear-gradient(180deg,transparent 25%,rgba(18,61,91,.08) 58%,transparent 78%)}.hero-collage{width:54%}}
@media(max-width:560px){.hero-collage{width:67%}}

/* 4.0.0: single-image home hero and balanced mobile copy */
.home-final{background-position:52% center}
.home-final:before{background:linear-gradient(90deg,rgba(255,255,255,.06) 0%,transparent 42%,rgba(26,68,96,.08) 72%,transparent 100%)}
.hero-collage{display:none!important}
.hero-description span{white-space:nowrap}
@media(max-width:900px){
  .home-final{min-height:720px;background-position:62% center}
  .home-final:after{background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.84) 36%,rgba(255,255,255,.25) 61%,rgba(255,255,255,.02) 82%)}
  .home-final .hero-copy{width:calc(100% - 36px);padding-top:26px}
  .home-final .hero-copy>*{max-width:100%}
  .home-final .hero-copy h1{font-size:34px;line-height:1.42;letter-spacing:.07em}
  .home-final .script{font-size:25px;margin:7px 0}
  .home-final .hero-description{font-size:13px;line-height:1.75;margin:9px 0}
  .home-final .yellow-btn{min-width:260px;margin-top:14px;padding:12px 20px}
}
@media(max-width:560px){
  .home-final{min-height:680px;background-position:62% center}
  .home-final .hero-copy h1{font-size:30px;line-height:1.4}
  .home-final .script{font-size:22px}
  .home-final .hero-description{font-size:12px}
  .home-final .hero-description span{white-space:normal}
}

/* 5.5.0: preserve the requested strip position and collapse only the space below it */
@media(max-width:900px){
  .home-final{height:auto!important;min-height:720px!important;max-height:none!important}
  .home-final>.hero-collage-return{top:auto!important;bottom:88px!important}
  .home-final+.section{position:relative;z-index:31;margin-top:-88px}
}
@media(max-width:560px){
  .home-final{min-height:680px!important}
  .home-final>.hero-collage-return{bottom:90px!important}
  .home-final+.section{margin-top:-90px}
}
@media(max-height:650px) and (max-width:900px){
  .home-final>.hero-collage-return{bottom:62px!important}
  .home-final+.section{margin-top:-62px}
}

/* 5.6.0: fully mask the unused people-photo area below the mobile strip */
@media(max-width:900px){
  .home-final+.section{background:#fff}
}

/* 6.2.0: final mobile crop; leave approximately 4px below the three-image strip */
@media(max-width:900px){
  .home-final+.section{margin-top:-84px!important}
}
@media(max-width:560px){
  .home-final+.section{margin-top:-86px!important}
}
@media(max-height:650px) and (max-width:900px){
  .home-final+.section{margin-top:-58px!important}
}
