/*
Theme Name: Studio Specchia | Essenziale SEO
Theme URI: https://studiospecchia.it
Author: Studio Specchia
Description: Tema editoriale, essenziale e orientato ai contatti per lo studio di architettura Nicola Specchia.
Version: 3.1.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: studiospecchia-essenziale
*/
:root{--ink:#102923;--ink-2:#1b4138;--paper:#fcfaf6;--sand:#eee9df;--muted:#5c6861;--line:#dcded7;--accent:#d8ff72;--gold:#e8bd8e;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #c2ec52;outline-offset:4px}img{display:block;max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 52px));margin:auto}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kicker{font-size:.77rem;text-transform:uppercase;letter-spacing:.155em;font-weight:780}.eyebrow-dot:before{content:'';display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-right:12px;vertical-align:middle}.section-title{font-family:var(--serif);font-size:clamp(2.5rem,5.7vw,5.2rem);line-height:1.04;letter-spacing:-.055em;font-weight:400;margin:12px 0 20px}.section-desc{max-width:480px;color:var(--muted);font-size:1.05rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;text-decoration:none;white-space:normal;text-align:center;font-size:.9rem;font-weight:760;padding:15px 24px;border-radius:100px;border:1px solid transparent;min-height:54px;transition:transform .2s,background .2s,color .2s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:var(--ink)}.btn-primary:hover{background:#efffba}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#2b5449}.btn-outline{border-color:rgba(255,255,255,.38);color:#fff}.btn-outline:hover{background:rgba(255,255,255,.1)}.arrow{font-size:1.3em;line-height:1}.plain-arrow{display:inline-flex;gap:12px;align-items:center;font-weight:760;text-decoration:none}.plain-arrow:hover{text-decoration:underline;text-underline-offset:6px}
/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(252,250,246,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(12,40,33,.08)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:20px}.logo{font-weight:820;text-transform:uppercase;letter-spacing:-.055em;line-height:.94;font-size:1.35rem;text-decoration:none}.logo span{font-size:.57rem;letter-spacing:.24em;display:block;margin-top:10px;font-weight:680}.site-nav{display:flex;align-items:center;gap:30px}.site-nav a:not(.nav-cta){font-size:.89rem;text-decoration:none;font-weight:630}.site-nav a:not(.nav-cta):hover{text-decoration:underline;text-underline-offset:6px}.site-nav .nav-cta{padding:11px 18px;font-size:.87rem;background:var(--ink);color:#fff;text-decoration:none;border-radius:100px;font-weight:760}.site-nav .nav-cta:hover{background:var(--ink-2)}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;border-radius:100px;padding:8px 14px;font:inherit;font-weight:700}
/* Hero */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;border:1px solid rgba(255,255,255,.065);border-radius:50%;width:900px;height:900px;top:-630px;left:-450px;pointer-events:none}.hero-inner{display:grid;grid-template-columns:1fr .94fr;min-height:670px;align-items:stretch}.hero-copy{padding:90px 30px 78px 0;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center}.hero-copy .kicker{color:var(--accent)}.hero h1{font-family:var(--serif);font-size:clamp(3.6rem,6.7vw,6.7rem);line-height:.99;letter-spacing:-.07em;font-weight:400;margin:25px 0 25px;max-width:750px}.hero h1 em{font-style:italic;color:var(--accent);font-weight:400}.hero-copy>p{font-size:1.15rem;color:#d6dfda;max-width:515px;line-height:1.72;margin:0 0 29px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-note{color:#c4d0c9;margin-top:35px;display:flex;gap:9px;align-items:center;font-size:.82rem}.hero-note span{height:1px;width:30px;background:#a4baae}.hero-media{position:relative;min-height:660px;margin-right:calc((min(1180px,100vw - 52px) - 100vw)/2);overflow:hidden;background:#594f42}.hero-media img{width:100%;height:100%;min-height:660px;object-fit:cover;object-position:60% center}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,41,35,.18),transparent 36%),linear-gradient(0deg,rgba(6,25,20,.72),transparent 35%)}.hero-overlay-label{position:absolute;z-index:1;bottom:34px;right:40px;left:36px;color:white;max-width:360px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.7}.hero-overlay-label strong{font-family:var(--serif);font-size:1.6rem;letter-spacing:0;display:block;text-transform:none;font-weight:400;margin-top:3px}.hero-stamp{position:absolute;top:45px;right:36px;z-index:2;background:var(--accent);color:var(--ink);border-radius:100px;width:104px;height:104px;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(12deg);font-weight:820;font-size:.78rem;line-height:1.3;text-transform:uppercase;letter-spacing:.04em}
/* Path cards */
.problems{padding:96px 0}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:38px}.section-top .section-title{max-width:630px}.problems-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.problem-card{border:1px solid var(--line);border-radius:17px;padding:26px 23px 24px;background:#fff;display:flex;flex-direction:column;min-height:285px;transition:transform .2s,box-shadow .2s;text-decoration:none}.problem-card:hover{transform:translateY(-4px);box-shadow:0 18px 32px rgba(16,41,35,.09)}.problem-card .n{font-size:.75rem;font-weight:760;color:#627d70;letter-spacing:.12em}.problem-card h3{font-family:var(--serif);font-weight:400;font-size:1.67rem;line-height:1.13;letter-spacing:-.04em;margin:29px 0 13px}.problem-card p{margin:0 0 25px;font-size:.9rem;line-height:1.55;color:var(--muted)}.problem-card .go{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-weight:760;font-size:.82rem;padding-top:14px;border-top:1px solid #e6e9e3}.problem-card .go b{font-weight:400;font-size:1.5rem}.process{margin-top:29px;padding:19px 26px;border-radius:14px;background:#eaece5;display:flex;justify-content:space-between;gap:20px;align-items:center}.process strong{font-size:.9rem}.process p{margin:0;color:var(--muted);font-size:.88rem}.process a{font-weight:760;white-space:nowrap;font-size:.89rem}
/* Work */
.work{background:#eae8e0;padding:92px 0 100px}.work-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.work-top .section-title{max-width:520px}.work-intro{max-width:365px;color:#57635b}.work-grid{display:grid;grid-template-columns:1.14fr .86fr .86fr;gap:16px}.work-card{position:relative;overflow:hidden;border-radius:13px;background:#b6b0a4;min-height:370px}.work-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s ease}.work-card:hover img{transform:scale(1.04)}.work-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,21,16,.85),transparent 62%)}.work-card-info{position:absolute;z-index:2;bottom:20px;left:21px;right:19px;color:#fff}.work-card-info span{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:#ddf1e7}.work-card-info h3{font-family:var(--serif);font-weight:400;font-size:1.65rem;line-height:1.12;margin:7px 0}.work-card-info p{font-size:.76rem;color:#e1e8e2;margin:0}.work small{display:block;color:#58675f;margin-top:20px;font-size:.8rem}
/* About and footer CTA */
.about{padding:95px 0 90px}.about-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:76px;align-items:center}.about .section-title{max-width:635px}.about-copy>p{font-size:1.06rem;color:var(--muted);max-width:590px}.about-sign{font-family:var(--serif);font-style:italic;font-size:1.65rem;margin-top:25px;color:var(--ink-2)}.about-facts{border-top:1px solid var(--line)}.about-fact{display:grid;grid-template-columns:40px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:19px 0;font-size:.92rem;color:var(--muted)}.about-fact b{color:var(--ink);display:block;font-size:.94rem}.about-fact .bullet{width:27px;height:27px;border-radius:50%;background:#e8eddf;color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:.9rem}
.contact{background:var(--accent);color:var(--ink);padding:81px 0 80px}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.contact h2{font-size:clamp(2.9rem,6vw,6rem);line-height:1.05;max-width:800px;font-family:var(--serif);font-weight:400;letter-spacing:-.055em;margin:15px 0 18px}.contact p{max-width:650px;margin:0;color:#31412a}.contact-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch;min-width:280px}.contact-actions .btn{padding:16px 28px}.contact-actions a.secondary-contact{font-size:.82rem;text-align:center;font-weight:740;text-underline-offset:4px}.site-footer{background:#0a221c;color:#d9e7de;padding:26px 0}.footer-inner{display:flex;gap:25px;align-items:center;justify-content:space-between;font-size:.78rem}.footer-inner strong{color:#fff}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.wa-float{display:none}
/* Inner pages */
.page-content{padding:80px 0 100px;min-height:50vh}.page-content h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,4.7rem);font-weight:400;letter-spacing:-.05em}.page-content article{max-width:850px}.page-content .entry-content{max-width:760px}.page-content .entry-content img{height:auto}.wp-block-image img{height:auto}
@media(max-width:1100px){.hero-inner{grid-template-columns:1fr .78fr}.hero h1{font-size:clamp(3.5rem,6.5vw,5.6rem)}.problems-grid{grid-template-columns:repeat(2,1fr)}.work-grid{grid-template-columns:repeat(3,1fr)}.work-card{min-height:310px}.about-inner{gap:35px}}
@media(max-width:760px){.wrap{width:calc(100% - 34px)}.site-header .header-inner{min-height:69px}.logo{font-size:1.13rem}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:69px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;align-items:stretch;gap:18px;box-shadow:0 14px 22px rgba(16,41,35,.12)}.site-nav.is-open{display:flex}.site-nav .nav-cta{text-align:center}.hero-inner{display:flex;flex-direction:column}.hero-copy{padding:56px 0 45px}.hero h1{font-size:clamp(3.45rem,11.8vw,5.8rem);margin:20px 0}.hero-copy>p{font-size:1.03rem}.hero-media{height:390px;min-height:390px;margin:0 -17px}.hero-media img{min-height:390px;height:390px}.hero-stamp{top:20px;right:20px;width:84px;height:84px;font-size:.68rem}.hero-overlay-label{left:18px;bottom:20px}.hero-overlay-label strong{font-size:1.4rem}.problems{padding:66px 0}.section-top,.work-top{display:block}.section-desc{max-width:100%}.problems-grid{grid-template-columns:1fr 1fr}.problem-card{padding:21px 18px;min-height:270px}.problem-card h3{font-size:1.45rem;margin-top:22px}.process{align-items:flex-start;flex-direction:column}.work{padding:64px 0 70px}.work-grid{grid-template-columns:1fr 1fr}.work-card{min-height:280px}.work-card:first-child{grid-column:span 2;min-height:360px}.about{padding:68px 0}.about-inner{grid-template-columns:1fr}.contact{padding:63px 0}.contact-inner{flex-direction:column;align-items:stretch}.contact-actions{min-width:0}.contact h2{font-size:clamp(3.2rem,10vw,4.6rem)}.footer-inner{flex-direction:column;align-items:flex-start;gap:13px}.wa-float{display:block;position:fixed;z-index:90;bottom:17px;right:17px;background:var(--accent);color:var(--ink);border-radius:100px;padding:12px 19px;box-shadow:0 9px 24px rgba(9,33,26,.27);font-size:.86rem;font-weight:790;text-decoration:none}}
@media(max-width:500px){.problems-grid{grid-template-columns:1fr}.problem-card{min-height:unset}.problem-card h3{margin-top:22px}.work-grid{grid-template-columns:1fr}.work-card:first-child{grid-column:span 1;min-height:320px}.work-card{min-height:300px}.hero-actions{flex-direction:column;align-items:stretch}.hero-note{font-size:.76rem}.site-footer{padding-bottom:84px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Service directory */
.service-directory{margin-top:40px}.service-directory h3{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.3rem);font-weight:400;letter-spacing:-.03em;margin:0 0 18px}.service-directory ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}.service-directory li{min-width:0}.service-directory a{display:flex;flex-direction:column;position:relative;height:100%;padding:20px 42px 20px 20px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:#fff}.service-directory a:hover{background:#eef3e5;border-color:#9eb28d}.service-directory strong{font-size:1rem;line-height:1.4}.service-directory .service-summary{font-size:.87rem;line-height:1.5;color:var(--muted);margin-top:7px}.service-directory .service-arrow{position:absolute;right:18px;top:20px}.service-directory a:focus-visible{outline:3px solid #789d26;outline-offset:3px}@media(max-width:900px){.service-directory ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.service-directory ul{grid-template-columns:1fr}.service-directory a{padding:18px 42px 18px 18px}}
