@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#f6f1e9;--cream:#eee5d9;--sand:#d7c7b5;--taupe:#9b8877;--ink:#302a26;--muted:#81756b;--line:rgba(48,42,38,.18);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}a:hover{opacity:.72}img{max-width:100%;height:auto;display:block}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:1rem;z-index:999}
.site-header{padding:27px 5.5%;border-bottom:1px solid var(--line)}.header-inner{max-width:1500px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.brand-name,.footer-brand{font-family:var(--serif);font-size:25px;letter-spacing:.02em}.brand-subtitle,.footer-note{font-size:9px;letter-spacing:.28em;margin-top:8px}.custom-logo{max-height:62px;width:auto}.main-navigation ul{list-style:none;display:flex;gap:36px;margin:0;padding:0}.main-navigation a{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.menu-toggle{display:none}
.hero{max-width:1500px;margin:0 auto;padding:70px 5.5% 95px;min-height:650px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:8% ;position:relative}.hero-copy{padding:20px 0 30px}.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 22px}.hero h1,.page-heading h1{font-family:var(--serif);font-size:clamp(54px,7vw,100px);line-height:1.04;font-weight:400;letter-spacing:-.045em;margin:0 0 28px}.hero h1 em{font-weight:400;color:var(--taupe)}.hero-intro{max-width:360px;color:var(--muted);font-size:15px;margin:0 0 36px}.text-link{display:inline-flex;gap:26px;align-items:center;border-bottom:1px solid var(--ink);padding:0 0 8px;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.text-link span{font-size:17px}.hero-image{height:540px;background:var(--cream);overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{background:linear-gradient(145deg,#e7ddd1,#d3c2b0);height:100%;min-height:260px;display:flex;align-items:center;justify-content:center;text-align:center;color:#887767;font-size:10px;letter-spacing:.2em;padding:2rem}.hero-index{position:absolute;bottom:35px;right:5.5%;font-size:10px;letter-spacing:.2em;color:var(--muted)}
.section-wrap{max-width:1500px;margin:auto;padding:90px 5.5%}.home-about{text-align:center;background:var(--cream);max-width:none}.home-about h2,.section-heading h2{font-family:var(--serif);font-size:clamp(38px,5vw,65px);font-weight:400;line-height:1.15;margin:0 0 30px}.home-about .eyebrow{margin-bottom:20px}.featured-work{padding-top:100px;padding-bottom:120px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2{margin:0}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 22px}.portfolio-card{min-width:0}.portfolio-thumb{height:390px;background:var(--cream);position:relative;overflow:hidden}.portfolio-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.portfolio-card-link:hover .portfolio-thumb img{transform:scale(1.035)}.card-arrow{position:absolute;right:14px;bottom:14px;background:var(--paper);width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:18px}.portfolio-card-caption{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding-top:13px}.portfolio-card-caption h2{font:400 19px var(--serif);margin:0}.portfolio-card-caption span{font-size:10px;color:var(--muted)}.empty-note{grid-column:1/-1;color:var(--muted);padding:3rem 0}
.page-shell{max-width:1320px;margin:auto;padding:90px 5.5% 130px}.page-heading{text-align:center;margin:0 auto 65px;max-width:850px}.page-heading .eyebrow{margin-bottom:18px}.page-heading h1{font-size:clamp(48px,6vw,82px);margin-bottom:18px}.page-lead{color:var(--muted);max-width:480px;margin:0 auto}.page-content{max-width:760px;margin:0 auto;font-size:16px}.page-content h2,.page-content h3{font-family:var(--serif);font-weight:400}.page-content p{margin:0 0 1.5em}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.about-photo{height:650px;background:var(--cream)}.about-photo img{width:100%;height:100%;object-fit:cover}.about-layout .page-content{margin:0;padding-top:25px}
.portfolio-page .page-heading{margin-bottom:45px}.portfolio-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px;margin:0 0 45px}.filter-link{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding-bottom:6px}.filter-link:hover,.filter-link.is-active{color:var(--ink);border-bottom:1px solid var(--ink)}.portfolio-grid-large{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 22px}.portfolio-grid-large .portfolio-thumb{height:420px}.pagination{text-align:center;margin-top:65px}.pagination .nav-links{display:flex;justify-content:center;gap:22px}.pagination a,.pagination span{font-size:11px;letter-spacing:.1em}
.single-work-image{max-width:950px;margin:0 auto 55px}.single-work-image img{width:100%;max-height:850px;object-fit:contain}.single-work .page-content{margin-bottom:55px}
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:12%;max-width:1000px;margin:auto}.contact-details{padding-top:10px}.contact-details .eyebrow{margin:28px 0 8px}.contact-details .eyebrow:first-child{margin-top:0}.contact-details p:not(.eyebrow){margin:0 0 15px}.social-links{display:flex;flex-wrap:wrap;gap:20px}.social-links a{font-size:10px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:5px}.contact-form{display:grid;gap:10px}.contact-form label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-top:13px}.contact-form input,.contact-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 2px;font:15px var(--sans);color:var(--ink);border-radius:0}.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--ink)}.contact-form textarea{resize:vertical}.button{border:0;cursor:pointer;padding:16px 22px;font:10px var(--sans);letter-spacing:.16em;text-transform:uppercase;display:inline-flex;justify-content:space-between;gap:30px;margin-top:20px}.button-dark{background:var(--ink);color:var(--paper)}.form-small{font-size:11px;color:var(--muted);margin-top:16px}.form-notice{padding:13px 16px;background:var(--cream);font-size:13px}.form-notice.success{border-left:2px solid var(--taupe)}
.site-footer{background:var(--cream);padding:48px 5.5%}.footer-inner{max-width:1500px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:2rem}.footer-brand{font-size:22px}.footer-note{margin:6px 0 0}.footer-inner .social-links{justify-content:center}.copyright{text-align:right;font-size:10px;color:var(--muted);margin:0}.blog-list{max-width:800px;margin:auto}.blog-item{padding:30px 0;border-bottom:1px solid var(--line)}.blog-item h2{font:400 32px var(--serif);margin:0 0 10px}
@media(max-width:900px){.hero{min-height:auto;padding-top:55px;gap:5%}.hero-image{height:440px}.portfolio-thumb{height:310px}.portfolio-grid-large .portfolio-thumb{height:340px}.about-photo{height:520px}.footer-inner{grid-template-columns:1fr 1fr}.copyright{grid-column:1/-1;text-align:left}}
@media(max-width:640px){.site-header{padding:20px 6%}.header-inner{align-items:center}.brand-name{font-size:22px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:10px}.menu-toggle span:not(.screen-reader-text){width:23px;height:1px;background:var(--ink)}.main-navigation{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);z-index:20;padding:22px 6%;border-bottom:1px solid var(--line)}.main-navigation.is-open{display:block}.main-navigation ul{flex-direction:column;gap:18px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:48px 6% 65px;gap:35px}.hero h1{font-size:60px}.hero-image{height:430px}.hero-index{right:6%;bottom:22px}.section-wrap{padding:65px 6%}.home-about h2{font-size:42px}.section-heading{align-items:start;gap:20px;flex-direction:column}.portfolio-grid,.portfolio-grid-large{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}.portfolio-thumb,.portfolio-grid-large .portfolio-thumb{height:260px}.portfolio-card-caption{display:block}.portfolio-card-caption h2{font-size:16px}.portfolio-card-caption span{display:block;margin-top:4px}.page-shell{padding:65px 6% 90px}.page-heading{margin-bottom:42px}.page-heading h1{font-size:54px}.about-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.about-photo{height:430px}.about-layout .page-content{padding-top:0}.contact-layout{gap:55px}.footer-inner{grid-template-columns:1fr;gap:22px}.footer-inner .social-links{justify-content:flex-start}.copyright{grid-column:auto}.site-footer{padding:38px 6%}}
@media(max-width:380px){.portfolio-grid,.portfolio-grid-large{grid-template-columns:1fr}.portfolio-thumb,.portfolio-grid-large .portfolio-thumb{height:360px}}


/* Ícones sociais SVG — versão 1.1.1 */
.social-links a.social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 3px;
    border: 0;
    color: var(--ink);
    font-size: 0;
    line-height: 1;
    transition: opacity .25s ease, transform .25s ease;
}
.social-links a.social-icon svg {
    display: block;
    width: 23px;
    height: 23px;
}
.social-links a.social-icon:hover {
    opacity: .58;
    transform: translateY(-2px);
}
.contact-social { align-items: center; }


/* Portefólio: galeria de fotografias sem legendas */
.portfolio-grid,
.portfolio-grid-large {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.portfolio-photo { min-width: 0; overflow: hidden; background: var(--cream); }
.portfolio-photo-link { display: block; aspect-ratio: 1 / 1; overflow: hidden; }
.portfolio-photo-link img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.portfolio-photo-link:hover img { transform: scale(1.035); }
@media (max-width: 640px) {
    .portfolio-grid,
    .portfolio-grid-large { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}


/* Shortcode do portefólio: opções de colunas. */
.portfolio-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.portfolio-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.portfolio-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) {
    .portfolio-grid-cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .portfolio-grid-cols-2,
    .portfolio-grid-cols-3,
    .portfolio-grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Cabeçalho: ícones sociais visíveis no desktop e no telemóvel. */
.header-actions { display: flex; align-items: center; gap: 16px; }
.header-social { align-items: center; gap: 9px; }
.header-social a.social-icon { width: 27px; height: 27px; padding: 2px; }
.header-social a.social-icon svg { width: 22px; height: 22px; }
.social-links a.social-icon { border: 0 !important; padding: 2px !important; color: var(--ink); font-size: 0 !important; line-height: 1; }
.social-links a.social-icon svg { display: block; width: 23px; height: 23px; }
@media (max-width: 640px) {
    .header-actions { gap: 7px; }
    .header-social { gap: 5px; }
    .header-social a.social-icon { width: 24px; height: 24px; }
    .header-social a.social-icon svg { width: 20px; height: 20px; }
}
