@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');:root{--navy:#10283f;--navy2:#1c3a52;--gold:#c5a46d;--cream:#f7f6f2;--ink:#203344;--muted:#657581}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.container{width:min(1140px,calc(100% - 44px));margin:auto}.top{background:#0a2033;color:#c7d2db;font-size:12px;padding:8px 0}.top .container{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e7ebed}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.logo{font-weight:700;line-height:1.1;letter-spacing:.055em;color:var(--navy);font-size:18px}.logo span{display:block;font-weight:500;letter-spacing:.19em;color:#a68651;font-size:10px;margin-top:6px}.links{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:700}.links a:hover,.footer a:hover{color:#a88753}.button{display:inline-block;background:var(--gold);padding:13px 21px;color:#13283b;border:0;border-radius:3px;font-weight:700;font-size:13px;cursor:pointer}.button:hover{background:#dbbb86}.outline{background:transparent;border:1px solid #bdcbd4;color:white}.menu{display:none;background:none;border:0;font-size:25px;color:var(--navy)}.hero{background:linear-gradient(105deg,rgba(8,31,50,.97),rgba(13,42,63,.89)),radial-gradient(circle at 85% 40%,#55728c,#112d43);color:white;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-9%;top:-35%;width:620px;height:620px;border:1px solid #ffffff26;border-radius:50%;box-shadow:0 0 0 75px #ffffff06,0 0 0 160px #ffffff05}.hero .container{padding:112px 0 118px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.23em;text-transform:uppercase;font-weight:700;color:var(--gold)}h1,h2,h3{line-height:1.18;margin:0;color:var(--navy)}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(42px,6vw,74px);max-width:820px;color:#fff;margin:20px 0}h2{font-size:clamp(30px,4vw,44px);margin:15px 0 18px}h3{font-size:20px}.hero p{max-width:610px;color:#d4e0e7;font-size:17px;margin-bottom:28px}.hero .actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:85px 0}.section.alt{background:var(--cream)}.intro{max-width:690px;margin-bottom:32px}.intro p{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{border:1px solid #e3e7e9;background:white;padding:28px;min-height:210px;display:flex;flex-direction:column;transition:.2s}.service:hover{transform:translateY(-3px);box-shadow:0 16px 36px #0a203312}.service .number{color:#b0915c;font-size:12px;letter-spacing:.1em;margin-bottom:18px}.service h3{font-size:19px}.service p{color:var(--muted);font-size:13px;margin:12px 0 18px}.service .more{color:#94743e;font-size:12px;font-weight:700;margin-top:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.quote{padding:42px;background:var(--navy);color:#fff}.quote blockquote{font-family:Georgia,serif;font-size:27px;line-height:1.4;margin:0 0 22px}.quote small{color:#e1c58e}.kicker{font-size:13px;color:#ae8d57;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.muted{color:var(--muted)}.cta{background:var(--navy);color:white;padding:65px 0}.cta h2{color:white}.cta .container{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer{background:#0a1c2b;color:#c5d0d8;padding:55px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer h3{color:white;font-size:16px;margin-bottom:15px}.footer p,.footer a{font-size:13px}.footer a{display:block;margin:8px 0}.footer-bottom{border-top:1px solid #ffffff20;margin-top:40px;padding-top:18px;font-size:11px;color:#98aab6}.subhero{background:var(--navy);padding:75px 0;color:white}.subhero h1{font-size:clamp(37px,5vw,58px);margin:15px 0}.subhero p{color:#d6e0e8;max-width:650px}.article{max-width:820px;margin:auto}.article p{font-size:16px;color:#516475}.article h2{font-size:30px;margin-top:40px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{padding:25px;border-top:2px solid var(--gold);background:#fff}.step strong{color:var(--navy)}.contact-list a{color:#956f34;text-decoration:underline}.notice{border-left:3px solid var(--gold);padding:14px 18px;background:#f8f5ed;color:#576575;font-size:13px;margin:28px 0}.lang{font-size:12px;color:#637380}.mobile-cta{display:none}@media(max-width:850px){.links{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:20px 24px;flex-direction:column;align-items:flex-start;box-shadow:0 15px 25px #0a203319}.links.open{display:flex}.menu{display:block}.grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:30px}.footer-grid{grid-template-columns:1fr 1fr}.cta .container{display:block}.hero .container{padding:85px 0}.section{padding:60px 0}}@media(max-width:580px){.grid,.steps,.footer-grid{grid-template-columns:1fr}.top{font-size:10px}.hero p{font-size:15px}.service{min-height:auto}.section{padding:50px 0}.quote{padding:28px}.logo{font-size:15px}.container{width:min(100% - 32px,1140px)}}

/* PJ Canada Immigration · Premium editorial redesign V2 */
:root{--navy:#102b3d;--navy2:#183c4c;--gold:#c3a273;--cream:#f7f6f2;--ink:#203441;--muted:#65747b}
body{letter-spacing:.005em}
.container{width:min(1190px,calc(100% - 56px))}
.top{background:#0c2635;letter-spacing:.025em}
.header{box-shadow:0 2px 20px rgba(10,34,45,.035)}
.nav{min-height:88px}
.links{gap:23px;font-weight:600}
.links .button{padding:13px 19px}
.button{border-radius:2px;transition:background .2s,transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}
.hero{background:radial-gradient(ellipse at 15% 18%,#1f4655 0%,transparent 52%),linear-gradient(125deg,#0a2636,#143748 70%,#1b4250)}
.hero:after{display:none}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:65px;align-items:center;padding:96px 0 100px!important}
.hero-copy{max-width:710px}
.hero h1{font-size:clamp(46px,5.2vw,78px);line-height:1.095;letter-spacing:-.035em;max-width:710px;margin:25px 0}
.hero p{font-size:17px;line-height:1.85;max-width:555px}
.hero-proof{display:flex;gap:24px;flex-wrap:wrap;margin-top:51px;font-size:11px;letter-spacing:.055em;color:#d5e0e3}
.proof-dot{display:inline-block;background:var(--gold);width:5px;height:5px;border-radius:50%;vertical-align:middle;margin-right:8px}
.hero-art{position:relative;min-height:500px}
.art-frame{height:500px;position:relative;overflow:hidden;background:linear-gradient(165deg,#b9c5c0 0%,#e4ded0 46%,#c1c3b9 100%);border:12px solid rgba(255,255,255,.09);box-shadow:25px 35px 65px #071a2780}
.art-sun{position:absolute;width:195px;height:195px;top:65px;right:35px;background:#f2e6cd;border-radius:50%;box-shadow:0 0 85px #f7e9d4b0}
.art-mountain{position:absolute;width:125%;height:300px;left:-10%;bottom:15%;clip-path:polygon(0% 100%,15% 63%,28% 80%,49% 18%,68% 71%,84% 42%,100% 100%);background:#6c8987}
.art-mountain.back{opacity:.55;bottom:22%;transform:scale(1.12);background:#8aa3a0}
.art-mountain.front{background:linear-gradient(160deg,#315b60,#1b424d);bottom:7%}
.art-horizon{position:absolute;bottom:0;height:24%;width:100%;background:linear-gradient(180deg,#183d49,#0a2838)}
.art-caption{position:absolute;bottom:31px;left:29px;font-size:12px;line-height:1.55;letter-spacing:.22em;color:#e8e9df}
.art-caption strong{font-family:Georgia,serif;font-size:29px;font-weight:400;letter-spacing:.025em}
.art-label{position:absolute;right:-14px;top:30px;writing-mode:vertical-rl;letter-spacing:.28em;color:#e7ded0;font-size:10px}
.editorial-band{background:#efece5;border-bottom:1px solid #e2ded5}
.editorial-inner{min-height:84px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#586b70;font-size:10px;font-weight:700;letter-spacing:.17em}
.editorial-line{height:1px;flex:1;background:#cfc9bc;max-width:105px}
.section{padding:106px 0}
.intro{max-width:780px;margin-bottom:42px}
.intro h2{font-size:clamp(35px,4vw,52px);letter-spacing:-.025em}
.intro p{max-width:620px}
.grid{gap:15px}
.service{padding:34px 30px;min-height:260px;border:1px solid #e7e9e8;border-radius:2px;box-shadow:0 4px 18px #102b3d06}
.service:hover{border-color:#c7ad87;box-shadow:0 19px 44px #102b3d14}
.service .number{font-size:10px;letter-spacing:.13em}
.service h3{font-size:21px;letter-spacing:-.015em}
.service p{font-size:13px;line-height:1.75}
.service .more{font-size:12px;letter-spacing:.03em}
.feature-strip{background:#e8e5de;padding:67px 0}
.feature-layout{display:grid;grid-template-columns:1.3fr 1fr auto;align-items:center;gap:35px}
.feature-layout h2{font-size:clamp(29px,3vw,40px);margin-bottom:0}
.feature-layout p{color:#566870;font-size:14px;line-height:1.85}
.text-link{white-space:nowrap;font-size:13px;font-weight:700;border-bottom:1px solid #b59a72;padding-bottom:7px}
.section.alt{background:#f6f5f1}
.quote{padding:55px;background:linear-gradient(135deg,#173b4a,#0d2b3c);border-left:5px solid var(--gold)}
.steps{gap:15px}.step{padding:30px;border-top-width:3px;background:#f7f6f2}
.cta{background:linear-gradient(115deg,#102c3e,#1d4855);padding:84px 0}
.footer{background:#0b2230}
.subhero{background:linear-gradient(125deg,#102c3e,#244b57);padding:90px 0}
:focus-visible{outline:3px solid #c3a273;outline-offset:3px}
@media(max-width:1000px){.hero-layout{gap:28px;grid-template-columns:1fr .8fr}.hero-art,.art-frame{min-height:400px;height:400px}.feature-layout{grid-template-columns:1fr 1fr}.feature-layout .text-link{grid-column:1/-1;justify-self:start}}
@media(max-width:850px){.hero-layout{grid-template-columns:1fr;padding:75px 0!important}.hero-art{display:none}.hero-proof{margin-top:32px}.editorial-inner{flex-wrap:wrap;justify-content:center;min-height:70px}.editorial-line{display:none}.feature-layout{grid-template-columns:1fr}.feature-layout .text-link{grid-column:auto}.nav{min-height:78px}}
@media(max-width:580px){.container{width:calc(100% - 34px)}.hero h1{font-size:clamp(42px,11vw,58px)}.hero-layout{padding:65px 0!important}.hero-proof{gap:12px}.editorial-inner{gap:12px;font-size:9px;text-align:center}.section{padding:64px 0}.service{min-height:auto;padding:28px}.feature-strip{padding:50px 0}}

/* Client-requested V3 additions */
.logo{display:flex!important;align-items:center;gap:11px;text-decoration:none}
.brand-image{display:block;max-width:165px;max-height:60px;object-fit:contain}
.brand-fallback{display:flex;flex-direction:column;font-weight:800;letter-spacing:.055em;line-height:1.15}
.brand-fallback small{font-size:9px;letter-spacing:.13em;margin-top:5px}
.about-portrait{width:100%;min-height:240px;overflow:hidden;background:#e7e4dd;border:1px solid #d8d3c8}
.about-portrait img{width:100%;max-height:460px;object-fit:cover;object-position:center 25%;display:block}
.portrait-placeholder{min-height:260px;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#4c6570}
.portrait-placeholder span{font-family:Georgia,serif;font-size:75px}
.portrait-placeholder small{font-size:12px}
#about .split{grid-template-columns:1.15fr .7fr 1fr;align-items:center}
#about .quote{height:100%;display:flex;flex-direction:column;justify-content:center}
.credential-link,.verify-inline a{font-size:13px;text-decoration:underline;text-underline-offset:3px}
.verify-inline{margin-top:18px}
.steps-expanded{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.steps-expanded .step{min-height:225px}
.news-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.news-source{border:1px solid #e1e4e2;background:#f9f9f7;padding:35px}
.news-source h3{font-size:30px;margin:15px 0}
.news-source p{line-height:1.8;min-height:125px;color:#5a6b73}
.source-note{font-size:12px;color:#63737a;margin-top:24px}
@media(max-width:1050px){#about .split{grid-template-columns:1fr 1fr}#about .quote{grid-column:1/-1}.steps-expanded{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){#about .split,.news-source-grid,.steps-expanded{grid-template-columns:1fr}#about .quote{grid-column:auto}.steps-expanded .step{min-height:unset}.news-source p{min-height:0}}

/* V4: brand assets */
.logo{flex:0 0 auto;min-width:0;max-width:310px}
.brand-image{width:clamp(185px,22vw,285px);height:auto;max-height:74px;max-width:100%;object-fit:contain;display:block}
.about-portrait{background:linear-gradient(140deg,#f1ede4 0%,#d5dfe0 100%);display:flex;align-items:flex-end;justify-content:center;min-height:390px}
.about-portrait img{max-height:490px;width:100%;object-fit:contain;object-position:center bottom}
@media(max-width:1100px){.logo{max-width:220px}.brand-image{width:215px}.links{gap:13px}.links a{font-size:12px}}
@media(max-width:850px){.logo{max-width:260px}.brand-image{width:240px}}
@media(max-width:440px){.brand-image{width:205px}.about-portrait{min-height:330px}}

/* V5: Calgary skyline and About portrait caption */
.art-frame{background:#193a4b}
.calgary-city-photo{position:absolute;inset:0;background-image:url("https://thumb.wikimedia.org/wikipedia/commons/thumb/4/4d/Calgary_skyline_from_the_northwest%2C_Alberta%2C_Canada.jpg/1280px-Calgary_skyline_from_the_northwest%2C_Alberta%2C_Canada.jpg");background-size:cover;background-position:47% center;transform:scale(1.025)}
.calgary-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,30,42,.83) 100%)}
.art-caption{z-index:2;text-shadow:0 2px 10px rgba(0,0,0,.5)}
#about .split{grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);gap:55px;align-items:center}
.about-profile{margin:0;min-width:0}
.about-profile .about-portrait{min-height:360px}
.profile-quote{background:#102b3d;color:#f5f0e7;padding:26px 28px;border-top:3px solid #c3a273}
.profile-quote blockquote{margin:0 0 12px;font-family:Georgia,serif;font-size:clamp(19px,2vw,25px);line-height:1.4;font-style:italic}
.profile-quote span{font-size:12px;color:#d8c39e;letter-spacing:.07em}
.photo-credit{text-align:center;font-size:10px;padding:12px;color:#b9c4c7;background:#0b2230}
.photo-credit a{color:inherit;text-decoration:underline}
@media(max-width:850px){#about .split{grid-template-columns:1fr;gap:30px}.hero-art{display:block;min-height:320px;height:320px;max-width:600px}.art-frame{height:320px;min-height:320px}.art-label{display:none}}
@media(max-width:580px){.hero-art,.art-frame{height:270px;min-height:270px}.art-caption{bottom:20px;left:18px}.profile-quote{padding:24px}}

/* V6: Calgary Tower sunset image (locally hosted) */
.calgary-city-photo{background-image:url("/assets/calgary-sunset-hero.png");background-position:50% 50%;}
