/* Giles Group — a quieter, editorial visual system. */
:root{--ink:#18252a;--muted:#5f6b70;--paper:#fff;--soft:#f5f6f6;--line:#e1e5e6;--accent:#245a57;--gold:#8b6c35}
body,body.home-v2,body.firm-page{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body h1,body h2,body h3,.home-v2 h1,.home-v2 h2,.home-v2 h3,.business h3,.firm-page #services h3,.approach-steps h3{font-family:inherit;font-style:normal;font-weight:600;letter-spacing:-.035em;color:var(--ink)}
body p,.home-v2 p{color:var(--muted);line-height:1.7}h1{font-size:clamp(42px,5.7vw,80px);line-height:1.06}h2{font-size:clamp(30px,3.8vw,48px);line-height:1.12}h1 em,.home-v2 h1 em,.firm-hero h1 em{font-style:normal;color:var(--accent)}
body header,.home-v2 header,.firm-page header{background:#fffffff5;color:var(--ink);border-bottom:1px solid var(--line);padding:13px 5vw;position:sticky;top:0;backdrop-filter:blur(16px);z-index:50;box-shadow:none}
header .logo{font-size:12px;letter-spacing:.09em;gap:10px}header nav,.home-v2 header nav{font-size:13px;gap:26px}header nav a,.firm-page .nav-contact{color:var(--ink)}header nav a:hover,.home-v2 header nav a:hover{color:var(--accent)}
body .eyebrow,.home-v2 .eyebrow{color:var(--gold);font-size:11px;letter-spacing:.13em}body .eyebrow:before{display:none}
body .btn,body .gold-button{background:var(--accent);color:#fff;border-radius:99px;box-shadow:none;font-size:14px;padding:13px 23px;min-height:46px;font-weight:500}body .btn:hover,body .gold-button:hover{background:#183f3d;box-shadow:none}body .btn.secondary{background:#eaf0ee;color:var(--accent)}body .text-link{color:var(--accent);border:0;font-size:14px}body .text-link:after{content:' ↗'}
body main{max-width:1280px}body .hero{padding:80px 0 60px}body .section{border-color:var(--line);padding:64px 0;margin-top:0}body .section-head{margin-bottom:36px;max-width:660px}body .section-head p{font-size:16px}
.home-v2 .home-hero{display:block;text-align:center;background:#f5f7f6;color:var(--ink);padding:96px 24px 84px}.home-v2 .hero-copy{max-width:1000px;margin:auto}.home-v2 .kicker{color:var(--gold);font-size:11px;margin-bottom:24px}.home-v2 h1{color:var(--ink);font-size:clamp(46px,6.6vw,88px);line-height:1.04;letter-spacing:-.055em;margin:0 0 28px;font-weight:600}.home-v2 .hero-description{color:var(--muted);font-size:19px;margin:0 auto;line-height:1.6}.home-v2 .hero-actions{justify-content:center;margin:30px 0 0;gap:24px}.home-v2 .quiet-link{color:var(--accent);font-size:14px;text-decoration:none}.home-v2 .quiet-link:after{content:' ↗'}.home-v2 .hero-signature{font-size:10px;color:#737f82;letter-spacing:.2em;margin-top:42px}
.home-v2 #businesses{max-width:1220px;padding:80px 5vw 36px}.home-v2 .business-heading{margin-bottom:52px}.home-v2 .business-heading h2{font-size:clamp(34px,4.5vw,54px);letter-spacing:-.045em}.home-v2 .business-heading>p{font-size:16px;max-width:310px}.home-v2 .portfolio-division{margin-bottom:48px}.home-v2 .division-heading{border-color:var(--line);padding-top:22px;margin-bottom:22px}.home-v2 .division-heading>span{font-size:12px;line-height:1.8;color:var(--gold)}.home-v2 .division-heading h3{font-size:17px;font-weight:600}.home-v2 .division-heading p{font-size:14px}.home-v2 .business{background:var(--soft)!important;color:var(--ink);border:1px solid transparent!important;border-radius:18px;box-shadow:none;padding:34px;min-height:240px;transition:background .2s,border-color .2s}.home-v2 .business h3{color:var(--ink);font-size:29px;margin:18px 0 12px}.home-v2 .business p{color:var(--muted);font-size:15px;max-width:420px}.home-v2 .business .arrow{border:0;color:var(--accent);font-size:13px;padding-top:10px}.home-v2 .business .arrow:after{content:' ↗'}.home-v2 .business:hover{transform:none;background:#eaf0ee!important;border-color:#ceded9!important;box-shadow:none}
.home-v2 .group-about{max-width:none;background:#f5f6f6;padding:80px max(5vw,calc((100vw - 1098px)/2));gap:64px}.home-v2 .group-about h2{font-size:36px}.home-v2 .values-row{border-color:var(--line)}.home-v2 .values-row h3{font-family:inherit;font-size:17px}.home-v2 .values-row p{font-size:14px}.home-v2 .group-leadership{max-width:1220px;padding:80px 5vw;border:0}.home-v2 .group-leadership h2{font-size:46px}.leadership-photo img{border-radius:18px;height:420px}.home-v2 .group-contact{background:#183c3b;padding:64px max(5vw,calc((100vw - 1098px)/2));margin:0}.home-v2 .group-contact h2{color:#fff;font-size:42px}.home-v2 .group-contact .btn{background:#fff;color:#183c3b}.home-v2 .group-contact .eyebrow{color:#c5d8d0}
.firm-hero{grid-template-columns:1.5fr 1fr;gap:70px;padding:78px 0}.firm-hero h1{font-size:clamp(44px,5.5vw,76px);letter-spacing:-.05em}.firm-hero .lead{font-size:18px}.firm-feature{background:#f2f5f3;border:0;border-radius:18px;min-height:380px;padding:38px}.firm-feature p{font-size:27px;font-weight:500;line-height:1.5;letter-spacing:-.02em;color:var(--accent)}.firm-feature .eyebrow{left:38px;top:34px}.architectural-lines{opacity:.13}.firm-location{border-color:var(--line);font-size:12px}.firm-page #services .service{border-color:var(--line);padding:28px 0}.firm-page #services h3{font-size:23px}.firm-page #services .pill,.approach-steps article>span{font-family:inherit;font-size:13px;color:var(--gold)}.firm-page #services .btn{color:var(--accent);border:0;font-size:13px}.firm-page #services .btn:hover{background:#edf3f0}.approach-steps h3{font-size:21px}.approach-steps article{border-color:var(--line)}.principal-panel{background:#f2f5f3;border-radius:18px;padding:42px}.principal-panel h2{color:var(--ink)}.principal-panel p{color:var(--muted)}.principal-panel .eyebrow,.principal-role{color:var(--gold)}.principal-panel .text-link{color:var(--accent)}
body .service,body .package-card,body .consultation-card,body .job-card,body .video-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:none}.consultation-card:nth-child(n){background:var(--soft);border-color:var(--line)}body .booking,body .job-bundle,body .catalog-filters,body .selection-panel,body .installer,body .credential-panel,body .goal-chooser{background:var(--soft);border:1px solid var(--line);border-radius:18px;box-shadow:none}.booking{gap:40px;padding:36px}.package-price{color:var(--accent)}.work-hero{box-shadow:none;border:0;border-radius:18px;overflow:hidden}.service-links a{background:#fff;border-color:var(--line)}.fit,.pill{background:#f0f3f2;color:#52645f}.video-copy h3{letter-spacing:-.02em}body footer,.home-v2 footer{background:#f5f6f6;color:var(--muted);border-color:var(--line);font-size:12px;padding:32px 5vw}body footer a{color:var(--accent)}
body .menu-toggle,.home-v2 .menu-toggle{color:var(--ink);background:#f3f5f4;border:1px solid var(--line);border-radius:99px}.home-v2 header nav{background:transparent}
@media(max-width:900px){header nav{gap:16px}.firm-hero{gap:30px}.firm-feature{padding:28px;min-height:340px}}
@media(max-width:760px){body header,.home-v2 header{padding:10px 5vw}header .logo{font-size:11px}.home-v2 header nav{background:#fff}.home-v2 .home-hero{padding:62px 5vw 54px}.home-v2 h1{font-size:clamp(42px,10.4vw,66px)}.home-v2 .hero-description{font-size:17px}.home-v2 .hero-description br{display:none}.home-v2 .hero-actions{gap:20px}.home-v2 .hero-signature{margin-top:32px}.home-v2 #businesses{padding:48px 5vw 10px}.home-v2 .business-heading{margin-bottom:32px}.home-v2 .business-heading>p{max-width:none}.home-v2 .portfolio-division{margin-bottom:32px}.home-v2 .business{min-height:0;padding:28px}.home-v2 .business h3{font-size:27px}.home-v2 .group-about,.home-v2 .group-leadership{padding:48px 5vw;gap:28px}.home-v2 .group-about h2{font-size:32px}.home-v2 .group-leadership h2{font-size:36px}.home-v2 .group-contact{padding:48px 5vw}.home-v2 .group-contact h2{font-size:34px}.leadership-photo img{height:350px}.firm-hero{grid-template-columns:1fr;padding:42px 0;gap:34px}.firm-hero h1{font-size:clamp(42px,10.5vw,62px)}.firm-feature{min-height:255px;padding:26px}.firm-feature p{font-size:23px}.firm-feature .eyebrow{top:24px;left:26px}.firm-page #services h3{font-size:21px}.principal-panel{padding:28px}.booking{padding:25px 20px}.section{padding:44px 0}body footer{flex-direction:column;gap:14px}.home-v2 .values-row{gap:10px}}

.booking-email a, footer a[href^="mailto:"]{overflow-wrap:anywhere}

/* Keep the Masterclasses headline within narrow phone screens in both themes. */
@media(max-width:380px){
  .masterclasses-page .hero.hero-split{grid-template-columns:minmax(0,1fr)}
  .masterclasses-page .hero-copy{min-width:0}
  .masterclasses-page .hero-split h1{font-size:clamp(42px,15vw,60px);overflow-wrap:anywhere}
}
