/*
Theme Name: Megan Honan Travel Portfolio
Author: Megan Honan
Description: Locally hosted recreation of Megan Honan's travel journalism portfolio. Standard editable WordPress blocks, with bundled photographs, publication logos and clips.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: portfolio-travel
*/
@font-face{font-family:Lato;src:url(assets/fonts/lato-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url(assets/fonts/lato-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url(assets/fonts/lato-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{--pt-ink:#000;--pt-muted:rgba(0,0,0,.4);--pt-paper:#fff;--pt-gutter:3vw;--pt-max:1470px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pt-paper);color:var(--pt-muted);font-family:Lato,Arial,sans-serif;font-size:16px;line-height:2;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #444;outline-offset:4px}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
h1,h2,h3{line-height:1.5;color:#333;font-weight:700;margin:0 0 24px}
p{margin:0 0 1em}
.pt-skip{position:absolute;left:-9999px;top:0;padding:10px 20px;background:#fff;color:#000;z-index:100}
.pt-skip:focus{left:10px;top:10px}
.pt-header{display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;gap:25px;padding:43px var(--pt-gutter);max-width:1700px;margin:0 auto}
.pt-brand img{width:180px;height:180px;object-fit:contain}
.pt-nav{display:flex;gap:32px;align-items:center;line-height:1;color:#111;font-size:14px;letter-spacing:.04em}
.pt-nav-right{justify-content:flex-end}
.pt-nav a[aria-current=page]{color:#999}
.pt-main{max-width:var(--pt-max);margin:0 auto;padding:0 var(--pt-gutter) 80px}
.pt-find{text-align:center;padding:70px 0 110px}
.pt-find h1{font-size:42px;line-height:1.5;color:#000;margin:0}
.pt-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px;align-items:center;padding:0 0 35px}
.pt-logos .pt-publisher-logo{height:190px;display:flex;align-items:center;justify-content:center}
.pt-publisher-logo img{height:190px;width:100%;object-fit:contain}
.pt-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;padding:17px 0;gap:0;margin:0!important}
.pt-cover{width:100%;margin:0!important}
.pt-cover img{width:100%;height:auto}
.pt-caption{margin-left:-100px!important;position:relative;z-index:1;min-width:0}
.pt-publication{font-size:clamp(32px,4.5vw,76px);font-weight:700;line-height:1.4;color:#000;background:#fff;display:table;padding:0 18px;margin:0 0 24px!important;overflow-wrap:break-word;max-width:calc(100% + 2px)}
.pt-publication strong{font-weight:700}
.pt-article-title{margin:0 0 0 110px!important;font-size:clamp(18px,1.48vw,25px);line-height:1.8;color:var(--pt-muted)}
.pt-article-title strong{font-weight:400}
.pt-more{padding:70px 0 20px;text-align:center;color:#333}
.pt-more hr{border:0;border-top:1px solid #ddd;margin:0 0 40px}
.pt-more p{font-size:20px}
.pt-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:25px}
.pt-tile{position:relative;overflow:hidden;min-width:0}
.pt-tile-image img{width:100%;aspect-ratio:1.2;object-fit:cover;transition:transform .3s}
.pt-tile:hover img{transform:scale(1.025)}
.pt-tile-title{position:absolute;inset:0;margin:0;display:grid;place-items:center;text-align:center;color:#fff;background:rgba(0,0,0,.25);font-size:clamp(24px,3vw,44px);padding:25px;opacity:0;transition:opacity .2s;pointer-events:none}
.pt-tile:hover .pt-tile-title,.pt-tile:focus-within .pt-tile-title{opacity:1}
.pt-project-heading{text-align:center;padding:55px 0 65px}
.pt-project-heading h1{font-size:38px}
.pt-project-heading p{font-size:20px;color:#777}
.pt-project-photo img{width:100%;height:auto}
.pt-project-nav{display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:65px;justify-content:center;font-size:14px;line-height:1.6;color:#777}
.pt-project-nav p{margin:0}
.pt-about{padding:35px 0 0}
.pt-about-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:0;margin-bottom:100px!important}
.pt-portrait img{width:100%;height:auto}
.pt-about-intro{margin-left:-60px!important;position:relative;padding:22px 24px;background:#fff;font-size:20px;line-height:1.8}
.pt-about-intro h1{font-size:clamp(34px,4.5vw,65px);line-height:1.4;color:#000}
.pt-about-copy{max-width:850px;margin:0 auto 40px!important;font-size:16px;line-height:2}
.pt-about-copy h1,.pt-about-copy h2,.pt-about-copy h3{font-size:26px}
.pt-about-copy a{border-bottom:1px solid #bbb}
.pt-social{text-align:center;margin:40px 0!important;color:#222}
.pt-button{text-align:center;margin:40px 0!important}
.pt-button a{display:inline-block;border:2px solid #222;border-radius:50px;padding:12px 32px;color:#222;text-transform:uppercase;font-size:13px;letter-spacing:.12em}
.pt-contact{max-width:850px;margin:60px auto 0!important;color:#777}
.pt-contact>p{font-size:18px;line-height:2;margin-bottom:40px}
.portfolio-form{margin-top:35px;color:#666}
.portfolio-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.portfolio-field{margin-bottom:24px}
.portfolio-field label{display:block;font-size:15px;margin-bottom:8px;line-height:1.5}
.portfolio-field input,.portfolio-field textarea,.portfolio-form input[type=email],.portfolio-form input[type=text],.portfolio-form textarea{width:100%;border:1px solid #ccc;padding:13px;background:#fafafa;color:#333;font:inherit;line-height:1.5;border-radius:0;min-width:0}
.portfolio-field textarea{min-height:160px;resize:vertical}
.portfolio-form button{background:#fff;color:#333;border:2px solid #333;border-radius:50px;padding:12px 32px;font:inherit;font-size:13px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.portfolio-form button:hover{background:#333;color:#fff}
.portfolio-form-notice{padding:16px 20px;margin:20px 0;border:1px solid #aaa;color:#333}
@media(max-width:767px){
 .pt-header{grid-template-columns:1fr 1fr;gap:20px;padding:20px 6vw 30px}
 .pt-brand{grid-column:1/-1;grid-row:1;justify-self:center}
 .pt-brand img{width:130px;height:130px}
 .pt-nav{gap:16px;font-size:12px;flex-wrap:wrap}
 .pt-nav-right{justify-content:flex-end}
 .pt-main{padding:0 6vw 50px}
 .pt-find{padding:50px 0 60px}
 .pt-find h1{font-size:30px}
 .pt-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:25px}
 .pt-logos .pt-publisher-logo,.pt-publisher-logo img{height:100px}
 .pt-card{display:block;padding:20px 0 25px}
 .pt-caption{margin:0!important}
 .pt-publication{font-size:32px;line-height:1.3;padding:12px 0 0;margin:0 0 12px!important}
 .pt-article-title{margin:0!important;font-size:16px;line-height:1.7}
 .pt-project-grid{gap:12px}
 .pt-tile-image img{aspect-ratio:1}
 .pt-tile-title{opacity:1;font-size:18px;padding:12px;background:rgba(0,0,0,.3)}
 .pt-about-hero{display:block;margin-bottom:55px!important}
 .pt-about-intro{margin:0!important;padding:20px 0 0;font-size:17px}
 .pt-about-intro h1{font-size:36px}
 .pt-contact{margin-top:35px!important}
 .portfolio-form-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
